Software Architecture Schedule
Week One
Quality Attributes
Simplicity
Modularity
Topics
Course Overview
Slides
Software Architecture
Handout
Slides
What is Software Architecture?
High Quality Software
Quality Attributes
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
Topics
Security Principles
Handout
Slides
Lecture Recording
Guiding Security Principles
Security Practices
Architectural Views
Handout
Slides
C4 Model
C4 Model
Software Architecture in Practice
Views
4+1 Views
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
Resulting Diagram
Codegram
Practical
Worksheet
Worksheet (HTML)
Object Relational Mapping.
SQLAlchemy.
Migrations.
Testing HTTP APIs
Week Three
Quality Attributes
Extensibility
Interoperability
Modifiability
Topics
Containers
Handout
Slides
Microkernel Architecture
Handout
Slides
Overview Video
Detailed Video
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
Scalability assignment released this week.
Specification
Project proposal assignment released this week.
Specification
Video Intro
Case study presentation assignment released this week.
Specification
Week Four
Quality Attributes
Deployability
Topics
Service-Based Architecture
Handout
Slides
Infrastructure as Code (Guest Lecture by
Damian MacLennan
)
Handout
Slides
Terraform Demo
Terraform Code
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
Continue working on project proposal.
API Functionality is due next week.
Continue working on case study.
Week Five
Quality Attributes
Reliability
Topics
Distributed Systems I
Handout
Slides
Fallacies of Distributed Computing
Reliability and Fault Tolerance
Simple Scaling
Microkernel Architecture (continued)
Slides
Media Server Case Study
C4 Model
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
Continue working on case study.
Project proposal due next week.
API Functionality due on Monday, next week.
Start working on Deploy to Cloud.
Week Six
Quality Attributes
Scalability
Topics
Event-driven Architecture
Handout
Slides
Distributed Systems II
Handout
Slides
Replications
Partitioning
Transactions
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
Specification
Draft Architecture Models
Practical
Worksheet
Worksheet (HTML)
Load Balancers
Auto Scaling
Assessment
API Functionality due on Monday.
Opportunity to show draft architecture model of your case study in Wednesday Case Study session.
Continue working on Deploy to Cloud.
Project proposal due on Thursday.
Week Seven
Quality Attributes
Scalability (continued)
Topics
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
Cloud Deployment Assignment Help
Assessment
Project proposal voting due next Monday.
Deploy to Cloud due on Friday.
Continue working on case study.
Week Eight
Quality Attributes
Scalability (continued)
Maintainability
Topics
Microservices Architecture (cont.)
Slides
Distributed Systems II (continued)
Handout
Slides
Replications
Partitioning
Transactions
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
Worksheet — Queues
Worksheet (HTML) — Queues
Queues
Worker Queues
Logging
Load Testing
Bottlenecks
Assessment
Continue working on case study.
Start working on Scalable Application.
Project proposal voting due on Monday.
Mid-Semester Break
Week Nine
Quality Attributes
Scalability (continued)
Topics
Monitoring & Logging (Guest Lecture by
Larene Le Gassick
)
Slides
Distributed Systems II (continued)
Handout
Slides
Replications
Partitioning
Transactions
AWS Course Material:
Cloud Architecting
Module 14 (skim)
Readings from
Software Architecture in Practice
4
th
edition
Chapter 12
Case Study Session
Monitoring & Logging
Practical
Meet Your Project Team
Scalable Application Assignment Help
Assessment
Continue working on case study.
Scalable Application due next week.
Start working on the project.
Week Ten
Quality Attributes
Scalability (continued)
Topics
Distributed Systems III
Handout
Slides
Consensus
Consistency
Fault Tolerance
Distributed Transactions
Technical Documentation (Guest Lecture by
Anna Truffet
from Google)
Slides
Case Study Session
Presentations
Cloud Infrastructure Assignment Q&A Session
Practical
Presentations
Project Team Meetings
Assessment
Case study presentations start this week.
Scalable Application due on Friday.
Continue working on the project.
Week Eleven
Quality Attributes
Scalability
Extensibility
Deployability
Topics
Distributed Systems III
Handout
Slides
Consensus
Consistency
Fault Tolerance
Distributed Transactions
Serverless Architecture
Slides
Case Study Session
Presentations
Practical
Presentations
Project Team Meetings
Assessment
Case study presentations continue this week.
Continue working on the project.
Week Twelve
Quality Attributes
Scalability
Evolvability
Interoperability
Security
Topics
Deployment Strategies
Slides
Release Branching
Recreate Deployment
Rolling Deployment
Blue/green Deployment
Canary Deployment
A/B Deployment
Shadow Deployment
Data Unleashed
(Guest Lecture by
Bronwen Zande
)
Case Study Session
Brief
Presentations
Practical
Presentations
Project Team Meetings
Assessment
Case study presentations continue this week.
Continue working on the project.
Week Thirteen
Quality Attributes
Maintainability
Topics
Decomposing Monoliths
Slides
Soft Skills for Architects
Slides
Leveraging Conway's Law
Breadth over Depth
Software Engineering Research
Case Study Session
Presentations
Practical
Presentations
Project Team Meetings
Assessment
Case study presentations continue this week.
Continue working on the project — due June 3.
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
.