Skip to main content

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.