A proposal for handling non-functional aspects with a model-driven engineering approach

Information systems (ISs) are composed of functional requirements (FRs) and non-functional requirements (NFRs). An NFR, does not determine the function of the system itself, but the quality characteristics of an IS; for example, error handling, auditing and access control. NFRs are often included in...

Full description

Autores:
Muñante Arzapalo, Denisse
Aniorte, Philippe
Tipo de recurso:
Article of journal
Fecha de publicación:
2012
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/39282
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/39282
http://bdigital.unal.edu.co/29379/
Palabra clave:
Meta-modeling
aspect-oriented software development
model-driven engineering
UML profiles
weaving methods
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
Description
Summary:Information systems (ISs) are composed of functional requirements (FRs) and non-functional requirements (NFRs). An NFR, does not determine the function of the system itself, but the quality characteristics of an IS; for example, error handling, auditing and access control. NFRs are often included in the coding phase of the IS, and these generally are present in various part of the source code, i.e., they are scattered and tangled, which implies a difficult concept and even more difficult maintenance. In addition, we know that the maintenance works are becoming more frequent due to both technological and functional changes of the IS. In this paper we present a proposal to define and include the NFR in the early stages of the analysis and the design of an IS development. On the one hand, we use the Aspect-oriented Software Development approach (AOSD) to model and maintain the NFRs as aspects. On the other hand, we use the Model-driven Engineering approach (MDE) to formalize this approach. For this, we create a Unified Modeling Language (UML) profile. Then, we make use of MDE transformation mechanisms to obtain the complete model (with functional and non-functional aspects) and finally a source code is generated but this step is beyond the scope of this work.