CS409 - Software Architecture & Design
TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 4 |
Semester | Semester 1 |
Availability | Not available as an elective. |
Prerequisites | CS308 Building Software Systems |
Learning Activities Breakdown | Lectures: 20 | Tutorials: 0 | Labs: 10 Assignments: 60 | Self study: 110 |
Items of Assessment | 2 |
Assessment | 30% coursework, 70% written examination. |
Lecturer | Lee Clift, Marc Roper |
Aims and Objectives
- To introduce students to the main challenges arising in advanced large-scale software design and role that software design patterns play in this.
- To to study a number of key design patterns and critically evaluate their application to software designs.
- To examine the implementation considerations and trade-offs that arise when deploying design patterns within systems.
Learning Outcomes
On completion of the class, a student should be able to:
- understand some of the main challenging design issues that software engineers face and the trade-offs associated with the solutions to these
- understand the principles of a number of key design patterns, including the considerations that need to be taken into account when using these
- apply a number of the key patterns to existing software designs and analyse and evaluate their implementation consequences
- demonstrate practical competence in the application of software design patterns to different contexts
Syllabus
Software Design: Key design principles and heuristics and trade-offs between these.
Design Patterns: history, principles and expectations. Ways of using patterns.
Detailed study of a number of representative patterns drawn from the main “GoF” set and covering the main categories of pattern (creational, behavioural and structural)
Practical application of the aforementioned patterns in the construction of software systems, and evaluation and analysis of their impact and consequences.
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Head First Design Patterns. O’Reilly, Freeman and Freeman.
Design Patterns. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, . Addison-Wesley, 1995
Last updated: 2025-08-19 11:21:13