Part I. The Case for Use Cases and Aspects

In Part I, we build the case for use cases and aspects—why we need use cases, why we need aspects, and how the two complement each other. Conventional modularity approaches such as classes and components cannot keep crosscutting concerns separate. To solve this problem, you need two things: a separation technique to keep crosscutting concerns separate and a composition mechanism to compose these concerns to form the desired system.

Thanks to aspect technologies, you have a composition mechanism. You can compose parts of classes or components that realize different crosscutting concerns to form the complete classes or components. Through some simple code examples in AspectJ, an aspect-oriented language extension to Java, we demonstrate how such composition mechanisms work.

In addition to a composition mechanism, you need a separation technique to identify crosscutting concerns, to capture them, and structure them during requirements and preserve that separation all the way through analysis, design, and code. This is achieved with use cases. You express crosscutting concerns with use cases. You can model and structure almost any crosscutting concerns with use cases—in fact we don’t know any crosscutting concern that is functional in nature that can’t be represented as use cases. You analyze, design, implement, and test crosscutting concerns in basically the same way as you do use cases.

We also introduce the concepts of a use-case slice and a use-case module. A use-case slice contains the specifics of a use-case in a model. Use-case slices employ aspects to compose the different parts of a model together. A use-case module contains the specifics of a use case over all models of the system. We briefly demonstrate how use-case slices and use-case modules help you streamline software development. The rest of the book expands on the concepts of use-case slices and use-case modules, and explains how to develop a resilient architecture—one that keeps concerns of different kinds separate through use-case modules, use-case slices, and aspects.

Part I includes the following chapters:

Chapter 1, “Problem to Attack”

Chapter 2, “Attacking the Problem with Aspects”

Chapter 3, “Today with Use Cases”

Chapter 4, “Tomorrow with Use-Case Modules”

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.237.164