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

Fall F2017 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 Monday and Wednesday lectures and the Monday tutorial, if it is being given.

Readings:

No textbook. Notes are provided at this Web site.

References:

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, including 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.

This Term's Project Vision Document

A Directory Containing Updates to 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
     
11 September Monday Tutorial: Daniel Berry  
  NO TUTORIAL!  
11 September Monday Lecture: Daniel Berry  
  Administration and Overview This very Web page
  
  Brief Introduction to Requirements Engineering Report on the Davis Centre Atrium Doors
13 September Wednesday Lecture: Daniel Berry  
  The Requirements Iceberg Assignment 1: to watch a movie
  
  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]
  
    How to Eliminate Over Half of All Design Errors Before They Occur, by QRA Corp. (Pages 1-7 cite data; after that are methods that they claim help.)
  
    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.)
  
    User's Manual as a Requirements Specification, by Daniel M. Berry, Khuzaima Daudjee, Jing Dong, Igor Fainchtein, Maria A. Nelson, Torsten Nelson, Lihua Ou, Requirements Engineering Journal, 9:1, 67-82, 2004
18 September Monday Tutorial: Daniel Berry  
  Introduce Project and Find Group Members This Term's Project Vision Document
18 September Monday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
20 September Wednesday Lecture: Daniel Berry  
  The Requirements Iceberg Insanity, Hiring, and the Software Industry, by Steve Tockey, IEEE Computer, 48:11, 96-101, 2015
  
    Preventing Requirements Defects: An Experiment in Process Improvement, by Soren Lauesen and Otto Vintner, Requirements Engineering Journal, 6:1, 37-50, 2001
Also here
  
    Quantifying the Impact of Requirements Definition and Management Process Maturity on Project Outcome in Business Application Development, by Keith Ellis and Daniel M. Berry, Requirements Engineering Journal, 18:3, 223-249, 2013
  
    Sections 1.4--1.6 from "Why Is Security a Software Issue?" from Software Security Engineering: A Guide for Project Managers By Julia H. Allen, Sean Barnum, Robert J. Ellison, Gary R. McGraw, and Nancy R. Mead, Published May 1, 2008 by Addison-Wesley Professional. [Scan sent by e-mail to students registered in the class]
Also at http://www.informit.com/articles/article.aspx?p=1193473
22 September
DUE DATE
Friday Deliverable Due Date (by 5:00 pm) Deliverable 0: Group Formation Message to the course e-mail address
     
25 September Monday Tutorial: Daniel Berry  
  Agile Version of Project  
25 September Monday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
27 September Wednesday Lecture: Daniel Berry  
  The Requirements Iceberg  
  
  Requirements Determination is Unstoppable  
2 October Monday Tutorial: Daniel Berry  
  Brainstorming for Classroom Podia Fobs (This is a real problem!) Photo of Whiteboard After Brainstorming, courtesy of Dylan Desrosier
2 October Monday Lecture: Daniel Berry  
  Classes & Concepts  
2 October
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 1: Domain Model Plus World Model for WUIM to the course e-mail address
     
4 October Wednesday Lecture: Daniel Berry  
  The Requirements Iceberg  
13 October Wednesday Lecture Given on Friday: Daniel Berry  
  Classes & Concepts  
  
  Scenarios and Use Cases  
13 October
DUE DATE
Friday Deliverable Due Date (by 5:00 pm) Deliverable 2: List of WUIM Assumptions, Exceptions, Variations to the course e-mail address
     
16 October Monday Tutorial: Daniel Berry  
  Domain Model Plus World Model for WUIM WUIM Domain Model Plus World Model
  
  List of WUIM Assumptions, Exceptions, Variations Vision Document Annotated with Assumptions, Exceptions, Variations, and Questions
  
  First Updated Vision Document  
16 October Monday Lecture: Daniel Berry  
  Scenarios and Use Cases  
18 October Wednesday Lecture: Daniel Berry  
  User's Manuals as Requirements Specifications Example User's Manual for WD-pic
  
  User's Manual Advice  
23 October Monday Tutorial: Daniel Berry  
  More on Deliverable 2 More List of WUIM Assumptions, Exceptions, Variations
  
    Names that Make Computer Go Crazy, by Gojko Adzic
23 October Monday Lecture: Daniel Berry  
  User's Manual Advice  
  
  SRSs IEEE Standard for SRSs
  
    EVLA Array Operations Software Requirements, an example of a good SRS document
  
    Example SRSs and User's Manual, including three for elevators, one local copy of the EVLA SRS, and one for uber Turnstile
23 October
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 3: WUIM Use Case Model to the course e-mail address
     
25 October Wednesday Lecture: Daniel Berry is away  
  NO LECTURE! Use this time to watch the movie if you have not already done so, and in any case to think about what happened in Requirement Engineering terms. The movie assignment
30 October Monday Tutorial: Daniel Berry  
  NO TUTORIAL!  
30 October Monday Lecture: Daniel Berry  
  WUIM Use Case Model  
  
  Example User's Manual for WD-pic  
  
  Discuss Movie, Engineering Ethics, & Software Ethics  
30 October
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 4: WUIM Class Model to the course e-mail address
     
1 November Wednesday Lecture: Daniel Berry  
  WUIM Class Model New WUIM Use Case Model
  
  User Interface Specifications Exiting a textEdit Session
  
    Exiting an MS Word Session
6 November Monday Tutorial: Daniel Berry  
  NO TUTORIAL! Public Service Announcement: Math Graduate Studies Information Session 2017, WEDNESDAY, NOVEMBER 8, 2017 --- 4:30 PM EST
6 November Monday Lecture: Daniel Berry  
  Ambiguity in Requirements Specifications Public Service Announcement: Math Graduate Studies Information Session 2017, WEDNESDAY, NOVEMBER 8, 2017 --- 4:30 PM EST
  
  Google search for "I eat only" Google search for "I only eat"
8 November Wednesday Lecture: Daniel Berry  
  Ambiguity in Requirements Specifications Public Service Announcement: Math Graduate Studies Information Session 2017, WEDNESDAY, NOVEMBER 8, 2017 --- 4:30 PM EST
  
  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.
  
  Elicitation First Optional Supplmentary Slides on Elicitation
  
    Second Optional Supplmentary Slides on Elicitation
13 November Monday Tutorial: Daniel Berry  
  Optional Office Hour About Deliverable 5  
13 November Monday Lecture: Daniel Berry  
  Nonfunctional or Quality Requirements  
13 November
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 5: First Draft WUIM Specification to the course e-mail address
     
15 November Wednesday Lecture: Daniel Berry  
  Cost Estimation  
20 November Monday Tutorial: Daniel Berry  
  Feedback on First Draft WUIM Specification  
  
  Requirements Determination is Unstoppable, Revisited Requirements Determination is Unstoppable
20 November Monday Lecture: Daniel Berry  
  Cost Estimation Turnstile Domain Model
  
  Voting Domain Model Some Interesting Reading About Voting
  
  Voting Registration Use Case Voting Marking Ballot Use Case
  
  Inspections and Validation  
  
  Evaluation of the Prof  
20 November
DUE DATE
Monday Assignment Due Date (by 5:00 pm) Assignment 2: Ambiguity Exercise to the course e-mail address
     
22 November Wednesday Lecture: Daniel Berry  
  State Machine Diagrams  
27 November Monday Tutorial: Daniel Berry  
  General Office Hour: Berry will be there to answer questions at 10:30 and will stay until there are no questions or until 11:20, which ever happens earlier.  
27 November Monday Lecture: Daniel Berry  
  Linear Temporal Logic Invitation to Participate in an Empirical Study of Modeling Systems with Class Diagrams and State Machines
29 November Wednesday Lecture: Two Graduate Student Lectures  
  Frédéric Bouchard: Declarative Specifications for Software Code Base  
  
  Shuchita Singh: Prototyping in RE  
  
  A bit of time for Berry in case he needs it Agile Version of Project
  
  RE at the age of 40, by Sarah Gregory The Therac-25: 30 Years Later, by Nancy Leveson
4 December Monday Tutorial: Daniel Berry  
  State Machine Models and Linear Temporal Logic  
4 December Monday Lecture: Two Graduate Student Lectures  
  Johan Sjöberg: The Pit Stop 20 Project: How SAS Became the World's Most Punctual Airline  
  
  Junhao Lu: Water Demand Data Analysis Automation: Requirements and Specifications  
  
  A bit of time for Berry in case he needs it Agile Version of Project
4 December
DUE DATE
Monday Deliverable Due Date (by 5:00 pm) Deliverable 6: Final Draft WUIM Specification to the course e-mail address
     
Thursday 7 December, 9:00-11:30, MC 4045 Final Exam  
  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: Sunday, 03-Dec-2017 16:41:38 EST