School of Computer Science

Module 06-26426 (2019)

Software Engineering 2

Level 2/I

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

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


Overview of software lifecycle, 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

Taught with

  • 06-27114 - Software Engineering 2 (Extended)

Teaching methods


Contact Hours: 23


Sessional: 1.5 hr examination (50%), continuous assessment (50%).

Supplementary (where allowed): By 1.5 hr examination only (100%).

Programmes containing this module