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.
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.
No textbook. Notes are provided at this Web site.
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 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.
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
| |