What are Requirements? The problem domain vs. the solution domain. Difference between Requirements and Specifications.
What is Requirements Elicitation? Why is it important? How do you elicit Requirements?
Documenting Requirements. Users Requirements Documents (in the problem domain) vs. System Specification Documents (in the solution domain).
Requirements Traceability. How do you check that the final product satisfies the User Requirements? Acceptance tests and requirements traceability.
Triage in Requirements Engineering. How to deal with changing requirements and “requirements creep”.
The difference between doing Requirements for Safety Critical Systems such as nuclear reactors or medical equipment and other systems. The use of mathematical models for for writing requirements and specifications of safety critical systems. The use of mathematical models to analyze specifications.
Weekly summary
Topics covered each week as well as required readings from the textbook (“Writing Better Requirements”).
Week 1: Thursday September 4.
Read chapter 1 in the required textbook (with exercises).
Additional slides (in pdf format) are available that augment the material in the textbook. Slides series B (Just enough Requirements). What are Requirements? Why are they needed?
Slides series C (“The Machine and the World”). Context: Problem Frames by Michael Jackson (on reserve in Steacie).The difference between user Requirements (REQ) and the Specification (SPEC) of the software to be developed. The importance of describing the World (ENV) in requirements engineering. How to validate: ENV and SPEC =⇒ REQ. UML statecharts, Temporal Logic, Spin Promela) techniques for validation.
Week 3, September 15:
Textbook chapter 3 (with exercises) - Gathering Requirements from Stakeholders.
Demo in class of xspin and jspin. Do Exercise and Spin Tutorial in preparation for Quiz 1 next week.
Week 4, September 22:
Textbook chapter 4 (with exercises) - Other sources of Requirements.
Quiz 1
Requirements Elicitation and Discussion of Project Phase 1.
Requirements Traceability tables (see text section 6.5)
Exercise 2 in preparation for Quiz 2 released.
Material for Labtest released
Week 8, October 20:
Textbook chapter 8 (with exercises) - Checking and Reviewing.
Start slides from textbook author Ian Alexander (which reviews materials in the current textbook, but also adds materials in his new text to appear 2009)
Week 9, October 27: Textbook Appendix - Example user requirements.
Week 10. Parnas Tables for documenting requirements of safety critical systems. See I slides.
CUPE strike starts early November.
Classes resume on Tuesday, February 3, 2009.
Week of Feb 3: Requirements using Event-B and Spin modelling.
Week of Feb 9. Requirements for the bridge controller in Event-B and Spin.
Week of Feb 16th. Discussion of User Requirements Documents, System Specification Documents and Requirements Traceability in the light of Phase 2 of the project.