Chapter 4 - Use Case Analysis
Chapter 4 - Use Case Analysis
As we previously discussed, a key aspect of determining the requirements for the new system is
understanding the user requirements: the things the users Introduction 125 need to accomplish
with the new system.
Use cases help us understand and clarify the users’ required interactions with the system and
can help us more fully understand the functional requirements of the new system.
Use Case: represents how a system interacts with its environment by illustrating the activities
that are performed by the users of the system and the system’s responses.
First, the use cases will help the analysts develop a more detailed understanding of the new
system’s functional requirements
Second, use cases are very helpful in understanding exceptions, special cases, and error
handling requirements in the new system
Finally, the text-based use case is easy for the users to understand and flows easily into the
creation of process models (Chapter 5) and the data model (Chapter 6), which are used by the
analysts to more fully define the software that will be developed in the new system
A use case depicts a set of activities performed to produce some output result. Each use case
describes how an event triggers actions performed by the system and the user. With this type of
event-driven modeling, everything in the system can be thought of as a response to some
trigger event.
Shows background to existing functional requirements and gives new functional requirements
from the use case
Main purpose: to define the expected interaction between user and system and use that
interaction to clarify and more fully describe the system's functional requirements
Basic Information
Each use case has a name and a number. The name should be simple as possible yet as
descriptive as possible. The number is simply a sequential number
Priotty: assigned to indicate the relative significance in the overall system-useful when the
methodology that implements the system in a series of versions sot jat the most essential
system features can be targeted first
Actor: refers to a person, another software system or hardware device that interacts with the
system to achieve a useful goal
Preconditions
Use cases are often performed in a sequence in order to accomplish an overall business task.
Need to clearly define what needs to be accomplished before each case begins
Preconditions: define the state the system must be in before the use case commences
Normal Course:
Post Conditions:
Post conditions: able to serve to define the preconditions for the next use case in the series
Exceptions
Describe any error conditions or exceptions that may occur as the use case steps are
performed.
Will lead to unsuccessful result
Smaller more focussed use cases breaking the whole process down into parts
Helps to more fully explain the user system interactions outlined in previous steps
Conditional steps go to alternative courses
Alternative Courses
The steps followed for the alternative path through the use case are outlined
The location where the brand in going from the normal course occurred is clearly stated
Summarizes the set of major inputs and outputs to the steps of the use case
Some organizations may choose to include additional sections on their use case forms. If
appropriate, it may be helpful to include sections devoted to: • Frequency of use • Business
rules • Special requirements • Assumptions • Notes and issues
• User representatives are not closely engaged with the development team throughout the
project. • The application is complex and has a high risk associated with system failures. •
Comprehensive test cases will be based on the user requirements. • Collaborating remote
teams need a detailed, shared understanding of the user requirements.
"The customer selects the base model drone from a list of models."
No specifics on how this is done to keep implementation options open.
Phrasing Strategy:
Be sure to write functional requirements to support the use case so that the developers actually
can code the system or it doesn't provide enough information for them
By studying the use cases and the functional requirements derived from them, the testing
personnel can readily identify elements of the tests they will want to perform when the system
enters testing.
The most common ways to gather information for the use cases are through the same
requirement determination techniques discussed in the previous chapter, especially interviews
and JAD sessions. Observation also is sometimes used for as-is use cases.
Process oriented functional requirements-- suggest a direct action resulting from an external or
temporal event