School of Electronic Engineering and Computer Science

ECS505U Software Engineering

Module code: ECS505U

Credits: 15
Semester: SEM1

Software Engineering is concerned with applying engineering principles to the production of software.

The aim of this module is to provide the management principles, theoretical foundations, tools, notation and background necessary to develop and test large-scale software systems. The practical part of the module consists of lab assignments in which students use a range of relevant tools (a Java programming IDE, unit testing tool, configuration management tool, UML design tool, and project planning tool).

Topics covered include:

  • Systems Concepts and Modelling
  • Introduction to OO Modelling
  • Software Development Life Cycles
  • Domain, Requirements and Use-Case Analysis
  • Static and Dynamic Modelling With UML
  • Design Patterns
  • Software Testing
  • Software Quality Assurance and Metrics
  • Software Project Management
  • Legal, Social and Ethical Issues in Software Engineering

Level: 5