On the Discovery of Candidate Aspects in Software Requirements

Haitham S. Hamza, Dina A.M. Darwish · 2009

The general concept of separation of concerns (SoCs) aims at reducing the complexity of systems by identifying and encapsulating different system properties into separate coherent modules. Aspect-oriented software development (AOSD) applies the notion of SOC to effectively deal with crosscutting concerns that may induce high complexity when implementing and evolving software systems. However, for AOSD to be effective, aspects must be dealt with in early development phases (i.e., analysis and requirements) in order to guide the design phase. A major challenge in AOSD is the discovery and modeling of aspects in the requirements analysis phase. This paper introduces a new technique to identify and model, candidate aspects in requirements, and propagate them to the design phase. The proposed technique achieves this by analyzing the system along two dimensions, namely, function/non-functions requirements and the enduring concepts in system. To the best of our knowledge, the approach proposed in this paper is the first to identify crosscutting concerns with respect to the structure of the system. The technique is fully specified and its use is demonstrated by the means of a case study.

Read the paper · More papers on PaperTik