Skip to navigation | Skip to main content | Skip to footer

Current postgraduate taught students

COMP70180: Object Oriented Analysis and Design with UML (2007-2008)

This is an archived syllabus from 2007-2008

Object Oriented Analysis and Design with UML
Level: 7
Credit rating: 15
Pre-requisites: Knowledge and/or experience of programming. one high-level imperative language
Co-requisites: No Co-requisites
Lectures: 8 - 10 hours.
Course lecturer: not assignedAdditional staff: view all staff
Assessment Breakdown
Exam: 0%
Coursework: 0%
Lab: 0%


This course teaches essential skills in object-oriented analysis and design and the Universal Modelling Language. It is independent of particular software packages or programming languages, although there are a few small Java code examples. The only prerequisite is some familiarity with programming, not necessarily in an object-oriented language.


After successful completion of the module, a student will
understand how to design software in an object-oriented manner.
have mastered UML as a notation to support this design.
have undertaken a reasonably sized OO design in UML as part of a team-work exercise.


The course starts with a thorough introduction to object concepts, before explaining business modelling ("what do the customers need?") analysis ("what must the software do?") and design ("how will it do it?") Aspects of design covered include system and subsystem design and semi-formal specification of software responsibilities. No particular sofware development process is prescribed, but the approach taken is consistent with current best practice, in particular, the Rational Unified Process (RUP).
The course covers the OO software development life-cycle up to, but not including, the actual writing of code. The full syllabus is as follows:

Object Overview

Objects; Classes; Inheritance; Object-Oriented Type Systems; Software Development Methodology; Engineering or Invention?; Artifacts of Object-Oriented Software Development; Classes, Responsibilities and Collaborators.


Introduction; Business Perspective; Developer Perspective.


Introduction; Static Analysis; Dynamic Analysis.

System Design

Introduction; Networked System Topologies; Choosing Technologies; Partitioning Software.

Subsystem Design

Designing the Business Logic; Persistence using a Relational Database; Finalizing the User Interface; Designing the Business Services; Thread Safety.


The Specification Process.

Reading List

The course is delivered using a virtual learning environment (VLE). - Instruction takes the form of a written tutorial, delivered through the VLE. The tutorial includes a realistic case study to reinforce learning. Students are expected to study this tutorial in their own time.
At the end of each major topic, the students are asked to complete a substantial exercise; each exercise comes with its own guidelines. The exercises are based around another realistic case study. After the completion of each exercise, the course assessor will provide feedback to the students (via e-mail) and each will receive a copy of a model solution.
The VLE provides a bulletin board facility that the students are encouraged to use to communicate with one another, this board is moderated by the tutors and course assessor.
In this course students are split into project groups to develop solutions as a team (common practice in the work environment). The VLE supports the concept of teamwork, enabling the project groups to share information and to pass documents amongst the group. The tutors and course assessor can be contacted by e-mail or through the bulletin board for advice.
Each student is allocated to a tutorial group which meets on-line every week to discuss their individual study and any problems they are encountering. These tutorials are led by a member of School staff with the appropriate skills. The tutorial content is logged and students who are unable to attend are able to access the logged material.