"Architecture is about the important stuff. Whatever that is."
Week | Week Starting | Topics | Link |
---|---|---|---|
1 | Feb 24 |
Software Architecture Layered Architecture |
Content |
2 | Mar 3 |
Security Principles Architectural Views Architecture Decision Records Pipeline Architecture |
Content |
3 | Mar 10 |
Containers Microkernal Architecture |
Content |
4 | Mar 17 |
Service-based Architecture Infrastructure as Code |
Content |
5 | Mar 24 |
Distributed Systems I Media Server Case Study |
Content |
6 | Mar 31 |
Distributed Systems II Event-driven Architecture |
Content |
7 | Apr 7 |
Microservices Architecture Message Queues |
Content |
8 | Apr 14 |
Microservices Architecture (cont.) Distributed Systems II (cont.) |
Content |
Mid-Semester Break | |||
9 | Apr 28 |
Monitoring & Logging Distributed Systems II (cont.) |
Content |
10 | May 5 |
Technical Documentation Distributed Systems III |
Content |
11 | May 12 |
Distributed Systems III (cont.) Serverless Architecture |
Content |
12 | May 19 |
Deployment Strategies Data Unleashed |
Content |
13 | May 26 |
Decomposing Monoliths Soft Skills for Architects Software Engineering Research |
Content |
Assessment | Release | Due by | Weighting |
---|---|---|---|
Project Proposal Video Intro | March 7th | March 28th @ 3pm (Week 6) | 5% |
Building a Scalable Architecture
|
March 3rd |
March 25 @ 3pm (Week 6) April 12 @ 3pm (Week 7) May 3rd @ 3pm (Week 10) |
30% |
Presenting an Architecture | March 8th | Week 10 - 13 | 30% |
Capstone Project | April 21st | June 3rd @ 3pm (Exam Block) | 35% |
This is a recent book (2020) which begins in part one by introducing the responsibilities of a software architecture, followed by some guiding principles for architectures. In part two, the book enumerates many of the architectures introduced in this course with good descriptions for later reference. Finally the book returns to the soft skills required for a career in software architecting.
In this course we have used this book to guide our discussion of important architectures.
This book is a staple of the field. Most courses on software architecture follow this book as a reference. The book is quite terse and academic which will require a strong will to complete. Rather than focusing on specific architecture patterns as in Richards & Ford, this book provides tactics to achieve each quality attribute which can be used to design new architectures
In this course we have used this book as a key reference for concepts and as one approach to categorising architectural views.
The focus of this book is on three quality attributes; reliability, scalability, and maintainability. Taking a modern and pragmatic approach, this book dives head first into techniques of managing the most difficult systems to scale, data-intensive systems.
Our lecture mini-series on distributed computing is heavily centred around the contents of this book.