Technologies based on aspects and applied at the early stages of software development allow requirements engineers to better encapsulate crosscutting concerns in requirements models. The Aspect-oriented User Requirements Notation (AoURN) extends the User Requirements Notation (URN) with aspects and thus unifies goal-oriented, scenario-based, and aspect-oriented concepts in one graphical framework. As URN is a standard of the International Telecommunication Union, AoURN is the first standards-based and graphical approach that integrates the three aforementioned techniques. Minimal changes to URN ensure that requirements engineers can continue working with goal and scenario models expressed in a familiar notation. With AoURN, concerns in goal and scenario models, regardless of whether these concerns crosscut or not, can be managed across model types. Typical concerns in URN are non-functional requirements, use cases, and stakeholder goals. As AoURN expresses concern composition rules with URN itself, it is possible to describe rules in an exhaustive and highly flexible way that is not restricted by any specific composition language. In addition, AoURN employs a composition technique that is not based solely on language syntax but takes semantics into account, and therefore is more robust to refactoring of an aspect-oriented model Since composition based on semantics requires precisely defined languages, the semantics of URN is clarified and the concrete syntax enhanced to capture identified semantic variations of the language. A qualitative comparison of aspect-oriented techniques for scenario-based and goal-oriented requirements engineering is presented. An evaluation carried out based on metrics adapted from literature and a task-based evaluation suggest that AoURN models are more scalable than URN models and exhibit better modularity, reusability, and maintainability. A proof-of-concept implementation of AoURN in the jUCMNav tool is also discussed. While AoURN's ability to encapsulate concerns across model types further bridges the gap between goals and scenarios, Early Aspects research benefits from a standardized way of modeling concerns with AoURN.
Cited By
- Kienzle J, Mussbacher G, Combemale B and Deantoni J (2019). A unifying framework for homogeneous model composition, Software and Systems Modeling (SoSyM), 18:5, (3005-3023), Online publication date: 1-Oct-2019.
- Mussbacher G, Alam O, Alhaj M, Ali S, Amálio N, Barn B, Bræk R, Clark T, Combemale B, Cysneiros L, Fatima U, France R, Georg G, Horkoff J, Kienzle J, Leite J, Lethbridge T, Luckey M, Moreira A, Mutz F, Oliveira A, Petriu D, Schöttle M, Troup L and Werneck V Assessing composition in modeling approaches Proceedings of the CMA 2012 Workshop, (1-26)
- Mussbacher G The aspect-oriented user requirements notation Proceedings of the tenth international conference on Aspect-oriented software development companion, (59-60)
- Mussbacher G, Al Abed W, Alam O, Ali S, Beugnard A, Bonnet V, Bræk R, Capozucca A, Cheng B, Fatima U, France R, Georg G, Guelfi N, Istoan P, Jézéquel J, Kienzle J, Klein J, Lézoray J, Malakuti S, Moreira A, Phung-Khac A and Troup L Comparing six modeling approaches Proceedings of the 2011th international conference on Models in Software Engineering, (217-243)
Recommendations
Aspect-Oriented User Requirements Notation: Aspects in Goal and Scenario Models
Models in Software EngineeringTechnologies based on aspects and applied at the early stages of software development allow requirements engineers to better encapsulate crosscutting concerns in requirements models. The Aspect-oriented User Requirements Notation (AoURN) extends the ...
Requirements modeling with the aspect-oriented user requirements notation (AoURN): a case study
Transactions on aspect-oriented software development VIIThe User Requirements Notation (URN) is a recent ITU-T standard that supports requirements engineering activities. The Aspect-oriented URN (AoURN) adds aspect-oriented concepts to URN, creating a unified framework that allows for scenario-based, goal-...
Requirements modeling with the aspect-oriented user requirements notation (AoURN): a case study
Transactions on aspect-oriented software development VIIThe User Requirements Notation (URN) is a recent ITU-T standard that supports requirements engineering activities. The Aspect-oriented URN (AoURN) adds aspect-oriented concepts to URN, creating a unified framework that allows for scenario-based, goal-...