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

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 First Assignment: 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  
  Requirements Determination is Unstoppable  
2 October Monday Tutorial: Daniel Berry  
     
2 October Monday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
4 October Wednesday Lecture: Daniel Berry  
  Requirements Engineering Reference Model  
13 October Wednesday Lecture Given on Friday: Daniel Berry  
     
16 October Monday Tutorial: Daniel Berry  
     
16 October Monday Lecture: Daniel Berry  
     
18 October Wednesday Lecture: Daniel Berry  
     
23 October Monday Tutorial: Daniel Berry  
     
23 October Monday Lecture: Daniel Berry  
     
25 October Wednesday Lecture: TBA  
     
30 October Monday Tutorial: Daniel Berry  
     
30 October Monday Lecture: Daniel Berry  
     
1 November Wednesday Lecture: Daniel Berry  
     
6 November Monday Tutorial: Daniel Berry  
     
6 November Monday Lecture: Daniel Berry  
     
8 November Wednesday Lecture: Daniel Berry  
     
13 November Monday Tutorial: Daniel Berry  
     
13 November Monday Lecture: Daniel Berry  
     
15 November Wednesday Lecture: Daniel Berry  
     
20 November Monday Tutorial: Daniel Berry  
     
20 November Monday Lecture: Daniel Berry  
     
22 November Wednesday Lecture: Daniel Berry  
     
27 November Monday Tutorial: Daniel Berry  
     
27 November Monday Lecture: Daniel Berry  
     
29 November Wednesday Lecture: Graduate Students  
     
4 December Monday Tutorial: Daniel Berry  
     
4 December Monday Lecture: Graduate Students  
     
Someday, December 2017, sometime, someplace 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: Monday, 18-Sep-2017 09:28:16 EDT