|
| 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: | GS01
(Also taught as: 4C14)
|
Year: | MSc |
Prerequisites: | An understanding of the basics of programming and software engineering. |
Term: | 1 |
Taught By: | Anthony Hall (100%)
|
Aims: | This course 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 course 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 course seeks to illustrate the wider applicability of requirements engineering to everyday projects, the breath of skills required and the many contributing disciplines. |
Learning Outcomes: | To be able to: appreciate the engineering issues which form the background to establishing, defining and managing the requirements for large, complex, evolving (software-intensive) systems; explain how various supporting concepts, notations, techniques, methods and tools can be used together to define and support a requirements engineering process; demonstrate the practical use of selected techniques and tools; plan and carry out a requirements engineering process for a small project and demonstrate how it can be used to help establish a managed set of requirements for the project; discuss and evaluate current and future developments in the area of systems requirements engineering. |
Content:
Overview an introduction to requirements and requirements engineering | The purpose and scope of requirements engineering The importance of requirements engineering in the software and systems engineering context The difficulties of requirements engineering The costs associated with doing and with not doing requirements engineering Classic examples The fundamental requirements engineering process |
Foundations the body of knowledge that requirements engineering draws from | Underlying concepts of requirements engineering The multifaceted and interdisciplinary nature of requirements engineering The many contributing disciplines and what they contribute Human and technical aspects of requirements engineering |
Groundwork understanding the problem that requirements engineering is trying to solve | Problem exploration, analysis and definition Scoping and bounding the requirements and design spaces The wider domain and systems context Clarifying the assumptions Feasibility studies Assessing the impact of contextual decisions |
Elicitation the information that needs to be acquired and the processes for acquiring it | Information requirements Stakeholder identification, classification and mapping Viewpoint analysis Approaches and techniques for gathering requirements, their strengths, weaknesses and applicability The role of participation, group work, consensus building and negotiation in requirements acquisition Communication through scenarios Envisaging the system with prototypes |
Modelling and analysis - ways in which the raw requirements are rendered usable and subject to systematic enquiry | The representation of requirements Models and the role of modelling Modelling aspects of the environment Modelling system behaviour Specification languages and notations Analysing non-functional requirements Safety and security requirements Modelling tools |
Managing conflicts | The inevitability of requirements conflicts Understanding sources of conflict Conflict resolution strategies The role of negotiation, agreement and sign-off Preserving and supporting multiple viewpoints in documentation Prioritising requirements |
Communication and documenting the results of requirements engineering | The requirements for communication Desirable content and attributes of documented requirements Structuring and organising requirements information Schemes, meta-data and information models for recording product and process information Schemes for recording assumptions, rationale and decisions The role of standards and codes of practice Examples of standards and how to use them |
Management of large and changing collections of requirements information | The scope and purpose of through-life requirements management Requirements evolution and change Impact analysis The role of requirements traceability, version control and configuration management Setting criteria to evaluate through-life integrated tool support for requirements engineering Features, strengths and limitations of requirements management tools Reuse of the products and processes of requirements engineering Necessary processes in requirements management Issues associated with scale, dynamics and product families |
Measuring the quality of requirements | Validating and verifying requirements Inspections, reviews and walkthroughs Assessing how well requirements capture stakeholder needs Assessing how well requirements are expressed Measuring a system against its requirements |
Practical requirements engineering processes | Current best practice Defining a requirements engineering process in practice Selecting integrated methods and tools in practice Areas that still need more attention |
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 (9 pieces, 25%)
To pass this course, students must:
- Obtain at least 40% on the coursework component
- Obtain an average of at least 50% when the coursework and exam components of a course are weighted together
The examination rubric is: Answer ALL of Part I (Qs 1 and 2) and TWO Questions from Part II (Qs 3, 4 and 5)Resources:
Reading will be set from journal and conference articles and book chapters. There is no single textbook for the course, but the following books will all be useful.
Exploring Requirements: Quality Before Design; Donald C. Gause and Gerald M. Weinberg; Hardcover 299 pages (1989); Dorset House Publishing Co., Inc.; ISBN: 0-932633-13-7
Mastering the Requirements Process; Suzanne Robertson and James Robertson; Hardcover 404 pages (1999); ACM Press; ISBN: 0-201036046-2
Scenarios, Stories, Use Cases Through the Systens Development Life-Cycle, , Alexander, Ian and Maiden, Neil (eds.), Wiley, 2004.
Writing Effective Use Cases, Alistair Cockburn, Addison Wesley, 2001
Customer-Centered Products, Ivy Hooks and Kristin Farry, Amacom, 2001
Problem Frames, Michael Jackson, ACM Press, 2001
Safeware: System Safety and Computers, Nancy Leveson, Addison-Wesley, 1995
|
|