Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 2 Objectives: Define the System Explain the purpose of a Vision document List the components of a Vision document Write a draft of the Vision Write a product position statement Identify stakeholders and users Identify stakeholder/user needs Document product features Identify constraints Develop and describe a use-case model Write a step-by-step outline
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 3 Where Are We in the Requirements Discipline?
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 4 Define the System: Activities and Artifacts
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 5 Organizing Project Artifacts Develop or adopt standard templates Record your standards in QA Plan Benefits of standardization: Leverages the work of others Quicker start, avoid reinventing the wheel Make sure things don’t fall through the cracks Everyone knows where to look for information Documents appear familiar and not intimidating Documents are easier to read
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 6 Specifications: Focus on Vision + Features Software Requirements Stakeholder Needs Vision Document User Documentation Specifications Design Specifications Stakeholder Requests Stakeholder Requests Supplementary Specification Use-Case Model
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 7 System-level document that describes the “Whats” and “Whys” of the product or application Focus User needs Goals and objectives Target markets User environments and platforms Product features Vision Document Vision Document
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 8 Roles of the Vision Document Communicate between management, marketing, and the project team Provide for initial customer feedback Foster general understanding of the product Establish scope and priority of high-level features Record future features and ideas A document that gets “all parties working from the same book.”
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 9 Vision Document Components 1.Introduction 2.Positioning 3.Stakeholder and User Descriptions 4.Product Overview 5.Product Features 6.Constraints 7.Quality Ranges 8.Precedence and Priority 9.Other Product Requirements 10.Documentation Requirements 11.Appendix 1 - Feature Attributes TP4: Vision Document Template - agree on the problem, capture vocabulary - problem statement identify stakeholders/ actors - brainstorm features - define boundaries - identify constraints - develop RM plan
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 10 Product Position Statement Communicates intent and importance Moore ‘91 Hint: Use Problem (analysis) Statement as a starting point! For (target customer) Who (statement of the need or opportunity) The (product name) Is a (product category) That (statement of key benefits - that is - compelling reason to buy) Unlike (primary competitive alternative) Our product (statement of primary differentiation)
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 11 Product Features An externally observable service by which the system directly fulfills a stakeholder need Examples: The Defect Tracking System will provide trending information to help the project manager assess project status. The ATM must allow a customer to transfer funds between accounts. The graphical user interface will provide context-sensitive help.
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 12 Exercise 6.1: Create a Vision Document Develop a vision for the class project Write a product position statement List identified stakeholders List identified users Summarize key stakeholder/user needs List the features for the class project List project constraints
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 13 Specifications: Focus on Use-Case Model User Documentation Specifications Design Specifications Stakeholder Requests Supplementary Specification Use-Case Model + Features Software Requirements Stakeholder Needs Stakeholder Requests Vision Document
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 14 Use-Case-Model Survey: Template Use-Case-Model Survey Gives a complete functional overview of the model Shows a system’s intended functions and environment May serve as a contract between the customer and the developers Is input to activities in analysis, design, and test Use-Case-Model Survey 1. Introduction Purpose of the system 2. Survey Description Overview of the use-case model 3. Use-Case-Model Hierarchy Actors Name and brief description of each actor and its relationships Use Cases Name and brief description of each use case and its relationships 4. Use-Case Diagrams A list of all actors A list of all use cases
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 15 RU e-st Quote System Trading Customer Another Actor Use Case 3 Get Quote Another Use Case Another Actor Use Cases Show User Needs
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 16 Exercise 6.2: Describe the Use-Case Model Review actors (Ex. 4.1) Identify use cases Identify communicates-associations Create a use-case diagram
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 17 Sample Use Case Diagram: RU e-st System News System Trading Customer Market Trading System RU e-st Support Review Account Execute Trade Apply for Trading Account Distribute News Manage Portfolio Get Quote Quote System Clock RUCS4: Use-Case Model Survey
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 18 The Top 10 Use-Case Pitfalls 1.The system boundary is undefined or inconstant. 2.The use cases are written from the system's (not the actors') point of view. 3.The actor names are inconsistent. 4.There are too many use cases. 5.The actor-to-use case relationships resemble a spider's web. 6.The use-case specifications are too long. 7.The use-case specifications are confusing. 8.The use case doesn't correctly describe functional entitlement. 9.The customer doesn't understand the use cases. 10.The use cases are never finished.... From Lilly, S., Use Case Pitfalls: Top 10 Problems from Real Projects Using Use Cases, Proceedings of TOOLS USA '99, IEEE Computer Society, 1999.
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 19 Packages: Grouping the Use-Case Model The Use-Case Model Use-Case Packages Top-Level Package Use Cases Actors Use-Case Packages
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 20 Avoid Functional Decomposition Symptoms Very small use cases Too many use cases Uses cases with no result of value Names with low-level operations “Operation” + “object” “Function” + “data” Example: “Insert Card” Difficulty understanding the overall model Corrective Actions Search for larger context “Why are you inserting card?” Put yourself in user’s role “What does the user want to achieve?” “Whose goal does this use case satisfy?” “What value does this use case add?” “What is the story behind this use case?”
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 21 Brief description Basic Flow 1. First step 2. Second step 3. Third step A1 Alternative flow 1 A2 Alternative flow 2 A3 Alternative flow 3 Use case name Use-Case Outline
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 22 Step-by-Step Outline: Get Quote Basic Flow 1.Customer logs on 2.Customer selects ‘Get Quote’ function 3.Customer selects stock trading symbol 4.Get desired quote from Quote System 5.Display quote 6.Customer gets other quotes 7.Customer logs off Alternative Flows A1. Unidentified Trading Customer A2. Quote System Unavailable A3. Quit What other alternatives can you think of?
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 23 Brief description Basic Flow 1. First step 2. Second step 3. Third step A1 Alternative flow 1 A2 Alternative flow 2 A3 Alternative flow 3 Use case name Exercise 6.3: Write a Step-by-Step Outline Create a brief description of the use case Create step-by-step outline of flow of events
Requirements Management with Use Cases Copyright © Rational Software, all rights reserved 24 Review: Define the System 1.What is the purpose of a Vision document? 2.What are the components of a Vision document? 3.What is in the product position statement? 4.What is a product feature? 5.Which properties of actors and use cases are specified in the Use-Case-Model Survey? 6.What are some symptoms of functional decomposition? 7.What is included in a step-by-step outline?