A Bird’s Eye View on Aspect Oriented Requirements Engineering
Aspect-oriented software development builds on the concept of separation of concerns. It is concerned with addressing and handling the scattering and tangling issues related to the object-oriented paradigm. The traditional requirements engineering approach cannot address crosscutting concerns properly, which results in the occurrence of the tyranny of the dominant decomposition. Aspect-oriented requirements engineering (AORE) supports identifying and handling crosscutting concerns at the early stages of software development. The approaches and techniques of AORE are an extension of the traditional requirements engineering approaches like viewpoints, use cases, and goal-oriented, while some approaches are purely designed with aspect orientation in mind. This paper surveys the most relevant and popular AORE approaches. Most of the approaches support analysis and design. The focus is on the approaches in the requirements analysis phase. A critical evaluation is set to compare each proposal against the defined activity in requirements analysis. The evaluation of the approaches through the defined criteria showed that the validation and verification of AORE artifacts are not given much attention and focus compared to the identification and treatment of concerns and aspects. The key elements of validation and verification supported by AORE approaches are outlined and discussed.