0% found this document useful (0 votes)
3 views50 pages

06UseCases

The document outlines the process for developing project deliverables, including user interviews, user stories, and acceptance criteria. It details techniques for creating use cases, such as the User Goal Technique and Event Decomposition, and provides examples of use cases for various systems. Additionally, it emphasizes the importance of identifying events and stakeholders in the use case development process.

Uploaded by

aravind vishnu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views50 pages

06UseCases

The document outlines the process for developing project deliverables, including user interviews, user stories, and acceptance criteria. It details techniques for creating use cases, such as the User Goal Technique and Event Decomposition, and provides examples of use cases for various systems. Additionally, it emphasizes the importance of identifying events and stakeholders in the use case development process.

Uploaded by

aravind vishnu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

CSCI 375

USE CASES
Upcoming Project deliverables
Project Requirements (this is a big one!):
◦ This needs to be based on user-gathered information
◦ You will need to interview users
◦ We all know how fun this is!
◦ Design an interview/questionnaire
◦ Make sure it is targeted
◦ Interview enough people: how many?
◦ Testing plan
◦ Test environment, tools, processes
◦ What requirements will be tested
User Stories
Definition: One short sentence that states what a user does as part
of their work. It should be in the user’s language.

“As a <role>, I want to <goal>, so that <reason>”


◦ As a customer I want to withdraw cash and feel confident that I get the
correct amount
◦ As a teller, I want to balance my cash drawer to confirm there were no errors.
Acceptance Criteria
Each user story should have a list of acceptance criteria
◦ things that are necessary for the actor to be satisfied
◦ can be used in testing
◦ can be used to clarify expectations of users
Example:
◦ User Story:
◦ As a teller, I want to make a deposit to quickly serve more customers
◦ Acceptance Criteria:
1. customer look up must be by name or account number
2. customer photo and signature would be nice to see
3. check-hold requirements must be shown
4. current balance and new balance must be shown
User Stories practice
Come up with 2 user Stories (for different kinds of users) for:
◦ VIU Learn

◦ “As a <role>, I want to <goal>, so that <reason>”

◦ List at least 3 acceptance criteria for each one


Use Cases
Definition: an activity that the system performs in response to a
request by the user (or an agent)

Two techniques for developing use cases:


◦ User Goal Technique
◦ Event Decomposition
RMO: Use Case Examples
Use Case Description
Look up supplier Using supplier name, find supplier information and contacts
Enter/update supplier Enter (new) or update (existing) supplier information
information
Look up contact Using contact name, find contact information
Enter/update contact Enter (new) or update (existing) contact information
information
Look up product information Using description or supplier name, look up product information
Enter/update product Enter (new) or update (existing) product information
information
Upload product image Upload images of the merchandise product
User Goal Technique
1. Identify all users
2. Classify all users in terms of their functional role
3. Classify all users by organizational level
4. Interview all users (or all types)
◦ what are their specific goals?
◦ frame all in imperative verb-noun format
◦ Update order
◦ Add customer
5. Create a list of use cases, organized by type of user
6. Look for duplicates, resolve inconsistencies
7. Identify where different users have the same use case
8. Review updated list with users and stakeholders
VIU Learn example
Identify all types of user
Classify them by:
◦ functional role
◦ by organizational level
Interview them
List all the things you need to do with the system
VIU Learn example
Identify all types of user
Classify them by:
◦ functional role
◦ by organizational level
Interview them
List all the things you need to do with the system
◦ convert them to verb-noun format: update order
◦ Ignore security and login functionality
VIU Learn Example
Come up with use cases based on whole class’s list

Use Case Description


Example: Look up supplier Using supplier name, find supplier information and contacts
VIU Learn Example: Instructor Use Cases
Use Case Description
Enter Grades Using course identifier, enter grade values for all students who have
completed a specific assignment
Email Students Using course identifier access list of enrolled students and send them
an email
View Assignment Using a course identifier, and assignment identifier, view the settings
and files for an assignment
View Assignment Submission Using a course identifier, an assignment identifier, and student
for a student identifier, view the submitted files and information
Mark Assignment Submission Using a course identifier, an assignment identifier, and student
identifier, enter feedback and mark
View courses View list of all current courses
Event Decomposition Technique
Definition: technique used to identify use cases based on business events
the system must handle and respond to

Easier said than done:


◦ Identifying the events that are associated with use cases at the right level of detail is
difficult
Example:
◦ enter a name on a form Which is best level
◦ add a new customer to the system of detail?
◦ add customers and update customer records
Event Decomposition Technique
Definition: technique used to identify use cases based on business events
the system must handle and respond to

Easier said than done:


◦ Identifying the events that are associated with use cases at the right level of detail is
difficult
Example:
◦ enter a name on a form
◦ add a new customer to the system
◦ add customers and update customer records
Event Decomposition
The right level of detail corresponds to a task:
◦ That is performed by one person
◦ adds measurable business value
◦ leaves the system and data in a stable state
We call this: Elementary Business Process (EBP)

Fill a shopping cart: Is this a EBP?


Event Decomposition Technique
Ask ourselves:
◦ What business events happen that the system will need to respond to?

Event System Result


Three Events:
• Customer pays a bill
• Customer makes a charge
• Customer changes their address
Three Events:
• Customer pays a bill
• Customer makes a charge
• Customer changes their address

Three Use Cases:


• Record a payment
• Process a change
• Maintain customer
Three Temporal Events:
• Time to send late notices
• Time to send out monthly
statements
• Time to produce end of week
summary reports
Three Temporal Events:
• Time to send late notices
• Time to send out monthly
statements
• Time to produce end of week
summary reports

Three Use Cases:


• Send late notices
• Produce monthly statements
• Produce summary reports
Types of Event
External Events
Temporal Events
State Events
RMO example
Identify all the external agents of RMO
RMO example
Identify all the external agents of RMO.
What kinds of events can a customer trigger?
Naming events
Should include:
◦ agent is named
◦ identify the action
Example:
◦ customer places an order
Types of Event
External Events
◦ can also be triggered by employees or departments
◦ Checklist:
• external agent wants something, that results in a transaction
• external agent wants some information
• data changed, and needs to be updated
• management wants some information
Temporal Events
State Events
Types of Event
External Events
Temporal Events
◦ Ask:
◦ What deadlines occur?
◦ What outputs are associated with those deadlines?

State Events
Temporal Events Exercise
What are temporal events in VIU Learn?
Types of Event
External Events
Temporal Events
State Events
State events example
What are some state events of VIU Learn?
Identifying Events
Consider the following sequence
◦ Customer is hungry
◦ They google nearby restaurants
◦ They check out a Taco Shop’s menu online
◦ They drive to Burrito Barn
◦ They order the Bean Supreme and pay for it
Which of these represents an event for the Burrito Barn’s system?
Identifying Events
Consider the following sequence
◦ Customer is hungry
◦ They google nearby restaurants
Prior conditions
◦ They check out a Taco Shop’s menu online
◦ They drive to Burrito Barn
◦ They order the Bean Supreme and pay for it Event

Which of these represents an event?


Identifying Events
Consider the following sequence
◦ Customer wants to pay for the shirt
◦ The systems asks for the credit card
◦ The customer supplies the card
Which of these represents an event?
Trick:
◦ Ask yourself: Are there any significant pauses?
Identifying Events
Consider the following sequence
◦ Customer buys a shirt
◦ It is time to send the monthly bill
◦ Customer pays the bill
Which of these represents an event?
Tracing a Transaction’s Life Cycle
Customer goes to company website
Customer searches for an item
Customer places an order
Customer changes their order
Customer wants to check the order status
Customer updates their account information
Customer posts a review of the product to the company website
RMO Example
Identify transactions that could result from a new customer
◦ how do they go from showing interest, to becoming an actual customer?
Technology-Dependent Events and
System Controls
Can be best of ignore these at start of project
◦ System Controls
◦ Checks
◦ Safety procedures
◦ Protection of integrity of system
◦ Technology-dependent Events
Summary of Decomposition Steps
1. Identify external events that require response from the system
2. For each event, identify and name a use case
3. Identify the temporal events that need a system response
4. For each event, identify and name a use case the system requires
1. then identify the point in time that triggers the use case
5. Identify the state events the system might respond to
6. For each state event, identify and name the use case the system needs
and the state change
7. Assuming perfect technology, check each use case is needed, and
ignore system controls for now
RMO Example
According to System Vision:
◦ Sales
◦ Order Fulfillment
◦ Customer Account
◦ Marketing
◦ Reporting
Sales Subsystem Use Cases
Use Case Actors
Search for item Customer, customer service rep., store sales representative
View product Customer, customer service rep., store sales representative
comments/ratings
View accessory combinations Customer, customer service rep., store sales representative
Fill shopping cart Customer
Empty shopping cart Customer
Check out shopping cart Customer
Fill reserve cart Customer
Empty reserve cart Customer
Convert reserve cart Customer
Create phone sale Customer service representative
Create store sale Store sales representative
Order Fulfillment Subsystem Use Cases
Use Case Actors
Ship items Shipping
Manage shippers Shipping
Create backorder Shipping
Create item return Shipping, customer
Look up order status Shipping, customer, management
Track shipment Shipping, customer, marketing
Rate and comment on Customer
product
Provide suggestion Customer
Review suggestions Management
Ship items Shipping
Manage shippers Shipping
Customer Account Subsystem Use Cases
Use Case Actors
Create/update customer Customer, customer service representative, store sales representative
account
Process account adjustment Management
Send messages Customer
Browse messages Customer
Request friend linkup Customer
Reply to linkup message Customer
Sent/receive points Customer
View “mountain bucks” Customer
Transfer “mountain bucks” Customer
Marketing Subsystem Use Cases
Use Case Actors

Add/update product Merchandising, marketing


information
Add/update promotion Marketing

Add/update accessory Merchandising


package
Add/update business partner Marketing
link
Reporting Subsystem Use Cases
Use Case Actors
Produce daily transaction Management
summary report
Produce sales history report Management, marketing
Produce sales trends report Marketing
Produce customer usage Marketing
report
Produce shipment history Management, shipping
report
Produce promotion impact Marketing
report
Produce business partner Management, marketing
activity report
Use Case Diagram
Developing a Use Case Diagram
1. Identify all stakeholders and users (actors)
2. Identify which use case diagrams would be of interest to a specific
user/stakeholder. Typically includes use case diagrams
1. for each user
2. for use cases with <<includes>> relationships
3. for each use case that might be of interest to specific stakeholders
3. Select the appropriate use case diagrams for a specific
stakeholder/user and draw them up
4. Name each use case diagram, and decide when to use the diagram to
communicate with specific users.
Summary
We’ve seen:
◦ how to develop user stories
◦ different techniques to identify use cases
◦ ways to model use cases
Readings
Chapter 4 Domain Modeling
https://en.wikipedia.org/wiki/Domain_model
https://en.wikipedia.org/wiki/Unified_Modeling_Language
Chapter 5: Use Case Modeling
https://en.wikipedia.org/wiki/Activity_diagram
https://en.wikipedia.org/wiki/System_sequence_diagram

You might also like