Engineer Architecture flashcards
Engineer Architecture · Build recall with a focused review session.
34 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Architecture
- The set of structures (components, relationships, principles) and decisions that are hard to reverse and needed to reason about the system; excludes easily changed design detail.
- Instability metric
- I = Ce / (Ca + Ce), where Ce is efferent (outgoing) coupling and Ca is afferent (incoming) coupling. I=0 means maximally stable; stable packages should be abstract.
- Dependency inversion principle
- High-level policy depends on abstractions, not details; both depend on interfaces owned by the policy layer. Implemented as ports and adapters (hexagonal architecture).
- Conway's Law
- System structure mirrors the communication structure of the organization that builds it. The inverse Conway maneuver deliberately shapes teams to obtain the target architecture.
- Quality attribute scenario
- A six-part testable requirement: source, stimulus, artifact, environment, response, and response measure. Without a measure the requirement is not verifiable.
- Stakeholder power/interest grid
- Classifies stakeholders as key player, keep satisfied, keep informed, or monitor based on power and interest; each stakeholder's concerns become quality attributes.
- Requirements traceability matrix
- A table linking stakeholder needs to requirements, architecture elements, and test cases; supports impact analysis when a change is proposed.
- MoSCoW prioritization
- Ranks requirements as Must, Should, Could, or Won't. Scope is negotiable under MoSCoW, but the definition of done is not.
- C4 model
- Four zoom levels: Context, Container, Component, Code. Each layer answers a different stakeholder question; mixing abstraction levels in one diagram is an error.
- ArchiMate layers
- Business, Application, and Technology layers connected by serving, realization, and access relationships; used to express cross-layer traceability in enterprise architecture.
- View and viewpoint
- A viewpoint is a template derived from stakeholder concerns; a view is a representation conforming to it. ISO/IEC 42010 governs architecture descriptions.
- Provided and required interface
- A component contract has a provided interface (what it offers) and a required interface (what it consumes); modeling both exposes missing dependencies.
- Availability formula
- A = MTBF / (MTBF + MTTR). 99.9% availability allows about 8.77 hours downtime per year; 99.99% allows about 52.6 minutes.
- STRIDE threat model
- Six threat categories: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege; used to derive security requirements.
- Scalability versus elasticity
- Scalability is the design property to handle growth by scaling up or out; elasticity is the ability to scale automatically with changing demand.
- Testability tactics
- Design choices that ease testing: abstract interfaces, record/playback, sandboxing, and built-in self-test hooks; a system hard to test is hard to change.
- REST constraints
- Client-server, stateless, cacheable, uniform interface, layered system, and optional code-on-demand; HTTP methods should be idempotent where the specification defines them.
- Saga pattern
- A sequence of local transactions with compensating actions that maintains consistency across services without a distributed transaction; introduces eventual consistency.
- Interoperability layers
- Syntactic (format and protocol), semantic (shared meaning), and organizational (process and policy). Most integration failures are semantic rather than syntactic.
- API versioning strategies
- URI versioning, header versioning, and media-type versioning. Deprecation requires a documented sunset period; additive changes remain backward compatible.
- Sensitivity point
- An architectural decision that significantly affects one quality attribute; a tradeoff point affects two or more attributes in opposite directions.
- Utility tree
- ATAM artifact: quality attribute refined into scenarios, each rated for importance and difficulty of realization, used to prioritize evaluation effort.
- Fitness function
- An automated test that continuously verifies an architectural characteristic, such as dependency rules, performance budgets, or security checks, in the CI pipeline.
- Risk versus non-risk
- In ATAM, a risk is a decision with potentially undesirable consequences; a non-risk is a good decision. Risk themes aggregate related risks for management.
- Architecture decision record
- A document with title, status, context, decision, and consequences. Accepted ADRs are immutable and superseded by a new ADR rather than edited.
- ISO/IEC/IEEE 42010
- Standard for architecture description defining stakeholders, concerns, viewpoints, views, and correspondence rules; the basis for documenting architecture descriptions.
- arc42 template
- Documentation structure covering context, constraints, solution strategy, building blocks, runtime, deployment, decisions, and quality; sufficient rather than exhaustive.
- Governance exception process
- A documented route to deviate from a standard with rationale, approval, and expiry; exceptions are tracked as governance metrics.
- Blue-green deployment
- Two identical environments; traffic is switched from blue to green after the new version passes checks, enabling near-instant rollback.
- Error budget
- Error budget = 1 - SLO. Burn-rate alerts fire when the budget is consumed faster than planned, triggering reliability work.
- Deployment versus release
- Deployment puts code into production; release exposes it to users. Feature flags decouple the two and allow gradual rollout.
- Expand-contract migration
- Backward-compatible database change in three steps: add new schema, migrate and dual-write, then remove old schema after consumers move.
- Ethical escalation duty
- When asked to approve an architecture you believe unsafe, document the concern in writing and escalate; do not silently comply or sign off.
- SBOM
- Software bill of materials listing third-party components and licenses; supports license compliance (permissive versus copyleft) and vulnerability response.