Skip to main content

Requirements:  2016-2017

Lecturers

Degrees

Schedule C1 (CS&P)Computer Science and Philosophy

Schedule C1Computer Science

Schedule C1Mathematics and Computer Science

Schedule CMSc in Advanced Computer Science

Term

Overview

NB This is a week-long course that will take place over the following dates: 11th, 12th, 15th, 16th, 17th May.

Course overview and aims

Requirements Engineering (RE) has emerged in recent years as an important stage in the development of software intensive systems. RE typically involves the conduct of a range of activities designed to gather, identify and document the properties a system should have in order to succeed in the environment in which it is used. This can be a very difficult task but successful RE can optimise the development process and avoid expensive errors occurring. As technological systems involve humans and human activity, experience has shown that RE is most successful when it includes identification of relevant social factors. These can then be reconciled with more technical aspects of the system.

 

In this course we provide an overview of the Requirements Engineering process and focus in particular on different methods of requirements gathering. We discuss how different approaches to elicit requirements have their own strengths and weaknesses and highlight the value of drawing on established methods from the social sciences when seeking to identify human factors relevant to system design. We also discuss formal requirements models and the process of preparing effective requirements documents. 

Learning outcomes

Knowledge • define basic concepts and principles within requirements engineering • give an account of several different types of requirements • describe and value several different methods and techniques for requirements engineering • discuss some academic research within requirements engineering

Skills • choose suitable requirements techniques for a given context • apply several different techniques for requirements elicitation • apply several different techniques for requirements specification • involve users in the requirements engineering process

Prerequisites

Students will not be required to have previous knowledge of requirements engineering though practical experience is useful.  There will be a pre-study exercise that must be completed before the course begins.

Synopsis

  • What is Requirements Engineering? What does it involve?
  • The Software Design Process: the need for requirements analysis
  • Discussion of key readings
  • The software requirements specificaton: functional and non-functional requirements; specification exercise
  • Requirements elicitation: various techniques; strengths and weaknesses
  • Fieldwork methods
  • Domain modellling
  • Use Cases
  • Scenarios and Agile Approaches
  • Prototyping and requirements
  • Further approaches in Requirements

Classes

This one week course incorporates pre-study, seminar style teaching, and a real-world mini-research project at the end of the course. Ther are 16 lectures and 6 tutorials

Assessment

The material from the lectures and classes will be assessed by take-home examination consisting of a real world case study report. Students will also be assessed on their pre-study exercise looking at the use of a technology of their choice.

Reading list

There is no single textbook for the course, however previous students have found the following helpful. Each provides a different view of the discipline:

 

Jirotka, M. and Goguen, J. Requirements Engineering: Social and Technical Issues. Academic Press. 1994.

Sommerville, I. and Sawyer, P. Requirements Engineering: A Good Practice Guide. John Wiley and Sons. 1997.

Alexander, I and Beus-Dukic, L. Discovering Requirements. Wiley, 2009.

 Fernandes, J. and Machado, R. Requirements in Engineering Projects. Springer, 2016.

 

Further readings will also be made available to you during the course and you will be expected to find and cite relevant literature in your written assignment. 

Feedback

Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.

Taking our courses

This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses

Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.