This module is offered in 2016-17.


  • To define software engineering and consider aspects of well engineered systems.
  • To introduce planning and design strategies for programming in the large.
  • To study issues involved in designing, maintaining or evolving systems.
  • To introduce good software development practices.
  • To give students experience of working in agile development teams.

Learning Outcomes

On successful completion of this module, the student should:

  • Understand the foundations of software engineering.
  • Have knowledge and understanding of various methods of professional software development.
  • Have practical experience with a selection of software engineering methods.
  • Have practical experience of working in agile development teams.


  • Professional software development; key concerns in software development; process models and methods; software requirements; requirements specification; requirements elicitation; system design and modelling with UML; system architecture; software testing; agile development techniques; test-driven development; extreme programming; scrum development; team working project.

Compulsory Elements

This module has the following compulsory elements in addition to those common to all modules (mark of 4 in each assessment component):

  • Attend all guest lectures.
  • Attend and participate in Scrum demo session.

Module Delivery

  • [Adam Barker][5]

Back to top

Last Published: 06 Jun 2022.