Software Design & Architecture
The bridge between architecture and code — where components stop being boxes on a diagram and become blueprints precise enough to build from.
Software design isn't one step, it's a pipeline that gets more concrete at every stage. Detailed Design is the third stop.
Architecture asks "what are the big pieces and how do they talk?" Detailed Design asks "exactly how does each piece work inside?"
Worked example — banking app:
One sentence to memorize: Detailed design refines architecture until it's complete enough to implement — it defines each component's internal structure and behavior.
You don't write code yet — you specify exactly how every part will work: algorithms, database schemas, interfaces, class diagrams.
Developers translate the blueprint into actual, executable code — source files and builds.
validatePassword() function ·
implementing the auth API · coding the session module.Detailed design sits between Requirements/Architecture and Code. A good detailed designer can move either way:
REVERSE ENGINEERING = analyzing existing code to figure out what the system does, how it's structured, and how it maps back to the design/requirements. Needs industry-grade tools: UML modeling, code generators, compilers, version control.
Everything a detailed designer does falls into five tasks, always roughly in this order.
Unlike architecture (where the complete requirement set is evaluated), detailed design focuses on requirements allocated to specific components.
Four things get designed (mnemonic: I.G.I.D. → "Igloos Grow In Denver"):
Five rules for a good technical review:
Three key documents:
This is about synchronicity — how well detailed design follows architecture, and how well code follows detailed design. See the callout below — it's a favorite exam topic.
You don't need to memorize every line — know the shape: Intro → Architecture → Detailed Design (per component) → Glossary → References.
Scope: high-level overview + limits of what the SDD covers.
References: all documents referenced — helps stakeholders spot inconsistencies in how a technology is used.
Body: the main section — where stakeholders understand how the software is to be constructed.
Change history: log of what was added, deleted, or changed in the SDD over time.
Synchronicity = how well detailed design adheres to architecture, and how well code adheres to detailed design.
Low synchronicity → a flaw in the process → risk of project failure. It matters most during maintenance or when new engineers join.
Tap a card to flip it. Good for a 5-minute recap right before an exam.
Written from this chapter's content (no separate question file was uploaded, so treat these as self-check practice, not official past-paper questions).