analysis of crosscutting across software development phases based on traceability
Traceability of requirements and concerns enhances the quality of software development. We use trace relations to define crosscutting. As starting point, we set up a dependency matrix to capture the relationship between elements at two levels, e.g. concerns and representations of concerns. The definition of crosscutting is formalized in terms of linear algebra, and represented with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. We apply this approach to the identification of crosscutting across early phases in the software life cycle, based on the transitivity of trace relations. We describe an illustrative case study to demonstrate the applicability of the analysis.
crosscutting traceability scattering tangling crosscutting concerns aspect-oriented software development