1.About the book
2.About the author
3.We have a failure to communicate
- 3.1What happened to SSADM, RUP, UML, etc?
- 3.2A lightweight approach
- 3.3Draw one or more diagrams
- 3.4Where do we start?
- 3.5Some examples
- 3.6Common problems
- 3.7The hidden assumptions of diagrams
4.A shared vocabulary
- 4.1Common abstractions over a common notation
- 4.2Static structure
- 4.3Components vs code?
- 4.4Modules and subsystems?
- 4.5Microservices?
- 4.6Serverless?
- 4.7Platforms, frameworks, and libraries?
5.The C4 model
- 5.1Hierarchical maps of your code
6.System context diagram
- 6.1Intent
- 6.2Content
- 6.3Motivation
- 6.4Audience
- 6.5Recommended?
- 6.6Example
7.Container diagram
- 7.1Intent
- 7.2Content
- 7.3Motivation
- 7.4Audience
- 7.5Recommended?
- 7.6Example
8.Component diagram
- 8.1Intent
- 8.2Structure
- 8.3Content
- 8.4Motivation
- 8.5Audience
- 8.6Recommended?
- 8.7Example
9.Code diagram
- 9.1Intent
- 9.2Content
- 9.3Motivation
- 9.4Audience
- 9.5Recommended?
- 9.6Example
10.Dynamic diagram
- 10.1Intent
- 10.2Content
- 10.3Motivation
- 10.4Audience
- 10.5Recommended?
- 10.6Example
11.Deployment diagram
- 11.1Intent
- 11.2Content
- 11.3Motivation
- 11.4Audience
- 11.5Recommended?
- 11.6Example
12.System landscape diagram
- 12.1Intent
- 12.2Content
- 12.3Motivation
- 12.4Audience
- 12.5Recommended?
- 12.6Example
13.Notation
- 13.1Titles
- 13.2Keys and legends
- 13.3Elements
- 13.4Relationships
- 13.5Layout
- 13.6Acronyms
- 13.7Listen for questions
14.Summary
15.Appendix A: Software architecture diagram review checklist
- 15.1General
- 15.2Elements
- 15.3Relationships
16.Appendix B: Financial Risk System
- 16.1Background
- 16.2Functional Requirements
- 16.3Non-functional Requirements
