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
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.
Chapter 4. | 77 |