Notes for the course will be available from the SVN (usually updated at the end of the week, after the lectures for that week). Be sure to do all the Exercises in the Notes.
Notes. Questions. What is Software Engineering? What are Requirements? Is there a difference between Requirements & Specifications? The definition of Reliability. Products vs. Processes. The Waterfall Model, the V-model and CMMI.
Exercise: Do the mine pump exercise (Exercise 1) in Section 2.4 of the notes. Read the accompanying Teleologic Document (pages 15 and 16) on the anatomy of a good (atomic) requirement.
Required readings: AvL09 text, Chapter 1 (see SVN)
Slides 01 (up to #12): What is requirements engineering? The World and the Machine. The problem domain and solution domain. Requirements (R-descriptions), assumptions about the physical world (W-descriptions), Specifications (S-descriptions) and Programs (M-descriptions). Dependability arguments (validation and verification). Case study: Validation of requirements for a software controlled braking system.
Slides 02 (up to #85): Importance and structure of a requirements documents. Case study: bridge controller (requirements document, initial model for requirement FUN-2 in Event-B, proof obligations for requirement FUN-2, using the model to detect missing requirement FUN-4).
Exercise:
Exercises:
Test1 (Tuesday October 20th in CC 208, Calumet College, 4pm). Material covered in class up to last week (see all items above), required readings, Exercises, slides. Test1 is closed book but you may bring a single data sheet (letter size).
Lecture: (Thursday October 22 in CC 208): Guest lecture on Goal Models (i* and KAOS) by Jennifer Horkoff and Golnaz Elahi (working with Prof. Eric Yu) of the University of Toronto. See 04 slides. Why goal oriented requirements engineering? i* SD diagrams. i* SR diagrams. In class exercise using i* to model “greening” of ICSE conference. Model analysis and trade-offs. Comparsion with KAOS (as in the suggested text). Suggested background reading on KAOS: AvL09, chapter 7 and chapter 15 (for the mine pump system)
Tuesday's lecture: Series 5 slides continued, developing a PAT2 model for requirements of the bridge safety system. Initial Model. Limiting the number of cars on the island and bridge (requirement R2). First refinement: Introducing the one way bridge (requirement R3). Second refinement: introducing the traffic lights. This is the first model in which we can distinguish between W-descriptions and S-descriptions (the computer controller). From the analsysis we obtain a new liveness requirement. Verifying the safety and liveness requirements for the bridge safety system. Simulation of the model.
Thursday lecture: Reviewed the sample mathematical description for the time weighted return in Section 4.3 of the Phase project description. Showed how atomic requirements must be linked to the mathematical model and the mathematical model to the atomic requirements. By doing the mathematical model first, a better set of atomic requirements can be written.
Background reading for Thu. lecture: Section 4.4 in AvL09.
Exercises. Do Exercises 9, 10 and 11 in preperation for Test2 next week. See SVN/Exercises for the details. There will also be a question in the test on class-diagrams/mathematical-contracts (as required for Phase2).
Safety critical systems continued (till the end of series 05 slides).