Where Enterprise Architecture and Early Software Engineering Meet: An approach to use cases definition - Miranda, Gabriel M.; Bernabé, César H.; Santos, Lucas A.; Barcellos, Monalessa Perini (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS); 2018: Anais do XVII Simpósio Brasileiro de Qualidade de Software, 2018)
Software development involves the resolution of technical problems related to a certain domain. However, in order to provide a suitable technical solution, it is necessary to take the organizational environment related to the software into account. Use cases have been often used to elicit requirements and represent functionalities that the software must provide to its users. However, use cases are not expressive enough to represent the organizational environment. Moreover, this is not the purpose of use cases. In this context, Enterprise Architecture (EA) emerges as a way to describe the organization's domain. EA provides architectural descriptions that support the alignment between information technology (IT) and organizational processes and, thus, helps developers to properly understand the requirements the software must meet. In this paper, we propose an approach that uses EA models as a basis to define use cases, named CEA (use Cases definition oriented by Enterprise Architecture modeling). To demonstrate the proposal use, we applied it in a project in the Public Security domain. Additionally, CEA was evaluated in an experimental study. The results indicate that EA models helped requirements engineers to define use cases.