Aspect-Oriented Software Development Beyond Programming
Software systems and the concerns addressed by them are becoming increasingly complex hence posing new challenges to the mainstream software engineering paradigms. The objectoriented paradigm is not sufficient to modularise crosscutting concerns, such as persistence, distribution and error handling, because they naturally crosscut the boundaries of other concerns. As a result, these broadly-scoped concerns cannot be systematically reused and evolved. Aspect-oriented software development (AOSD)  tackles the specific problem of managing crosscutting concerns throughout the software development lifecycle. It supports a new abstraction – the aspect – and new composition mechanisms to facilitate developers to modularise, analyse and reason about crosscutting concerns in a system. Its potential benefits include improved comprehensibility, reusability, evolvability and maintainability of the system.
KeywordsRequirement Engineering Requirement Engineer Error Handling Development Life Cycle Composition Mechanism
- 1.AOSD, Aspect-Oriented Software Development (2006), http://aosd.net
- 2.Baniassad, E.L.A., et al.: Discovering Early Aspects. IEEE Software 23(1) (2006)Google Scholar
- 3.Garcia, A., et al.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Proc. AOSD Conf. 2005, pp. 3–14. ACM, New York (2005)Google Scholar
- 5.Moreira, A., et al.: Multi-Dimensional Separation of Concerns in Requirements Engineering. In: Proc. Requirements Engineering Conf. 2005, pp. 285–296. IEEE CS, Los Alamitos (2005)Google Scholar
- 6.Rashid, A., et al.: Modularisation and Composition of Aspectual Requirements. In: Proc. AOSD Conf. 2003, pp. 11–20. ACM, New York (2003)Google Scholar