Every framework in this course traces to one of these. Where a module summarises a source, read the source — the summary is a map, not the territory.
Standards
| Source | Covers |
|---|---|
| ISO/IEC/IEEE 42010 — Systems and software engineering: Architecture description | Architecture, architecture description, view, viewpoint, model kind, stakeholder, concern. The vocabulary in Modules 1 and 6 |
| ISO/IEC 25010 — Systems and software quality models | The quality attribute taxonomy in Module 3 |
| ISO/IEC 14764 — Software maintenance | The maintenance categories in Module 7 |
| TOGAF (The Open Group) | Architecture governance, the Architecture Definition Document, the ADM phases. Modules 6 and 8 |
| ArchiMate (The Open Group) | Business-architecture modelling notation, Module 2 |
| BPMN, UML (OMG) | Notations in Module 5 |
| NIST SP 800-145 — The NIST Definition of Cloud Computing | The five essential characteristics in Module 9 |
Books
| Source | Covers |
|---|---|
| Bass, Clements & Kazman — Software Architecture in Practice | The backbone: quality attribute scenarios, tactics, architectural structures, the modifiability cost model. Modules 1, 3, 6 |
| Clements et al. — Documenting Software Architectures: Views and Beyond | View packets, the interface template, style-and-view catalogue. Module 6 |
| Rozanski & Woods — Software Systems Architecture | The seven viewpoints and the perspectives concept. Module 6 |
| Richards — Software Architecture Patterns and Fundamentals of Software Architecture | Layered, event-driven (mediator and broker), microservices. Module 4 |
| Hohpe & Woolf — Enterprise Integration Patterns | The integration vocabulary used throughout Modules 4 and 9 |
| Hanmer — Patterns for Fault Tolerant Software | Fault, error, failure; redundancy types; recovery blocks. Modules 3 and 4 |
| Evans — Domain-Driven Design | Bounded context and context mapping. Module 4 |
| Humble & Farley — Continuous Delivery | Blue-green deployment, canary release, rollback. Module 4 |
| Abbott & Fisher — Scalability Rules | The scalability rules quoted in Module 3 |
| McConnell — Software Estimation: Demystifying the Black Art | Cone of uncertainty, over- versus underestimation, decomposition, Wideband Delphi. Module 7 |
| Nygard — Release It! | Circuit breaker, bulkhead, stability patterns. Module 4 |
| Newman — Building Microservices | Service decomposition and its costs. Module 4 |
| Kleppmann — Designing Data-Intensive Applications | Replication, partitioning, consistency. Module 9 |
| Lencioni — The Ideal Team Player | The hungry / humble / people-smart model referenced in Module 7 |
Papers and technical reports
| Source | Covers |
|---|---|
| Kruchten — The 4+1 View Model of Software Architecture (IEEE Software, 1995) | Module 6 |
| Parnas — On a buzzword: hierarchical structures (1974) | The origin of multiple structures, Module 6 |
| Perry & Wolf — Foundations for the Study of Software Architecture (1992) | Module 6 |
| Chen, Ali Babar & Nuseibeh — Characterizing Architecturally Significant Requirements (IEEE Software, 2013) | The four-part ASR framework in Module 3 |
| Clements & Bass — Relating Business Goals to Architecturally Significant Requirements (CMU/SEI-2010-TN-018) | The business-goal categories in Module 3 |
| Barbacci et al. — Quality Attribute Workshops (SEI) | The QAW steps in Module 3 |
| Kazman, Klein & Clements — ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004) | Module 8 |
| Bachmann & Bass / Wojcik et al. — Attribute-Driven Design (SEI) | The ADD rounds and iterations in Module 8 |
| O'Brien, Bass & Merson — Quality Attributes and Service-Oriented Architectures (CMU/SEI-2005-TN-014) | The SOA maturity table in Module 3 |
| Brewer — Towards Robust Distributed Systems (2000) and the CAP follow-ups | Module 9 |
| Lientz & Swanson — Software Maintenance Management (1980) | The maintenance categories in Module 7 |
Online and freely available
| Source | Covers |
|---|---|
| c4model.com — Simon Brown | The C4 model in Module 6 |
| arc42.org | The arc42 documentation template in Module 6 |
| adr.github.io and Nygard's Documenting Architecture Decisions (2011) | Architecture decision records, Module 6 |
| 12factor.net | The twelve-factor principles in Module 9 |
| microservices.io — Chris Richardson | The scale cube and microservice patterns, Modules 3 and 4 |
| martinfowler.com | Micro frontends, the architect elevator, CQRS, strangler fig |
| Azure Architecture Center (Microsoft) | CQRS, event sourcing, sharding, gatekeeper, valet key, federated identity — Module 4 |
| OWASP Top Ten, OWASP ZAP | Module 3 |
| Microsoft STRIDE threat model | Module 3 |
| Apache project documentation — Hadoop, Hive, Spark, Kafka | Module 9 |
| AMQP (ISO/IEC 19464) and JMS specifications | Module 9 |
| Cloud provider documentation and pricing pages | Module 7 and 9 sizing and cost models |
About this course
The case study, Lumen Diagnostics, and the capstone brief, Halcyon Standards Council, are fictional. Their numbers are chosen so the arithmetic in Modules 3, 6, 7 and 9 resolves cleanly and can be checked by the reader — not to characterise any real organisation or market.
Where a section is thinner than others, that reflects where the public literature is thinner. Modules 5 and 8 stay shorter in lecture notes: modelling is learned by drawing (the Module 5 Task) and evaluation by sitting in a review (the Module 8 ADD/ATAM Task). For Module 8 in particular, go to the SEI ATAM and ADD reports directly — they are freely available and more precise than any summary.