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

Current postgraduate taught students

COMP61532: Pattern-based Software Development (2012-2013)

This is an archived syllabus from 2012-2013

Pattern-based Software Development
Level: 6
Credit rating: 15
Pre-requisites: COMP61511 software engineering overview
Co-requisites: No Co-requisites
Lectures: 20
Labs: 40
Course Leader: Liping Zhao
Additional Lecturers: John Sargeant
Course leader: Liping Zhao

Additional staff: view all staff
Sem 2 P3 Lecture 2.19 Mon 10:00 - 13:00 -
Sem 2 P3 Lab 2.25abcd Mon 14:00 - 17:00 -
Assessment Breakdown
Exam: 50%
Coursework: 50%
Lab: 0%

Themes to which this unit belongs
  • Software Engineering 2
  • Computer Science units for ACSwITM students (semester 2)


A software pattern is ?a solution to a recurring problem in a given context? (Grady Booch). Patterns capture existing best practice, and so are identified or discovered rather than invented. Software patterns first became widely known through the famous 1992 ?gang of four? (GoF) book, called Design Patterns, although the notion of patterns in this sense originated with the architect Christopher Alexander in the 1970s. Design patterns are solutions to recurring software design problems; like other patterns they have names (e.g. Composite, Proxy) which form a language for communication between Software Engineers. Since the GoF book, many other design patterns have been identified.

The use of patterns spread rapidly from design to all other aspects of software development, so nowadays there are patterns for coding, testing, requirements capture, software architecture, and so on. More recently some organisations have focussed on documenting software patterns from a business rather than a technical perspective. IBM?s ?patterns for e-business? project is probably the most comprehensive and useful of such efforts.


This course unit will introduce students to a wide range of software patterns, with particular emphasis on design patterns and e-business patterns. As well as a theoretical understanding of patterns students will gain practical experience of applying them through laboratory case studies.

Programme outcomeUnit learning outcomesAssessment
A1Describe a range of software patterns giving examples of their use
  • Examination
B2 B3 C1Select and apply design patterns to practical software design problems
  • Examination
  • Group coursework
B2 B3 C1Select and apply e-business patterns to realistic business situations
  • Examination
  • Group coursework
D1Work effectively in a small team to achieve 2 and 3 above
  • Group coursework

Academic knowledge

The notion of a pattern and of different kinds of software patterns;
The relationship between business requirements and e-business application architectures;
IBM Patterns for e-business as solutions for e-business application system design;
Commonly used software patterns, especially design patterns
The use of patterns for designing an e-business system based on a real world case study.

Intellectual skills

Demonstrate a good understanding of IBM Patterns for e-business design and their approach;
Demonstrate a competence in applying patterns to the e-business design.
Demonstrate competence in selecting and applying design patterns to construct software

Subject practical skills

Apply the pattern approach to two practical situations, one focussing on e-business patterns and one on design patterns.

Transferable Skills

Independently gather, sift, synthesise and organise material from a variety of sources, and critically evaluate the extent to which it might contribute to current developments in the field.
Improve one's own approach to professionalism through planning, monitoring, critical evaluation and reflection.

Demonstrate an ability to collaborate with other people through group work.
Prepare a coherent and well structured written report.


? Introduction to patterns; pattern descriptions; types of software pattern; problem-oriented vs. solution-oriented patterns
? Overview of IBM Patterns for e-business and e-business architectural design
? E-business patterns: Self-service, Collaboration, Information Aggregation, Extended Enterprise; Integration patterns; Composite patterns.
? Case study applying e-business patterns and their relationship to business processes
? Introduction to business process modelling
? Design patterns: Singleton, Strategy, Composite, Proxy, Item Description, State, Command, Observer. Relationship to GRASP patterns.
? Software architecture patterns and Service-oriented architectures
? Examples of patterns for coding, testing and concurrency control.

Reading List

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
Also very useful for COMP61511