Software Architecture Schedule
Week One
Quality Attributes
Simplicity
Modularity
Maintainability
Understandability
Topics
Course Overview
Slides
Software Architecture
Handout
Slides
What is Software Architecture?
High Quality Software
Quality Attributes
Architectural Views
Handout
Slides
C4 Model
C4 Model
Software Architecture in Practice
Views
4+1 Views
Layered Architecture
Handout
Slides
Monolith Architecture
Layered Architecture
Layered Design Principles
AWS Course Material:
Cloud Foundations
Introduction
Introduction
Module 1
Module 2 (skim)
Modules 3 - 5
Readings from
Software Architecture in Practice
4
th
edition
Chapter 1 (skim section 1.2)
Chapter 2
Chapter 3
Case Study Session
No Case Study Session this week.
Practical
Worksheet
Worksheet (HTML)
HTTP APIs
REST
Flask
Week Two
Quality Attributes
Security
Modularity
Extensibility
Maintainability
Understandability
Topics
Security Principles
Handout
Slides
Guiding Security Principles
Security Practices
Architecture Decision Records
Handout
Slides
Pipeline Architecture
Handout
Slides
AWS Course Material:
Cloud Foundations
Modules 6 - 10
Readings from
Software Architecture in Practice
4
th
edition
Chapter 1 (section 1.2)
Chapter 11
Chapter 19
Case Study Session
Brief
Codegram
Practical
Worksheet
Worksheet (HTML)
Object Relational Mapping
SQLAlchemy
Migrations
Testing HTTP APIs
Assessment
Cloud Infrastructure Assignment released this week
Week Three
Quality Attributes
Modularity
Modifiability
Extensibility
Interoperability
Topics
Containers
Handout
Slides
Video
Microkernel Architecture
Handout
Slides
Media Server Example
C4 Model
Technical vs Domain Partitioning
AWS Course Material:
Cloud Architecting
Modules 1 & 2
AWS Course Material:
Cloud Developing
Module 1, 2 & 8 (just introduction to Docker containers)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 7
Chapter 8
Chapter 16
Case Study Session
Brief
MicroForecast
Practical
Worksheet
Worksheet (HTML)
Docker
Docker Compose
Assessment
API Functionality is due March 27th.
Week Four
Quality Attributes
Modularity
Reliability
Deployability
Topics
Service-Based Architecture
Handout
Slides
Infrastructure as Code
Handout
Slides
AWS Course Material:
Cloud Architecting
Modules 3 & 4
Readings from
Software Architecture in Practice
4
th
edition
Chapter 5
Chapter 17
Case Study Session
Brief
C4 Model
yLearn
Practical
Worksheet
Worksheet (HTML)
AWS
Terraform
Assessment
API Functionality is due next week.
Week Five
Quality Attributes
Reliability
Scalability
Topics
Distributed Systems I
Handout
Slides
Fallacies of Distributed Computing
Reliability and Fault Tolerance
Simple Scaling
Event-driven Architecture
Handout
Slides
AWS Course Material:
Cloud Architecting
Module 5
Modules 6 - 8 (skim)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 4
Chapter 21
Case Study Session
Brief
DevOps
Practical
Worksheet
Worksheet (HTML)
Deploying RDS on AWS using Terraform
Deploying HTTP API on AWS using Terraform
Using a container repository
Assessment
API Functionality is due this
Friday
(March 27th @ 3pm).
Week Six
Quality Attributes
Reliability
Scalability
Topics
Distributed Systems I (cont.)
Handout
Slides
Fallacies of Distributed Computing
Reliability and Fault Tolerance
Simple Scaling
Microservices Architecture
Slides
Message Queues
AWS Course Material:
Cloud Architecting
Modules 9 & 10
Module 11 (skim)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 9
Chapter 22
Case Study Session
Brief
Scalable Coffee Shop
Practical
Worksheet
Worksheet (HTML)
Load Balancers
Auto Scaling
Assessment
Deploy to Cloud is due immediately after the mid-semester break.
Mid-Semester Break
Week Seven
Quality Attributes
Reliability
Scalability
Topics
Distributed Systems II
Handout
Slides
Replications
Partitioning
Transactions
Microservices Architecture (Guest Lecture by
Damian MacLennan
)
Damian Slides
AWS Course Material:
Cloud Architecting
Module 12
Readings from
Software Architecture in Practice
4
th
edition
Chapter 6
Chapter 20
Case Study Session
Brief
Eventual Broker
Practical
Worksheet — Queues
Worksheet (HTML) — Queues
Queues
Worker Queues
Meet Your Project Team
Assessment
Deploy to Cloud is due this
Monday
(April 13th @3pm).
Start Scalable Application.
Capstone Project assignment released this week.
Architecture Presentation assignment released this week.
Week Eight
Quality Attributes
Reliability
Scalability
Maintainability
Topics
Distributed Systems II (cont.)
Handout
Slides
Replications
Partitioning
Transactions
Serverless Architecture
Slides
AWS Course Material:
Cloud Architecting
Module 13 (skim Lambdas)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 10
Case Study Session
Brief
Scalable Text-to-Speech
Practical
Worksheet — Load Testing
Worksheet (HTML) — Load Testing
Logging
Load Testing
Bottlenecks
Assessment
Scalable Application is due next week.
Start working on the Capstone Project.
Week Nine
Quality Attributes
Reliability
Scalability
Maintainability
Topics
Distributed Systems III
Handout
Slides
Consensus
Consistency
Fault Tolerance
Distributed Transactions
Monitoring & Logging (Guest Lecture by
Larene Le Gassick
)
Slides
AWS Course Material:
Cloud Architecting
Module 14 (skim)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 12
Case Study Session
Brief
Ticket Sales to the World — Scaling Transactions
Practical
Scalable Application Assignment Help
Assessment
Scalable Application is due this
Friday
(May 1st @ 3pm).
Continue working on the Capstone Project.
Week Ten
Quality Attributes
Reliability
Scalability
Topics
Labour Day Public Holiday — No Lecture
Case Study Session
Spam Handling
Practical
Project Team Meetings
Assessment
Continue working on the Capstone Project.
Week Eleven
Quality Attributes
Reliability
Maintainability
Topics
Distributed Systems III (cont.)
Handout
Slides
Consensus
Consistency
Fault Tolerance
Distributed Transactions
Technical Documentation (Guest Lecture by
Anna Truffet
from Google)
Slides
Case Study Session
Practical
Project Team Meetings
Assessment
Continue working on the Capstone Project.
Start working on the Architecture Presentation.
Week Twelve
Quality Attributes
Security
Reliability
Evolvability
Deployability
Maintainability
Interoperability
Topics
Deployment Strategies
Slides
Release Branching
Recreate Deployment
Rolling Deployment
Blue/green Deployment
Canary Deployment
A/B Deployment
Shadow Deployment
Decomposing Monoliths
Slides
Soft Skills for Architects
Slides
Leveraging Conway's Law
Breadth over Depth
Software Engineering Research
Case Study Session
Course Feedback
Practical
Project Team Meetings
Assessment
Continue working on the Capstone Project.
Architecture Presentation is due next week.
Week Thirteen
Quality Attributes
Maintainability
Topics
Presentations
Case Study Session
Presentations
Practical
Presentations
Assessment
Architecture Presentation slides are due this
Monday
(May 25th @ 3pm).
Architecture Presentations are conducted this week.
Continue working on the Capstone Project — due
June 8th @ 3pm
.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
.