Fall 2023 - CMPT 475 E200

Requirements Engineering (3)

Class Number: 7796

Delivery Method: In Person


  • Course Times + Location:

    Sep 6 – Dec 5, 2023: Wed, 5:30–8:20 p.m.

  • Prerequisites:

    CMPT 275 or CMPT 276, (MACM 201 or CMPT 210) , all with a minimum grade of C- and 15 units of upper division courses. Recommended: Co-op experience.



Software succeeds when it is well-matched to its intended purpose. Requirements engineering is the process of discovering that purpose by making requirements explicit and documenting them in a form amenable to analysis, reasoning, and validation, establishing the key attributes of a system prior to its construction. Students will learn methodical approaches to requirements analysis and design specification in early systems development phases, along with best practices and common principles to cope with notoriously changing requirements.



  • Requirements position in the Software Development Lifecycle (SDLC)
  • Scoping
  • Methods for requirements elicitation
  • Methods for requirements analysis
  • Design Models
  • Business Rules
  • Functional and Non-Functional Requirements
  • Risk identification and Management
  • Requirements Management
  • Architectural Requirements Analysis
  • Data Requirements Analysis
  • Completeness and Consistency Checking
  • Formal Specifications
  • Prototyping
  • Importance of User Community to Requirements engineering


Instructor’s Objectives:

Software requirements involve both design and understanding of what is needed by the application. This is a creative activity that calls for abstract models to analytically analyze and to reason out requirements. Design decisions and conformance criteria, making sure these are well understood prior to coding. Starting with software requirement analysis methodologies, abstraction principles and specification paradigms. Students will learn how to use modelling as an effective instrument for making software systems more reliable, the requirements gathering process more predictable, and overall improve the quality of the resulting product. Besides, students will develop an understanding of metrics and models for software quality engineering; they will evaluate contrasting methodologies and how to ensure high quality requirements be provided to the development stage of software engineering process.



To be discussed the first week of classes.

Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better)



Textbook for Course:

Software Requirements Third Edition, Karl Wiegers and Joy Beatty, Microsoft Press, 2013, 9780735679665

Reference Books:

The Logic of Failure, Dietrich Dorner, Basic Book, 1996, 9780201479485

Contextual Design, Defining Customer-Centered Systems, Hugh Beyer and Karen Holtzblatt, Morgan Kaufmann Publishers 1998, ISBN 1-55860-411-1


Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.

Registrar Notes:


SFU’s Academic Integrity website http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating. Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the university community. Academic dishonesty, in whatever form, is ultimately destructive of the values of the university. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the university. http://www.sfu.ca/policies/gazette/student/s10-01.html


Students with a faith background who may need accommodations during the semester are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.