Higher Education · Software Engineering
Software Design
What is it
Software design covers the principles and patterns used to structure a codebase before and during implementation — including concepts like modularity, abstraction, coupling and cohesion, design patterns, and architectural styles that keep large systems maintainable.
Why it matters
Poor software design doesn't show up immediately — it shows up months later when a simple change requires touching dozens of files, which is why the ability to design cleanly is what separates code that survives a project's lifetime from code that becomes unmaintainable technical debt.
Exam tip
When evaluating a design, ask whether a likely future change would require modifying one place or many scattered places — this single question captures the essence of coupling and cohesion far more usefully than reciting textbook definitions.
Related topics
Want help mastering Software Design?
Tell us about the student's goals and confidence — we'll design a personalised plan.
