Software Requirements: Specification & Analysis (CS445/CS645/ECE451)

Fall 2019 Schedule

To Go Directly to the Lecture Schedule

For Other Information including about Academic Integrity, Grievance, Discipline, Avoiding Academic Offenses, Appeals, and a Note for Students with Disabilities

Courses and Sections:

The three courses, CS445, CS645, and ECE451, which share a single course name, are taught at exactly the same time in the same room by one instructor. Thus, all registered in any course wll get exactly the same lectures, tutorials, assignments, and exam! Each student is registered in one of them and will receive his or her grade under that registration.

Instructor:

TAs:

Class Communication:

If you have a question that is not private and is not targeted directly to one of the Instructors or TAs, then send it to cs445 ATT student DOTT cs DOTT uwaterloo DOTT ca.

One of the TAs or the instructor will answer it. If the question is deemed to be of general interest and not private, the answer, including the question WITH THE SENDER'S IDENTITY REMOVED, will be sent by e-mail to the whole class so everyone gets the benefit of the answer.

Archive of E-mail Sent to Class:

Click Here for an archive of the e-mail sent to the entire class

Highest Level Course Outline:

  1. Overview
  2. Requirements Engineering Reference Model
  3. Requirements Modeling
  4. Requirements Elicitation
  5. Software Requirements Specification (SRS) document
  6. Requirements Writing
  7. Informal Specification Notations
  8. Formal Specification Notations
  9. Specification of Non-behavioral Requirements
  10. Requirements Validation
  11. Cost Estimation
While all of this material will be covered, the actual order is different. See the Lecture Schedule for the actual order of lectures.

Course Times and Locations:

Each week, each student should attend the Tuesday and Thursday lectures and the Monday tutorial, if it is being given.
The student is responsible for knowing anything significant that arises from any in-class discussion.

Readings:

No textbook. Notes are provided at this Web site.

References:

UML Cheat Sheets

IEEE Standard for SRSs

EVLA Array Operations Software Requirements, an example of a good SRS document

Example SRSs and User's Manual, including a local copy of the EVLA Array Operations Software Requirements (called "array-sw-rqmts.pdf")
There is also a template for SRSs in LaTeX form, called "srs.tex.txt". To use it as input to LaTeX, strip off the ".txt".

Workload:

  1. Group project: a Software Requirements Specification (SRS) or a user's manual (UM) specifying the requirements of a system to be described
  2. Some individual or group assignments, mostly directed at helping you in the project
  3. A 2.5-hour exam

General Term-Independent Project Information

How to Deliver Deliverables

Evaluation:

As indicated in overview form in the slides for ``Administration and Overview'',: You need to pass the final exam in order to pass the course.

The exam covers any and all material in the lectures and lecture slides, including those of the graduate student lectures. As indicated in the slides for ``Administration and Overview'', part of the exam is designed to be easier if you have actively participated in the project, so that overall, more of the final grade comes from the project work.

For graduates students in CS645, this 100% is scaled to 90% and 10% of your grade is the evaluation of your lecture and report.

The current version of this Term's Project Vision Document

A Directory Containing Replaced Versions of This Term's Project Vision Document

This Term's Project Resources (Always Under Construction)

Lecture Schedule

The list below represents the sequence of lectures as we see they will be given. As time goes on, we may change the order. Also as time goes on, we will see how they divide themselves up into dates.

If a topic has hot links, then the slides for the topic are available for downloading. If there are no hot links on a topic, the slides are not ready yet, and will be later, we hope, at least one day before the lecture.

The title itself is a hot link to a copy of its slides in Acrobat form (.pdf). These slides may not be exactly what we are showing on the screen during the lecture. Our lecture may have material that we do not have the legal right to distribute multiple copies of. It may have also an exercise that we want to do alive in class with your help. We do not want you to be able to see such material until we have finished.

Underneath the header Additional Materials OR Deliverable Details, you will find some additional reading or viewing material.

          
Date Day & Lecturer OR Topic & Main Slides OR Deliverable Due Additional Materials OR Deliverable Details
     
5 September Thursday Lecture: Daniel Berry  
  Administration and Overview This very Web page
  
  Requirements Engineering Reference Model Report on the Davis Centre Atrium Doors
9 September Monday Tutorial: Daniel Berry  
  Introduce Project This Term's Original Project Vision Document
10 September Tuesday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
12 September Thursday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
16 September Monday Tutorial: Daniel Berry  
  Discuss Project, RE Reference Model Exercise, and Find Group Members This Term's Current Project Vision Document
17 September Tuesday Lecture: Daniel Berry  
  Classes & Concepts  
19 September Thursday Lecture: Daniel Berry  
  Classes & Concepts  
20 September
DUE DATE
Friday Deliverable Due Date (by 5:00 pm) Deliverable 0: Group Formation Message to the course e-mail address
     
23 September Monday Tutorial: Daniel Berry  
  NO TUTORIAL!  
24 September Tuesday Lecture: Gema Rodgriguez  
  Elicitation  
  
  Stakeholders  
26 September Thursday Lecture: Gema Rodgriguez  
  User Requirements  
30 September Monday Tutorial: Daniel Berry  
  NO TUTORIAL!  
30 September
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 1: List of IEKS Domain Assumptions, Exceptions, Variations to the course e-mail address
     
1 October Tuesday Lecture: Gema Rodgriguez  
  Cost Estimation  
3 October Thursday Lecture: Daniel Berry  
  Scenarios and Use Cases  
7 October Monday Tutorial: Daniel Berry  
  Discuss Deliverable 1 Anonymized groups' Deliverables 1 in random order followed by the Prof's solution
  
  Agile Version of Project Agile Version of Project: User Stories 0, 1, 2, and 3, courtesy of Parul Arora and Vivek Ramcharitar
8 October Tuesday Lecture: Daniel Berry  
  User's Manuals as Requirements Specifications Example User's Manual for WD-pic
  
  User's Manual Advice  
  
  Surprise Short Topic (Just the Top Section)  
10 October Thursday Lecture: Victoria Sakhnini  
  State Machine Diagrams Prof. Sakhnini's Solution 1 and Prof. Sakhnini's Solution 2
11 October
DUE DATE
Friday Deliverable Due Date (by 5:00 pm) Deliverable 2: Solution Ideas for IEKS to the course e-mail address
     
14 October Monday Holiday (NO TUTORIAL!)  
  Thanksgiving  
15 October Tuesday Holiday (NO LECTURE!)  
  Reading Days  
17 October Thursday Holiday (NO LECTURE!)  
  Reading Days  
21 October Monday Tutorial: Daniel Berry  
  Discuss Deliverable 2  
21 October
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 3: Domain, Class, and World Models for IEKS to the course e-mail address
     
22 October Tuesday Lecture: Daniel Berry  
  User's Manual Advice  
  
  SRSs IEEE Standard for SRSs
24 October Thursday Lecture: (NO LECTURE!)  
  Berry is out of town &
In exchange for being asked to watch an alive streaming on 29 October
 
28 October Monday Tutorial: Daniel Berry  
  Discuss Deliverable 3 Diagram Part of Prof's Solution
  
    Text Part of Prof's Solution
28 October
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 4: IEKS Use Case Model to the course e-mail address
     
29 October Tuesday Lecture: Daniel Berry  
  User Interface Specifications  
  
  Ambiguity in Requirements Specifications  
  
  From 11:30am until 8:30pm Eastern Time, Tuesday 29 October, watch some of the alive streaming of ``The 50th Anniversary of the Internet'' alive from UCLA, the birthplace 50 years ago to the day, of the ARPAnet, which later became the Internet.

For the schedule of events, go to click on "Program" across the top.

On the home page just below the logo showing Royce Hall, the venue of the event and "From FOUNDERS to FUTURISTS", you will find what will be the link for the alive streaming. I presume that the link will become active sometime earlier than 11:30am Eastern Time on Tuesday.

I myself plan to watch at least:

11:50 am -- 1:00 pm Opening by Len Kleinrock and
                                  Panel: Before the Beginning
5:00 pm -- 5:45 pm Panel on Fake News
8:15 pm -- 8:30 pm Closing Keynote by Len Kleinrock

31 October Thursday Lecture: Daniel Berry  
  Ambiguity in Requirements Specifications  
  
  Google search for "I eat only" Google search for "I only eat"
  
  Google search for "Each eats" Google search for "Both eat"
  
  Google search for "All eat" All the sentences with "only" in the EVLA Array Operations Software Requirements.
4 November Monday Tutorial: Daniel Berry  
  Discuss Deliverable 4 Diagram Part of Prof's Solution
  
    Text Part of Prof's Solution
  
  Amendment 1: Modified DM Amendment 2: Modified UCs
  
  Amendment 3: Modified DM  
5 November Tuesday Lecture: Daniel Berry  
  Ambiguity in Requirements Specifications  
  
  Requirements Determination is Unstoppable  
7 November Thursday Lecture: Daniel Berry  
  The Requirements Iceberg Report on the Davis Centre Atrium Doors
  
  The Requirements Iceberg Bibliography Software Engineering Economics, by Barry Boehm, Prentice Hall, Englewood Cliffs, NJ, USA, 1981 (Pages 39-41 and 381-386) [Scan sent by e-mail to students registered in the class]
  
    Contains: K. Forsberg and H. Mooz, System Engineering Overview, by Kevin Forsberg and Harold Mooz, in Software Requirements Engineering, Second Edition, ed. Richard H. Thayer and Merlin Dorfman, IEEE Computer Society Press, Washington (1997), pp. 44-71 (This takes a while to download, because it's a bit map.)
11 November Monday Tutorial: Daniel Berry  
  NO TUTORIAL!  
11 November
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 5: First Draft IEKS Specification to the course e-mail address
     
12 November Tuesday Lecture: Daniel Berry  
  The Requirements Iceberg Software Engineering Economics, by Barry Boehm, Prentice Hall, Englewood Cliffs, NJ, USA, 1981 (Pages 39-41 and 381-386) [Scan sent by e-mail to students registered in the class]
  
  Specification as Program, Part1, courtesy of Henry Pabst and Frank Wang Specification as Program, Part2, courtesy of Henry Pabst and Frank Wang
14 November Thursday Lecture: Daniel Berry  
  The Requirements Iceberg Software Engineering Economics, by Barry Boehm, Prentice Hall, Englewood Cliffs, NJ, USA, 1981 (Pages 39-41 and 381-386) [Scan sent by e-mail to students registered in the class]
  
  Chapters 3 and 4 of Lihua Ou's Thesis Estimated Agile Lifecyle
  
  From Lines of Code to Person Months by COCOMO Comparison of Lifecyle Durations
  
  Editorial by Len Kleinrock that discusses the requirements for the ARPAnet, which later became the Internet.  
18 November Monday Tutorial: Daniel Berry  
  Discuss Deliverable 5  
18 November
DUE DATE
Monday Assignment Due Date (by 5:00 pm) Assignment 1: Ambiguity Exercise to the course e-mail address
     
19 November Tuesday Lecture: Daniel Berry  
  Nonfunctional or Quality Requirements  
21 November Thursday Lecture: Daniel Berry  
  Inspections and Validation  
  
  Evaluation of the Prof  
25 November Monday Tutorial: Daniel Berry  
  Discuss Assignment 1, Ambiguity Solution to Assignment 1
26 November Tuesday Lecture: Daniel Berry  
  Linear Temporal Logic  
28 November Thursday Lecture: Daniel Berry  
  Linear Temporal Logic  
  
  Amendment to Iceberg: The Dangerous ``All'' in Specifications  
2 December Monday Tutorial: Daniel Berry  
  Linear Temporal Logic Exercises  
  
  Discuss Agile version of IEKS
 
2 December
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 6: Final Draft IEKS Specification to the course e-mail address
     
3 December Tuesday Lecture: Graduate Students Each talk is 35 minutes long.
  Henry Pabst Oh God I'm Not Getting a Return Offer: Why You Should Really Practice Requirements Engineering
  
  RongHao Yang Requirement Prioritization and Re-Prioritization in a Research Based Project
Friday 6 December
MC 4059
Final Exam, 9:00am--11:30am Incomplete Policy
  Sample Final Exams  

This page is at http://www.student.cs.uwaterloo.ca/~se463/index.shtml


CS445/CS645/ECE451: Software Requirements and Specification
Last modification: Monday, 02-Dec-2019 20:56:17 EST