Course Outline
Tentative
Schedule by week
1
Introduction to Software Requirements Analysis
The requirements problem
Requirements management
2
Requirements Analysis and the Software Development
Process
The software lifecycle
The software team
Understanding the problem and its root causes
Identifying the stakeholders
Defining the solution system boundary
Understanding the constraints on the solution
3
Analyzing the Problem
Business Modeling
System Engineering
4
Understanding User and Stakeholder Needs
Eliciting requirements
System features
Interviews
Readings: Chapters 8 - 10
5
Techniques for Requirements Elicitation
Workshops
Brainstorming
Storyboarding
Readings: Chapters 11 - 13
6
Requirements Workshop
Simulation of a Workshop
7
Introduction to Use Cases
Benefits of a use case approach
Building a use case model
Organizing requirements information
Developing a vision document
Readings: Chapters 14 -16
8
Mid Term Exam
Product Management
Readings: Chapter 17
9
Managing Project Scope
Establishing scope
Managing change
Managing the customer
10
Developing a Rigorous Set of Requirements
Functional requirements
Nonfunctional requirements
Design constraints
Refining the use cases
Technical methods
11
Developing a Rigorous Set of Requirements (cont’d)
Supplementary specification
Removing ambiguity
Technical methods
12
Assuring System Validity
Moving from use cases to design,
implementation and testing
13
Assuring System Quality
Tracing requirements
Managing change
Assessing requirements quality
14
Applying Requirements Analysis Methods
Agile methods
Process for requirements management