1 / 27

Use-Cases

Use-Cases. Outline. Introduction Use Case Diagrams Writing Use Cases. Register User. Use Cases. Illustration. 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.

Jims
Télécharger la présentation

Use-Cases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Use-Cases

  2. Outline • Introduction • Use Case Diagrams • Writing Use Cases

  3. Register User Use Cases Illustration • 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 admin Use Case in script Use case in diagram

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

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

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

  7. A Simple Example Example Actors Association Use Case System boundary

  8. Submit Timesheet Consultant System Complete Timesheets Project Manager Use Case Model: Identify 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. 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. • 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. Project Accounting

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

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

  11. Perform Sale Fill-in billing info 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. Example <<include>>

  12. Gift wrap Products 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 Example <<extend>> Product is a gift Perform Sale After checkout

  13. Example: Amazon Shopping Cart Product Page Review Writing

  14. Example – cont’d Rank Supplier «extend» Search Product View Product Details «include» Write Review After page generation «extend» Navigate Deals «include» Add to cart «extend» Checkout «include» «extend» user is not a member Login Register Handle Order Status «include»

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

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

  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: Interaction step • Administrator enters course name, code and description • System validates course code • System adds the course to the db and shows a confirmation message 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 Starting points Success Scenario • Used to describe exceptional functionality • Examples: • Errors • Unusual or rare cases • Failures • Starting points • Endpoints • Shortcuts Shortcuts Exceptions Endpoints

  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. • 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 diagramfor 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: 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 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

More Related