UCL Home Page
Home Admissions Students Alumni Research Business People Help
 

 


| 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 engineeringThe 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 fromUnderlying 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 solveProblem 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 itInformation 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 enquiryThe 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 conflictsThe 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 engineeringThe 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 informationThe 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 requirementsValidating 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 processesCurrent 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

 
Last updated: 10 May, 2006 Maintained by Jill Saunders