Aspect-Oriented Software Development with Use Cases

Chapter 20. Expressing Aspects Using UML Behavioral and Structural Diagrams

TZILLA ELRAD, OMAR ALDAWUD, AND ATEF BADER

Aspect-oriented programming (AOP) is a programming technology, but software engineering is a much greater task than just coding, encompassing elements such as requirements analysis, design, testing, and evolution. The Unified Modeling Language (UML) has emerged as the common CASE methodology for designing object-oriented software systems. Unfortunately, UML lacks explicit mechanisms for modeling interweaving crosscutting concerns. In this chapter, we present a formal design methodology for modeling aspect-oriented elements. Using the event-notification mechanism of statecharts and class diagrams, we show how to model and weave the submodels that represent different concerns. In presenting this methodology, we argue that aspect-oriented modeling improves the quality of software systems for goals such as maintainability, reusability, and traceability.

Категории