PECB CMSA study materials
PECB CMSA study resources

PECB CMSA key terms

PECB CMSA · Get comfortable with the vocabulary.

Architecture Decision Record (ADR)

A short document capturing one significant architectural choice, the context that forced it, the options considered, and the consequences accepted. ADRs are dated, immutable once accepted, and superseded rather than edited.

Related: Architecturally Significant Requirement, Technical Debt, Architecture Trade-off
Architecturally Significant Requirement (ASR)

A requirement that measurably shapes structure, such as a hard latency bound, a regulatory constraint, or a mandated integration. Requirements that can be met by local coding choices are not architecturally significant.

Related: Quality Attribute Scenario, Architecture Decision Record
Quality Attribute Scenario

A six-part testable statement of a quality requirement: source, stimulus, artifact, environment, response, and response measure. It converts vague goals like 'must be fast' into a verifiable acceptance target.

Related: Architecturally Significant Requirement, Tactics, Architecture Trade-off
Tactics

Design decisions that directly influence achievement of a quality attribute, such as introducing a cache for performance or a heartbeat for availability. Tactics are finer grained than patterns and are combined to build them.

Related: Quality Attribute Scenario, Architectural Pattern
Architectural Pattern

A reusable, named solution shape for a recurring structural problem, such as layered, pipe-and-filter, or event-driven. A pattern constrains component types and allowed interactions, and each choice trades one quality against another.

Related: Tactics, Reference Architecture, Component
Reference Architecture

A template architecture for a domain or product family, with standard elements, responsibilities, and permitted variations. Teams tailor it rather than start blank, gaining consistency and faster onboarding at the cost of some design freedom.

Related: Architectural Pattern, Viewpoint
Viewpoint

A conventions-and-notation package that says how to build one kind of view, such as a deployment viewpoint or a concurrency viewpoint. Viewpoints are reusable across projects; a view is the actual artifact produced by applying one.

Related: View, Architecture Description, Stakeholder
View

A representation of a system addressing a specific set of stakeholder concerns, omitting what is irrelevant to them. A complete architecture description normally contains several views whose contents are checked for consistency with each other.

Related: Viewpoint, Architecture Description, Stakeholder
Architecture Description

The organized collection of views, models, decisions, and rationale that records the architecture. It is a work product, distinct from the architecture itself, which is the set of fundamental concepts and properties of the system.

Related: View, Architecture Decision Record, Model
Stakeholder

A person or group with an interest in the system and legitimate concerns about it, such as operators, auditors, developers, or acquirers. Each concern should map to at least one view in the description.

Related: View, Architecture Description, Concern
Concern

An interest in the system that matters to one or more stakeholders, such as security, cost of change, or time to market. Architecture work is organized around satisfying and balancing documented concerns.

Related: Stakeholder, Architecture Trade-off
Architecture Trade-off

A situation where improving one quality attribute degrades another, for example adding redundancy for availability raises cost and operational complexity. Trade-offs should be recorded with their rationale, not left implicit in code.

Related: Architecture Decision Record, Concern, Quality Attribute Scenario
Separation of Concerns

The principle of dividing a system so that each part addresses a distinct, minimally overlapping set of responsibilities. It reduces coupling between unrelated changes and makes each part easier to reason about and test.

Related: Cohesion, Coupling, Modularity
Coupling

The degree to which two modules depend on each other, through shared data, call sequences, or knowledge of internals. Loose coupling lets a change in one module stay local, while tight coupling spreads the impact of change.

Related: Cohesion, Modularity, Information Hiding
Cohesion

How strongly the responsibilities inside a single module belong together. High cohesion means the module has one clear purpose; low cohesion means unrelated functions are bundled, making the module hard to name and reuse.

Related: Coupling, Separation of Concerns
Modularity

Structuring a system as discrete units with well-defined interfaces that can be developed, replaced, and tested somewhat independently. It is achieved by managing coupling and cohesion, not merely by creating folders or packages.

Related: Coupling, Cohesion, Interface
Information Hiding

Designing modules so each conceals a design decision likely to change, such as a data format or algorithm, behind a stable interface. Callers then depend on the contract rather than on volatile internals.

Related: Interface, Encapsulation, Coupling
Encapsulation

Bundling data with the operations that legitimately act on it and restricting direct outside access. It protects invariants and lets the internal representation change without breaking callers.

Related: Information Hiding, Interface
Interface

The declared contract through which one element uses another: operations, inputs, outputs, and quality expectations such as timing or error behavior. Well-specified interfaces allow independent evolution of provider and consumer.

Related: Information Hiding, Component, Connector
Component

A replaceable unit of software with defined provided and required interfaces, treated as a black box in architecture views. Components are the computational elements whose assembly the architecture describes.

Related: Connector, Interface, Deployment
Connector

An architectural element that mediates interaction between components, such as a remote procedure call, message queue, or shared repository. Connector choice drives latency, coupling, and failure behavior as much as component choice does.

Related: Component, Interface
Layered Architecture

A structure in which each layer provides services to the layer above and uses only the layer below. It supports portability and separation but can add pass-through overhead and tempt developers to bypass layers.

Related: Architectural Pattern, Coupling
Service-Oriented Architecture (SOA)

An approach where capabilities are exposed as interoperable, loosely coupled services with explicit contracts, discoverable and composable across systems. Governance of contracts and versions is central to keeping services reusable.

Related: Microservices, Interface, Service Contract
Microservices

An architectural style decomposing a system into small, independently deployable services, each owning its data and aligned to a business capability. It buys independent scaling and release cadence at the price of distributed-system complexity.

Related: Service-Oriented Architecture, Bounded Context, Deployment
Bounded Context

An explicit boundary inside which one domain model and its vocabulary apply consistently. Different contexts may use the same word with different meanings, and translation between them is made explicit rather than assumed.

Related: Domain-Driven Design, Microservices
Domain-Driven Design (DDD)

An approach that centers design on the business domain, using models built with domain experts and separating subdomains by bounded contexts. Strategic DDD shapes service boundaries; tactical DDD supplies entities, value objects, and aggregates.

Related: Bounded Context, Microservices
Model

A simplified, purposeful representation of a system or part of it, built to answer a specific question. Every model omits detail deliberately, so its validity depends on whether the omissions matter for its intended use.

Related: View, UML, Architecture Description
UML

A standardized general-purpose modeling language offering diagram types such as component, class, sequence, and deployment. It defines notation, not method; the architect must still choose which diagrams answer which stakeholder question.

Related: Model, View
Architecture Evaluation

A structured review of an architecture against its quality requirements and risks, done early enough to act on findings. Methods differ in rigor and cost, from lightweight scenario workshops to formal multi-day assessments.

Related: ATAM, Quality Attribute Scenario, Architecture Trade-off
ATAM

Architecture Tradeoff Analysis Method: a scenario-driven group evaluation that surfaces risks, sensitivity points, and trade-off points by walking stakeholders through quality attribute scenarios against the architecture. It assesses consequences of decisions, not conformance to a checklist.

Related: Architecture Evaluation, Sensitivity Point, Architecture Trade-off
Sensitivity Point

A design decision to which one quality attribute responds strongly, such as thread pool size affecting throughput. Identifying it tells reviewers where a small change produces a large effect and therefore where to focus testing.

Related: ATAM, Architecture Trade-off, Tactics
Technical Debt

The accumulated cost of expedient design choices that will require later rework, such as skipped abstraction or deferred upgrades. Like financial debt, it charges interest in slower change until deliberately repaid or refinanced.

Related: Architecture Decision Record, Refactoring
Refactoring

Improving internal structure without changing observable behavior, performed in small verified steps supported by tests. Architectural refactoring changes element boundaries or interfaces and is far costlier than local code refactoring.

Related: Technical Debt, Modularity
Architecture Conformance Review

Checking that implemented code and infrastructure match the defined architecture, for example by static dependency analysis or fitness functions. Deviations are either corrected or accepted by updating the architecture description.

Related: Architecture Description, Architecture Governance, Fitness Function
Architecture Governance

The set of decision rights, policies, and review practices that keep architecture consistent with strategy across teams. Effective governance enables teams with guardrails and standards rather than approving every design in advance.

Related: Architecture Conformance Review, Architecture Board, Fitness Function
Architecture Board

A cross-organizational body that owns architecture standards, resolves escalated conflicts, and reviews exceptions. It works best when it sets principles and thresholds while delegating routine decisions to delivery teams.

Related: Architecture Governance, Architecture Principle
Architecture Principle

A statement of a preferred way of doing architecture that guides decisions without prescribing a specific design, for example 'buy before build'. Principles must be few, justified, and visibly applied in real decisions.

Related: Architecture Board, Architecture Governance
Fitness Function

An automated check that objectively tests whether a system exhibits a desired architectural property, such as a dependency rule or a response-time budget. It turns governance from periodic review into continuous feedback in the pipeline.

Related: Architecture Conformance Review, Architecture Governance
Deployment

The mapping of software elements onto execution environments such as hosts, containers, and networks, plus the process of releasing them. Deployment views expose latency, redundancy, and single points of failure hidden in logical views.

Related: Component, Microservices