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