User Tools

Site Tools


course_outline

Course Outline

Main topics

  • 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?
  • Week 2, September 8: Textbook chapter 2 (with exercises) - Identifying Stakeholders.
    • 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.
    • Slides G
  • Week 5, September 29:
    • Textbook chapter 5 (with exercises) - Structuring Requirements.
    • Continuing Discussion of Requirements Elicitation and Discussion of Project Phase 1.
  • Week 6, October 6:
    • Textbook chapter 6 (with exercises) - Requirements in context.
    • Slides E and F and required reading: UserGuideBerry.pdf (F)
  • Week 7, October 13:
    • Textbook chapter 7 (with exercises) - Requirements writing.
    • Complete topic: User Guides as requirements
    • 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.
course_outline.txt · Last modified: 2009/03/12 17:10 by jonathan