Software Architecture Glossary

Purpose

This glossary defines the software architecture terminology used throughout the Engineering Knowledge Framework.

Architecture terms defined here are authoritative across the entire repository.

Foundational engineering terms are defined in the Engineering Glossary.

Glossary

Architecture Decision Record (ADR)

PropertyValue
DefinitionA short document that captures an architectural decision,
its context, alternatives considered and consequences.
ContextADRs provide a historical record of why the system is
the way it is. They enable future engineers to
understand past reasoning and avoid repeating mistakes.
RelatedRFC, Decision Log
ReferencesSoftware Architecture Handbook

Bounded Context

PropertyValue
DefinitionA logical boundary within which a particular domain
model applies, with its own ubiquitous language and
internal consistency.
ContextBounded contexts are a core concept in Domain-Driven
Design. They define the boundaries of microservices,
modules and team ownership.
RelatedDomain-Driven Design
ReferencesSoftware Architecture Handbook

C4 Model

PropertyValue
DefinitionA hierarchical approach to visualizing software
architecture at four levels: System Context, Container,
Component and Code.
ContextThe C4 model provides a structured way to communicate
architecture to different audiences, from stakeholders
to developers.
RelatedADR
ReferencesSoftware Architecture Handbook

Decision Log

PropertyValue
DefinitionA chronological index of all architectural decisions
made for a system, with links to the corresponding ADRs.
ContextThe decision log provides a single entry point for
understanding the architectural history of a system.
RelatedADR, RFC
ReferencesSoftware Architecture Handbook

Domain-Driven Design (DDD)

PropertyValue
DefinitionAn approach to software development that emphasizes
modeling the domain and its logic using a shared
ubiquitous language between domain experts and
engineers.
ContextDDD provides patterns for handling complex domain
logic, including entities, value objects, aggregates,
repositories and domain events.
RelatedBounded Context, Event Storming
ReferencesSoftware Architecture Handbook

Event Storming

PropertyValue
DefinitionA collaborative modelling technique for exploring
complex business domains through events, commands and
aggregates.
ContextEvent storming brings domain experts and engineers
together to build a shared understanding of the domain.
It is particularly useful for designing event-driven
systems.
RelatedDomain-Driven Design, Bounded Context
ReferencesSoftware Architecture Handbook

Hexagonal Architecture

PropertyValue
DefinitionAn architectural pattern that isolates core business
logic from external concerns through ports (interfaces)
and adapters (implementations).
ContextAlso known as Ports and Adapters. The core domain has
no dependency on databases, APIs, UIs or other external
systems, improving testability and evolvability.
RelatedLayered Architecture
ReferencesSoftware Architecture Handbook

Layered Architecture

PropertyValue
DefinitionAn architectural pattern that organizes the system into
horizontal layers (presentation, application, domain,
infrastructure), each with a specific responsibility.
ContextEach layer depends only on the layer directly beneath
it. This is the most widely understood architectural
pattern but can lead to leaky abstractions.
RelatedHexagonal Architecture
ReferencesSoftware Architecture Handbook

Quality Attribute

PropertyValue
DefinitionA measurable or testable property of a system that
indicates how well it satisfies stakeholder concerns
beyond functional requirements.
ContextCommon quality attributes include performance,
scalability, availability, security, maintainability,
evolvability, operability and testability. Every
architectural decision involves trade-offs between
quality attributes.
RelatedADR, Trade-off
ReferencesSoftware Architecture Handbook

RFC (Request for Comments)

PropertyValue
DefinitionA proposal document for a significant architectural
change that invites review and discussion before a
decision is made.
ContextRFCs are used for changes that have broad impact,
involve significant trade-offs or affect multiple
teams. They precede ADRs, which capture the final
decision.
RelatedADR, Decision Log
ReferencesSoftware Architecture Handbook

Trade-off

PropertyValue
DefinitionThe recognition that improving one quality attribute or
characteristic of a system inevitably impacts another.
ContextArchitecture is the art of managing trade-offs. Every
decision optimises for some outcomes at the expense of
others. Good architecture makes trade-offs explicit.
RelatedQuality Attribute, ADR
ReferencesSoftware Architecture Handbook

Related Documents