Software Architecture
Foundation Overview
A comprehensive reference covering the core pillars of software architecture โ from fundamental concepts and design principles to communication, quality evaluation, and real-world examples.
This reference covers the foundational knowledge every software architect needs โ structured around five pillars that progress from understanding what architecture is, through designing and communicating it, to evaluating its quality. Whether you're new to the role or revisiting fundamentals, each section builds on the previous one.
Basic Concepts
What is software architecture? Key concepts like building blocks, interfaces, and stakeholders. The architect's roles & responsibilities. Influencing factors, quality goals, constraints, and risk identification.
Design Principles, Patterns & Tactics
Design principles (SOLID, coupling, cohesion, DRY, KISS). Architecture patterns (Layers, Pipes & Filters, Microservices). Interface design, cross-cutting concerns, quality tactics, coupling reduction, and data modeling.
Specification & Communication
Architecture views (context, building block, runtime, deployment). Template-based documentation with arc42. UML diagrams, notations, ADRs, and best practices for communicating architecture decisions.
Architecture Quality
Quality modeling with ISO 25010. Quality scenarios and trade-offs. Quantitative evaluation with metrics. Qualitative assessment with ATAM. Goodhart's Law and its implications for measurement.
Real-World Applications
Reference architectures, architectural styles vs. patterns, real-world case studies, migration strategies like the Strangler Fig pattern, and the monolith-to-microservices spectrum.
The Design pillar is the largest section, broken into focused sub-topics. Each page dives deep into a specific area of architectural design.
Sequential Learning
- Follow the pillar order: Fundamentals โ Design โ Communication โ Quality โ Examples
- Each section builds on concepts from the previous one
- Best for newcomers to software architecture
Reference Lookup
- Use the sidebar navigation to jump to any specific topic
- Design sub-pages are self-contained โ dive into what you need
- Each page has a "Summary at a Glance" section at the bottom
Inspiration & Acknowledgments
The content in this foundation reference was developed while studying for and deepening knowledge in software architecture. The structure and topics are inspired by established curricula and industry-recognized resources:
- iSAQB CPSA-Fยฎ Curriculum โ the internationally recognized foundation-level certification for software architects, which provides the five-domain structure used here
- Michael Pogrebinsky โ whose excellent courses and teaching materials at Software Architecture Academy were instrumental in building this reference
- CPSA-F Study Resources โ including the official iSAQB syllabus, recommended reading lists, and community-contributed study materials
- "Software Architecture: Foundation" (CPSA-F Exam Preparation) โ the standard reference book for the foundation curriculum
These notes are personal learning notes compiled during exam preparation and professional practice. They are not affiliated with or endorsed by iSAQBยฎ.