specifying requirements
play

Specifying Requirements with Use Case Diagrams OUTLINE - PowerPoint PPT Presentation

Specifying Requirements with Use Case Diagrams OUTLINE Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases SOURCE OF REQUIREMENTS Initial requirements come from the customer, by: Documents, Meetings,


  1. Specifying Requirements with Use Case Diagrams

  2. OUTLINE Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

  3. SOURCE OF REQUIREMENTS Initial requirements come from the customer, by: • Documents, Meetings, reports Advanced requirements come from the analysts, after studying: • Scope and price • Feasibility (technological, organizational etc) • Prototypes Final requirements are stabilized in an iterative process. Introduction | Diagrams | Writing | Guidelines

  4. REQUIREMENTS VS. DESIGN Requirements: • What the system should do • More abstract Design: • How the system should do it • More detailed Introduction | Diagrams | Writing | Guidelines

  5. TYPES OF REQUIREMENTS Visible Functional Requirements • “The system will deliver cash to the customer” • “Cash will be delivered after card was Functional taken out” Visible Requirements Qualitative Requirements Hidden • “The authorization process will take no Functional more than 1 sec” Requirements Qualitative Hidden Requirements Requirements • “Database maintenance processes will occur every night” Introduction | Diagrams | Writing | Guidelines

  6. USE CASES Register User admin Use case in diagram Use Case in script 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 Introduction | Diagrams | Writing | Guidelines

  7. USE CASE DIAGRAM OBJECTIVE 1. Create a semi-formal model of the functional requirements 2. Analyze and define: • Scope • External interfaces • Scenarios and reactions Introduction | Diagrams | Writing | Guidelines

  8. WHAT MAKES GOOD USE-CASE SPECIFICATION? Lack of ambiguity • Each requirement must be interpreted in a single manner. Completeness • The collection of all use cases is everything that can be done to/with the system. Consistency • Requirements should not conflict with each other. If there are, tradeoffs must be detected and discussed. Avoid design • Requirements should raise a need, not answer it. Introduction | Diagrams | Writing | Guidelines

  9. USE CASES AS MEANS OF COMMUNICATION Customers Designers Users The use case should stimulate a discussion about what the system should do, mainly with people who are outside of the development team. Introduction | Diagrams | Writing | Guidelines

  10. OUTLINE Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

  11. A SIMPLE EXAMPLE Handle Message Cellular Phone Handle Call External Phone Company Bill Management Customer Actors System Association Use Case boundary Example Introduction | Diagrams | Writing | Guidelines

  12. FINDING ACTORS External objects that produce/consume data: • Must serve as sources and destinations for data • Must be external to the system Humans External systems Machines Sensors Organizational Units Introduction | Diagrams | Writing | Guidelines

  13. ACTORS CAN BE GENERALIZED The child actor inherits all use-cases associations Perform Sale Register Client Sales Person Should be used if ( and only if ), the specific actor has more responsibility than the Perform Business Sale generalized one (i.e., associated with more use- Institutional cases) Sales Person Cancel Sale Sales Manager Example Introduction | Diagrams | Writing | Guidelines

  14. LINKING USE-CASES Linking enables flexibility in requirements specification • Isolating functionality • Enabling functionality sharing • Breaking functionality into manageable chunks Three mechanism are used: • Include • Extend • Inheritance Introduction | Diagrams | Writing | Guidelines

  15. USE-CASE LEVELS Base Use Case: Used directly by the user Perform Sale User goals Sub-functionality Fill-in Choose Products billing info Alistair Cockburn “Writing Effective Use Cases” Introduction | Diagrams | Writing | Guidelines

  16. 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. Fill-in billing <<include>> Perform Sale info Example Introduction | Diagrams | Writing | Guidelines

  17. 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 <<extend>> Product is a gift Perform Sale Gift wrap After checkout Products Example Introduction | Diagrams | Writing | Guidelines

  18. EXAMPLE: AMAZON Shopping Cart Product Page Review Writing Introduction | Diagrams | Writing | Guidelines

  19. EXAMPLE – CONT’D Rank «extend» View Supplier Search «include» Product Product Details Write After page Revie generation «extend» «include» w Navigate Deals «extend» Add to cart Customer «include» Checkout «extend» user is not a member Login Register Handle Order Status «include» Introduction | Diagrams | Writing | Guidelines

  20. GENERALIZATION BETWEEN USE-CASES The child use case inherits the behavior parent use case: • The interaction (described in the textual description) • Use case links (associations, include, extend, generalization) Child use-case can substitute parent Use case Overriding occurs through the textual description 1. Transfer call to available representative 2. Mark representative as busy 3. Start record call 4. Stop record call 5. Log call details Handle Call 6. Mark representative as free Handle Technical Handle Sale Call Assistance Call Customer Tech Assistant Representative Representative Example Introduction | Diagrams | Writing | Guidelines

  21. GENERALIZATION HAZARDS Combining generalizations of actors and use-cases can be dangerous Submit and Get Grade Submit Exam Undergrad Student Undergrad Student Submit Exam Submit Thesis Submit Thesis Graduate Student Graduate Student Bad : Undergrad can submit Good : Only graduate thesis student can submit thesis Introduction | Diagrams | Writing | Guidelines

  22. EXAMPLE: EASTERN STATE UNIVERSITY (ESU) REGISTRATION SYSTEM. 1. Professors indicate which courses they will teach on- line. 2. A course catalog can be printed 3. Allow students to select on-line four courses for upcoming semester. 4. No course may have more than 10 students or less than 3 students. 5. When the registration is completed, the system sends information to the billing system. 6. Professors can obtain course rosters on-line. 7. Students can add or drop classes on-line. Introduction | Diagrams | Writing | Guidelines

  23. EXAMPLE: EASTERN STATE UNIVERSITY (ESU) REGISTRATION SYSTEM. Introduction | Diagrams | Writing | Guidelines

  24. OUTLINE Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

  25. OUTLINE Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases

  26. HOW TO MODEL? Bottom-up Process Top-down Process Starting with throwing all Starting with an overview of scenarios on the page, and the system, and then splitting then combining them: Use-cases Bullets File save format action Paragraph s format print Save Font Formattin load as Viewing forma g actions Actions t preview

  27. HOW TO MODEL – CONT’D Most of the analysis process are actually Combined

  28. COMBINING PROCESSES Number Limit: • The diagram should have between 3 to 10 base use-case. No more than 15 use cases (base + included + extending). Abstraction: • All use-cases should be in similar abstraction levels. Size: • Use cases should be described in half a page or more. Interaction: • Use-cases which are carried out as part of the same interaction. UC UC UC Introduction | Diagrams | Writing | Guidelines

  29. DIVIDING PROCESSES Size: • If a use-cases takes more than a page, consider include/extend Weak dependency: • If the dependency between two parts of a use-case is weak, they should be divided. UC Introduction | Diagrams | Writing | Guidelines

  30. MORE GUIDELINES Factor out common usages that are required by multiple use cases • If the usage is required use <<include>> • If the base use case is complete and the usage may be optional, consider use <<extend>> A use case diagram should: • contain only use cases at the same level of abstraction • include only actors who are required Introduction | Diagrams | Writing | Guidelines

  31. WHEN ARE WE DONE? When every actor is specified. When every functional requirement has a use-case which satisfies it. A tractability matrix can help us determine it:     Use Cases     Requirements Introduction | Diagrams | Writing | Guidelines

  32. SUMMARY  Introduction to the Unified Modeling Language (UML) To Use Case Diagram  Use Case Diagrams Dual presentation of use-cases Include, Extend, Inheritance  Writing Use Cases Preconditions & Post-conditions Main scenario vs. Alternative Flow  Guidelines for Effective Use Cases

Recommend


More recommend