This module is offered in 2024-25.

Aims

This module introduces students to the concepts of software architecture and design as aids to developing good quality software. It covers: Architecture description (architecture elements, architecture styles, architecture documentation); Architecture design (processes for architecture design and evaluation); Software design (principles, patterns, anti-patterns, design documentation and evaluation); Architecture and design-driven implementation; and Ethical considerations in software architecture and design.

Learning Outcomes

On successful completion of this module, the student should be more able to:

  • explain the relevance of software architecture and design to different software development methodologies;
  • list the key elements of software architecture and design;
  • identify the architecture styles and design patterns of existing software systems;
  • specify the software architecture and design given non-trivial system descriptions; and
  • implement systems conformant with software architecture and design specifications.

Syllabus

  • Architecture description: architecture elements, architecture styles, architecture documentation.
  • Architecture design: processes for architecture design and evaluation.
  • Software design: principles, patterns, anti-patterns, design documentation and evaluation.
  • Architecture and design-driven implementation.
  • Ethical considerations in software architecture and design.

Compulsory Elements

This module has the following compulsory elements in addition to those common to all modules (mark of 4 in each assessment component):

  • attend at least 70% of all tutorials and guest lectures

Module Delivery

Back to top

Last Published: 11 Dec 2024.