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 4th 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

AWS Course Material: Cloud Foundations
  • Modules 6 - 10
Readings from Software Architecture in Practice 4th 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

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 4th edition
  • Chapter 7
  • Chapter 8
  • Chapter 16
Case Study Session Brief
  • MicroForecast
Practical Worksheet Worksheet (HTML)
  • Docker
  • Docker Compose
Assessment


Week Four
Quality Attributes
  • Deployability
Topics

AWS Course Material: Cloud Architecting
  • Modules 3 & 4
Readings from Software Architecture in Practice 4th 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

AWS Course Material: Cloud Architecting
  • Module 5
  • Modules 6 - 8 (skim)
Readings from Software Architecture in Practice 4th 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

AWS Course Material: Cloud Architecting
  • Modules 9 & 10
  • Module 11 (skim)
Readings from Software Architecture in Practice 4th 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.


Mid-Semester Break



Week Seven
Quality Attributes
  • Scalability (continued)
Topics

AWS Course Material: Cloud Architecting
  • Module 12
Readings from Software Architecture in Practice 4th 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 4th 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.


Week Nine
Quality Attributes
  • Scalability (continued)
Topics

AWS Course Material: Cloud Architecting
  • Module 14 (skim)
Readings from Software Architecture in Practice 4th 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

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.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.