The University of Southampton
Courses

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

Module Aims

This module aims to introduce students to the software engineering process, its tools, skills, and techniques, particularly modelling, validation and design.

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 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
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

Syllabus

- 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

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

Resources & Reading list

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

Sommerville I, (2011). Software Engineering. 

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

Unified Modeling Language. 

Assessment

Summative

MethodPercentage contribution
Coursework 15%
Coursework 15%
Exam 70%

Referral

MethodPercentage contribution
Exam 100%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: COMP1201 (Programming I) AND COMP1215 (Foundations of Computer Science)

Share this module Facebook Google+ Twitter Weibo

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×