CS5033: Software Architecture
This module is offered in 2022-23.
Aims
- To introduce the concept of software architecture as a useful artefact throughout the software lifecycle.
Learning Outcomes
On successful completion of this module, the student should be more able to:
- List and explain the key elements of software architecture.
- Identify a variety of architectural styles and combine them in a single system.
- Design the software architecture of a non-trivial system.
- Describe how software architecture aids different stages of the software lifecycle.
Syllabus
- Architecture description: architectural elements, architecture lifecycle, architectural styles and patterns, architecture documentation.
- Architecture design: sources of software architecture, attribute-driven design, architecture evaluation.
- Architecture as an aid to software lifecycle: architecture reuse, product lines, architecture-driven implementation.
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 and participate in at least 70% of all tutorials