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:
- CS445/CS645/ECE451:
Lecture: M W F, 8:30-9:20 @ MC 4058
Tutorial: F, 11:30-12:20 @ MC 4040
- 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
-
8 September, Monday, Lecture: Introduction.pdf
-
10 September, Wednesday, Lecture: WalkerDVD
-
12 September, Friday, Lecture: NONE
-
10 & 12 September, Wednesday & Friday, Tutorial: NONE
-
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
-
17 September, Wednesday, Lecture: classes.concepts.pdf
Reading: Start Reading the Notes (See ``Readings'' below),
finish at least Chapter 1 this week
-
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.
-
17 & 19 September, Wednesday & Friday, Tutorial: NONE, use the time for the
reading
-
22 September, Monday, Lecture: scenarios.usecase.pdf
-
24 September, Wednesday, Lecture: scenarios.usecase.pdf
-
26 September, Friday, Lecture: scenarios.usecase.pdf
-
24 & 26 September, Wednesday & Friday, Tutorial: Class Model for DVD
Recorder
-
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
-
1 October, Wednesday, Lecture: Cancelled (Rosh Hashana & Id Al Fitr)
-
3 October, Friday, Lecture: mach_dom_reqs.pdf & user.interfaces.pdf
-
3 October, Friday, Tutorial: Use Cases for DVD Recorder
-
6 October, Monday, Lecture: user.interfaces.pdf & users.man.pdf
-
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.
-
10 October, Friday, Lecture: Cancelled (Thanksgiving weekend)
-
8 October, Wednesday, Tutorial: Use Cases for DVD Recorder
-
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!)
-
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.
-
17 October, Friday, Lecture: users.man.pdf
-
15 & 17 October, Wednesday & Friday, Tutorial: User Interface Design
-
20 October, Monday, Lecture: SRSs.pdf
-
22 October, Wednesday, Lecture: SRSs.pdf, nfr.pdf
Reading: Read Chapter 3 of the Notes (See ``Readings'' below)
-
24 October, Friday, Lecture: nfr.pdf, PriorityRanking.pdf
-
22 & 24 October, Wednesday & Friday, Tutorial: Mark Walker, Quest
Q & A Session
-
27 October, Monday, Lecture: PriorityRanking.pdf, Ryan_rank.ppt, DangerousAll.pdf
-
29 October, Wednesday, Lecture: Ambiguity.pdf
-
31 October, Friday, Lecture: Ambiguity.pdf
-
29 & 31 October, Wednesday & Friday, Tutorial: Writing Problems
-
3 November, Monday, Lecture: Ambiguity.pdf
Reading: Read Chapter 5 of the Notes (See ``Readings'' below)
-
5 November, Wednesday, Lecture: inspection.pdf
-
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.
-
5 & 7 November, Wednesday & Friday, Tutorial: NONE
-
10 November, Monday, Lecture: costs.pdf
-
12 November, Wednesday, Lecture: elicitation.pdf
-
14 November, Friday, Lecture: elicitation.pdf
-
12 & 14 November, Wednesday & Friday, Tutorial: Feedback on First Draft
Specifications
-
17 November, Monday, Lecture: elicitation.pdf, temp.logic.pdf
-
19 November, Wednesday, Lecture: notation.pdf
-
21 November, Friday, Lecture: NONE
-
19 & 21 November, Wednesday & Friday, Tutorial: NONE
-
24 November, Monday, Lecture: IcebergSlides.pdf, IcebergBibliography.pdf
-
26 November, Wednesday, Lecture: IcebergSlides.pdf, IcebergBibliography.pdf
-
28 November, Friday, Lecture: Jay Black on the History of the Current Quest
-
26 & 28 November, Wednesday & Friday, Tutorial: Discussion of RE and Project
-
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.
-
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:
-
Introduction
-
Requirements Modeling
-
Requirements Elicitation
-
Requirements Analysis
-
Requirements Writing
-
Requirements Specifications
-
Cost Estimation
While all of this material will be covered, the actual order is different.
List of Topics and Reading Assignments In Approximate Order:
-
Introduction to Course, Chapter 1 Notes
-
Walker on Quest
-
Classes and Concepts
-
Scenarios and Use Cases
-
Machines, Domains, Requirements
-
User Interface Requirements
-
User's Manuals as Specifications
-
Software Requirements Specifications (SRSs)
-
Priority Ranking, Chapter 3 Notes
-
Nonfunctional Requirements
-
Dangerous All
-
Ambiguity in Natural Languages
-
Elicitation, Chapter 2 Notes, Gause & Weinberg Book
-
Validation and Inspection, Chapter 5 Notes
-
Requirements Management
-
Cost Estimation
-
Notation, Chapter 4 Notes
-
Requirements Iceberg
Readings:
-
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
-
Gause and Weinberg, Exploring Requirements: Quality Before
Design, Dorset House, 1989.
References:
-
Davis, Software Requirements: Objects, Functions, &
States, Prentice-Hall, 1993.
-
Bray, An Introduction to Requirements Engineering, Addison Wesley,
2002.
-
Gause and Weinberg, Are Your Lights On? How to Figure Out
What the Problem REALLY Is?, Dorset House, 1990.
-
Jackson, Software Requirements and Specification, ACM Press, 1995.
-
Larman, Applying UML and Patterns, Prentice Hall, 1998.
-
Leffingwell and Widrig, Managing Software Requirements, Addison Wesley,
2000.
-
Maciaszek, Requirements Analysis and System Design, Addison Wesley,
2001.
-
Robertson and Robertson, Mastering the Requirements
Process, Addison-Wesley, 1999.
-
Rumbaugh, et.al., Object-Oriented Modeling and Design,
Prentice-Hall, 1991.
-
Rumbaugh, Jacobson, and Booch, The Unified Modeling Language
Reference Manual, Reading, MA, 1999.
Workload:
-
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
-
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