Aspect-Oriented Requirements Engineering for Advanced Separation of Concerns: A Review
Narender Pal Singh, Nasib Singh Gill · 2011
Software engineering was introduced to cope with software crisis with two fundamental principles: separation of concerns and modularity. Many programming paradigms have been proposed and used while considering the fundamental principles from the early days. Complex software systems were successfully modularized but complete separation of concerns is still impossible to achieve using today’s most popular programming paradigms such as object-oriented programming. There are some concerns which could not be separated properly in a single class or module due to their highly coupling with other classes or modules ’ behaviors. We call such unmodularized concerns as crosscutting concerns and these are responsible for scattering and tangling. Aspects are the natural evolution of the object-oriented paradigm.