IBM SG24-7368-00 Fitness Equipment User Manual


 
Chapter 3. Black-box thinking: Defining the system context 47
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 applies—all that changes is the
context.
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.