Page 71 -
P. 71
38 Part 1 • SyStemS analySiS FundamentalS
include flight selection, seat selection, and meal selection. Use cases may even include iterative
or looping steps.
The third area of the use case includes:
• Preconditions, or the condition of the system before the use case may be performed, which
may be another use case. An example might be, “The viewer has successfully logged into
the system,” or it might be the successful completion of another use case.
• Postconditions, or the state of the system after the use case has finished, including out-
put people have received, transmissions to other systems, and data that have been cre-
ated or updated. These relate to the goals or user requirements from a problem definition
(described in Chapter 3) or to agile stories (described in Chapter 6).
• Assumptions made that would affect the method of the use case and that could stipulate
required technology, such as the minimum technology requirements in a browser or even a
specific or higher version of a browser. An assumption might be that cookies or JavaScript
are enabled. The analyst must determine what to do if the assumptions are not met. When
using Google Maps, JavaScript must be enabled; if it is not enabled, the map will not dis-
play. Netflix requires cookies. Good web pages will detect that an assumption has not been
met and notify the viewer with a message, including information on how to turn on cookies
or JavaScript for different browsers.
• Minimal guarantee is the minimum promised to the users. They may not be happy with this
result, and it may be that nothing happens.
• Success guarantee is what would satisfy the users, and it is usually that the goal of the use
case has been met.
• Any outstanding issues or questions must be answered before implementation of the use
case.
• An optional statement of priority of the use case, which may come from a problem defini-
tion or user requirements.
• An optional statement of risk involved in creating the use case.
The “requirements met” area links the use case to user requirements or objectives from a
problem definition. Once you develop the use case scenarios, be sure to review your results with
the business experts to verify and refine the use cases if needed.
In this particular use case scenario, called Register for Conference, the only actor involved
is the Participant. The overall area is Conference Planning, and the use case is triggered by
the participant logging on to the Registration Web page. The Steps Performed area lists the
sequence of events that must occur for a successful conference registration. Notice that the infor-
mation needed to perform each of the steps is listed on the right. This may include web pages and
forms, as well as database tables and records.
The Preconditions area in the footer section of the use case scenario lists what must
occur before the participant can register for a conference. In this example, the participant must
have already signed up as a member of the society and have a valid user ID and password.
The Postconditions area lists what has been accomplished by the use case. The Assumptions
area lists any basic premises the analyst assumes are fulfilled by the actor beforehand. The
Requirements Met area shows why this use case is important and necessary for the business
area to be successful. Priority is an indication of which use cases should be developed first and
which may be delayed. Risk is a rough assessment of whether there may be problems or difficul-
ties developing the use case. In this case, the risk is medium because the registration use case
requires a secure server and is accepting credit card information.
Creating Use Case Descriptions
Use the following four steps to create use case descriptions:
1. Use agile stories, problem definition objectives, user requirements, or a features list as a
starting point.
2. Ask about the tasks that must be done to accomplish the transaction. Ask if the use case
reads any data or updates any tables.
3. Find out if there are any iterative or looping actions.
4. The use case ends when the customer goal is complete.