Summer 2020 - CMPT 475 E100

Requirements Engineering (3)

Class Number: 3680

Delivery Method: In Person


  • Course Times + Location:

    Th 5:30 PM – 8:20 PM

  • Exam Times + Location:

    Aug 20, 2020
    7:00 PM – 10:00 PM
    Location: TBA

  • Prerequisites:

    CMPT 275 or 276, MACM 201 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.


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 modeling 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. Students will evaluate contrasting methodologies and how to ensure high-quality requirements be provided to the development stage of software engineering process.


  • Requirements position in the Software Development Lifecycle (SDLC)
  • Scoping
  • Methods for requirements analysis
  • Design Models
  • Functional and Non-Functional Requirements
  • Risk Identification and Management
  • Requirements Management
  • Completeness and Consistency checking
  • Formal Specifications
  • Importance of User Community to Requirements Engineering



assignments/project 50% midterm 20% final 30%

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, 9780321117427
  • The Logic of Failure, Dietrich Dorne, Basic Book, 1996, 9780201479485
  • Code Complete, Steve mcConnell, Microsoft Press, 2004, 9780735619678
  • Managing Software Requirments A Use Case Approach 2nd edition, Dean Leffingwell Don Widrig, addison wesley, 2003, 9780321122476


  • Sortware Requirements
  • 3rd edition
  • Karl Wiegers
  • Microsoft press
  • 2014

ISBN: 9780735679665

Registrar Notes:


SFU’s Academic Integrity web site 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.


Please note that all teaching at SFU in summer term 2020 will be conducted through remote methods. Enrollment in this course acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning ( or 778-782-3112) as soon as possible to ensure that they are eligible and that approved accommodations and services are implemented in a timely fashion.