COMPM014 - Systems Requirements Engineering
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).- Code
- COMPM014 (Also taught as: COMPGS01)
- Year
- 4
- Prerequisites
- An understanding of the basics of programming and software engineering.
- Term
- 1
- Taught By
- Emmanuel Letier (100%)
- Aims
- This module describes the role of requirements in the construction and continued maintenance of large, complex and evolving software-intensive systems. It introduces the important concepts and activities in systems requirements engineering, explains how they can knit together to form a through-life requirements engineering process, and demonstrates how such an end-to-end process can be defined and used in practice. The module provides a broad overview of the notations, techniques, methods and tools that can be used to support the various requirements engineering activities, and complements this with the opportunity to gain experience in a selection of these. The module seeks to illustrate the wider applicability of requirements engineering to everyday projects, the breath of skills required and the many contributing disciplines.
- Learning Outcomes
- On completion of this module, the successful student should have a good knowledge and understanding of the role of requirements engineering in the development of software-intensive systems and of the various activities involved in requirements engineering. The successful student should also be able to elicit, model, analyse, communicate, and evolve system requirements using state-of-the-art requirements modelling techniques and tools.
Content:
- 1. Introduction to requirements engineering
- Definition of requirements engineering and role in system development
Fundamental concepts and activities of requirements engineering
Target qualities and common erros in software requirements documents - 2. Project Initiation and Information Elicitation Techniques
- Identifying the project scope and organizational context
Information elicitation techniques
Modelling scenarios - 3. Goal Modelling
- Fundamentals of goal-oriented requirements engineering
Modelling behavioural goals
Modelling quality goals
Goal modelling heuristics - 4. Object Modelling
- Fundamentals of object modelling for requirements engineering
Object modelling notations
Object modelling heuristics
Identifying objects from goals - 5. Operation Modelling and Verification and Validation
- Modelling use cases and state machines
Deriving operational requirements from goals
Requirements verification and validation - 6. Managing Inconsistencies and Conflicts
- Types of conflicts and inconsistencies
Fundamental techniques for inconsistency and conflict management
Handling Goal Conflicts - 7. Managing Risks
- Types of risks
Fundamentals of risk management
Software development risks
Goal obstacle analysis - 8. Requirements selection and prioritization
- The role of quality goals in the requirements selection process
Qualitative and quantitative techniques for requirements evaluation, selection and prioritization - 9. Requirements Management and Evolution
- Fundamentals of requirements management
Principles of requirements traceability and impact analysis
Requirements management tools - 10. Requirements Engineering and Software Design
- Relations between RE and software design
Method of Instruction:
Lecture presentations with associated tutorials. Practical workshops.
Assessment:
The course has the following assessment components:
- Written Examination (2.5 hours, 75%)
- Coursework Section (3 pieces, 25%)
To pass this course, students must:
- Obtain an overall pass mark of 50% for all sections combined
The examination rubric is:
Answer TWO questions. All questions carry equal marks.
Resources:
Reading will be set from journal and conference articles and book chapters.

