"Architecture is about the important stuff. Whatever that is."
Week | Week Starting | Topics | Link |
---|---|---|---|
1 | Feb 24 |
Software Architecture Architectural Views Layered Architecture |
Content |
2 | Mar 3 |
Security Principles 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 Event-driven Architecture |
Content |
6 | Mar 31 | Distributed Systems II | Content |
7 | Apr 7 |
Event-driven Architecture (cont.) Microservices Architecture Message Queues |
Content |
8 | Apr 14 |
Microservices Architecture (cont.) Serverless Architecture |
Content |
Mid-Semester Break | |||
9 | Apr 28 |
Monitoring & Logging Distributed Systems II (cont.) |
Content |
10 | May 5 | Labour Day | Content |
11 | May 12 |
Distributed Systems III Technical Documentation |
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 3rd | March 25th @ 3pm (Week 5) | 5% |
Cloud Infrastructure Assignment
|
March 17th |
April 4th @ 3pm (Week 6) April 17th @ 3pm (Week 8) May 9th @ 3pm (Week 10) |
35% |
Architecture Presentation | April 7th | Week 13 | 25% |
Capstone Project | April 7th | June 9th @ 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.