Professional Documents
Culture Documents
Apsi Chapter 3
Apsi Chapter 3
Learning Objectives
After reading this chapter, you should be able to:
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
70 PART 2 ■ Systems Analysis Activities
Waiters on Call is a restaurant meal-delivery service add up the money they have and compare it with the
started in 2010 by Sue and Tom Bickford. The Bick- records we have. After all drivers report in, we need to
fords worked for restaurants while in college and always create a deposit slip for the bank for the day’s total re-
dreamed of opening their own restaurant; unfortunately, ceipts. At the end of each week, we calculate what we
the initial investment was always out of reach. The Bick- owe each restaurant at the agreed-to wholesale price
fords noticed that many restaurants offer takeout food, and send them a statement and check.”
and that some restaurants—primarily pizzerias—offer “What other information do you need to get from
home-delivery service. However, many people they the system?” continued Sam.
met seemed to want home delivery with a wider food “It would be great to have some information at the
selection. end of each week about orders by restaurant and or-
Sue and Tom conceived Waiters on Call as the best ders by area of town—things like that,” Sue said. “That
of both worlds: a restaurant service without the high would help us decide about advertising and restaurant
initial investment. They contracted with a variety of contracts. Then, we need monthly statements for our
well-known restaurants in town to accept orders from accountant.”
customers and to deliver the complete meals. After pre- Sam made some notes and sketched some dia-
paring the meal to order, the restaurant charges Waiters grams as Sue and Tom talked. Then, after spending
on Call a wholesale price, and the customer pays retail some time thinking about it, he summarized the situa-
plus a service charge and tip when the meals are deliv- tion for Waiters on Call. “It sounds to me like you need a
ered. Waiters on Call started modestly, with only two system to use whenever these events occur”:
restaurants and one delivery driver working the dinner
■■ A customer calls in to place an order, so you need to
shift. Business rapidly expanded, until the Bickfords real-
Record an order.
ized they needed a custom computer system to support
■■ A driver is finished with a delivery, so you need to
their operations. They hired a consultant, Sam Wells, to
Record delivery completion.
help them define what sort of system they needed.
■■ A customer calls back to change an order, so you
“What events happen when you are running your
need to Update an order.
business that make you want to reach for a computer?”
■■ A driver reports for work, so you need to Sign in the
asked Sam. “Tell me about what usually goes on.”
driver.
“Well,” answered Sue, “when a customer calls in
■■ A driver submits the day’s receipts, so you need to
wanting to order, I need to record it and get the informa-
Reconcile driver receipts.
tion to the right restaurant. I need to know which drivers
are available to pick up the order, so I need drivers to call Sam continues, “Then, you need the system to
in and tell me when they are free. Perhaps this could produce information at specific points in time—for
be included as a smartphone or iPad app. Sometimes, example, when it is time to,”
customers call back wanting to change their orders, so I
need to find the original order and notify the restaurant ■■ Produce an end-of-day deposit slip.
to make the change.” ■■ Produce end-of-week restaurant payments.
“Okay, that’s great. Now, how do you handle the ■■ Produce weekly sales reports.
money?” queried Sam. ■■ Produce monthly financial reports.
Tom jumped in. “The drivers get a copy of the bill “Am I on the right track?”
showing the retail price directly from the restaurant Sue and Tom quickly agreed that Sam was talking
when they pick up the meal. The bill should agree with about the system in a way they could understand. They
our calculations. The drivers collect that amount plus a were confident that they had found the right consultant
service charge. When drivers report in at closing, we for the job.
■■ Overview
Chapter 2 described the systems analysis activities used in system develop-
ment and introduced the tasks and techniques involved when completing the
first analysis activity—gathering information about the system, its stakehold-
ers, and its requirements. An extensive amount of information is required to
properly define the system’s functional and nonfunctional requirements. This
chapter, with Chapter 4 and Chapter 5, presents techniques for documenting
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 71
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
72 PART 2 ■ Systems Analysis Activities
acceptance criteria features that must A final part of a user story is the acceptance criteria. These indicate the
be present in the final system for the user to features that must be present for the user to be satisfied with the resulting imple-
be satisfied
mentation. They focus on functionality, not on features or user-interface design.
For example, the following are the acceptance criteria for the user story “bank
teller making a deposit”:
1. Customer lookup must be by name or by account number.
2. It would be nice to display photo and signature of customer.
3. Any check hold requirements must be indicated.
4. Current balance and new balance must be displayed.
The programmer analyst uses the acceptance criteria to clarify the expec-
tations of the user and to verify the user is looking at the user story at an
appropriate level of analysis. When the user story is implemented and refined,
the acceptance criteria are used for testing. Some consider it much like a con-
tract between the developers and the users that limits controversy later in the
project. Figure 3-1 shows two user stories handwritten on index cards. The
first user story is for the bank teller example just discussed. The other user
story is for a shipping clerk responsible for shipping the items on a new order
for RMO.
User Story
As a shipping clerk, I want to ship an order as accurately as possible as soon as the order
details are available.
Acceptance Criteria:
1. Available order details must pop up on the screen when available.
2. Portable display and scan device would cut time in half.
3. Sort the items by bin location.
4. Indicate number of items in stock for each item and mark backorder for those not
available.
5. Recommend shipper based on weight, size, and location.
6. Print out shipping label for selected shipper.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 73
use case an activity that the system A use case is an activity the system performs in response to a request by
performs in response to a request by a user a user. In Chapter 1, the RMO Tradeshow System example had a list of uses
that included Look up supplier, Enter/update product information, and Look
up product information. Two techniques are recommended for identifying use
cases: the user goal technique and the event decomposition technique. Use case
techniques place the responsibility for identifying and detailing the require-
ments on the system developers. The developers typically interview all types
of users and stakeholders, and then make and refine notes about each use case.
Some of the more complex use cases are modeled in more detail by the develop-
ers before turning the uses cases over to the programmer analysts for design
and implementation.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
74 PART 2 ■ Systems Analysis Activities
Figure 3-2 Identifying use cases User User goal and resulting use case
with the user goal technique
Potential customer Search for item
Fill shopping cart
View product rating and comments
© Cengage Learning ®
Produce sales history report
4. Interview each type of user to determine the specific goals they will have
when using the new system. Start with goals they currently have and then
get them to imagine innovative functions they think would add value.
Encourage them to state each goal in the imperative verb-noun form, such
as Add customer, Update order, and Produce month-end report.
5. Create a list of preliminary use cases organized by type of user.
6. Look for duplicates with similar use case names and resolve inconsistencies.
7. Identify where different types of users need the same use cases.
8. Review the completed list with each type of user and then with interested
stakeholders.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 75
Figure 3-3 Events in a charge account processing system that lead to use cases
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
76 PART 2 ■ Systems Analysis Activities
■■ Types of Events
There are three types of events to consider when using the event decomposi-
tion technique to identify use cases: external events, temporal events, and state
events (also called internal events). The analyst begins by trying to identify
and list as many of these events as possible, refining the list while talking with
system users.
❚❚ External Events
external event an event that occurs An external event is an event that occurs outside the system—usually initiated
outside the system, usually initiated by an by an external agent or actor. An external agent (or actor) is a person or orga-
external agent nizational unit that supplies or receives data from the system. To identify the
actor an external agent; a person, group key external events, the analyst first tries to identify all the external agents that
or external system that interacts with the might want something from the system. A classic example of an external agent is
system by supplying or receiving data a customer. The customer may want to place an order for one or more products.
This event is of fundamental importance to an order-processing system, such as
the one needed by Ridgeline Mountain Outfitters. But other events are associ-
ated with a customer. Sometimes, a customer wants to return an ordered prod-
uct, or a customer needs to pay the invoice for an order. External events such as
these define what the system needs to be able to do. They are events that lead to
important transactions that the system must process.
When describing external events, it is important to name the event so the
external agent is clearly defined. The description should also include the action
that the external agent wants to pursue. Thus, the event “Customer places an
order” describes the external agent (a customer) and the action that the customer
wants to take (to place an order for some products) that directly affects the system.
Important external events can also result from the wants and needs of peo-
ple or organizational units inside the company (e.g., management requests for
information). A typical event in an order-processing system might be “Manage-
ment wants to check order status.” Perhaps managers want to follow up on an
order for a key customer; the system must routinely provide that information.
Another type of external event occurs when external entities provide new
information that the system simply needs to store for later use. For example, a
regular customer reports a change in address, phone, or employer. Usually, one
event for each type of external agent can be described to handle updates to data,
such as “Customer needs to update account information.” Figure 3-4 provides a
checklist to help in identifying external events.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 77
© Cengage Learning ®
√ Management reports (summary or exception)
√ Operational reports (detailed transactions)
√ Internal statements and documents (including payroll)
√ External outputs needed
√ Statements, status reports, bills, reminders
❚❚ Temporal Events
temporal event an event that occurs as a A second type of event is a temporal event—an event that occurs as a result
result of reaching a point in time of reaching a point in time. Many information systems produce outputs at
defined intervals, such as payroll systems that produce a paycheck every two
weeks (or each month). Sometimes, the outputs are reports that management
wants to receive regularly, such as monthly or weekly performance or excep-
tion reports. These events are different from external events in that the system
should automatically produce the required output without being told to do so.
In other words, no external agent or actor is making demands, but the system is
supposed to generate information or other outputs when they are needed.
The analyst begins identifying temporal events by asking about specific
deadlines that the system must accommodate. What outputs are produced at
that deadline? What other processing might be required at that deadline? In a
payroll system, a temporal event might be named “Time to produce biweekly
payroll.” The event defining the need for a monthly summary report might be
named “Time to produce monthly sales summary report.” Figure 3-5 provides
a checklist to use in identifying temporal events.
Temporal events do not have to occur on a fixed date. They can occur after
a defined period of time has elapsed. For example, a bill might be given to a cus-
tomer when a sale has occurred. If the bill has not been paid within 15 days, the
system might send a late notice. The temporal event “Time to send late notice”
might be defined as a point 15 days after the billing date.
❚❚ State Events
state event an event that occurs when A third type of event is a state event—an event that occurs when something hap-
something happens inside the system that pens inside the system that triggers the need for processing. State events are also
triggers some process
called internal events. For example, if the sale of a product results in an adjustment
to an inventory record, and the inventory in stock drops below a reorder point, it
is necessary to reorder. The state event might be named “Reorder point reached.”
Often, state events occur as a consequence of external events. Sometimes, they are
similar to temporal events, except the point in time cannot be defined.
■■ Identifying Events
Defining the events that affect a system is not always easy, but some guidelines
can help an analyst think through the process.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
78 PART 2 ■ Systems Analysis Activities
© Cengage Learning ®
Customer goes to Customer tries on a Customer buys
Walmart shirt at Walmart a shirt
shirt. Finally, the customer wants to purchase the shirt. The analyst has to think
through such a sequence to arrive at the point where an event directly affects the
system. In this case, the system is not affected until the customer is in the store,
has a shirt in hand ready to purchase, and says “I want to buy this shirt.”
In other situations, it is not easy to distinguish between an external event
and the system’s response. For example, when the customer buys the shirt, the
system requests a credit card number and then the customer supplies the credit
card. Is the act of supplying the credit card an event? In this case, no; it is part of
the interaction that occurs while completing the original transaction.
The way to determine whether an occurrence is an event or whether it is
part of the interaction following the event is by asking if any long pauses or
intervals occur (i.e., can the system transaction be completed without interrup-
tion?). Or is the system at rest again, waiting for the next transaction? After the
customer wants to buy the shirt (the event), the process continues until the trans-
action is complete. There are no significant stops after the transaction begins.
After the transaction is complete, the system is at rest, waiting for the next
transaction to begin. The EBP concept defined earlier describes this as leaving
the system and its data in a consistent state.
On the other hand, separate events occur when the customer buys the shirt by
using his store credit card account. When the customer pays the bill at the end of
the month, is the processing part of the interaction involving the purchase? In this
case, no; the system records the transaction and then does other things. It does not
halt all processes to wait for the payment. A separate event occurs later that results
in sending the customer a bill. (This is a temporal event: “Time to send monthly
bills.”) Eventually, another external event occurs (“Customer pays the bill”).
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 79
Figure 3-7 The sequence of “transactions” for one specific customer resulting in many events
© Cengage Learning ®
Customer wants to Customer updates Customer returns
check order status account information the item
Next, the customer might want to check the status of an order to find out the
shipping date. Perhaps the customer has moved and wants an address change
recorded for future catalog mailings. Finally, the customer might want to return
an item. Thinking through this type of sequence can help identify events.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
80 PART 2 ■ Systems Analysis Activities
User wants to log on User wants to change the User wants to change
Don’t worry much
to the system password preference settings
about these until you are
considering design issues
© Cengage Learning ®
System crash Time to back up the Time to require the
requires database database user to change the
recovery password
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 81
Figure 3-9 Use cases and brief Use case Brief use case description
descriptions
Create customer account User/actor enters new customer account data, and the system
assigns account number, creates a customer record, and
creates an account record.
Look up customer User/actor enters customer account number, and the system
© Cengage Learning ®
retrieves and displays customer and account data.
Process account adjustment User/actor enters order number, and the system retrieves
customer and order data; actor enters adjustment amount, and
the system creates a transaction record for the adjustment.
which subsystem is responsible for each use case. The analyst should also iden-
tify which use cases involve more than one type of user.
It is important to recognize that this list of uses cases will continue to evolve
as the project progresses. Additional use cases will be added, some might be
eliminated, and some might be combined. It is helpful to immediately describe
some of the details of each use case, preferably in one sentence. This brief
description is usually expanded to record more of the details when the develop-
ers are designing and implementing the use case (see Chapter 5). Some exam-
brief use case description an often ples of brief use case descriptions are shown in Figure 3-9. Figures 3-10a
one-sentence description that provides a through 3-10e show the initial list of use cases for the RMO CSMS along with
quick overview of a use case the users. Note that many use cases have more than one user.
Sometimes, it is useful to create diagrams that visually depict use cases and
use case diagram the UML model used how they are organized. The use case diagram is the UML model used to
to illustrate use cases and their relationships illustrate use cases and their relationship to users. Recall from Chapter 2 that
to actors Unified Modeling Language (UML) is the standard set of diagrams and model
constructs used in system development. You saw an example of a use case dia-
gram in Chapter 1. The notation is fairly simple.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
82 PART 2 ■ Systems Analysis Activities
View product comments and ratings Customer, customer service representative, store
sales representative
© Cengage Learning ®
Convert reserve cart Customer
© Cengage Learning ®
Rate and comment on product Customer
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 83
© Cengage Learning ®
Send/receive partner credits Customer
© Cengage Learning ®
Add/update promotion Marketing
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
84 PART 2 ■ Systems Analysis Activities
Ship items
© Cengage Learning ®
Shipping clerk
Customer service
Request friend representative
linkup
Reply to friend
linkup
View "mountain
bucks"
Browse
messages
Customer Store sales
representative
Process account
adjustment
Send message
Transfer
"mountain bucks"
© Cengage Learning ®
Send/receive
partner credits Management
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 85
View product
comments and
ratings
View accessory
combinations
Empty shopping
cart
Customer
Convert reserve
cart
© Cengage Learning ®
Empty reserve
cart
this when checking out online. The customer service representative might do this
when talking to a customer on the phone. The store sales representative might
do this when dealing with the customer in a store. Only a member of manage-
ment can process an account adjustment. The other use cases are included only
for the customer.
There are many ways to organize use case diagrams for communicating with
users, stakeholders, and project team members. One way is to show all use cases
invoked by a particular actor (i.e., from the user’s viewpoint). This approach is
often used during requirements definition because the systems analyst may be
working with a particular user and identifying all the functions that user per-
forms with the system. Figure 3-13 illustrates this viewpoint, showing all the
use cases involving the customer for the Sales subsystem. Figure 3-14 shows use
cases involving the customer service representative and the store sales represen-
tative for the Sales subsystem. Analysts can expand this approach to include all
the use cases invoked by any department, regardless of the subsystem, or all use
cases important to a specific stakeholder.
❚❚ «includes» Relationships
Frequently during the development of a use case diagram, it becomes apparent that
one use case might use the services of another use case. For example, in the Sales
subsystem use case diagram shown in Figure 3-14, the customer might search
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
86 PART 2 ■ Systems Analysis Activities
Figure 3-14 Use cases involving the customer service representative and store sales representative for the Sales subsystem
Sales Subsystem
Actors: Service Representative and Store Representative
View product
comments and
ratings
Customer service Store sales
representative representative
View accessory
combinations
© Cengage Learning ®
Create phone sale Create store sale
«includes»
View product
Fill shopping cart «includes» comments and
ratings
Customer
«includes»
© Cengage Learning ®
View accessory
combinations
for an item, view product comments and ratings, and view accessory combina-
tions before beginning to fill the shopping cart. However, while filling the shop-
ping cart, the customer might also search for an item, view product comments,
and view accessories. Therefore, one use case uses, or “includes,” another use
case. Figure 3-15 shows a use case diagram emphasizing this aspect of use cases.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 87
Fill shopping cart also includes Search for item, View product comments and
ratings, and View accessory combinations. Thus, the Customer can view com-
ments initially, and also while carrying out the Fill shopping cart use case. The
relationship between these use cases is denoted by the dashed connecting line
with the arrow that points to the use case that is included. The relationship is
read Fill shopping cart includes Search for item. Sometimes, this relationship is
«includes» relationship a relationship referred to as the «includes» relationship or the «uses» relationship. Note that
between use cases in which one use case the word includes is enclosed within guillemets in the diagram; this is the way to
is stereotypically included within the other refer to a stereotype in UML. It means that the relationship between one use case
use case
and another use case is a stereotypical «includes» relationship.
chapter Summary
This chapter is the first of three chapters that present system. An event is something that can be described,
techniques for modeling a system’s functional require- something that occurs at a specific time and place, and
ments. A key early step in the modeling process is to something worth remembering. External events occur
identify and list the user stories or use cases that de- outside the system—usually triggered by someone who
fine the functional requirements for the system. User interacts with the system. Temporal events occur at a
stories are written by end users and stakeholders dur- defined point in time, such as the end of a work day or
ing requirements meetings with the developers. They the end of every month. State or internal events occur
are used with most highly Agile development meth- based on an internal system change. For each event,
odologies. Use cases are very similar to user stories, a use case is identified and named. The event decom-
but they are often modeled in more detail than user position technique helps ensure that each use case is
stories and are the responsibility of the developers. Use identified at the elementary business process (EBP)
cases can be identified by using the user goal technique level of detail. Each use case identified by the analyst
and the event decomposition technique. The user goal is further documented by a brief use case description
technique initially identifies types of system end us- and by identifying the actors. UML use case diagrams
ers, called actors. Then, users are asked to list specific are drawn to document use cases and their actors.
user goals they have when using the system to support Many different use case diagrams are drawn based on
their work. The event decomposition technique ini- the need to review use cases with various stakeholders,
tially identifies events that require a response from the users, and team members.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
88 PART 2 ■ Systems Analysis Activities
Key Terms
acceptance criteria event system controls
actor event decomposition technique temporal event
automation boundary external event use case
brief use case description «includes» relationship use case diagram
elementary business perfect technology assumption user goal technique
process (EBP) state event user story
Review Questions
1. What are the five activities of systems analysis, 14. What are the three types of events?
and which activity is discussed beginning with 15. Define an external event and give an example
this chapter? that applies to a checking account system.
2. What is a user story? What is a use case? 16. Define a temporal event and give an example
3. What are the two techniques used to identify that applies to a checking account system.
use cases? 17. What are system controls, and why are they
4. Describe the user goal technique for identifying not considered part of the users’ functional
use cases. requirements?
5. What are some examples of users with different 18. What is the perfect technology assumption?
functional roles and at different operational levels? 19. What are three examples of events that involve
6. What are some examples of use case names that system controls that should not be included initial-
correspond to your goals as a student going ly because of the perfect technology assumption?
through the college registration process? Be sure 20. What is a brief use case description?
to use the verb-noun naming convention.
21. What is UML?
7. What is the overarching objective of asking users
22. What is the purpose of UML use case
about their specific goals?
diagrams?
8. How many types of users can have the same user
23. What is another name for “actor” in UML, and
goals for using the system?
how is it represented on a use case diagram?
9. Describe the event decomposition technique for
24. What is the automation boundary on a use case
identifying use cases.
diagram, and how is it represented?
10. Why is the event decomposition technique
25. How many actors can be related to a use case on
considered more comprehensive than the user
a use case diagram?
goal technique?
26. Why might a systems analyst draw many differ-
11. What is an elementary business process (EBP)?
ent use case diagrams when reviewing use cases
12. Explain how the event decomposition technique with end users?
helps identify use cases at the right level of analysis.
27. What is the «includes» relationship between two
13. What is an event? use cases?
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 89
2. Review the external event checklist in Figure 3-4 9. Again considering the library, ask some students
and then think about a university course registra- what their goals are in using the library system.
tion system. What is an example of an event of Also ask some library employees about their
each type in the checklist? Name each event by goals in using the system. Name these goals as use
using the guidelines for naming an external event. cases (verb-noun) and discuss whether student
3. Review the temporal event checklist in Figure 3-5. users have different goals than employee users.
Would a student grade report be an internal or 10. Visit a restaurant or the college food service to
external output? Would a class list for the instruc- talk to a server (or talk with a friend who is a
tor be an internal or external output? What are food server). Ask about the external events and
some other internal and external outputs for a temporal events, as you did in exercise 8. What
course registration system? Using the guidelines are the events and resulting use cases for order
for naming temporal events, what would you processing at a restaurant?
name the events that trigger these outputs? 11. Review the procedures for course registration
4. Consider the following sequence of actions taken at your university and then talk with the staff
by a customer at a bank. Which action is the in advising, in registration, and in your major
event the analyst should define for a bank ac- department. Think about the sequence that goes
count transaction processing system? (1) Kevin on over an entire semester. What are the events
gets a check from Grandma for his birthday. that students trigger? What are the events that
(2) Kevin wants a car. (3) Kevin decides to save your own department triggers? What are the
his money. (4) Kevin goes to the bank. (5) Kevin temporal events that result in information going
waits in line. (6) Kevin makes a deposit in his sav- to students? What are the temporal events that
ings account. (7) Kevin grabs the deposit receipt. result in information going to instructors or
(8) Kevin asks for a brochure on auto loans. departments? List all the events and the resulting
5. Consider the perfect technology assumption, use cases that should be included in the system.
which states that use cases should be included 12. Refer to the RMO CSMS Order Fulfillment subsys-
during analysis only if the system would be tem shown in Figure 3-10. Draw a use case diagram
required to respond under perfect conditions. that shows all actors and all use cases. Use a draw-
Could any of the use cases listed for the RMO ing tool such as Microsoft Visio if it is available.
CSMS be eliminated based on this assumption? 13. Again for the Order Fulfillment subsystem, draw
Explain. Why are such use cases as Log on to the a use case diagram showing just the use cases
system and Back up the database required only for the Shipping Department in preparation for
under imperfect conditions? a meeting with them about the system require-
6. Visit some Web sites of car manufacturers, such ments. Use a drawing tool such as Microsoft
as Honda, BMW, Toyota, and Acura. Many of Visio if it is available.
these sites have a use case that is typically named 14. Refer to the RMO CSMS Marketing subsystem
Build and price a car. As a potential customer, shown in Figure 3-10. Draw a use case diagram
you can select a car model, select features and that shows all actors and all use cases. Use a draw-
options, and get the car’s suggested price and list ing tool such as Microsoft Visio if it is available.
of specifications. Write a brief use case descrip-
15. Refer to the RMO CSMS Reporting subsystem
tion for this use case (see Figure 3-9).
shown in Figure 3-10. These reports were iden-
7. Again looking at a Web site for one of the car tified by asking users about temporal events,
manufacturers, consider yourself a potential meaning points in time that require the system
buyer and then identify all the use cases included to produce information of value. In most actual
on the site that correspond to your goals. systems today, an actor is assigned responsibil-
8. Set up a meeting with a librarian. During your ity for producing the reports or other outputs
meeting, ask the librarian to describe the situ- when they are due. Recall that the actor is part
ations that the book checkout system needs to of the system—the manual, nonautomated
respond to. List these external events. Now ask part. Thus, this is one way the “system” can be
about points in time, or deadlines, that require responsible for producing an output at a point
the system to produce a statement, notice, report, in time. In the future, more outputs will be pro-
or other output. List these temporal events. Does duced automatically. Draw a use case diagram
it seem natural for the librarian to describe the that shows the use cases and actors, as shown in
system in this way? List each event and then Figure 3-10. Use a drawing tool such as Micro-
name the resulting use case. soft Visio if it is available.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
90 PART 2 ■ Systems Analysis Activities
CASE STUDY
The State Patrol Ticket-Processing When the trial is completed, the court sends the
verdict to the ticketing system. The verdict and trial date
System are recorded for the ticket. If the verdict is innocent, the
The purpose of the State Patrol ticket-processing system is system that produces driving record reports for insurance
to record moving violations, keep records of the fines paid by companies will ignore the ticket. If the verdict is guilty,
drivers when they plead guilty or are found guilty of moving the court gives the driver another envelope with the ticket
violations, and notify the court that a warrant for arrest should number on it for mailing in the fine.
be issued when such fines are not paid in a timely manner. If the driver fails to pay the fine within the required
A separate State Patrol system records accidents and the period, the ticket-processing system produces a warrant
verification of financial responsibility (insurance). But a third request notice and sends it to the court. This happens if
system uses ticket and accident records to produce driving the driver does not return the original envelope within two
record reports for insurance companies. Finally, a fourth sys- weeks, or does not return the court-supplied envelope
tem issues, renews, or suspends driver’s licenses. These within two weeks of the trial date. What happens next is
four systems are obviously integrated, in that they share ac- in the hands of the court. Sometimes, the court requests
cess to the same database; otherwise, they are operated that the driver’s license be suspended, and the system that
separately by different departments of the State Patrol. processes driver’s licenses handles the suspension.
When an officer gives a ticket to a driver, a copy of
the ticket is turned in and entered into the system. A new 1. To what events must the ticket-processing system
ticket record is created, and relationships to the correct respond? List each event, the type of event, the
driver, officer, and court are established in the database. resulting use case, and the actor(s). Think carefully
If the driver pleads guilty, he or she mails in the fine in a about who the actors are. Does the officer directly
preprinted envelope with the ticket number on it. In some enter the ticket into the system? Or does a state pa-
cases, the driver claims innocence and wants a court date. trol clerk do it when the paper ticket is received from
When the envelope is returned without a check and the trial the officer? The existing system uses paper forms, so
request box has an “X” in it, the system does the following: for now assume the state patrol clerk enters all of the
notes the plea on the ticket record; looks up driver, ticket, information. A new system would use the same use
and officer information; and sends a ticket details report cases, but opportunities for efficiency and accuracy
to the appropriate court. A trial date questionnaire form is would lead to changes in who the actors are.
also produced at the same time and is mailed to the driver. 2. Write a brief use case description for each use case.
The instructions on the questionnaire tell the driver to fill in 3. Draw a use case diagram for the ticket-processing
convenient dates and mail the questionnaire directly to the system assuming the actors are based on your
court. Upon receiving this information, the court schedules answers in question 1 (the existing system as
a trial date and notifies the driver of the date and time. described).
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
CHAPTER 3 ■ Identifying User Stories and Use Cases 91
number of bedrooms, number of bathrooms, owner through and write on. Sometimes, agents and owners
name, owner phone number, asking price, and status decide to change information about a listing, such as re-
code. An agent will directly request information from ducing the price, correcting previous information on the
the MLS system on listings that match customer re- house, or indicating that the house is sold. The agent
quirements. Information is provided on the house, on updates the information directly on the MLS system.
the agent who listed the house, and on the real estate
1. To what events must the MLS system respond
office for which the agent works. This information is
based on the description above? List each event,
needed because an agent might want to call the listing
the type of event, and the resulting use case. Be
agent to ask additional questions or call the homeowner
sure to consider all the use cases that would be
directly to make an appointment to show the house.
needed to maintain the data in the MLS system.
Although it seems dated, once each week, the MLS
produces a listing booklet that contains information 2. Draw a use case diagram based on the use cases
on all listings. These booklets are sent to some real es- you identified in question 1. Include appropriate
tate agents because many think they are easier to flip actors based on the case description.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
92 PART 2 ■ Systems Analysis Activities
those instances to have someone sign for the package technique. Draw a use case diagram for these
upon delivery. use cases.
1. From this description as well as the information 3. Using the event decomposition technique for
from Chapter 2, identify all the actors who will each event you identify in the description
be using the system. here, name the event, state the type of event,
and name the resulting use case. Draw a use
2. Using the actors who you identified in question 1,
case diagram for these use cases.
develop a list of use cases based on the user goal
Further R esources
Classic and more recent texts include the following: Craig Larman, Applying UML and Patterns (3rd ed.).
Grady Booch, Ivar Jacobson, and James Prentice Hall, 2005.
Rumbaugh, The Unified Modeling Language Stephen McMenamin and John Palmer, Essential
User Guide. Addison-Wesley, 1999. Systems Analysis. Prentice Hall, 1984.
Mike Cohn, User Stories Applied. Addison-Wesley, Ed Yourdon, Modern Structured Analysis. Prentice
2004. Hall, 1989.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.