�USE CASES
How do we specify the use cases of a system?
Lecture 10
Announcements/Reminders
Text questions to (562) 684-8307
2
Canvas Quiz
Lecture 10: Lecture 9 Review
Text questions to (562) 684-8307
3
Summary – What RE process do we follow?
Text questions to (562) 684-8307
4
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
5
Use Case Model
Consists of:
Text questions to (562) 684-8307
How are Use Cases Developed?
Iterative, discussion-based process involving the developers and the customers (and/or end users)
Text questions to (562) 684-8307
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
8
Actors
Text questions to (562) 684-8307
Symbolic representation of an actor within a use case diagram
Identifying Actors (I)
Text questions to (562) 684-8307
Identifying Actors (II)
Text questions to (562) 684-8307
Actor Brainstorming
Text questions to (562) 684-8307
12
Use Case
Use case name
Symbolic representation of a use case within a use case diagram
Use Case Characteristics
Text questions to (562) 684-8307
Identifying Use Cases – Useful Questions
Text questions to (562) 684-8307
Example Use Cases (I)
Text questions to (562) 684-8307
16
Application | Sample use cases |
Chemical tracking system | Request a Chemical Print Material Safety Data Sheet Change a Chemical Request Check Order Status Generate Chemical Usage Report |
Airport check-in kiosk | Check in for Flight Print Boarding Passes Change Seats Check Luggage Purchase an Upgrade |
Example Use Cases (II)
Text questions to (562) 684-8307
17
Application | Sample use cases |
Accounting system | Create Invoice Reconcile Account Statement Enter Credit Card Transaction Print Vendor Tax Form Search for Transaction |
Online bookstore | Update Customer Profile Search for Item Purchase Item Track Package Cancel Order |
Use Cases and User Stories
18
Application | Sample use case | Corresponding user story |
Chemical tracking system | Request a Chemical | As a chemist, I want to request a chemical so that I can perform experiments. |
Airport check-in kiosk | Check in for Flight | As a traveler, I want to check in for a flight so that I can fly to my destination. |
Accounting system | Create Invoice | As a small business owner, I want to create an invoice so that I can bill a customer. |
Online bookstore | Update Customer Profile | As a customer, I want to update my customer profile so that future purchases are billed to a new credit card number. |
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
19
Association Relationship
Text questions to (562) 684-8307
Register for course
Student
Example of Association
An ATM user withdraws/deposits/transfers money
ATM
Withdraw money
Deposit money
Transfer money
ATM User
Bank System
(human)
(external software)
Canvas Quiz
Lecture 10: Use Case Diagram
Text questions to (562) 684-8307
22
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
23
Scenarios
Text questions to (562) 684-8307
Scenario 1: Joining MyFlix
While Blake is searching the Internet to find out if there are any local theaters playing a newly released independent film, he finds the profile page for the film which is also released on MyFlix. Excited that he can watch it and similar films in the comfort of his apartment, he creates an account and begins paying the regular monthly fee. He accesses his account from his TV’s browser and is able to stream the movie.
Source: https://launchschool.com/books/agile_planning/read/myflix_scenarios
Text questions to (562) 684-8307
Scenario 2: Discovering Content
Blake has some pretty specific tastes in films and TV shows. At work he browses through various categories on the MyFlix website and reads the reviews on some films in the categories he likes. Reading several summaries and recommendations that match his preferences, he adds these films to his ever growing queue, so later he can quickly pick something to watch.
Source: https://launchschool.com/books/agile_planning/read/myflix_scenarios
Text questions to (562) 684-8307
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
27
Use Cases and Scenarios
Step 1: identify a single scenario/instance
Step 2: develop use cases that specify all possible instances/paths/scenarios
Example: Warehouse Fire Scenario
Text questions to (562) 684-8307
Review of Scenario: Warehouse Fire
Text questions to (562) 684-8307
Warehouse Fire: �Simplified and Organized
Text questions to (562) 684-8307
Warehouse Fire: �Derive Incident Management Use Cases
Use Case Diagram for Incident Mgmt
Text questions to (562) 684-8307
ReportEmergency
FieldOfficer
Dispatcher
OpenIncident
AllocateResources
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
34
What is a Use Case Description?
Text questions to (562) 684-8307
Flows
Text questions to (562) 684-8307
Types of Flows
A use case should capture all possible flows—successful and unsuccessful ones
Example Use Case Description: Buy a Product
3a. Customer is regular (repeat) customer
1. System displays current shipping, pricing, and billing information
2. Customer may accept or override defaults, returns to BF at step 6
Text questions to (562) 684-8307
Example Use Case: Add Item Deadline
5a. User wants to add deadline to calendar
5a. Date/time is invalid
Text questions to (562) 684-8307
How to Build a Use Case
Text questions to (562) 684-8307
Inf 113 Use Case Template
Text questions to (562) 684-8307
Purpose of Use Cases
Text questions to (562) 684-8307
Audience of Use Cases
Text questions to (562) 684-8307
Summary – How do we specify the use cases of the system?
Text questions to (562) 684-8307
44
Homework 5
Text questions to (562) 684-8307
45
Today’s Lecture – How do we specify the use cases of the system?
Text questions to (562) 684-8307
46
EXAM 2 (1)
47
EXAM 2 (2)
48
For Next Time
49