- Software Development and the Object-Oriented Paradigm
- The Case for Aspects
- What Is an Aspect?
- Why Consider Aspects in Analysis and Design?
- Aspects and Other Concerns
- The Theme Approach
- Applying the Theme Approach
- Theme: Symmetric or Asymmetric?
- Fitting Theme into Your Existing Development Process
- What About Implementation?
In this chapter, we described the basic motivation for considering aspects early in the software lifecycle. We follow the symmetric approach to modularization, where features or concerns are each separated. We use the term "aspect" to refer to features or concerns that crosscut other features or concerns. We refer to all of these as themes.
In this chapter we also introduced the Theme approach, which consists of two parts: Theme/Doc, which relates to consideration of themes in requirements, and Theme/UML, which allows description of themes at design. Next, we look more closely at the motivation for the use of themes by applying the best object-oriented practices to solve a design problem and seeing where those practices fall short.