Beruflich Dokumente
Kultur Dokumente
Julio 2008
Escuela de Ingeniería de Antioquia, Medellín (Colombia)
RESUMEN
** Doctor en Ingeniería de la Programación e Inteligencia Artificial, Universidad Politécnica de Valencia, España. Escuela
de Ingeniería, Departamento de Sistemas, Universidad EAFIT. ranaya@eafit.edu.co.
*** Ph. D (c) en Ingeniería de Sistemas, Universidad Nacional de Colombia. Docente del Área de Ingeniería de Software
y Bases de Datos, Escuela de Ingeniería de Antioquia. pfmstabare@eia.edu.co.
ABSTRACT
Applying good practices to manage software requirements is a basic condition to obtain quality pro-
ducts. Therefore, it is important that software companies maintain a constant research around of new tech-
niques and mechanisms to improve requirements activities such as elicitation, specification, and modeling.
In this paper, we present a study of most representative aspect-oriented requirement approaches in order
to analyze the way how these could support issues confronted by software companies during early stages
of the lifecycle. Thus, we make a comparative analysis among approaches under criteria defined such as
scope, traceability, requirements composition, conflict management, mapping, validation-verification, and
scalability. Results achieved allowing us to know opportunities offered by aspect-oriented approaches so as
to improve the requirement process.
1
CMMI: Capability Maturity Model Integrated. http://www.sei.cmu.edu/cmmi/.
2
http://www.aosd.net
3
http://www.early-aspects.net/
44 Revista EIA
para gestionar intereses y requisitos transversales que se estudiaron los siguientes enfoques: separación
podrían modularizarse para luego componerlos con multidimensional de intereses [6], aspectos en mo-
otros intereses. Los enfoques que se han propuesto delos de objetivos de requisitos (ARGM) [12, 13],
en esta línea tienen el propósito de fortalecer, en las identificación de aspectos en los requisitos Theme/
etapas tempranas del desarrollo, el análisis de los Doc [7, 8] y AOSD con casos de uso [9].
intereses involucrados en un problema, así como
En 2.1 a 2.4 se presentan generalidades de los
el soporte a su evolución en la especificación del
enfoques que se analizarán en la sección 3.
sistema, a la solución de conflictos y a la toma de
decisiones de arquitectura [3-11].
2.1 Separación multidimensional
En este artículo, se presenta un estudio de de intereses (MDSOC)
los enfoques más representativos de la ingeniería
de requisitos orientada por aspectos que podrían Este enfoque es pionero en el tratamiento
ayudar a resolver problemas que ahora enfrentan de los aspectos en la fase de requisitos. Se basa en
las compañías de software durante las etapas inicia- el enfoque de Puntos de Vista (Viewpoints [20]) y
les de desarrollo. Se hace un análisis comparativo su fortaleza está centrada en el tratamiento de las
entre los enfoques con criterios definidos por grupos reglas de composición de los intereses, así como en
de requisitos y calidad de empresas de desarrollo, la definición y manejo de conflictos. La orientación
permitiendo conocer y evaluar nuevas caracterís- multidimensional permite analizar el espacio de
ticas para mejorar el proceso de los requisitos. Los intereses del problema de forma homogénea. Para
criterios seleccionados para la comparación son: lograr esto define un interés como la agrupación de
alcance o nivel de cobertura en el tratamiento de requisitos funcionales y no funcionales de cada punto
requisitos, trazabilidad, composición de requisitos, de vista del sistema [8].
manejo de conflictos, mapeo, validación-verificación
y escalabilidad.
2.2 Aspectos en modelos de
El artículo está organizado de la siguiente for- objetivos de requisitos (ARGM)
ma: en la sección 2 se provee una visión general de
los enfoques estudiados. En la sección 3 se presenta Este enfoque integra las propuestas I* [13] y
el análisis comparativo de los enfoques. En la sección NFR (Non-Functional Requirements Framework) [14]
4 se presentan trabajos relacionados. Finalmente, agregando el concepto de aspectos. Utiliza un grafo
en la sección 5, se concluye y se describen trabajos en forma de V (llamado V-Graph) que contiene en
actuales y futuros que apoyan la investigación. sus vértices superiores objetivos funcionales (goals)
y objetivos de calidad (softgoals) que pueden cruzar
diferentes objetivos funcionales; en su vértice inferior
2. LOS ENFOQUES DE se ubican las tareas u operaciones que debe realizar el
LA INGENIERÍA DE sistema. Define un proceso sistemático e iterativo que
REQUISITOS ORIENTADA va descomponiendo los objetivos hasta llegar al nivel
POR ASPECTOS de las tareas. Durante el proceso de descomposición
se verifica el nivel de contribución de dichas tareas
Los enfoques orientados por aspectos aso- para el cumplimiento de los objetivos de calidad, lo
ciados a la ingeniería de los requisitos proponen cual permitirá detectar los conflictos que puedan
mecanismos que facilitan la identificación, separa- presentarse y tomar acciones al respecto; si una tarea
ción y clasificación de intereses y la composición de se encuentra relacionada con más de un objetivo, se
intereses transversales. Para realizar el comparativo, convierte en candidata a aspecto [12].
2.4 AOSD con casos de uso (AOSD/UC) 3.1 Definición de los criterios
4
Avansoft S. A. www.avansoft.com
46 Revista EIA
• Composición de requisitos. Es la capacidad • Validación-verificación. Capacidad de revisar
que un enfoque tiene para componer requisitos y evaluar los resultados intermedios durante el
individuales en requisitos de mayor nivel de proceso, es decir, validar si se están haciendo las
abstracción. Esta capacidad de composición es cosas como se debe y verificar que los productos
importante, porque permite describir las necesi- generados corresponden a lo que se ha solici
dades desde el enfoque del negocio y no desde tado.
una perspectiva de solución de ingeniería, lo
cual facilita la comunicación entre el cliente y el • Escalabilidad. Capacidad del enfoque para
desarrollador. ajustarse a diferentes tipos de proyecto, tanto por
su tamaño como por su misma naturaleza.
• Manejo de conflictos. Es la manera como el
enfoque facilita el análisis y solución de conflictos
entre los participantes del proyecto de desarrollo 3.2 Evaluación de los criterios
para dar apoyo a las decisiones y gestionar los
riesgos. El manejo de conflictos es clave durante Cada criterio se valoró según la siguiente es-
el levantamiento y análisis de requisitos, ya que cala: (A) cumple plenamente (valor 5 puntos); (B)
se deben contemplar las consideraciones de los cumple en alto grado (valor 4 puntos); (C) cumple
involucrados como clientes y usuarios finales, las aceptablemente (valor 3 puntos); (D) cumple defi-
condiciones de negocio y de tecnología y otros cientemente (valor 2 puntos); (E) no cumple (valor
que pueden dar origen a conflictos que deben 1 puntos); (NA) no aplica (valor 0 puntos). La tabla
ser resueltos. 1 muestra la valoración cuantitativa realizada a cada
• Soporte para mapeo. Capacidad del enfoque enfoque después de la experiencia de aplicación.
para facilitar la transformación de un requisito en Los totales por criterio indican la fortaleza de las
artefactos de una etapa siguiente. En la medida aplicaciones de la AORE y los totales por enfoque
que el enfoque facilite el proceso de mapeo o indican cuál enfoque podría ser el más propicio para
transformación de los artefactos de una fase a orientar los desarrollos de software en empresas de
otra, se estará logrando una mejor trazabilidad. desarrollo.
Total por
Criterio MDSOC ARGM Theme/ Doc AOSD/UC
criterio
Alcance 4 5 4 3 16
Trazabilidad 3 4 5 5 17
Composición de requisitos 5 4 4 4 17
Manejo de conflictos 4 5 0 0 9
Mapeo 2 2 5 4 13
Validación-verificación 3 4 3 0 10
Escalabilidad 1 2 2 3 8
Total por enfoque 22 26 23 19
48 Revista EIA
“walking through” de las diferentes actividades El presente trabajo retoma algunas de las ca-
para validar los resultados. Multidimensional racterísticas definidas en los trabajos anteriores, pero
provee las matrices de contribución para validar se evaluaron desde las necesidades y prácticas de la
la composición. ARGM define heurísticas que industria del software. Así, este artículo hace parte de
facilitan la verificación de inconsistencias, ya un conjunto de productos de investigación para usar
que cada vez que se establece una relación se y aplicar los enfoques aspectuales en el proceso de
verifica el impacto que tuvo sobre las relaciones desarrollo de la industria del software y, en especial,
asociadas. Theme/Doc provee el análisis grama- en las etapas tempranas del desarrollo. Actualmen-
tical sobre una lista de requisitos proporcionando te, se hace la validación del enfoque denominado
consistencia de los requisitos. Ninguna de las pro- AORE++ [15] en proyectos reales de la industria de
puestas proveen listas de chequeo que faciliten software; este enfoque es una extensión al enfoque
la validación de los requisitos de acuerdo con los multidimensional propuesto por Moreira et. al. [6].
artefactos de representación creados. Además, se está trabajando en el desarrollo de dos
proyectos importantes: 1) definición de un marco de
• Escalabilidad. La escalabilidad es una caracte-
trabajo que integre los enfoques aspectuales como
rística asociada directamente con el soporte que
soporte al proceso de desarrollo de aplicaciones de
provean las herramientas de apoyo al enfoque.
software industriales con diferentes consideraciones
En general, se observa que las herramientas de
del contexto del negocio [16]; 2) adaptación del
apoyo aún no se encuentran preparadas para
enfoque AORE++ al desarrollo de software dirigido
el manejo de intereses transversales o aspectos
por modelos para crear el ambiente propicio para
en el nivel del diseño desde fases tempranas del
la transformación y la trazabilidad de intereses en
desarrollo. Por su cercanía con los enfoques tra-
diferentes niveles de abstracción bajo la arquitectura
dicionales, AOSD/UC resulta ser una de las que
MDA [17, 24].
pueden ser soportadas más fácilmente por las
herramientas CASE actuales.
5. CONCLUSIONES
4. TRABAJOS
En este artículo se realizó un análisis com-
RELACIONADOS parativo de algunos de los enfoques de requisitos
orientados por aspectos desde el enfoque de las
Chitchyan et al. han realizado una recopilación
prácticas de la industria del software local de la
detallada de los principales enfoques aspectuales y no
ciudad de Medellín, Colombia. Al estudiar y aplicar
aspectuales. Para el análisis, sus enfoques se agrupan
las aproximaciones en casos reales, se pudo concluir
en tres grandes categorías: requisitos, arquitectura, y
que los enfoques de aspectos pueden contribuir
análisis y diseño; realizan la comparación con base
a la solución de algunos de los problemas que se
en los criterios de trazabilidad, composición, evolu-
presentan con mayor frecuencia en el proceso de
ción y escalabilidad [10]. Ellos retoman gran parte
ingeniería de los requisitos dentro de una empresa
de ese trabajo restringiendo el estudio a sólo algunas
de software. También fue posible identificar algunas
aproximaciones orientadas a requisitos y enfatizan
desventajas que aún tienen los enfoques con respec-
el tratamiento de asuntos transversales funcionales
to a las prácticas actuales.
y no funcionales [4]. Bakker et al. definen criterios
generales que, desde una perspectiva más práctica, En cuanto al tratamiento uniforme de los re-
permiten reconocer algunas de las aproximaciones quisitos, en las empresas de desarrollo los analistas
de requisitos [5]. usan diferentes técnicas para identificar, separar y
clasificar los requisitos. Los criterios usados para Para las empresas de software es importante
la aplicación de las técnicas son variados y depen- tener una forma flexible de integrar nuevas técnicas
den en gran medida de la experiencia del analista. y tecnologías en sus marcos metodológicos. El apren-
Muchas veces, los requisitos no funcionales o los dizaje y adopción de nuevos paradigmas se puede
atributos de calidad adquieren importancia sólo en convertir en un riesgo, aunque con la madurez de
el momento de modelar la arquitectura, limitando el uso de los nuevos enfoques los analistas pueden lo-
tratamiento uniforme de los requisitos y de las con- grar disminución de costos y riesgos en etapas avan-
tribuciones entre intereses. Los enfoques aspectuales zadas del desarrollo. Para realizar la ingeniería de los
introducen un nuevo concepto de tratar los requi- requisitos, las empresas de desarrollo siguen modelos
sitos desde el concepto de interés. La identificación tradicionales, pero en realidad la experiencia de los
y separación de intereses e intereses transversales analistas en el uso de las técnicas se convierte en el
permiten un tratamiento uniforme de los requisitos; factor más importante de éxito. Así, más que trabajar
son reconocidos como elemento de primera clase en un enfoque aspectual específico, es importante
desde el espacio del problema hasta la implemen- contar con listas de chequeo, instructivos o módu-
tación. Además, las relaciones entre los intereses los complementarios a las herramientas CASE que
proveen insumos importantes para las decisiones de ayuden a seleccionar y utilizar el enfoque aspectual
arquitectura y diseño. más apropiado para todo el proceso de desarrollo
o en alguna fase específica.
En cuanto al análisis de requisitos desde la
perspectiva del cliente y la perspectiva del uso de Para que estas nuevas prácticas en la ingenie-
la técnica, las empresas de desarrollo usan técnicas ría de requisitos puedan ser adoptadas con éxito por
de levantamiento de requisitos donde el análisis las organizaciones de software, es hace necesario
de los requisitos se hace desde la perspectiva del considerar aspectos que van más allá de los elemen-
cliente. Esto está orientado a lograr buenos niveles tos técnicos. Kauppinen et al. dicen que las conside-
de especificación y validación de los requisitos, lo- raciones de tipo humano (motivación, participación
grar modelos de análisis muy cercanos al producto activa tanto de personal técnico como de clientes,
requerido e identificar los riesgos del desarrollo en disposición al cambio, etc.) y las consideraciones de
etapas posteriores. Los enfoques aspectuales sopor- infraestructura (entrenamiento “just on time”, uso
tan esta labor desde el uso de las técnicas, para así adecuado de herramientas, divulgación de lecciones
involucrar las diferentes visiones de los clientes, pro- aprendidas, etc.) son factores centrales que deben
porcionando estándares de separación y clasificación considerarse, si se desea que las organizaciones
de los intereses según las necesidades de todos los adopten estos nuevos enfoques [25].
participantes del proyecto. Acercar estos enfoques al
Uno de los grandes problemas que ahora en-
análisis del dominio del problema es importante para
frentan las empresas de desarrollo es el soporte a la
lograr una mejor acogida por parte de los clientes
trazabilidad y el mapeo de los requisitos durante el
y usuarios finales, quienes son protagonistas en el
proceso de desarrollo. Las herramientas CASE pro-
proceso de requisitos.
veen elementos para el trazado de los elementos de
Para una empresa de software es muy im- modelo, pero aun así la trazabilidad es una práctica
portante contar con prácticas de aplicación flexible que se desvirtúa con facilidad durante el proceso.
de acuerdo con las condiciones de un proyecto o Además, las herramientas soportan superficialmente
aplicación específico. En el estudio se detectó que, la transformación del diseño a la implementación.
dada la diversidad de escenarios para originar los Algunas herramientas o métodos conceptuales se
requisitos, no todas las aproximaciones son adecua- han propuesto para mejorar el uso de esta práctica
das para todos los escenarios. en la industria de software [18, 19]. Los enfoques
50 Revista EIA
aspectuales proveen mecanismos de separación y crosscutting concerns. Anais do WER05 Workshop
composición de intereses y requisitos para facilitar em Engenharia de Requisitos, Porto, Portugal, Junho
13-14, 2005, pp. 1-12.
la evolución y el cambio durante el proceso. Los
enfoques como MDA (Model-Driven Architecture) 5. Bakker J., Tekinerdoğan B. and Akşit M. Characteriza-
tion of early aspects approaches. Proceedings of the
soportan la separación arquitectónica y transforma-
Early Aspects Workshop at AOSD, 2005.
ción de modelos en diferentes niveles de abstracción
[21-23]. 6. Moreira A., Rashid A. and Araujo J. Multi-dimensional
separation of concerns in requirements engineering.
En la actualidad, la integración de los enfo- International Conference on Requirements Engineer-
ques de aspectos en los marcos metodológicos de la ing, 2005. IEEE Computer Society.
industria del software se hace al nivel de middlewares 7. Baniassad E. and Clarke S. Finding aspects in require-
y frameworks para la programación (p. ej., JBoss ments with Theme/Doc, presented at Workshop on
Early Aspects (held with AOSD 2004), Lancaster, UK,
AOP, Spring, etc.). En la adopción de los enfoques
2004.
de la AORE, no se han registrado aún trabajos en el
campo industrial, solo en aplicaciones académicas 8. Baniassad, E. and Clarke, S. Aspect-oriented analysis
and design: The Theme Approach. Addison-Wesley,
(casos de estudio). Generalmente, esto ocurre de-
2005.
bido al escepticismo de las empresas de desarrollo
9. Jacobson I. and Ng P. W. Aspect-oriented software
en la adopción de nuevas técnicas para mejorar la
development with use cases. Addison Wesley Profes-
ingeniería de requisitos y a la poca disponibilidad de sional, 2005.
personal para su investigación y aplicación.
10. Chitchyan R., Rashid A., Sawyer P., Bakker J., Pinto
M., Garcia A., Tekinerdogan B., Clarke S. and Jackson
RECONOCIMIENTOS A. Survey of aspect-oriented analysis and design ap-
proaches, AOSD-Europe-ULANC-9, AOSD-EUROPE
network of excellence. May 2005
Este trabajo hace parte del proyecto
MMEDUSA, realizado en convenio por la Universidad 11. Tabares M. S., Anaya R. y Arango F. La ingeniería de
EAFIT, y Avansoft S. A., con el apoyo de Colciencias, requisitos orientada a aspectos: una experiencia de
aplicación en un sistema de ayuda en línea. Revista
cuyo propósito es definir un marco metodológico para
DYNA No. 153, noviembre 2007. ISSN 0012-7353.
desarrollo de aplicaciones utilizando la aproximación
12. Yu Y., Sampaio do Prado Leite J. C. and Mylopoulos
de aspectos.
J. From goals to aspects: discovering aspects from
requirements goal models, presented at International
REFERENCIAS Conference on Requirements Engineering, Kyoto,
Japan, 2004.
1. Anaya R., Londoño L. y Hurtado J. Una estrategia para 13. Yu E. Modelling your system goals: the i* approach.
elevar la competitividad de las industrias de software London, UK: British Computer Society, Requirements
PYMES . Memorias del 9° Workshop Iberoamericano Engineering Special Interest Group, 2005.
de Ingeniería de Requisitos y Ambientes Software.
IDEAS, La Plata, Argentina, 2006. 14. Chung L., Nixon B.A., Yu E., and Mylopoulos J. Non-
functional requirements in software engineering,
2. Filman R., Elrad T., Clarke S. and Akşit M. Aspect-
Kluwer Academic Publishers, 2000.
oriented software development. Addison Wesley,
2005. 15. Ospina C. A., Parra C. A., Londoño L. F. y Anaya R.
3. Araujo J., Baniassad E., Clements P., Moreira A. and Una extensión del modelo AORE multidimensional.
Tekinerdogan B. Early aspects: the current landscape, Memorias del X Worskshop Iberoamericamo de In-
Technical Notes, Carnegie Mellon University CMU/SEI- geniería de Requisitos y Ambientes Software. IDEAS
2005-TN-xxx. 2005. 2007, Isla Margarita, Venezuela.
4. Chitchyan R., Rashid A. and Sawyer P. Comparing 16. Quintero J. B., Hernández D. y Anaya R. Experien-
requirement engineering approaches for handling cia práctica de la aplicación de aproximaciones
orientadas por aspectos en el desarrollo de un portal engineering. Annals of Software Engineering, vol. 3,
temático. Revista Avances en Sistemas e Informática. pp. 101-130, 1997.
Volumen 4, No. 1, Junio 2007, pp. 109-116.
21. MDA-Guide, OMG Document v1.0.1, omg/03-06-01.
17. Tabares M. S., Moreira A., Anaya R., Arango F. and
22. Mellor S. J., Clark A. N. and Futagami T. Guest edi-
Araújo J. A. Traceability method for crosscutting
tors’ introduction: Model-Driven Development. IEEE
concerns with transformation rules. Proceedings IEEE
Software 20(5): 14-18 (2003).
Early Aspects at ICSE: Workshop in Aspect-Oriented
Requirements Engineering and Architecture Design 23. Quintero J. B. y Anaya R. MDA y el papel de los
(EARLYASPECTS’07) in 29th ICSE, US. 2007. Digital modelos en el proceso de desarrollo de software.
Object Identifier 10.1109/EARLYASPECTS.2007.2. Revista EIA, ISSN 1794-1237, número 8, p. 131-146.
Diciembre 2007.
18. Tabares M. S., Barrera A., Arroyave J. D y Pineda J.
D. Un método para la trazabilidad de requisitos en el 24. Tabares M. S., Anaya R. y Arango F. Un esquema
proceso de desarrollo unificado. Revista EIA, ISSN de modelado para soportar la separación y transfor-
1794-1237 Número 8, diciembre 2007, pp. 68-82. mación de intereses durante la ingeniería de requisi-
19. Asuncion H. U., François F. and Taylor R. N. An end- tos orientada por aspectos. Presentado en el Tercer
to-end industrial software traceability tool. Proceed- Congreso Colombiano de Computación, pendiente
ings of the 6th Joint Meeting of the European Software de publicación en la Revista Avances en Sistemas e
Engineering Conference and the ACM SIGSOFT Sym- Informática. Vol 5, No. 1. Año 2008.
posium on the Foundations of Software Engineering.
25. Kauppinen M., Vartiainen M., Kontio J., Kujala S. and
2007.
Sulonen R. Implementing requirements engineering
20. Sommerville I. and Sawyer P. Viewpoints: principles, processes throughout organizations: success factors
problems and a practical approach to requirements and challenges. Information and Software Technology
46 (2004) 937-953.
52 Revista EIA