Software Requirements and Specification (SE463)

Fall 2011 Schedule

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
See the slides for the preview lecture for more details on these topics.
While all of this material will be covered, the actual order is different. See below for the actual order of lectures.

Course Times and Locations:

Readings:

No textbook. Notes are provided at this Web site.

References:

IEEE Standard for SRSs

Wide - Field Infrared Explorer (WIRE) Command & Data Handling Flight Software Requirements Specification Version Draft (1996), an example of a good SRS document

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

The Project Description

The Project Deliverables

Project Resources

Evaluation:

Lecture Schedule

The list below represents the sequence of lectures as I see they will be given. As time goes on, I 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, I 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 I am showing on the screen during the lecture. My lecture may have material that I do not have the legal right to distribute multiple copies of. It may have also an exercise that I want to do alive in class with your help. I do not want you to be able to see such material until we have finished.

``'' means that the marked hotlink and the document that it points to were just placed here. This allows you to avoid down loading stuff that you already have from before. ``'' means that the document that the marked link points to was changed from before.

Date Topic and Readings OR Deliverable Due
 
13 September Tuesday Lecture
  Administration and Overview
 
  Course Preview (this Web page)
 
  Brief Introduction to Requirements Engineering
 
  Requirements Engineering Reference Model
15 September Thursday Lecture
  Requirements Engineering Reference Model
16 September Friday Tutorial
  Tutorial 1 INCLUDING Brainstorming
20 September Tuesday Lecture
  Requirements Engineering Reference Model
22 September Thursday Lecture
  Brief Bi-Directional Text Reading Lesson
 
  Connecting and Nonconnecting Forms of Arabic, Persian, and Urdu Letters
 
  Arabic, Persian, and Urdu Alphabet Table
 
  Star Trek, the Next Generation in English, Hebrew, and Arabic: Space, the final frontier ...
23 September Friday Tutorial
Deliverable 1: Group Formation Message to the course e-mail address
Note Different Room First Brainstorming Session (MC3005): You must come to one of three; if you have volunteered for the experiment, please come to the second or third session, preferably the second.
27 September Tuesday Lecture
  Classes & Concepts w/ Sensus
29 September Thursday Lecture (NO LECTURE TODAY! Tutorial Instead)
Note Different Room Second Brainstorming Session (MC3003): You must come to one of three; if you have volunteered for the experiment, please come to the second or third session, preferably the second.
30 September Friday Tutorial
Note Different Room Third Brainstorming Session (MC3005): You must come to one of three; if you have volunteered for the experiment, please come to the second or third session, preferably the second.
4 October Tuesday Lecture
  Classes & Concepts w/ Sensus
 
  Scenarios and Use Cases
6 October Thursday Lecture
  Scenarios and Use Cases
7 October Friday Tutorial
  Scenarios and Use Cases
 
  A Special Thanksgiving-Relevant Treat
11 October Tuesday Lecture
  Ambiguity in Requirements Specifications
13 October Thursday Lecture
  Ambiguity in Requirements Specifications
 
  Ambiguity in Requirements Specifications, Reduced to Actual Coverage
 
  The Dangerous All In Requirements Specifications
14 October Friday Tutorial
Deliverable 2: Domain Model as UML Class Diagram with Superimposed World Diagram
  Some Hidden Problems in Bi-Directional Wordprocessing
18 October Tuesday Lecture
  State Machine Diagrams
20 October Thursday Lecture
  Extended Tutorial Building State Machine Diagram for Assigning Positions (or Shapes) to Arabic, Persian, or Urdu Characters as They Are Input
 
  State Machine Diagrams
21 October Friday Tutorial
Deliverable 3: Use Case Model (No scenarios)
  No Tutorial Today!
25 October Tuesday Lecture
  Feedback on Deliverable 2
27 October Thursday Lecture
  User's Manuals
 
  User's Manual Advice
 
  Example SRS and Users Manual
28 October Friday Tutorial
  User's Manual Advice
1 November Tuesday Lecture
  User's Manual Advice
 
  User Interface Specifications
3 November Thursday Lecture
  Unicode Bi-Directional Algorithm
4 November Friday Tutorial
  Discussion about use cases and behavior of bidirectional word processors
The results of that discussion written up nicely are here.
8 November Tuesday Lecture
  Unicode Bi-Directional Algorithm
 
  SRSs
10 November Thursday Lecture
  SRSs
 
  Nonfunctional Requirements
11 November Friday Tutorial
  Cost Estimation
15 November Tuesday Lecture
  Cost Estimation
 
  Requirements Determination is Unstoppable
17 November Thursday Lecture (NO LECTURE TODAY! Project Group Meeting Instead)
   
18 November Friday Tutorial (NO TUTORIAL TODAY! Project Group Meeting Instead)
   
21 November Monday Deliverable Due Date
Deliverable 4: First Draft UM
   
22 November Tuesday Lecture
  Inspections
24 November Thursday Lecture
  What Vs How
 
  Temporal Logic
25 November Friday Tutorial
  Temporal Logic
29 November Tuesday Lecture
  Deliverable 4 Comments
 
  Table Showing Difference Between Ligaturing and Joining
 
  Temporal Logic
1 December Thursday Lecture
  Temporal Logic
 
  The Requirements Iceberg
 
  The Requirements Iceberg Bibliography
2 December Friday Tutorial
  The Requirements Iceberg
12 December Monday Deliverable Due Date
Deliverable 5: Final Draft UM
   
17 December Saturday Final Exam
12:30-3:00 pm
MC 2035 and MC 2038
  Sample Final Exams
   

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


CG1 / CS645 : Software Requirements and Specification
Last modification: Sunday, 06-May-2012 17:13:38 EDT