| 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)
|
|