WA1105 Requirements Management and Use Cases Training and Courseware Course Outline
1. Introduction
  • Topics
  • What is a requirement?
  • Types of requirements
  • Important requirement concepts
  • Requirement levels
  • Requirement Categories
  • What is requirements management?
  • The cost of requirement errors
  • The game plan towards building quality software
  • Development Process
  • The Rational Unified Process
  • Inception Phase
  • Example of Functional Requirements
  • Example of Non-Functional Requirements
  • Elaboration Phase
  • Example of a Use Case Diagram
  • Construction Phase
  • Software Development Life Cycle with the RUP
  • Requirement Gathering Roadmap
  • The roadmap
  • Step 1 – Analyze the problem
  • Step 2 – Understand User Needs
  • Step 3 – Define the system
  • Step 4 – Manage the scope
  • Step 5 – Refine the system definition
  • Step 6 – Manage changing requirements
2. Problem Analysis and Understanding User Needs
  • Topics
  • What we plan to accomplish
  • Problem Analysis Steps
  • Analysis Steps
  • Analysis Steps
  • Stakeholders
  • Definition of Actors
  • Bring out the requirements
  • Interviewing
  • Step A: Interview every stakeholder
  • Step B: Requirements Workshop
  • Requirements Workshop
  • Organizing requirement workshop
  • Brainstorming
  • Brainstorming- Idea reduction
  • Storyboarding
  • Use Cases
  • Prototyping
  • Step C: Identify Constraints
  • Example - Given scenario
  • Example (cont’d)
  • Registration system – Problem statement
  • Registration system – Problem statement(cont’d)
  • List the stakeholders and users in the scenario
  • List the actors
  • Identify the constraints in the scenario
  • Creating a constraint list
3. Vision Document & Managing scope
  • Topics
  • Topics - cont’d
  • Vision document - Objectives
  • Vision document - Scope
  • Vision document - References
  • Vision document - Positioning
  • Vision document - Positioning (cont’d)
  • Vision document - User Description
  • Vision document - Product Overview
  • Vision document - Feature Attributes
  • Vision document - Product Features
  • Vision document - Constraints
  • Vision document - Quality Ranges
  • Vision document - Precedence and Priority
  • Vision document - Other Product Requirements
  • Vision document - Documentation Requirements
  • Example of Vision document
  • Managing Scope
  • Define a baseline
  • Example of itemizing list of features requirements
  • Setting priorities
  • Example - Setting priorities
  • Assessing effort
  • Example - Assessing effort
  • Adding the risk element
  • Example - risk element
  • Get customer agreement on scope
  • Use iterative development process
  • Plan Change Request (PCR)
4. Use Case Concepts
  • Topics
  • Use-Case Modeling
  • Use case modeling steps
  • What are Use Cases?
  • Benefits of Use Cases
  • Use Cases
  • An Example requirement
  • Identifying the actors involved in this requirement
  • Write the use case for the above scenario
  • Use case for the above scenario (contd)
  • Classifying Use Cases
  • A business use case
  • Example of business use case (contn’d)
  • Levels of use cases
  • Examples of Summary level use cases
  • Example of User goal level use cases
  • Examples of Sub function use cases
  • For use case modeling
  • Use cases are only one part
  • The Problem with Requirements Specifications
  • Relationship Between Use Cases and Requirements
  • Who are interested in use cases?
  • An use case is a collection of scenarios
  • To Use Case or not to …
  • General Principles
  • Scenarios
  • Primary Scenarios
  • Example of ATM use case
  • Use Case interactions
  • Finding Actors
  • Finding Actors - continued
  • Documenting Actors
  • Where are the actors documented?
  • Example - Actor profile table
  • The Actor-Profile table for the course registration system:
  • Actor-profile table – contd
5. Use Case Modeling – Use cases and supporting documents
  • Topics
  • Basic building blocks
  • Basic Building Blocks of an Use Case
  • Supporting documents
  • Conceptual model
  • Domain Model
  • Supplementary Specification
  • Goal List
  • More use cases
  • Documenting use cases
  • Use Case Diagrams
  • Scope
  • The scenario we have been working on
  • Identify the requirements that must be addressed by the system:
  • Identify the use cases :
  • Example - use case model
  • Example - use case model
  • Example - use case model for Registration system
  • Lists used to manage scope – In/out list for the above example
  • Lists used to manage scope – Actor/goal list for the above example
  • Example - Use Case Specification
  • Example - Use Case Specification (Contn’d)
6. Writing Use Cases
  • Topics
  • Actor Personalities
  • Goal Levels
  • Preconditions and Triggers
  • Example of Preconditions
  • Guidelines for writing main success scenario
  • Extensions
  • Use case linkages
  • Sub Use Cases
  • Example - Sub use cases with include & extend relations
  • Quality Measures for Use Cases
  • More Quality Measures
  • Who should write use cases?
  • Fully Described Use Cases
  • How much detail?
  • Completeness & Complexity
7. Use Case Formats
  • Topics
  • Formats to choose from
  • Brief Description Format
  • Bulleted Outline Format
  • Conversational Format
  • When to choose a format
  • Tools
  • CASE tools
  • Reviewing Use Cases
  • Style
  • Style Guides
  • “Do's and don'ts" to consider when describing an use case
  • “Do's and don'ts" to consider when describing an use case
8. Miscellaneous Topics
  • Topics
  • Describing UI Wizards
  • Make sure that the system is included
  • Make sure that the user is included
  • Wrong goal levels
  • Make the use case easy to read
  • Collect multiple pieces of data
  • Do not forget the failure scenarios
  • Stay away from internal system details
  • Preconditions should be established by the system
  • Check the following regarding conditions and preconditions
  • CRUD Use Cases
  • Contain the explosion
  • Example - CRUD Use Case Specification
  • Example - CRUD Use Case Specification (cont’d)
9. Supplementary Specifications
  • Topics
  • What is supplementary specifications
  • Example of supplementary specifications
  • Example of supplementary specifications (cont’d)
  • Brief outline
  • Functionality
  • List Functional requirements:
  • Non-functional requirements
  • List of non-functional requirements
  • Usability
  • Usability
  • Reliability
  • List Reliability requirements:
  • Performance
  • Performance
  • Supportability
  • Design Constraints
  • Practical Example of supplementary specifications
  • Purpose
  • Scope
  • References
  • Functionality - Course Registration System
  • Usability - Course Registration System
  • Reliability - Course Registration System
  • Performance - Course Registration System
  • Performance (cont’d)
  • Supportability - Course Registration System
  • Supportability (cont’d)
  • Design Constraints
  • Design Constraint - Course Registration System
  • Design Constraint (cont’d)