Sie sind auf Seite 1von 33

USE 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.

Use cases help ..


Capture the system's functional requirements from the users' perspective Actively involve users in the requirementsgathering process Provide the basis for identifying major classes and their relationships Serve as the foundation for developing system test cases

USE 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 in not difficult; ensuring that you


have them all is murder.

Use Case Diagrams

Customer

Loses a Tape

Actor Line: actor communicates with or is associated with use-case

Use Case relationships:


<<uses>>: one use case always involves the steps of another <<extends>>: under certain conditions, a use case follows a variant

Loses a Tape Customer <<uses>>

<<extends>>

VIP Loses a Tape Customer

Buy a Tape

Goals 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

Use case scenarios


a realization of a use case. Instance of an 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

Use case scenario - example


Example of scenario 1. The social worker asks Edward Trueman if he has applied previously for and/or received benefits. And Mr. Trueman replies that he has applied previously. 2. The social worker provides Mr. Truemans name as search criterion 3. 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.

Student

<<Extends>> Class <<Extends>> registration

Registration Clerk

Registration for special class


Prereq courses not completed

Bursars office

Student Billing

Instructor

Use-Case Diagram
Extends: extension to or variation of a use-case that exists in its own right

Customer

Order Food Service Person

Applicant

Hire Employee

<<uses>>
Supplier

Reorder supplies

Manager

<<uses>>
Track sales and inv. data Produce mgt. reports

Uses: factors common behavior amongst multiple use-cases into a generalized use-case.

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 3:Use 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)

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)

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

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#, film 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

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, without much details initially.

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)

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

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#, film 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

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, without much details initially.

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 know new movies in the store.

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

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

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.

Scenarios: a use case scenario shows the flow of events in a particular instance of a use case.
focussed 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?

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

Orders SubSystem Submit Regular Order Member Services Department Past Member Club Member Submit Promotion Order Request Membership rpts Submit subscription renewal Create new subscription program Marketing Department Submit New Send subscription Send new Subscription renewal offer subscription offer Membership System Create New Seasonal Promotion Create New Monthly Promotion Request Promotion Reports Request Sales Reports

Potential Member

Member Services System

Send Club Promotion

Promotions SubSystem

Member Services System Use Case Dependency Diagram


depends on

depends on

Send subscription renewal offer

subscription renewal

Request Membership rpts

Create new subscription program

depends on depends on Send new subscription offer Submit New Subscription

Request Promotion Reports

Request Sales Reports

Create New Seasonal Promotion

depends on depends on OR

Send Club Promotion depends on


Create New Monthly Promotion

Submit Promotion Order

Submit Regular Order

ACTORS Club Member Initiates

USE CASE Submit Promotion Order Submit Regular Order

Potential Member

Initiates

Submit New Subscription

Past Member

Initiates

Submit Subscription Renewal

Membership Services Dept.

Initiates

Request Membership Reports

Marketing Department

Initiates

Create New Monthly Promotion Create New Seasonal Promotion Create New Subscription Program Request Promotion Reports Request Sales Reports

Membership Services System

Initiates

Send New Subscription Offer Send Club Promotion Send Subscription Renewal

USE CASE NAME ACTOR DESCRIPTION

Normal Course

PRECONDITION POST CONDITION ASSUMPTIONS

Submit Promotion Order Club Member Describes the process when a club member submits a club promotion order to either indicate the products they are interested in ordering or declining to order during this promotion 1. This use is initiated when the club member submits the promotion order to be proceeded 2. The club member's personal information such as address is validated against what is currently recorded in member services 3. The promotion order is verified to see if product is being ordered 4. The club member's credit status is checked with Accounts Receivable to make sure no payments are outstanding 5. For each product being ordered, validate the product number 6. For each product being ordered, check the availability in inventory and record the ordered information which includes "quantity being ordered" and give each ordered product a status of "open" 7. Create a Picking Ticket for the promotion order containing all ordered products which have a status "open" 8. Route the picking ticket to the warehouse Use case send club promotion has been processed Promotion order has been recorded and the picking ticket has been routed to the warehouse

USE CASE NAME ACTOR DESCRIPTION NORMAL COURSE

Submit Promotion Order Club Member Describes the process when a club member submits a club promotion order to either indicate the products they are interested in ordering or declining to order during this promotion 1. This use is initiated when the club member submits the promotion order to be proceeded 2. The club member's personal information such as address is validated against what is currently recorded in member services 3. The promotion order is verified to see if product is being ordered 4. The club member's credit status is checked with Accounts Receivable to make sure no payments are outstanding 5. For each product being ordered, validate the product number 6. For each product being ordered, check the availability in inventory and record the ordered information which includes "quantity being ordered" and give each ordered product a status of "open" 7. Create a Picking Ticket for the promotion order containing all ordered products which have a status "open" 8. Route the picking ticket to the warehouse 2. If the club member has indicated an address or telephone number change on the promotion order, update the club member's record with the new information 3. If the club member is not ordering product at this time, modify the promotion order's status to be "closed" and modify the selection of the month ordered product's record to have a status of "rejected", then cancel the transaction 4. If Account Receivable returns a credit status that the customer is in arrears, invoke abstract use case Send Order Rejection Notice Modify the promotion's order's status to be "on hold pending payment" 5. a) If the product number is not valid, create an Order Error Report containing the club member's information, the promotion order information, and the product number in error. Each completed report will be routed to a Member Services clerk for resolution. b) If the club member is not ordering the selection of the month, modify the ordered product's record to have a status of "rejected" 6. If the product being ordered is not available, record the ordered product information which includes "quantity being ordered" and give a status of "backordered" 7. If there are no ordered product records with a status "open", cancel the transaction Use case send club promotion has been processed Promotion order has been recorded and the picking ticket has been routed to the warehouse

ALTERNATE COURSE

PRECONDITION POST CONDITION ASSUMPTIONS

POTENTIAL OBJECT LIST Club Member Potential Member Past Member Member Services Department Marketing Department Member Services System Member Address Promotion Order Product Product Inventory Order Quantity Ordered Product Credit Status Payments Ordered Product Status Picking Ticket Warehouse Member Telephone Number Selection of Month Transaction Accounts Receivable Promotion Order Status Order Error Report Member Services Clerk

POTENTIAL OBJECT LIST Club Member Potential Member Past Member Member Services Department Marketing Department Member Services System Member Address Promotion Order Product Product Inventory Order Quantity Ordered Product Credit Status Payments Ordered Product Status Picking Ticket Warehouse Member Telephone Number Selection of Month Transaction Accounts Receivable Promotion Order Status Order Error Report Member Services Clerk

X X X X X X X X X X X X X X X X X

REASON Type of "MEMBER" Type of "MEMBER" Type of "MEMBER" Not relevant for current project Not relevant for current project Not relevant for current project Attribute of "MEMBER" Result of an event named "PROMOTION" Type of "MEMBER ORDER" "PRODUCT" Attribute of "PRODUCT" Attribute of " MEMBER ORDER" "PRODUCT ON ORDER" Attribute of "MEMBER" Out of Scope Attribute of "PRODUCT ON ORDER" Potential interface item Not relevant for current project Attribute of "MEMBER" Type of "TITLE" Not relevant for current project Not relevant for current project Attribute of "MEMBER ORDER" Potential interface item Not relevant for current project

Club Member

Member Services Context Model


Club promotion Subscription Offer

Promotion order
Past Member regular order

New Subscription

Potential Member

Subscription renewal offer Subscription renewal

Member credit status

Order to be filled Membership Reports

A/C Receivable DB

Warehouse

Member Services Dept.

Marketing Dept.

Das könnte Ihnen auch gefallen