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

COMP33411: Software Design using Patterns (2011-2012)

This is an archived syllabus from 2011-2012

Software Design using Patterns
Level: 3
Credit rating: 10
Pre-requisites: COMP23420
Co-requisites: No Co-requisites
Duration: 11 weeks
Lecturers: John Sargeant
Course lecturer: John Sargeant

Additional staff: view all staff
Sem 1 Lecture 1.4 Wed 10:00 - 11:00 -
Sem 1 B+w1 Lecture LF15 Tue 16:00 - 17:00 -
Sem 1 A w3+ Lab G23 Tue 16:00 - 17:00 -
Assessment Breakdown
Exam: 50%
Coursework: 50%
Lab: 0%

Themes to which this unit belongs
  • Software Engineering


This is not a conventional lecture course. In fact there will probably only be one conventional lecture. Rather than lecture handouts, the primary source of material will be the book "Applying UML and Patterns" by Craig Larman, and you will need to buy it. The book is neither cheap nor thin, but it is excellent, and every computer scientist should own a copy. You will be given detailed advice on which parts of the book to focus on, to avoid excessive reading time.

This is not just a 'reading course' however. There will be 23 contact sessions, but rather than lectures most of these will be of the following kinds:

Q&A: Question and answer sessions, where you can ask questions about the course material and have them answered.
Test: Sessions which include a half hour online test which counts for 10% of the total assessment for the course. There are five of these, each preceded by an optional self-assessment test which can be taken when convenient.
Review: Feedback on a previous test. A final review session will be held after the notional end of the course to review the mock exam.

The continuous assessment and accompanying feedback is made possible by the use of online exam software. See the additional information for more information on this form of assessment. The assessment will be based on a case study - applying UML and patterns to the design of an online exam system! This will run parallel to the case study in the book.

The primary aim of the course is stated in the title of the book: applying UML and patterns, as opposed to merely learning UML notation and pattern descriptions. The book contains a vast amount of sound advice on best practice in software development, and the students should internalise a reasonable subset of this.

Programme outcomeUnit learning outcomesAssessment
A2 A4 B1 B2 B3 C5 D4A student successfully completing this course should be able to explain the following techniques and apply them appropriately in software development: *Iterative development as exemplified by the Unified Process. *Use-case modelling and realisation. *Static and dynamic domain modelling. *The fundamental GRASP patterns. *A selection of the classic 'Gang of four' design patterns.
  • Examination
A2 A4 B1 B2 B3 C5 D4The student should also know when and where to look for additional techniques and patterns.
  • Examination


Each week has a primary theme (in some weeks there may also be secondary topics) and the style of the two contact sessions for each week is also listed. Since this is a brand new course some of the details may be subject to change.

Week 1

The Unified Process Introductory lecture, Q&A

Week 2

Use case modelling Q&A, test 1 (Unified process)

Week 3

Non-functional requirements Q&A, review 1

Week 4

System sequence diagrams and interaction diagrams Q&A, test 2 (Requirements analysis)

Week 5

Domain modelling Q&A, review 2

Week 6

Operation contracts Q&A, test 3 (Modelling)

Week 7

GRASP patterns (1) Q&A, review 3

Week 8

GRASP patterns (2) Q&A, test 4 (GRASP patterns)

Week 9

GoF patterns (1) Q&A, review 4

Week 10

GoF patterns (2) Q&A, test 5 (Gof patterns)

Week 11

Statechart modelling Q&A, review 5

Reading List

Conventional lecture notes will not exist, but notes on the case study will be provided.

Core Text
Title: Applying UML and patterns: an introduction to Object-Oriented analysis and design and iterative development (3rd edition)
Author: Larman, Craig
ISBN: 0131489062
Publisher: Prentice Hall
Edition: 3rd
Year: 2004
This book is essential for the course.