IBM Software Group Mastering Requirements Management with Use Cases Module 6: Define the System 1
Objectives Define a product feature. Refine the Vision document. Write product position statement. Identify and document system features. Develop a system use-case model. Complete a use-case outline. Basic flow, alternative flows, scenarios Organize a use-case model. Packages. Describe how business modeling artifacts are an input to define the system. 2
Where Are We in the Requirements Discipline? 3
Define the System: Activities and Artifacts 4
Definition Review: Feature Is an externally observable service ( advertised benefit ) by which the system directly fulfills one or more stakeholder needs. Examples: The Defect Tracking System will provide trending information to help the project manager assess project status. The ATM will allow a customer to transfer funds between accounts. 5
Review: Qualities of a Software Requirement Correct Complete Consistent Unambiguous Ranked for importance and stability Verifiable Modifiable Traceable Understandable ref - IEEE 833 6
A Product Position Statement Communicates intent and importance. For Who The (product name) That Unlike Our product (target customer) (statement of the need or opportunity) Is a (product category) (statement of key benefits, that is, compelling reason to buy) (primary competitive alternative) (statement of primary differentiation) Hint: Use Problem (analysis) Statement as a starting point. Moore 91 7
Capture the Software Requirements Stakeholder Requests Key Stakeholder Requests and Features Stakeholder Requests Vision Document Software Requirements Use-Case Model Supplementary Specification Design Specifications User Documentation Specifications 8
Review: The Use-Case Model The System Use-Case-Model Survey - Survey description - List of all actors - List of all use cases Actor 1 Use Case 1 Use Case 2 Actor 2 Use Case 3 Actor 3 Use-Case 1 Spec - Brief description - Flows of events Use Case 2 Spec - Brief description - Flows of events Use-Case 3 Spec - Brief description - Flows of events 9
Steps to Create a Use-Case Model 1. Identify actors and use cases. Brief Description. 2. Outline each use case. Basic Flow of Events. Alternative Flows of Events. 3. Detail each use case. Detail the flows of events. Structure each use case flow of events. Add detail. Pre- and postconditions, special requirements, relationships, use-case diagrams, and so on. 10
Sample Use-Case Diagram: RU e-st System Apply for Trading Account Manage Portfolio Financial Network Get Quote Quote System Trading Customer Broker Execute Trade Distribute News Review Account Scheduler Market Trading System News System RUCS4: Use-Case Model Survey 11
Steps to Create a Use-Case Model 1. Identify actors and use cases. Brief Description. 2. Outline each use case. Basic Flow of Events. Alternative Flows of Events. 3. Detail each use case. Detail the flows of events. Structure each use case flows of events. Add detail. Pre- and postconditions, special requirements, relationships, use-case diagrams, and so on. 12
Outline Each Use Case Number or bullet the steps Use case name 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 Structure the flow into steps 13
Why Outline Use Cases? DRAFT Use Case Size Too Small? Too Big? Is it more than one use case??? Use Case? Outlining helps find alternative flows 14
Flows of Events (Basic and Alternative) One Basic Flow Happy day scenario Successful scenario from start to finish Many Alternative Flows Regular variants Odd cases Exceptional (error) flows Flow: A sequential set of steps. 15
Representing Basic and Alternative Flows A5 A4 A2 Step1 Step2 A1 Step3 Step4 A3 <Use-Case Name> 1. Brief Description 2. Flow of Events 2.1 Basic Flow Step 1 Step 2 Step 3 Step 4 2.2 Alternative Flows 2.2.1 A1 2.2.2 A2 2.2.3 A3 2.2.4 A4 2.2.5 A5 16
What Is a Scenario? Flow Scenario Flow: A sequential set of steps. Use Case: The container that describes all the flows. Scenario: An ordered set of flows from the start of a use case to one of its end points. 17
Capturing Use-Case Scenarios Capture scenarios in the use-case specification in their own section. Give each scenario a name. List the name of each flow in the scenario. Place the flows in sequence. Get Quote Use-Case Scenario Example Scenario Host Link Down. Flows: Basic Flow, Quote System Unavailable. 18
Outline the Flows of Events Basic Flow What event starts the use case? How does the use case end? How does the use case repeat some behavior? Alternative Flows Are there optional situations in the use case? What odd cases might happen? What variants might happen? What may go wrong? What may not happen? What kind of resources can be blocked? 19
Step-by-Step Outline: Get Quote Basic Flow 1. Customer logs on. 2. Customer chooses to get a quote. 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 are other alternatives? 20
Packages: Organize the Use-Case Model Top-Level Package Use-Case Packages Actors Use Cases Use-Case Packages 21
Business Models Are Input to System Requirements Business Use-Case Model Business Object Model Business Modeling Traceability Use-Case Model Design Model Implementation Model System Development Design Model Responsibilities of actors supported by the system. Business processes to automate in the system. Types of information to manage. 22
A Business Object Model Shows structural elements visualized through diagrams. Business entities Responsibilities Business workers Relationships Static views Dynamic views Behavioral views Class diagram Collaboration diagram Sequence diagram Activity diagram Statechart diagram 23
Guidelines to Map Business to System Use-Case Models Business Actor Application System or Subsystem Business Use Cases System Actor Use Cases Business System Subsystem Business Workers 24
Example: Business to System Use Case Flow Down Business Use- Case Model Business Object Model Use-Case Model Step 1 Use-Case Model Step 2 Analysis Model 25
Checkpoints for Use Cases Is each use case independent of the others? Do any use cases have very similar behaviors or flows of events? Has part of the flow of events already been modeled as another use case? Create use-case packages when the model is large or the responsibilities for parts of the model are distributed. Packaging is intuitive and makes the model easier to understand. 26
Review: Define the System 1. What is in the product position statement? 2. What are some of the questions you ask when identifying use cases? 3. Why do you document scenarios? 4. What is the difference between a use case, a flow, and a scenario? 5. What is included in a step-by-step outline? 6. How can you organize your use-case model artifacts? 7. How does a Business Model help define the system? 27
28