Accessibility statement

Software Engineering - COM00144M

« Back to module search

  • Department: Computer Science
  • Module co-ordinator: Dr. Tommy Yuan
  • Credit value: 15 credits
  • Credit level: M
  • Academic year of delivery: 2024-25

Module summary

This module focuses on designing and building software systems. 

Related modules

Co-requisite modules

  • None

Prohibited combinations

  • None

Module will run

Occurrence Teaching period
A Online Teaching Period 4 2024-25

Module aims

This module focuses on designing and building software systems, which these days are often large, complex and long-lived. They are worked on by teams of engineers, and changed constantly over their lifetimes. We will look at principles and patterns of software design, where to apply them, and how they may inform our design choices. We will also look at techniques for ensuring that systems you build behave correctly. We show how the application of these makes it possible to evolve systems effectively in a rigorous way.

 

Module learning outcomes

Be able to:

  1. Investigate and analyse a problem, write a software requirement specification and design blueprint expressed in UML which provides a basis for code generation,

  2. Apply a range of design patterns and principles to solve particular design problems,

  3. Apply a range of refactoring techniques to improve code quality

  4. Critically evaluate and apply a range of tools and techniques for automated software testing, including test-driven development,

  5. Manage risk in making changes to an existing software system through rigorous engineering practices,

  6. Critically evaluate the appropriateness of different software engineering techniques/tools in different circumstances, and on the quality of the design of an application.

Module content

Topics:
 

  1. Software development process

  2. Requirement capture and modelling

  3. Requirement analysis and specification

  4. High-level and Lower level design

  5. Design patterns and state machines

  6. Refactoring and software testing

  7. Software risk and quality management

Assessment

None

Special assessment rules

None

Reassessment

None

Module feedback

In line with university policy. 

Indicative reading

Bennett, Simon; McRobb, Steve; Farmer, Ray, Object-Oriented System Analysis and Design, 4th Ed, McGraw Hill, 2010.

Sommerville I., Software Engineering, 9th edition, Addison Wesley, 2015.



The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.