Skip to main content

Learning Resources

This module is populated from the local chunked books in library/raw/semester-07-architecture-ddd/books. Use this page as a source map, not as an instruction to read everything. Open a chunk when a concept page points you there, not pre-emptively.

Source Stack

BookRoleHow to use it in this module
Fundamentals of Software Architecture (Richards & Ford)Primary teaching sourceDefault escalation for definitions of architecture, architect roles, characteristics (explicit/implicit), fitness functions, and tradeoff analysis
Just Enough Software Architecture (Fairbanks)Secondary framingRisk-driven model, architect's role, architecture description, models and views
Clean Architecture (Martin)Selective"What is architecture?" framing and the behavior vs. structure distinction
Learning Domain-Driven Design (Khononov)PeripheralUsed sparingly for domain-framing language where Cluster 3 needs it
API Design Patterns (Geewax)Out of scopeUsed by Module 4, not here

Resource Map by Cluster

Cluster 1: What Architecture Is

NeedBest local chunkWhy
defining software architectureRichards & Ford: Defining software architectureCanonical definition and the "four dimensions" frame
architect's role / business domainRichards & Ford: Have business domain knowledgeWhat architects do beyond drawing boxes
engineering practices expectedRichards & Ford: Engineering practicesThe technical dimension of the role
operations / DevOps dimensionRichards & Ford: Operations - DevOpsWhy the architect must own runtime concerns
thinking like an architectRichards & Ford: Architectural thinkingTechnical + strategic + communicator modes
balance: architect vs hands-onRichards & Ford: Balancing architecture and hands-on codingThe "architecture vs code blur" in practice
what is software architecture (Fairbanks)Fairbanks: What is software architectureSecond definition, different vocabulary
why architecture mattersFairbanks: Why is software architecture important (1)The "avoidable failures" argument
architect's jobFairbanks: Architects architecting architecturesA compact framing of the architect role
clean architecture framingMartin: The goalStructure as "ability to keep changing software"
behavior vs structureMartin: Behavior to fight for the architectureThe "urgent vs important" argument

Cluster 2: Quality Attributes (the "-ilities")

NeedBest local chunkWhy
architecture characteristics definedRichards & Ford: Architecture characteristics definedThe definitional starting point
cross-cutting characteristics catalogRichards & Ford: Cross-cutting architecture characteristicsThe "-ilities" catalog; use as a lookup
measuring characteristicsRichards & Ford: Measuring architecture characteristicsWhy measurable responses matter
measuring modularityRichards & Ford: Measuring modularityOne example of operationalizing a characteristic
measuring modularity 2Richards & Ford: Measuring modularity 2Metrics like cohesion, coupling, connascence
tradeoff analysis as mindsetRichards & Ford: Analyzing trade-offsSeeds the ATAM-style mindset

Cluster 3: Architectural Characteristics in Practice

NeedBest local chunkWhy
identifying characteristicsRichards & Ford: Identifying architectural characteristicsThe canonical extraction routine
extracting from requirementsRichards & Ford: Extracting architecture characteristics from requirementsThe practical workshop
explicit characteristicsRichards & Ford: Explicit characteristicsStated requirements, written out as characteristics
implicit characteristicsRichards & Ford: Implicit characteristicsDomain-demanded but unstated; the hardest category
scope of characteristicsRichards & Ford: Scope of architecture characteristicsWhere a characteristic lives in the system
fitness functionsRichards & Ford: Fitness functionsThe canonical chapter on automated verification
characteristics case studyRichards & Ford: Going, going, gone case studyWorked extraction example
Khononov: characteristic lens on domainsLearning DDD: Distilling the problem domainUse only when characteristic mapping pulls toward core/supporting subdomains

Cluster 4: Architectural Tradeoffs

NeedBest local chunkWhy
analyzing tradeoffsRichards & Ford: Analyzing trade-offsThe first-law-of-architecture chapter
architectural thinkingRichards & Ford: Architectural thinkingFraming choices as tradeoffs, not best practices
characteristics ratingsRichards & Ford: Architecture characteristics ratingsFirst worked rating across styles; makes tradeoffs visible
monolithic vs distributedRichards & Ford: Monolithic vs distributed architecturesThe biggest recurring tradeoff in modern systems
risk-driven modelFairbanks: Risk-driven modelRisk is the lens for prioritizing tradeoffs
project / engineering risksFairbanks: Project management risks, software engineering risksCategorizing risk; separates architectural from process risk
guidance on choosing techniquesFairbanks: Guidance on choosing techniquesNot "best practice" - decision-by-risk
planned vs evolutionaryFairbanks: Planned and evolutionary designReversibility as a quality pre-stated
behavior vs structure tradeoffMartin: Behavior to fight for the architectureThe "we shipped features; it's now unmaintainable" tradeoff

Cluster 5: Communicating Architecture

NeedBest local chunkWhy
team communication 1Fairbanks: Team communication part 1Audience-first framing
team communication 2Fairbanks: Team communication part 2Views, viewpoints, decomposition strategies
team communication 3Fairbanks: Team communication part 3Diagramming discipline and concerns
approach descriptionFairbanks: Approach descriptionHow Fairbanks models architecture artifacts
risk-driven modelFairbanks: Risk-driven modelWhich diagrams to draw when, driven by risk
business domain knowledgeRichards & Ford: Have business domain knowledgeGrounding communication in business reality
architecture characteristics (revisit)Richards & Ford: Architecture characteristics definedCommunicating what the system optimizes for

Exercise Support Chunks

Open these when concept pages are understood but you need more worked examples:

External Resources (Read-If-Curious)

Only use these if a concept page points to them, or you want a second exposition of the same idea. The module is completable from the local chunks alone.

Use Rules

  • If you are stuck on what counts as architectural, go to Richards & Ford chunk 004 and Fairbanks chunk 008.
  • If you are stuck on "which characteristic is the top 3," the answer is in Richards & Ford chunks 017-020.
  • If you are stuck on writing a fitness function, the answer is in Richards & Ford chunk 022.
  • If you are stuck on tradeoff framing, Richards & Ford chunks 008 and 009 plus Fairbanks chunk 014 are the spine.
  • If you are stuck on diagramming, go to C4 and arc42 first, then Fairbanks chunks 023-025.
  • Open one chunk for one gap. Do not read chapter sequences by default.