THE CORE AIM OF VOCABULARY MASTERY · SOFTWARE ARCHITECTURE VOCABULARY · COMPONENT → INTERFACE → DEPENDENCY → QUALITY → TRADE-OFF
Software architecture vocabulary is the language used to describe the high-level structure of software systems: components, services, interfaces, dependencies, boundaries and quality attributes. Terms such as monolith, microservice, coupling, cohesion, layer, event-driven, scalability and fault tolerance matter because architecture is ultimately about trade-offs between competing system qualities.
The core aim of vocabulary mastery for software architecture vocabulary is structural decision clarity. Learners should be able to explain where responsibilities live, how components communicate, what dependencies exist and which quality attributes are being prioritised or sacrificed.
This page is the Software Architecture Vocabulary owner inside the eduKateSG Vocabulary hub. For implementation lifecycle, use Software Development Vocabulary. For infrastructure, use Cloud Computing Vocabulary.
Central proposition: Architecture vocabulary is mastered when a term helps explain a structural choice, the quality it supports and the trade-off it introduces.
The 60-Second Software Architecture Router
- Structure: component, module, layer, service, boundary.
- Interaction: interface, API, event, message, dependency.
- Styles: monolith, microservices, event-driven, layered.
- Quality: scalability, availability, maintainability, security.
- Failure: redundancy, fault tolerance, graceful degradation.
- Trade-off: coupling, cohesion, complexity, latency, cost.
The Software Architecture Vocabulary Architecture
| Dimension | Core terms | Core question |
|---|---|---|
| Structure | component, module, boundary | What are the major parts? |
| Interaction | interface, API, event | How do parts communicate? |
| Dependency | coupling, dependency | What relies on what? |
| Quality | scalability, availability | What system qualities matter? |
| Resilience | redundancy, fault tolerance | How does the system fail? |
| Trade-off | complexity, cost, latency | What price is paid for the design? |
Coupling and Cohesion
Coupling describes how strongly one component depends on another. Cohesion describes how closely related the responsibilities inside one component are. Many good designs aim for lower unnecessary coupling and higher meaningful cohesion.
A Worked Example: Monolith vs Microservices
A monolith packages many application responsibilities into one deployable system. Microservices divide responsibilities across independently deployable services. Neither is universally better; the vocabulary becomes useful when connected to deployment, team boundaries, latency, operations and complexity.
A Worked Example: Event-Driven Architecture
In an event-driven architecture, components react to events that describe something that happened. Producers emit events and consumers respond. This can reduce direct coupling but introduces new concerns such as ordering, duplication and eventual consistency.
Quality Attributes
Architecture discussions often revolve around scalability, availability, maintainability, performance, security and observability. These are not slogans: each should be expressed in measurable or operational terms.
How to Learn Software Architecture Vocabulary
- Draw system-context and component diagrams.
- Map dependencies explicitly.
- Compare architectural styles by trade-offs.
- Attach quality attributes to measurable scenarios.
- Trace one request across components.
- Study failure paths, not only happy paths.
- Explain the design to both technical and non-technical audiences.
Common Software Architecture Vocabulary Mistakes
Treating architecture styles as fashion
Repair: evaluate styles against actual constraints and qualities.
Using scalability and availability interchangeably
Repair: separate handling more load from staying operational during failure.
Calling every service a microservice
Repair: consider independent deployment, bounded responsibility and operational autonomy.
Ignoring trade-offs
Repair: ask what complexity, latency or cost the chosen design introduces.
Frequently Asked Questions
What is software architecture vocabulary?
It is the language used to describe software structure, interfaces, dependencies, architectural styles, quality attributes and trade-offs.
What terms should beginners learn first?
Start with component, module, interface, dependency, coupling, cohesion, monolith, service, scalability and availability.
What is coupling?
It is the degree to which one component depends on another.
What is a microservice?
It is an independently deployable service organised around a bounded responsibility, though exact practice varies by organisation.
How can I learn architecture vocabulary?
Draw systems, compare design options and connect every term to a trade-off or quality requirement.
Where This Article Fits in the eduKateSG Vocabulary Ecosystem
- Vocabulary Hub — the broad route.
- Software Development Vocabulary — implementation lifecycle.
- Cloud Computing Vocabulary — infrastructure.
- API Vocabulary — interfaces.
- DevOps Vocabulary — deployment and operations.
The Software Architecture Vocabulary Standard
Software architecture vocabulary reaches its core aim when the learner can explain what the parts are, how they interact, what qualities matter and what trade-offs the design makes.
That is the standard: structural language precise enough to support architectural decisions.
