Requirements Engineering
Establishing firm and precise requirements is an essential component of successful software development. This course covers a range of methods from the hard semi-formal approaches to softer methods, and some innovative techniques. Practical guidance is also included.
Frequency
This subject has been discontinued; no further courses are planned.
Objectives
At the end of the course the student will have a breadth of knowledge about the range of requirements methods, tools, and techniques. They will gain an appreciation of at least two methods, and obtain practical guidance on elicitation techniques.
Contents
- The Software Design Process:
- the need for requirements analysis; the software lifecycle.
- Classification of Requirements Methods:
- an orientation from which to assess existing and novel methods
- Hard Methods:
- underlying assumptions; practical exercise using a standard method.
- Elicitation Techniques:
- various techniques; strengths and weaknesses.
- Soft Methods:
- Soft Systems Methodology; socio-technical approaches.
- Specifying Requirements:
- functional and non-functional requirements; specification exercise.
- Managing the Requirements Process:
- methods which provide a structure for co-operation between different stake holders.
- Prototyping:
- the role of prototyping in requirements techniques for prototyping.
- Requirements for Future Technologies:
- Computer Supported Co-operative Work (CSCW); networked multi-media systems.
Requirements
Previous knowledge of requirements is not necessary, but experience in some aspect of software design is desirable.