Aspect-oriented software development (AOSD) is a holistic approach to developing applications with tools (eg AspectJ, Spring AOP) that uses tools that help abstract concern that crosscuts between different domains/objects.
The definition of AOSD is as follows:
AOSD is an emerging paradigm that provides explicit abstractions for concerns that tend to crosscut over multiple system components and result in tangling in individual components. By representing crosscutting concerns or aspects as first-class abstractions, and by providing new composition techniques for combining aspects and components, the modularity of the system can be improved leading to a reduced complexity of the system and easier maintainability.
AOSD is mostly about single systems and SOA is about interaction between systems or enterprise architectures. But I still think that there are AOSD tools that can help when you design your enterprise systems.
One of this tools is presented in the book "
Aspect-Oriented Software Development with Use-Cases" Ivar Jacobson and Pan-Wei NG gives us a AOSD extention to the well known and mature use-case-driven approach.
Sphere: Related Content