Presentation is loading. Please wait.

Presentation is loading. Please wait.

Use-Cases. Outline Introduction Use Case Diagrams Writing Use Cases.

Similar presentations

Presentation on theme: "Use-Cases. Outline Introduction Use Case Diagrams Writing Use Cases."— Presentation transcript:

1 Use-Cases

2 Outline Introduction Use Case Diagrams Writing Use Cases

3 Illustration Use Cases A use case is a contract of an interaction between the system and an actor. A full use-case model comprise of: –A diagram, describing relations between use-cases and actors. –A document describing the use case in details Register User Use case in diagram Use Case in script admin

4 Use Case Diagram Objective 1.Create a semi-formal model of the functional requirements 2.Analyze and define: –Scope –External interfaces –Scenarios and reactions

5 Outline Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

6 Whats in a Use Case Model? Use Case Diagram Actor Use Case Actor Someone or something outside the system acting in a role that interacts with the system. Could be a human or another system. Use Case Defines a sequence of actions performed by a system that yields an observable result of value to the actor

7 Example A Simple Example Actors Use Case System boundary Association

8 Project Accounting Consultant System Project Manager Submit Timesheet Complete Timesheets Use Case Model: Identify Use Case Name The name should be: Brief Unique Written as an active verb Meaningful You should be able to tell what the actor wants to achieve in the use case from its name. Each Actor and Use Case needs a brief description. Actor Briefly state its role, goals and responsibilities in relation to the system. Use Case Briefly summarise what takes place in the use case, giving an indication of its scope. Example actor: Name: Consultant Brief Description: The consultant updates their daily timesheet and expense information and gets status reports. Example use case: Name: Submit Timesheet Brief Description: The consultant enters details of the number of hours worked and the activities worked on, then confirms and submits the timesheet.

9 Linking Use-Cases Three mechanism are used: –Include –Extend –Inheritance

10 Use-Case Levels User goals Perform Sale Choose Products Fill-in billing info Sub-functionality Base Use Case: Used directly by the user Alistair Cockburn Writing Effective Use Cases

11 The Include Construct Include is used when: –Decomposing complicated behavior –Centralizing common behavior The base use case explicitly incorporates the behavior of another use case at a location specified in the base. Perform Sale Fill-in billing info > Example

12 Extend – Graphical Representation The base use case can incorporate another use case at certain points, called extension points. Note the direction of the arrow –The base use-case does not know which use-case extends it Perform Sale After checkout Gift wrap Products > Product is a gift Example

13 Example: Amazon Product Page Review Writing Shopping Cart

14 Example – contd Search Product Navigate Deals Checkou t Handle Order Status Login Register View Product Details Write Revie w Rank Supplier «include» «extend» user is not a member «extend» After page generation Add to cart «extend»

15 Outline Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

16 Structure of a Use Case Specification Name Actors Preconditions Post conditions Success Scenario Alternatives flows Trigger

17 Triggers What starts the use-case? Examples: –Customer reports a claim –Customer inserts card –System clock is 10:00pm

18 Preconditions What the system needs to be true before running the use-case. Examples –User account exists –User has enough money in her account –There is enough disk space

19 Post-Conditions A post-condition is the outcome of the use- case. Examples –Money was transferred to the user account –User is logged in –The file is saved to the hard-disk

20 Success Scenario The success scenario is the main story-line of the use- case It is written under the assumption that everything is okay, no errors or problems occur, and it leads directly to the desired outcome of the use-case It is composed of a sequence of action steps Example: 1.Administrator enters course name, code and description 2.System validates course code 3.System adds the course to the db and shows a confirmation message Interaction step Validation Step Internal Change Step (plus) Interaction Step

21 Use-Cases – Common Mistakes Complex diagram No system No actor Too many user interface details –User types ID and password, clicks OK or hits Enter Very low goal details –User provides name –User provides address –User provides telephone number –…

22 Alternative Flows Success Scenario Shortcuts Exceptions Endpoints Used to describe exceptional functionality Examples: –Errors –Unusual or rare cases –Failures –Starting points –Endpoints –Shortcuts Starting points

23 Alternative Flows - Example Errors: –Case did not eject properly –Any network error occurred during steps 4-7 –Any type of error occurred Unusual or rare cases –Credit card is defined as stolen –User selects to add a new word to the dictionary Endpoints –The system detects no more open issues Shortcuts: –The user can leave the use-case by clicking on the esc key

24 Exercise I am the manager of a theatre. I want to create an automated movie ticket machine.automated movie ticket machine You are analysts who need to describe what the customer wants as a set of use cases Simplifying assumptions: –One movie showing at a time –Movie time is same every day, only one time, same price –Only manager can change/add movie –Customer can only buy tickets Who or what are the actors? What are the use cases (goals of actors)?

25 Use case diagram for Movie Ticket Machine Why are there three Actors? Why three use cases for Customer? Which use cases look easy to write?

26 Use cases for Manager Use case: Set title Actors: Manager, Machine 1. Manager requests a change of movie title 2. Machine asks manager for new movie title 3. Manager enters movie title Use case: Set price Actors: Manager, Machine 1. Manager requests a change of ticket price 2. Machine asks manager for new price for movie title 3. Manager enters ticket price Alternatives: Invalid price If manager enters price below $1 or greater than $10 3a. Machine asks manager to reenter price Use case: Set seats Actors: Manager, Machine 1. Manager requests a change in number of seats 2. Machine asks manager for number of seats in theatre 3. Manager enters number of seats Alternatives: Invalid number of seats If manager enters number less than 20 or greater than 999 3a. Machine asks manager to reenter number of seats

27 Use cases for Customer Use case: # of tickets Actors: Customer, Machine 1. Customer enters number of tickets 2. Machine displays total balance due Alternative: Customer wants zero tickets At step 1, customer enters zero tickets 1a. Display thank you message 1b. Set balance to $0.0 Use case: Return change to customer Actors: Customer, Machine 1. Customer requests change 2. Machine dispenses money 3. Machine updates customer balance Use case: Buy tickets Actors: Customer, Machine 1. Customer requests tickets 2. Machine tells customer to put balance due in money slot 3. Customer enters money in money slot 4. Machine updates customer balance 5. Customer requests tickets 6. Machine prints tickets 7. Machine updates number of seats Alternative: Insufficient seats At step 1, if number of tickets requested is less than available seats, 1a. Display message and end use case Alternative: Insufficient funds At step 5, if money entered < total cost, 5a. Display insufficient amount entered 5b. Go to step 3

28 In Summary Disciplined documentation of use case flows makes testing easier Use case flows combine as use case scenarios Use Case scenarios become test scenarios Test scenarios + data = test cases

Download ppt "Use-Cases. Outline Introduction Use Case Diagrams Writing Use Cases."

Similar presentations

Ads by Google