Model Course Description (Page 9)


[Down] [Contents] [Aims/Objectives] [Reading List] [Help]

Model Course Description Requirements Engineering
Identifying code June 1995
CATS points CMS modular value Academic group
Level Category CATS level CMS category
7 Scheme(s) on which course is offered and other programme provisions

BSc Degree and Degree with Honours in Computer Science,
Information Systems Stream

8 Prerequisites

1. Basic modelling skills i.e. basic knowledge and competence in the use of structured methods and/or formal notations for software system modelling.
2. Reasonable communication skills i.e. ability to communicate effectively through speech and in writing.

9 Teacher/learning methods

The course will be taught in 3 hours per week, roughly divided into one one hour lecture, and two hours practical activity. Occasional tutorial sessions will also be provided during these times.

Lectures will be based around material drawn from the course text. Practical activities will focus mainly on developing aspects of a case study involving, for example, the specification of requirements for part of an active badge security system. Group work and self-study facilities for use in tackling this case study will be provided. Self- and peer assessment may also be used to support these activities.

10 Assessment

Relevant background knowledge and appreciation of important principles in requirements engineering will be assessed in an exam. The exam may also assess understanding of and competence in practical skills in requirements engineering using material based on the case study.

11 Course aims and objectives

The aim of this course is to prepare and equip students for work in the software industry which involves collecting and specifying requirements for software-intensive systems.
Requirements engineering is, roughly speaking, about describing or specifying what people, or organisations, want from a computer-based system in such a way that software engineers are able to build a system that satisfies their needs. More precisely, we can define requirements engineering as "the branch of systems engineering concerned with the real-world goals for, services provided by, and constraints on a large and complex software-intensive system. It is also concerned with the relationship of these factors to precise specifications of system behaviour, and to their evolution over time and across system families." (after Zave 1994).

The process of requirements engineering involves eliciting, modelling, analysing and validating requirements for systems and software. The verification of finished systems with respect to an original requirements specification is also an important issue. A range of tools and techniques is available to support each of these activities, and more such techniques are currently being developed by researchers in this area.

By the end of the course, students will:

  • be able to establish, define and manage requirements for software-intensive information systems such as the one used the casestudy
  • have an appreciation of relevant theoretical issues, and know how to keep up to date with further developments in this area.
12 Course content

  • Background and context
  • Definitions and terminology
  • Requirements acquisition and elicitation
  • Requirements modelling and analysis
  • Requirements documentation
  • Standards and tools for requirements engineering
13 Reading list

Course text:

  • P. Loucopoulos & V. Karakostas, "System Requirements Engineering" McGraw-Hill, 1995.
Further reading:

  • A. M. Davis, "Software Requirements: Objects, Functions and States" Prentice-Hall, 1993.
  • D. G. Gause & G. M. Weinberg, "Exploring Requirements: Quality Before Design", Dorset House, 1989.
14 Notes

Other schemes on which this course might be offered: MSc in Computer Science

Course writer: Sara Jones

Course moderator: Carol Britton


[Up] [Contents] [Help]