SYSC 3120
Software Requirements Engineering
Current techniques, notations, methods, processes and tools used in Requirements Engineering. Requirements elicitation, negotiation, modeling requirements, management, validation. Skills needed for Requirements Engineering and the many disciplines on which it draws. Requirements analysis: domain modeling, modeling object interactions; UML modeling. Introduction to software development processes.
2020
Topics
- o Software Engineering Processes
- o Definition, Role, and Importance of Requirements Engineering
- o Requirements Engineering Activities and Processes
- o Types of Requirements (Functional vs. Non-Functional)
- o Techniques for Writing High-Quality Requirements
- Requirements Inception, Elicitation, Evaluation, and Documentation
- o Domain Understanding, Product Vision, and Scope
- o Elicitation Approaches and Techniques
- o Business Events, Viewpoints, and Stakeholders
- o Requirements Evaluation and Risk Management
- o Software Requirements Specification (SRS) Documentation Standards
- and Templates
- Requirements Analysis, Modeling, and Specification
- o Description vs. Specification
- o Modeling Techniques and Diagrammatic Notations
- o Use Case Modeling and Scenario Descriptions
- o Analysis for Understanding the Domain and Requirements
- o Formal Specification
- Requirements Verification and Validation
- o Verification vs. Validation
Prerequisites & course information
Precludes additional credit for SYSC 3020 and COMP 3004 . Prerequisite(s): SYSC 2004 and enrolment in Software Engineering. Lectures three hours a week, laboratory three hours alternate weeks.