Use-Case-Driven
Development
It is often difficult to tell from a traditional object-oriented system model how a
system does what it is supposed to do. This difficulty stems from the lack of a "red
thread" through the system when it performs certain tasks. In the Rational Unified
Process, use cases are that thread because they define the behavior
performed by a system (see What is a Use Case? , for a
more precise definition of use case). Use cases are not part of "traditional"
object orientation, but their importance has become more and more apparent. Other
object-oriented methods provide use cases, but use different names for them.
Chapter 2 explained that one advantage of the Rational Unified Process is its
"use-case driven approach". What is meant by that is that use cases defined for
a system are the basis for the entire development process.
Use cases play a role in each of the four core process workflows: requirements ,
analysis & design, implementation, and test.
- The use-case model is a result of the requirements workflow. In this
early process you need the use cases to model what the system should do from the user's
point of view. Thus, use cases constitute an important fundamental concept that must be
acceptable to both the customer and the developers of the system.
- In analysis & design use-cases are realized in a design model. You create use-case
realizations which describe how the use case is performed in terms of interacting
object in the design model. This model describes, in terms of design objects, the
different parts of the implemented system, and how the parts should interact to perform
the use cases.
- During implementation the design model is the implementation
specification. Because use cases are the basis for the design model, they are implemented
in terms of design classes.
- During test the use cases constitute basis for identifying test cases
and test procedures. That is, the system is verified by performing each
use case.
Use cases have other roles as well:
- They are used as a basis for planning an iterative development.
- They form a foundation for what is described in user manuals.
- They can be used as ordering units. For example, a customer can get a system configured
with a particular mix of use cases.
| |

|