Software Requirements and Specification (CS445 / CS645 / ECE451 / SE463)

Fall 2008 Schedule

Professor

Prof. Daniel M. Berry
dberry's e-mail address
http://se.uwaterloo.ca/~dberry
3329 Davis Centre (one floor above SCS office)
FAX: +1-519-888-4305
No telephone; use e-mail or fax

Professor's Office Hours

Office hours by appointment only via e-mail (In past, no one ever came to scheduled office hours).

But, at any time, if my door is open, just come in and try me; if I am busy, I will say so, and if not, we can talk.

To make an appointment send e-mail to dberry's e-mail address. If you send e-mail about course, please put ``CS445'' in the Subject field so I don't think it's spam. If you do not get a reply within 24 hours, send it again; perhaps the spam filter thought it was spam. If I can't answer in detail right away, I will let you know by e-mail.

Teaching Assistants

Divya Nair
Divya's e-mail address

Pourya Shaker
Pourya's e-mail address

TA's Office Hours

Pourya's Office Hours: Mondays and Wednesdays 3-4PM at DC2551C

Divya's Office Hours: Thursdays 2-4PM at DC2551D

Academic Integrity Policy

This course subscribes to the University of Waterloo Academic Integrity Policy

Class Meetings and Sections

The course meets Mondays, Wednesdays, and Fridays in two different sections:

  1. CS445/CS645/ECE451:
    Lecture: M W F, 8:30-9:20 @ MC 4058
    Tutorial: F, 11:30-12:20 @ MC 4040
  2. SE463:
    Lecture: M W F, 13:30-14:20 @ DWE 3522
    Tutorial: W, 9:30-10:20 @ MC 4058
The two sections will be as identical as I can make them.

The dates on which we will be and will not be meeting are shown in the schedule below. Since this offering is the first time the course is being taught under the new syllabus, the schedule is being decided as we go. Each topic will be filled in the schedule as it becomes known, sometimes only the day before it is taught.

Copies of the slides are at the UW-ACE site for the course, http://uwace.uwaterloo.ca/. Once there, select under ``Course'' the link titled ``1089 CS 445/CS 645/ECE 451/SE 463: Software Requirements and Specifications''. Once at the course page, select the tab ``Lessons'', and there you will see a bunch of mostly PDF files, one for each lecture topic. You will find after ``Lecture:'' in the calendar below the names of the file that contains the PDF of the slides that are used on the lecture's date. Note that a given file name may show up in more than one date, i.e., when the lecture spans more than one date.

The slides contain materials that cannot be widely and publically distributed. Putting them at this site would make them publically visible and findable by Google. So to allow you to have them, I have put them in a place that is password protected and only someone from this class can get to.

Calendar, Lectures, and Assignments

  1. 8 September, Monday, Lecture: Introduction.pdf

  2. 10 September, Wednesday, Lecture: WalkerDVD

  3. 12 September, Friday, Lecture: NONE

  4. 10 & 12 September, Wednesday & Friday, Tutorial: NONE

  5. 15 September, Monday, Lecture: classes.concepts.pdf

    The notes classes.condepts.pdf mention another set of notes available at the web site, about Parnas on Information Hiding. They are, as all other slides, at the ACE site, but please note that this set of notes is entirely OPTIONAL. They contain a lot of the same material as the notes that are required. So do not print them unless you are really interested in a review of David Parnas's seminal information hiding paper. The file is called inf.hiding.4.pdf

  6. 17 September, Wednesday, Lecture: classes.concepts.pdf

    Reading: Start Reading the Notes (See ``Readings'' below), finish at least Chapter 1 this week

  7. 19 September, Friday, Lecture: classes.concepts.pdf

    First Assignment Due at 12:00 noon by e-mail to the course Professor, reporting the names and e-mail addresses of the members of your group; each group has 3 or 4 members.

  8. 17 & 19 September, Wednesday & Friday, Tutorial: NONE, use the time for the reading

  9. 22 September, Monday, Lecture: scenarios.usecase.pdf

  10. 24 September, Wednesday, Lecture: scenarios.usecase.pdf

  11. 26 September, Friday, Lecture: scenarios.usecase.pdf

  12. 24 & 26 September, Wednesday & Friday, Tutorial: Class Model for DVD Recorder

  13. 29 September, Monday, Lecture: mach_dom_reqs.pdf

    Recommended Special Additional Lecture: Talk by Ann Cavoukian, Information and Privacy Commissioner of Ontario, on Privacy and Security at 11:00 am

  14. 1 October, Wednesday, Lecture: Cancelled (Rosh Hashana & Id Al Fitr)

  15. 3 October, Friday, Lecture: mach_dom_reqs.pdf & user.interfaces.pdf

  16. 3 October, Friday, Tutorial: Use Cases for DVD Recorder

  17. 6 October, Monday, Lecture: user.interfaces.pdf & users.man.pdf

  18. 8 October, Wednesday, Lecture: users.man.pdf

    Second Assignment Due at 12:00 noon in hard copy form in Lock Box 2, Slot 9, labelled ``Berry CS445'': Each group will hand in a class model of the Quest Domain, expressed in UML; the model should be at the level of the domain model of the Sensus system.

  19. 10 October, Friday, Lecture: Cancelled (Thanksgiving weekend)

  20. 8 October, Wednesday, Tutorial: Use Cases for DVD Recorder

  21. 13 October Monday, NO CLASSES, Thanksgiving, Lecture: turkeyPaper.pdf, turkeySlides.pdf (You are welcome to make copies of these and distribute at your Thanksgiving meal table. You are even welcome to give the lecture to the people there! :-) Enjoy!)

  22. 15 October, Wednesday, Lecture: users.man.pdf

    Third Assignment Due at 12:00 noon in hard copy form in Lock Box 2, Slot 9, labelled ``Berry CS445'': Each group will hand in a list of use cases for the Quest system, expressed as a UML Use Case Model.

  23. 17 October, Friday, Lecture: users.man.pdf

  24. 15 & 17 October, Wednesday & Friday, Tutorial: User Interface Design

  25. 20 October, Monday, Lecture: SRSs.pdf

  26. 22 October, Wednesday, Lecture: SRSs.pdf, nfr.pdf

    Reading: Read Chapter 3 of the Notes (See ``Readings'' below)

  27. 24 October, Friday, Lecture: nfr.pdf, PriorityRanking.pdf

  28. 22 & 24 October, Wednesday & Friday, Tutorial: Mark Walker, Quest Q & A Session

  29. 27 October, Monday, Lecture: PriorityRanking.pdf, Ryan_rank.ppt, DangerousAll.pdf

  30. 29 October, Wednesday, Lecture: Ambiguity.pdf

  31. 31 October, Friday, Lecture: Ambiguity.pdf

  32. 29 & 31 October, Wednesday & Friday, Tutorial: Writing Problems

  33. 3 November, Monday, Lecture: Ambiguity.pdf

    Reading: Read Chapter 5 of the Notes (See ``Readings'' below)

  34. 5 November, Wednesday, Lecture: inspection.pdf

  35. 7 November, Friday, Lecture: inspection.pdf, costs.pdf

    Reading: Read Chapter 2 of the Notes (See ``Readings'' below)

    Fourth Assignment Due at 12:00 noon in hard copy form in Lock Box 2, Slot 9, labelled ``Berry CS445'': TWO COPIES OF YOUR TEAM'S First Draft of Quest Requirements Specification.

  36. 5 & 7 November, Wednesday & Friday, Tutorial: NONE

  37. 10 November, Monday, Lecture: costs.pdf

  38. 12 November, Wednesday, Lecture: elicitation.pdf

  39. 14 November, Friday, Lecture: elicitation.pdf

  40. 12 & 14 November, Wednesday & Friday, Tutorial: Feedback on First Draft Specifications

  41. 17 November, Monday, Lecture: elicitation.pdf, temp.logic.pdf

  42. 19 November, Wednesday, Lecture: notation.pdf

  43. 21 November, Friday, Lecture: NONE

  44. 19 & 21 November, Wednesday & Friday, Tutorial: NONE

  45. 24 November, Monday, Lecture: IcebergSlides.pdf, IcebergBibliography.pdf

  46. 26 November, Wednesday, Lecture: IcebergSlides.pdf, IcebergBibliography.pdf

  47. 28 November, Friday, Lecture: Jay Black on the History of the Current Quest

  48. 26 & 28 November, Wednesday & Friday, Tutorial: Discussion of RE and Project

  49. 1 December, Monday, Lecture: IcebergSlides.pdf, IcebergBibliography.pdf

    Fifth Assignment Due at 12:00 noon in hard copy form in Lock Box 2, Slot 9, labelled ``Berry CS445'': Final Draft of Quest Requirements Specification. Add to the BEGINNING of the your specification, a preface that describes the differences between the current Quest and what is specified in your specification.

  50. 12 December, Friday, Final Exam, 12:30pm -- 3:00 pm
While we will be meeting for essentially every lecture, we will not meet for every tutorial. Tutorials will be used for clarification, for exercises, for project-related activities, etc.

Course Syllabus:

  1. Introduction
  2. Requirements Modeling
  3. Requirements Elicitation
  4. Requirements Analysis
  5. Requirements Writing
  6. Requirements Specifications
  7. Cost Estimation
While all of this material will be covered, the actual order is different.

List of Topics and Reading Assignments In Approximate Order:

  1. Introduction to Course, Chapter 1 Notes
  2. Walker on Quest
  3. Classes and Concepts
  4. Scenarios and Use Cases
  5. Machines, Domains, Requirements
  6. User Interface Requirements
  7. User's Manuals as Specifications
  8. Software Requirements Specifications (SRSs)
  9. Priority Ranking, Chapter 3 Notes
  10. Nonfunctional Requirements
  11. Dangerous All
  12. Ambiguity in Natural Languages
  13. Elicitation, Chapter 2 Notes, Gause & Weinberg Book
  14. Validation and Inspection, Chapter 5 Notes
  15. Requirements Management
  16. Cost Estimation
  17. Notation, Chapter 4 Notes
  18. Requirements Iceberg

Readings:

  1. Notes: CS 445/645/ECE 451 Software Requirements Specification and Analysis Preprint of Chapters 1 -- 6 of Axel van Lamsweerde's forthcoming book Requirements Engineering --- From System Goals to UML Models to Software Specifications
  2. Gause and Weinberg, Exploring Requirements: Quality Before Design, Dorset House, 1989.

References:

Workload:

  1. Group Term Project: a Software Requirements Specification (SRS) or a user's manual (UM) describing a new version of the student part of Quest. Each group will have 3 or 4 students; 50% of the grade
  2. A 2.5-Hour Final Exam; 50% of the grade
Graduate students registered for CS645 will have to do something else worth an additional 10% for a total of 110%

There will be no midterm this time so that our energies can be focused on determining what this course should be!

Evaluation:

See above.

This page is at http://www.student.cs.uwaterloo.ca/~cs445/Fall2008/index.html


CS445 / CS645 / ECE451 / SE463: Software Requirements and Specification
Last modification: Sunday, 16-Nov-2008 15:52:17 EST