What are Use Cases?
Use cases capture user
requirements for a system by describing how a system will be used and to what
ends in a way that the end user can understand. (1) Use
cases are the method favored by the component and object community to specify
requirements and indeed to drive the whole software development process. (10) A
use case is a collection of possible sequences of interactions between the
system under discussion and its external actors related to a particular
goal. The use case is complete when
the goal has been satisfied. (6) A use case is usually written in simple language
and without technical jargon so that it can be understood by all participants
in the analysis process. A complete set of use cases specifies all the
different ways to use the system and therefore defines all behavior required
of the system bounding the scope of the system. (13) It
is in this way that the use case helps to reduce scope creep. |
Use
cases provide many benefits beyond defining user requirements. Use cases can
be used to:
|
Each use case is a
complete course of events in the system from a user perspective. Each use
case is independent of the others.
Use cases usually stick to fairly major tasks; they do not need to be written
for every action the user can take. Design information is included in the use
case in order to make it easier to discuss with the customer but this
information is not part of the requirements. The goal is to extract the real
underlying requirements. (11) It is important to keep in mind that a Use Case
is a depiction of a User’s vision so the analyst should be as flexible as
possible. The analyst should not try
to restrict the use case in ways that lead directly to design—it is not the
job of the User to design the system. |