Title: UseCase Modeling
 1Use-Case Modeling
- Based on pp. 239-246 of Hoffer, George, and 
Valicich and Chapter 6 of Systems Analysis  
Design An Object-Oriented Approach with UML by 
Alan Dennis, Barbara Wixom, and David Tegarden 
published by John Wiley  Sons, Inc., 2002 
(http//www.wiley.com/college/dennis) 
  2Agenda
- What is a use case (with examples) 
 - Guidelines for developing use-case descriptions 
 - Guidelines for drawing use-case diagrams 
 - Exercise
 
  3Learning Objectives
- After this lecture, you should be able to 
 - Describe what a use case is 
 - Describe the deliverables from use-case modeling 
 - Develop a simple use-case description and 
use-case diagram 
  4Example Use-Case Diagram 
 5Example Use-Case Description 
 6Use-Case Modeling
- A foundation of the object-oriented approach to 
systems analysis and design  - An approach to understanding functional 
requirements of a system within the Analysis 
Phase of the SDLC  - High level description of what the system needs 
to do  - Each use case describes one function involving 
one or more users interacting with the system 
  7So What is a Use Case?
- From a users perspective A use case is a 
discrete activity or function that a user 
performs via the system  - From the systems perspective A use case is a 
discrete activity or function that the system 
performs for a user 
  8Deliverables for Use-Case Modeling
- Types of deliverables 
 - Text-based descriptions of each use case 
 - Formal use-case diagrams 
 - Focus of deliverables 
 - Current (as-is) system 
 - New (to-be) system 
 - Level of abstraction in deliverables 
 - Logical / essential (what system should do 
without specifying how)  - Physical / real (how functionality is 
implemented)  - Level of detail in deliverables 
 - Overview 
 - Detail
 
  9Use-Case Descriptions
- Capture typical interactions of the system with 
the systems users  - Each use case is a single function or user role 
 - Elements 
 - Overview Information 
 - E.g., name (verb-noun phrase, such as Place 
order)  - E.g., sentence describing the essence of the use 
case  - Relationships (with other use cases and users) 
 - Flow of Events 
 - Optional Characteristics 
 - Developed iteratively 
 
  10Guidelines for Developing Use-Case Descriptions
- Identify the Major Use Cases 
 - Find the systems boundaries 
 - List the primary actors 
 - List the goals of the primary actors 
 - Identify and write the overview of the major use 
cases for the above  - Carefully review the current use cases. Revise 
as needed. 
  11Guidelines for Developing Use-Case Descriptions
- Expand the Major Use Case 
 - Choose one of the use cases to expand 
 - Start filling in the details of the chosen use 
case  - Write the normal flow of events for the use case 
 - If the normal flow of events is too complex or 
long, decompose into subflows  - List the possible alternate or exceptional flows 
 - For each alternate or exceptional flow, list how 
the actor and/or the system should react 
  12Guidelines for Developing Use-Case Descriptions
- Confirm the Major Use Cases 
 - Carefully review the current set of use cases. 
Revise as needed.  - Start at the top again.
 
  13Guidelines for Developing Use-Case Diagrams
- Draw the system boundary 
 - Place the use cases on the diagram 
 - Place the actors on the diagram 
 - Draw the associations
 
  14Exercise
Identify Use Cases and Develop a Use-Case Diagram 
and a Use-Case Description for the Open Road 
Insurance system Open Road Insurance (ORI) is an 
independent agency that receives policy contracts 
from various insurance companies. The purpose of 
the ORI system is to provide automotive insurance 
to car owners. Initially, a customer applies for 
coverage via an application. The agency requests 
a drivers record report from the local police 
department. The agency also requests vehicle 
registration confirmation from the Department of 
Motor Vehicles. An agent determines the best 
policy for the type and level of coverage desired 
and sends the customer a copy of the insurance 
policy along with an insurance coverage card. 
The customer information is stored. 
Periodically, the system generates a fee 
statement, which  along with addendums to the 
policy  is sent to the customer, who responds by 
sending in a payment with the fee stub. 
 15Exercise
- One Solution 
 - Use-Case Diagram 
 - Use-Case Description for Apply for Coverage
 
  16Summary
- What is a use case? 
 - What are the deliverables from use-case modeling? 
 - How do use-case models fit into the SDLC?
 
  17Guidelines for Developing Use-Case Descriptions
- Write the normal flow of events (i.e., the 
essence of the use case)  - Write each step in the form of Subject-Verb-Direct
 Object (and sometimes Preposition-Indirect 
Object)  - Make sure it is clear who the initiator of the 
step is  - Write the steps from the perspective of an 
independent observer  - Write each step at about the same level of 
abstraction  - Ensure the use case has a sensible set of steps 
 - Apply the KISS principle liberally 
 - Write repeating instructions after the set of 
steps to be repeated