Skip to main navigationSkip to main content
The University of Southampton

COMP1216 Software Modelling and Design

Module Overview

This module aims to introduce students to the software engineering process, its tools, skills, and techniques, particularly modelling, validation and design. The focus will be on a principled, object-oriented process from requirements modelling and analysis through design, with rolling case study and coursework examples developing the knowledge and skills.

Aims and Objectives

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • The software development process
  • Requirements elicitation and structuring
  • Requirements modelling in UML and set-theoretic notations, and their validation
  • The use of UML design notations
  • Concepts of software architecture, design patterns and their applicability
  • Characteristics of appropriate APIs, Tools, IDEs
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Specify, analyse and organise requirements for a software product
  • Model, analyse and validate such software requirements using UML and set-theoretic notations
  • Apply appropriate UML design patterns and notations to the design of components of a product
  • Select and use appropriate APIs and Tools in mapping these designs to code
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Apply an appropriate software engineering process and tools to the task of structuring, modelling and validating requirements for a software product
  • Apply appropriate software engineering techniques and tools from a suitable requirements model


- From problems (requirements) to solutions (programs): process - Software process models, e.g. waterfall, agile - Requirements elicitation, modelling, analysis and validation - Structuring narrative requirements - Structure: class diagrams, state: state machines - Modelling, analysis and validation with UML and Event-B - Use of tools for analysis and validation of models - Modelling and analysis case studies - UML design notations: use cases, scenarios: sequence diagrams - Design patterns, generics - Architecture - APIs, Tools

Learning and Teaching

Wider reading or practice23
Preparation for scheduled sessions18
Follow-up work18
Completion of assessment task43
Total study time150

Resources & Reading list

S. Bennett, J. Skelton, et al. (2011). Schaum's outline of UML. 

Sommerville I, (2011). Software Engineering. 

Bernd Bruegge, Allen H. Dutoit (2013). Object-oriented Software Engineering Using UML, Patterns, and Java. 

Lecture notes on Event-B.

Fowler M & Scott K (1997). UML Distilled. 

Unified Modeling Language. 



MethodPercentage contribution
Continuous Assessment 30%
Final Assessment  70%


MethodPercentage contribution
Set Task 100%


MethodPercentage contribution
Set Task 100%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: COMP1202 AND COMP1215

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings