This module is offered in 2019-20.


The aims of this module are:

  • To give a broad overview of the software lifecycle and the development process.
  • To provide students with an understanding of how software engineering helps to manage software development within a division of labour.

Learning Outcomes

On successful completion of this module, the student should:

  • Understand the key concerns that are common to all software development processes.
  • Be able to select appropriate process models, approaches and techniques to manage a given software development process.
  • Be able to elicit requirements for a software product and translate these into a documented design.
  • Be able to identify dependability and security issues that affect a given software product.
  • Understand the role that testing and reuse play in the implementation phase and how these activities relate to the wider software process.


  • Software processes, traditional and agile.
  • Requirements engineering.
  • Modelling with UML: use cases; structure; constraints; behaviour.
  • Software testing.
  • Reuse-oriented software engineering.
  • Dependability and security.
  • Professional software development: project management, cost estimation, quality metrics, collaboration and ethical issues.

Compulsory Elements

This module has no compulsory elements beyond those common to all modules (mark of 4 in each assessment component).

Module Delivery

Back to top

Last Published: 21 Jun 2019.