Head First Software Architecture A Learner's Guide to Architectural Thinking (3rd Early Release) [3 ed.] 9781098134358, 9781098134297

If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great pl

5,323 1,539 20MB

English Pages 550 Year 2023

Report DMCA / Copyright

DOWNLOAD EPUB FILE

Table of contents :
1. Software Architecture Demystified: Let’s Get Started!
Building your understanding of software architecture
Building plans and software architecture
The dimensions of software architecture
Puzzling out the dimensions
Everything is interconnected.
The first dimension: Architectural characteristics
The second dimension: Architectural decisions
BE the architect
The third dimension: Logical components
The fourth dimension: Architectural styles
No, architecture and design are different.
A design perspective
An architectural perspective
The spectrum between architecture and design
Where along the spectrum does your decision fall?
Is it strategic or tactical?
How much effort will it take to construct or change?
Does it have significant trade-offs?
Strategic versus tactical
High versus low levels of effort
Code Magnets
Significant versus less significant trade-offs
Putting it all together
You made it!
Software Architecture Crossword
BE the architect solution
Code Magnets Solution
Software Architecture Crossword Solution
2. Architectural Characteristics: Putting the “Function” into Nonfunctional
Laffter, the best medicine?
Cubicle Conversation
What are architectural characteristics?
Defining architectural characteristics
Part 1: A non-domain design consideration
Part 2: An influence on the structure
Part 3: Important
Overengineering is Too Easy
Explicit versus implicit
The International Zoo of “—ilities”
Process architectural characteristics
Structural architectural characteristics
Operational architectural characteristics
Cross-cutting architectural characteristics
The problem domain
Environmental awareness
Holistic domain knowledge
Solution versus problem
Composite architectural characteristics
Priorities are Contextual
Congratulations, you have yet another job.
Lost in Translation
More requirements are NOT better.
Balancing domain and architectural characteristics
Limiting architectural characteristics
The Magic Number 7
3. Everything’s a Trade-off: The Two Laws of Software Architecture
It starts with a sneaker app
What do we know so far?
Having the trading service communicate with downstream services
Analyzing trade-offs
Trade-off analysis: Queue edition
Trade-off analysis: Topic edition
The first law of software architecture
It always comes back to trade-offs
Making an architectural decision
What else makes a decision architectural?
The second law of software architecture
Architectural Decision Records (ADRs)
Cubicle conversation
Writing ADRs: Getting the title right
Writing ADRs: What’s your status?
Writing ADRs: What’s your status? (recap)
Writing ADRs: Establishing the context
Writing ADRs: Writing the decision
Writing ADRs: Considering the consequences
Writing ADRs: Ensuring governance
Writing ADRs: Closing notes
The benefits of ADRs
Two Many Sneakers is a success
The “two laws” crossword
The “two laws” crossword solution
4. Logical Components: The building blocks
Logical components revisited
Adventurous Auctions goes online
Here’s what the new system needs to do:
Logical versus physical architecture
Creating a logical architecture
Step 1: Identifying initial core components
Workflow approach
Actor/Action approach
The entity trap
Step 2: Assigning requirements
Step 3: Analyze Roles and Responsibilities
Sticking to cohesion
Step 4: Analyze characteristics
BE the architect
Our solution...
Component coupling
Afferent coupling
Efferent coupling
Measuring Static Coupling
Law of Demeter
Law of Demeter Applied
Too much knowledge?
A balancing act
Some final words about components
Software Architecture Crossword
Head First Software Architecture, Chapter 4
Head First Software Architecture, Chapter 4

Head First Software Architecture A Learner's Guide to Architectural Thinking (3rd Early Release) [3 ed.]
 9781098134358, 9781098134297

  • 0 1 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
Recommend Papers