<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Resources :: CS445/ECE451</title>
    <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/index.html</link>
    <description>Check the subsections for useful CS445/ECE451 resources.</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>References</title>
      <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/references/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/references/index.html</guid>
      <description>Reference Books There is no single good textbook for this course because the course does not focus on any single methodology or any single type of software system. Therefore, there is no required textbook for this course, but there are several references which the lectures are drawn from that are worth reading and having on your bookself.</description>
    </item>
    <item>
      <title>Tools</title>
      <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/tools/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/tools/index.html</guid>
      <description>We will be using a variety of tools to facilitate communications among teams and course personnel, modelling, and documentation. It is good to set these up in the first week of classes.&#xA;See also Syllabus → Platforms&#xA;Diagramming Your deliverables will include a number of UML diagrams. We don’t really care what tools you use for this, as long as the end result looks reasonably professional (clear and readable). However, we can recommend that you use a modelling tool1 rather than a drawing tool (to ease the creation of models) and we strongly recommend using a tool that enables real-time collaborative modelling so that your team can all contribute to the creation of models during team meetings.</description>
    </item>
    <item>
      <title>SRS Examples</title>
      <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/srss/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/srss/index.html</guid>
      <description>Here are some example final Software Requirements Specifications (SRSs) from past terms. None of them is perfect, so pay attention to this term’s marking scheme and to the feedback you have received from your team’s TA. Also, in some cases the SRSs are from several years back when the whole class worked in teams on SRSs for the same project that had an external customer (so you will see things like minutes from the meetings with the customer). But even these older SRSs will give you an idea of the size of the final project, how to structure the sections, what explanatory text needs to accompany the models in order to produce a coherent document.</description>
    </item>
    <item>
      <title>Exams</title>
      <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/exams/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/exams/index.html</guid>
      <description>See also Syllabus → Exam Policies&#xA;Final Exam Date/Time: TBA The exam is a 2.5 hour closed-book exam. You can bring one page of study notes (8.5&#34;x11&#34;, double-sided) containing notes, model snippets, etc. You will be assigned a seat for your exam. Please check where you will be sitting in advance of the exam! If you have an examination conflict, complete the Final Examination Timetable Conflict Form. Practice Exam Questions Here are practice problems from past assignments, midterms, and final exams that were set by Prof. Jo Atlee. It is recommended that you practice writing these questions (and not just read through them) to better prepare for the exam. Answers are not provided for pedagogical reasons. You are encouraged to discuss your answers with your study group or with the course instructor.</description>
    </item>
    <item>
      <title>Terminology</title>
      <link>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/terminology/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://student.cs.uwaterloo.ca/~cs445/Winter2026/resources/terminology/index.html</guid>
      <description>Here are brief defintions of some useful terms that we use throughout the term, taken from Pamela Zave and Michael Jackson’s “Four Dark Corners of Requirements Engineering” in ACM Transactions on Software Engineering and Methodology, Vol. 6, No. 1, 1997:&#xA;The environment is the portion of the real world relevant to the software development project. The machine is a computer-based machine that will be constructed and connected to the environment, as a result of the software development project. A designation is an informal description of the meaning of an atomic formal term referring to the environment. A definition is a formal description of an atomic term, using other defined or designated terms. A statement (assertion, property) in the indicative mood1 describes the environment as it would be without or in spite of the machine. A statement (assertion, property) in the optative mood describes the environment as we would like it to be because of the machine. A shared action is an action in the environment in which the machine also participates. An unshared action is an action in the environment in which the machine does not participate. An environment-controlled action is an action in the environment that is controlled, performed, or initiated by the environment. A machine-controlled action is an action in the environment that is not controlled, performed, or initiated by the environment. The intention is that such an action will be controlled by the machine when it is connected to the environment. A requirement is an optative property, intended to express the desires of the customer concerning the software development project. A statement of domain knowledge or domain assumption is an indicative property intended to be relevant to the software development project. A specification is an optative property, intended to be directly implementable and to support satisfaction of the requirements. The Wikipedia article on Grammatical mood can help with some of these terms. Indicative mood “is used for factual statements and positive beliefs”. Example: “Paul is eating an apple.” The Optative mood “indicates a wish or hope regarding a given action”. ↩︎</description>
    </item>
  </channel>
</rss>