Aspect-Oriented Requirements with UML

Crosscutting concerns are responsible for producing spread and tangled representations throughout the software life cycle. Effective separation of such concerns is essential to improve understandability and maintainability of artefacts at the various software development stages. Aspect-oriented software development holds promise for the purpose. However, to date, most of the work in this area has concentrated on the implementation level. While the focus is shifting to earlier development stages such as design, very less work exists on separation of crosscutting concerns during requirements engineering. The goal of this paper is to handle the separation of crosscutting concerns at requirements level using UML. To accomplish this we identify and specify crosscutting concerns in separate modules, so that localization and hence, reusability and maintainability can be promoted. The UMLbased aspect-oriented requirements engineering mechanism has a two-fold impact. It makes it possible to identify tradeoffs among broadly scoped properties early on in the development cycle hence providing decision support for the stakeholders involved. At the same time, being based on UML, the approach adheres to a de-facto industry standard hence making it suitable for incorporation in existing requirements engineering practices.

[1]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[2]  Mehmet Aksit,et al.  Composing Software from Multiple Concerns: A Model and Composition Anomalies , 2000 .

[3]  Noël Plouzeau,et al.  UMLAUT: a framework for weaving UML-based aspect-oriented designs , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[4]  Yoshikazu Yamamoto,et al.  Extending UML with Aspects: Aspect Support in the Design Phase , 1999, ECOOP Workshops.

[5]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[6]  R. G. Clark,et al.  Constructing formal specifications from informal requirements , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[7]  Peter Sawyer,et al.  Aspect-orientation and database systems: an effective customisation approach , 2001, IEE Proc. Softw..

[8]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[9]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable aspects , 2001, ICSE 2001.

[10]  John C. Grundy,et al.  Aspect-oriented requirements engineering for component-based software systems , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[11]  João Araújo,et al.  Crosscutting quality attributes for requirements engineering , 2002, SEKE '02.

[12]  Bruce Powel Douglass Real-time UML - developing efficient objects for embedded systems , 1997, Addison-Wesley object technology series.

[13]  Bedir Tekinerdogan,et al.  Special issue on Early aspects: aspect-oriented requirements engineering and architecture design , 2004, IEE Proc. Softw..

[14]  Bruce Powell Douglass,et al.  Real-time UML (2nd ed.): developing efficient objects for embedded systems , 1997 .

[15]  Tzilla Elrad,et al.  Aspect-oriented modeling with uml , 2002 .