Title: Use Case Modeling
1Use Case Modeling
2USE CASE MODELLING
- A use case is a scenario that describes the use
of a system by an actor to accomplish a specific
goal. - An actor is a user playing a role with respect to
the system. - people, other systems. - Scenario A sequence of steps that describe the
interactions between an actor and the system. - The use case model consists of the collection of
all actors and all use cases.
3Use cases help ..
- Capture the system's functional requirements
from the users' perspective - Actively involve users in the
requirements-gathering process - Provide the basis for identifying major classes
and their relationships - Serve as the foundation for developing system
test cases
4USE CASE MODELLING
- Functional reqts., analysis phase
- - what a system does functions represented as
use cases - - Actor external agent that interacts with the
system, exchanges info. with the system (user,
sub-system, etc.) - - a role played by user
- Note a use case represents a complete
functionality. -
- view of system behavior from an external persons
viewpoint - effective tool for validating requirements
- an effective communication tool
- basis for a test plan
- basis for user manual
- Developing the use cases is not difficult
ensuring that you have them all is very difficult.
5- Use Case Diagrams
- Actor
- Line actor communicates with or is associated
with use-case
6- Use Case relationships
- ltltusesgtgt one use case always involves the steps
of another - ltltextendsgtgt under certain conditions, a use case
follows a variant
7Goals of use cases
- Interactions that provide value to actors
- No implementation specific language
- No assumptions about how the use case may be
realized in code or user-interface - Note use-cases drive the whole life-cycle, and
they get refined implementation specific
use-cases - User-appropriate level of detail
- General at requirements gathering stage
- User-appropriate volume
- Large systems no more than 70-80 use cases
- Small number of use cases forces abstraction
8Use case scenarios
- Realization of a use case
- Instance of a use case that effectively tests one
path through a use case - To demonstrate whether a use case accurately
reflects user needs - useful during testing
- Example
- Use case name Determine benefits eligibility for
enrollee - Steps
- 1. This use case starts when the social worker
enters the enrollees name and employment
situation. - 2. This use case ends when the system responds
with a determination of whether the enrollee is
eligible for benefits and the financial extent of
benefits. - Alternative path
- In step 1, if the enrollee has applied for
benefits previously, based on the enrollees own
disclosure, the social worker enters the
enrollees name to search for his or her previous
records
9Use case scenario - example
- Example of scenario
- The social worker asks Edward Trueman if he has
applied previously for and/or received benefits. - Mr. Trueman replies that he has applied
previously. - The social worker provides Mr. Truemans name as
search criterion - The system provides Mr. Truemans previous
records, which state that he applied for benefits
on Dec 9th, 1997, and was determined to be
ineligible on Dec 9th 1997 because of his current
part-time employment status at Boeing Aerospace
in the capacity of assembly line worker.
10ltltExtendsgtgt
ltltExtendsgtgt
Class registration
Registration Clerk
Student
Registration for special class
Prereq courses not completed
Student Billing
Bursars office
Instructor
Use-Case Diagram
Extends extension to or variation of a use-case
that exists in its own right
11Order Food
Customer
Service Person
Hire Employee
Applicant
Reorder supplies
ltltusesgtgt
Manager
Supplier
ltltusesgtgt
Track sales and inv. data
Produce mgt. reports
Uses factors common behavior amongst multiple
use-cases into a generalized use-case.
12- Step 1 Identifying Actors and Use Cases
- From context diagram, workflow diagram
- Step2 Construct Use Case Model
- System scope and boundary in terms of use cases
and actors - partitioned into sub-systems
- Step 3Use Case sequence of actions
- Step4 Identifying use case dependencies
- Step5 Use case alternate course of actions
- Step6 Finding Potential Objects
- Nouns in use case
- Step7 Selecting proposed Objects
- Class Diagram (Object Association Model, Object
Relationship Model)
13- Finding the actors
- Ask client and domain experts how system will be
used - Who will perform the obvious tasks? Secondary
tasks of maintenance and administration?
Interact with other systems? - Clear and differentiated names (eg. manager vs
supervisor)
14- Recording the use cases
- For each actor, what interactions /results they
require of the system each is a use case - Not overly precise yet, just note them down
- What tasks does the actor want the system to
perform - What information must the actor provide to the
system - Are there events that the actor must tell system
about - Does actor need to be informed when something
happens - Does actor help initialize or shut down the
system
15- Example video store system Actor
Customer - - What tasks does the actor want the system to
perform? - Find movie to rent, rent tape, return tape,
reserve tape - What information must the actor provide to the
system? - Name, address, membership, media name
- Are there events that the actor must tell system
about? - Change of address
- Does actor need to be informed when something
happens? - Reserved tape is ready to be rented
- Does actor help initialize or shut down the
system - no
16- Example video store system
- Resulting use cases
- Customer joins and provides contact information
including name, address, phone, credit
information, spouse and kids - Customer browses system looking for a tape to
rent - Customer comes to store looking for a specific
tape to rent - Customer rents a tape
- Customer returns a tape
- Customer reserves a tape
- Customer is contacted when a reserved tape is
ready - Note simple phrases, limited details initially.
17- Example video store system
- Other actors
- Clerk adds a new film to the system
- It is time to order more films manager wants to
know which films are popular so as to get extra
copies - Store orders 10 new copies of film when they
arrive, clerk adds them to system and puts them
on shelf - Manager wants to know if he is making money
- thinking of these may lead to some more customer
use cases - Customer wants to be informed when new movies are
available.
18- Example video store system
- Use cases from attributes of things
- tapes have actors, film name, director, release
date - Customer wants to find every movie starring a
specific actor - Customer wants to find movies with same director
as the last film she rented - Manager wants to put together list of movies
rated G. - Use cases to manage the attributes
- Clerk adds new film to system
- Clerk removes obsolete film from system
- Clerk updates information about a film
19- Example video store system
- These use cases can remind us of similar
responsibilities for customers - Clerk adds customer to the system
- Clerk removes customer account from system
- Clerk updates customers account
20- Use case name, description
- Example Customer Loses a Tape
- The customer reports to the clerk that he has
lost a tape. The clerk prints out the rental
record and asks customer to speak with the
manager, who will arrange for the customer to pay
a fee. The system will be updated to reflect lost
tape, and customers record is updated as well.
The manager may authorize purchase of a
replacement tape.
21- Scenarios a use case scenario shows the flow of
events in a particular instance of a use case. - focused on the business problem, not the solution
- shows most common situation
- can have greater or less detail as required to
understand flow of interactions and events - also consider exceptional rather than the normal
situations. - Scenario guidelines
- how does the scenario begin? what causes it to
end? - what is the distinction between what the actors
do and how the system responds - what feedback will the actor receive?
- which activities may repeat, and what causes them
to stop? - Is there conditional branching in the flow of the
scenario?
22- Formal description of use cases
- Use case name
- Actors, brief description
- Actions taking place
- scenario flow of events
- Some use cases have multiple scenarios to explore
various contingent activities - Preconditions before the use case can begin
- Eg. for Lost a Tape use case, customer must be
member and must have rented a tape. - Post-conditions state of system and perhaps for
actors, after the use case is completed
23Orders SubSystem
Submit Regular Order
Member Services Department
Past Member
Club Member
Request Sales Reports
Submit Promotion Order
Request Membership rpts
Submit subscription renewal
Create new subscription program
Marketing Department
Submit New Subscription
Send subscription renewal offer
Send new subscription offer
Create New Seasonal Promotion
Create New Monthly Promotion
Request Promotion Reports
Membership System
Promotions SubSystem
Member Services System
Send Club Promotion
Potential Member
24Member Services System Use Case Dependency Diagram
depends on
Request Membership rpts
depends on
Send subscription renewal offer
subscription renewal
depends on
Request Promotion Reports
Create new subscription program
depends on
Send new subscription offer
Submit New Subscription
Request Sales Reports
Create New Seasonal Promotion
depends on
depends on
OR
Submit Regular Order
Submit Promotion Order
Send Club Promotion
depends on
Create New Monthly Promotion
25(No Transcript)
26(No Transcript)
27(No Transcript)
28(No Transcript)
29(No Transcript)
30Member Services Context Model