Computing Science Course Outlines

Course Outline - CMPT 475 - Requirements Engineering



Catalog Number









2022 Fall (1227)

Requirements Engineering

Dan Ridinger   

Burnaby Mountain Campus

Calendar Objective/Description

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. Prerequisites: CMPT 275 or 276, MACM 201 and 15 units of upper division courses. Recommended: co-op experience




  • Requirements position in the Software Development Lifecycle (SDLC
  • Scoping
  • Methods for requirements analysis
  • Design Models
  • Business Rules
  • Functional and Non-Functional Requirement
  • Risk identification and Management
  • Requirements Management
  • Completeness and Consistency checking
  • Formal Specification
  • Importance of User community to Requirements engineering


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).

Reference Books

  • Software Engineering, 10th Edition, Ian Sommerville, Addison-Wesley, 2015, 9780133943030, General reference to basic software engineering principles
  • Facts and Fallacies of Software Engineering, Robert L. Glass, Addison- Wesley, 2003, 97803211174
  • The Logic of Failure, Dietrich Dorne, Basic Book, 1996, 9780201479485
  • Contextual Design, Defining Customer-Centered Systems, Hugh Beyer and Karen Holtzblatt, Morgan Kaufmann Publishers, 1998, 9780080503042

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies ( ).

Data Last Updated: