IBM SG24-7368-00 Fitness Equipment User Manual


 
Chapter 4. White-box thinking: Understanding collaboration 77
MDSD Step 11: Create use case models at levels below the
enterprise
A common observation at this point in the flowdown process is that it seems we
do not need use cases at levels below the enterprise. We need enterprise use
cases to get the flowdown going, but then flowdown proceeds from operation to
operation without requiring use cases at other levels, right? Well, yes and no.
It is true that flowdown to determine logical system elements and the
collaborations and operations does not require the development of use cases,
but for the model to achieve completeness, attention should be given to use
cases at levels 1, 2, 3, and so forth.
Use cases at level 1 (and below) are useful for several purposes similar to the
widely known uses of use cases, namely for testing and project management.
They are also useful for documentation, since they show how the element is
used, that is, how its operations are used in sequence to accomplish a specific
result. The team responsible for building and testing a level 1 element, can use
the use cases for this element to schedule iterative builds and releases, and also
to derive test cases. Yes, they would also test using the element’s operations, but
these operations are atomic and do not always reflect complete usages.
Use cases for elements at any level can be determined from the operation
realizations at the level above. For example, looking at the white-box sequence
diagram of an enterprise operation, imagine shining a flashlight beam down the
page from the level 1 element. The light would illuminate only the interactions
with that element. The set of these interactions comprise a use case for that
element. The sequence of events, including both the requests made of the
element and the requests made by the element, are precisely one case of usage.
This sequence shows how this element is used to accomplish a higher level
purpose, namely the realization of the enterprise operation, and in turn the
higher level purpose of fulfilling the enterprise use case.
It is important to see the interdependence between the use cases of elements at
level 1. The complete usages of each level 1 element are intertwined with those
of the other level 1 elements with which it collaborates to fulfill an enterprise
operation. You can think of an enterprise operation realization as a use case for
each level 1 element that participates in its realization. In practice, depending on
the purposes of the model being developed, it might or might not be necessary to
do the work to pull these use cases out of the realizations, using the flashlight
technique mentioned before, and to draw them out as use cases, complete with
use case diagrams and flows of events.
In general, if there is a team chartered to build an element, then this kind of work
is useful at that level; if the element in question is simply for analysis purposes
and will not be designed and built as such, then this work might not be justified.