Part II. Modeling and Capturing Concerns with Use Cases

We have established that the goal aspect-oriented programming is to keep concerns separate. In order to do so, you must correctly identify and structure concerns early in the life cycle of the project rather than as an afterthought during design and implementation. In other words, separation of concerns must start during requirements. This does not mean capturing every detailed requirement for each concern at the beginning of the project. Instead, you systematically organize stakeholder concerns to scope the system. The detailing and refinement of the requirements for each concern can be prioritized and allocated across the project life cycle in an iterative manner.

The use-case technique provides the means to systematically model stakeholder concerns by walking through meaningful interactions between end users and the system. In doing so, you get a better idea about stakeholder concerns and a better idea of whether concerns overlap or cut across each other. The use-case technique further provides means to structure concerns through use-case relationships such as include, extend, and generalization.

Part II provides an overview of what use-case modeling is about. In this part of the book, we propose some enhancements to the use-case modeling technique, which you will find useful whether you are familiar with the technique or not. In particular, we provide better visualization of the complexity of each use case and show how to model pointcuts in use cases. Use-case extension pointcuts help clarify the relationship between extension use cases and the use case being extended. They also facilitate identifying pointcuts during analysis and design.

We demonstrate how to apply the technique to the Hotel Management System example. In particular, we show how to model functional requirements with application use cases and nonfunctional requirements with infrastructure use cases (which deal with nonfunctional requirements). This common approach to modeling most crosscutting concerns with a single technique—use cases—simplifies the approach to building the system.

Part II includes the following chapters:

Chapter 5, “Modeling Concerns with Use Cases”

Chapter 6, “Structuring Use Cases”

Chapter 7, “Capturing Concerns with Use Cases”

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

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