In the previous chapter, we explained how MDSD involved the following conceptual steps:
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.
Let us bring this up a level to the enterprise, and change terms appropriately:
1.Decompose the enterprise to create a context for the enterprise elements.
2.Treat the enterprise operations as use case scenarios for the elements (one of which will be our system.
3.Describe the scenarios in which the elements, as black boxes, interact to realize the enterprise operations.
4.Derive the operations of the elements from the scenarios. These elements will be the element use cases.
Because this is a recursive process, we also apply it to lower level elements such as subsystems. In each case, the same process
Note that in step 2 we treat the entity operations as use case scenarios. We can do this because use cases and operations are essentially isomorphic, that is, they have the same structure; only their context is different.
A use case is defined variously. The standard definition is that a use case represents a dialog or sequence of steps between a system and its actors that returns a result of value. MDSD defines a use case as described in “Use case” on page 19:
A use case is a sequence of events that describes the collaboration between the system and external actors to accomplish the goals of the system. In other words, the use case is a way to specify the behavior required of the system and external entities in response to a given sequence of stimuli.
An operation also consists of a sequence of steps, performed by the entity under consideration and its actors. It also has a return value. It also represents a collaboration of entities to achieve the return value.
If we are using UML as our modeling language, it is no accident that we use a UML collaboration to represent both use case and operation realizations, or that a sequence diagram is considered to be a representation of that collaboration.
Chapter 3. | 47 |