Software Engineering - COM00144M

«Back to module search

  • Department: Computer Science
  • 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


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

Indicative assessment

Task % of module mark
Open Examination 100

Special assessment rules

None

Indicative reassessment

Task % of module mark
Open Examination 100

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.