In MDSD, the techniques of use case analysis are extended to operations analysis. Operations analysis consists of the following recursive pattern:

1.Decompose the system to create a context for the system elements.

2.Treat the system operations as use case scenarios for the elements.

3.Describe the scenarios in which the elements, as black boxes, interact to realize the system operations.

4.Derive the operations of the elements from the scenarios.

This pattern can be applied starting at the enterprise, which contains the system of interest (hence the context level for the MDSD framework). In this application of the pattern, the enterprise is treated as a system and the system to be developed as a component.9

The system decomposition creates the context for the elements; thus, context is maintained at every level of the system hierarchy. The operations analysis provides a method for creating traceability between the use cases, which define the business or mission needs, and the system components that satisfy those needs. The maintenance of this context at each level of the hierarchy was a key insight during our development of MDSD. The use cases at the top level of the system hierarchy define the interactions of the system with external entities in order to fulfill its mission. These interactions are analyzed to identify the operations that the system provides in order to fulfill its role in the use cases. Operations analysis forms the basis of the use case realization. The operations are combined into interfaces or services.

Operations analysis uses sequence diagrams to recursively derive system component black-box requirements at every level of the hierarchy. An operation realization is created for each operation, and the realization is performed concurrently across the system components identified in the architectural analysis activity. This will be treated at greater length below and in “Operation analysis” on page 72.

Joint realization

In developing the system model, use cases are written, system components are defined, and the interactions between the components are described. This is standard practice for modeling a system. For large-scale developments, we must design across multiple viewpoints concurrently, distributing functionality to the various pieces of the system. We also decompose the system, divide and suballocate the requirements, and develop links for traceability purposes.

9This is elaborated in chapters 3 and 4.

Chapter 2. Definitions, design points, and key concepts

31

Page 47
Image 47
IBM SG24-7368-00 manual Joint realization