| STUDENTS
> Systems Requirements Engineering
|
Systems Requirements Engineering
Note:
Whilst every effort is made to keep the syllabus and assessment records correct
for this course, the precise details must be checked with the lecturer(s).
Code: | M014
(Also taught as: GS01)
|
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.
|