School of Computer Science

Module 06-27114 (2019)

Software Engineering 2 (Extended)

Level 4/M

Shuo Wang Semester 2 10 credits
Co-ordinator: Shuo Wang
Reviewer: Shuo Wang

The Module Description is a strict subset of this Syllabus Page.


Overview of software lifecycle and distributed software architectures: styles, quality attributes, design trade-offs, evaluation, specification and tools support; Object-oriented analysis and design using Unified Modelling Language (UML) and patterns


The aims of this module are to:

  • introduce some methods and techniques available to the software engineer for use in the requirements engineering process
  • present standard object-oriented techniques for software analysis and design
  • introduce key object-oriented design principles
  • introduce design patterns and demonstrate how they can facilitate the overall development process

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. Explain the importance of architecture in distributed software systems,identify styles and patterns, and understand the design trade-offs involved.
  2. Use UML in the analysis, architecture, design of software systems.
  3. Distinguish between various software lifecycle models and their use.
  4. Appreciation of the literature in topics of distributed software architectures, emerging trends in distributed software engineering (e.g. cloud).


May not be taken by students who have already completed or are currently registered for LH non-extended version

Taught with

Teaching methods

Large Group Lectures

Contact Hours:



Sessional: 1.5 hr Examination (50%) Continuous Assessment (50%)

Supplementary (where allowed): 1.5 hr Examination (100%)

Programmes containing this module