uwloo

CS 445Software Requirements Specification and Analysis

Units
0.50
Faculty
Mathematics
Subject
Computer Science
Cross-listed
ECE 451

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. S27

Ran in 7 of the last 7 terms. Winter 2027: scheduled, 2 lecture sections. Spring 2027: schedule not out yet.

Introduces students to the requirements definition phase of software development. Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications.

Prerequisites

Antirequisites

  • Not completed nor concurrently enrolled in any of the following:
    • SE463 - Software Project Management, Requirements, and Analysis (0.50)

Leads to

No course lists it as a requisite.

Fall 2026 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 001600514 / 20M 11:30–14:20
TUT 101600614 / 20M 14:30–15:20

Winter 2027 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 00156120 / 70TTh 13:00–14:20
LEC 701219618 / 9999Online or by arrangement
TUT 10156130 / 70Th 14:30–15:50

Resources

Around the web

Found by uwloo’s link finder, which checks that each page names CS 445.

Suggest a resource.

Reviewed on UW Flow

20% liked it77% easy23% useful

From 35 ratings and 11 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.

  • Unfortunately, I left this course feeling like I wasted my time. Fairly easy, but the only real take away was "requirements are important", and I'm not sure if I'm convinced.

    Nov 2017 · didn’t like it · 1 found this helpfulOn UW FlowRemove this

  • Victoria was amazing, easily approachable, patient, and kind. I didn't think I would take this course without her. She delivered normal lectures instead of using flipped classes. This helps me learn a lot. I saw a lot of people didn't think it was a useful course. It really depended on how you defined "useful". You learnt how to provide software requirements, including drawing use case diagrams, state machine diagrams, domain model diagrams, sequence diagrams, etc. Basically, you learnt a lot of higher-level knowledge. I do think this inspired me to think more before delivering code. Therefore, this is a 5/5 useful course for me. Additionally, this course is usually a group work course, and…

    May 2023 · liked itOn UW FlowRemove this

  • Victoria was an amazing professor and so kind. But this course content is so boring that no professor in this universe no matter how hard they tried could make it interesting. The only redeeming quality of this course was that I got to work with some of my engineering friends in a project. It is easier in our term when it was cross-listed with the ECE class. It is lots of documentations, charts, and it goes really deep down into the specifics of it. The final exam was LONG HOWEVER, I could tell a bunch of people DID NOT FINISH IT. Overall, easier course don't get me wrong, but VERY BORING. I wish I had took a more interesting and slightly harder course.

    Apr 2023 · didn’t like itOn UW FlowRemove this

  • Do not take this course, it is objectively the worst 4xx CS elective.
    marking is total bs and up to the TA, class attendance is mandatory, there are weekly deliverables that can be quite long, and the course is the least interesting and least enjoyable course at UW without a doubt.
    I had to suffer through the course, and I wouldn't wish this upon my worst enemy :)

    Jan 2023 · didn’t like itOn UW FlowRemove this

  • The course is a deep dive into all the work needed to make a brand new software project from the ground up. You won't have to code in this course, so your imagination is only limited by the amount of work you want to put in. Assignments are weekly, but there is a generous slip day policy and since this is teamwork, it's not all on you.
    I would recommend this course if you are interested in management in software at all, whether it be as a developer or as a PM. This gives you all the useful knowledge needed to be successful in these areas.

    Dec 2021 · liked itOn UW FlowRemove this

Discussed on r/uwaterloo

103 posts and comments in 90 threads mention CS 445, February 2012 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.

Fall 2024

CS 445 final 1 point, 0 comments

u/Ok_Youth1867: “The course outline says I need to pass the cs445 final to pass the course. It’s my final term and I have a very busy workload, need to pass this course to graduate this term. Is it difficult to pass? How much of a time commitment is it?”

View on RedditRemove this

Spring 2024

Course Load Opinions with Full-TIme Job 1 point, 2 comments

u/Even_Valuable_5014: “I'm planning on taking CS 445, SPCOM 223 or SPCOM 100 and an bird online elective like CLAS 104. I'll be working full-time as a dev (remote). Is this doable??”

u/ConsequenceNo3618: “I don't think they'll let you take 4 courses on coop CS 445 is easy and the majority of it is groupwork, but even with a group of 5, it's a lot of work near the end of the term. Not sure about the others It's doable but obviously not recommended. …”

View on RedditRemove this

Winter 2024

Most Useful CS course you took in your undergraduate career. 7 points, 10 comments

“Hello, this question is targeted more towards alumni or graduate/4th/5th year students but I was wondering which CS course in your undergrad you found was the most useful. …”

u/coolk2000: “… CS 445 is an in depth version of 346 when it comes to planning. Truth be told it’s a slog but an easy course and you learn a lot. CS 492 is a course you don’t think will be useful but damn it actually is. Especially in today’s market knowing ethics is extremely essential. …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar