Architectural synthesis Flashcards
(25 cards)
What is the primary goal of architectural synthesis?
To transform architecturally significant requirements (ASRs) and context into a concrete candidate architecture that can be implemented and evolved. :contentReference[oaicite:26]{index=26}
Which three bullets on the IT-University slide summarise the purpose of synthesis?
Decide the overall structure, decide the detailed structure, and accept that the activity cannot be perfectly rational. :contentReference[oaicite:27]{index=27}
Why does the lecture call its five-step process “fake but useful”?
Because real projects loop back and revise decisions, but the five ordered steps provide a mental checklist so the journey doesn’t feel like a random walk. :contentReference[oaicite:28]{index=28}
Name the five headline steps of the synthesis recipe (in order).
(1) Choose one or more architectural styles (2) Sketch initial 3 + 1 views (3) Refine with tactics keyed to QASs (4) Check broader architectural & business qualities (5) Record open questions in the architectural backlog. :contentReference[oaicite:29]{index=29}
Give two examples of architectural styles that might be chosen in step 1.
Layered; Client-Server; Micro-services; Event-driven; Pipes-and-Filters (any two). :contentReference[oaicite:30]{index=30}
What three quick questions guide the initial sketch of 3 + 1 views?
What is the system’s context? What functionality (components & connectors) is needed? How should that functionality be packaged into modules? :contentReference[oaicite:31]{index=31}
Define an architectural “tactic.”
A small, focused design decision (e.g., replication, caching, encryption) that directly changes how the system satisfies a quality-attribute scenario. :contentReference[oaicite:32]{index=32}
Which catalogue groups tactics by the quality they support?
The lecture’s quality-attribute tactic catalogue—availability, performance, modifiability, security, etc. :contentReference[oaicite:33]{index=33}
Give one availability tactic and one performance tactic.
Availability: heartbeat monitoring or active redundancy. Performance: caching or concurrency (thread pool). :contentReference[oaicite:34]{index=34}
What is a “sensitivity point” in synthesis and evaluation?
A single design parameter (e.g., number of replicas) whose value greatly influences a quality attribute. :contentReference[oaicite:35]{index=35}
Why are trade-offs inevitable during synthesis?
Because many quality attributes pull in opposite directions (e.g., encryption adds security but hurts latency), forcing conscious arbitration. :contentReference[oaicite:36]{index=36}
How does step 4 (“check broader qualities”) safeguard conceptual integrity?
It asks whether the emerging design feels coherent, complete, feasible, and aligned with business constraints, preventing a patchwork of isolated fixes. :contentReference[oaicite:37]{index=37}
What is the role of the architectural backlog?
To capture unresolved questions, spikes, and risks so architectural work stays visible alongside the product backlog. :contentReference[oaicite:38]{index=38}
How does the backlog differ from a Scrum product backlog?
It tracks design decisions and technical risks rather than user stories; entries are often spikes or proofs-of-concept. :contentReference[oaicite:39]{index=39}
Why did the POS case study add an in-memory cache?
High transaction throughput was an ASR; caching is a performance tactic that reduces read latency at checkout terminals. :contentReference[oaicite:40]{index=40}
Which tactics protected availability in the same POS example?
Fall-back replicas and heartbeat monitoring on the checkout terminals. :contentReference[oaicite:41]{index=41}
Explain “styles get you 60 % of the way.”
A global style (Layered, Micro-kernel, etc.) sets the main structure, but extra tactics are needed to meet specific quality scenarios. :contentReference[oaicite:42]{index=42}
List two common trade-offs architects juggle.
Performance vs Security; Cost vs Reusability; Modifiability vs Throughput (any two). :contentReference[oaicite:43]{index=43}
Why is the synthesis process inherently iterative?
New information from tactics or feasibility checks can force a return to style selection or view sketching; design stabilises through loops. :contentReference[oaicite:44]{index=44}
What key proof point does the lecture give for “messy reality”?
Stakeholders rarely know exactly what they want, and desirable qualities often conflict, so derivation from requirements can’t be purely mechanical. :contentReference[oaicite:45]{index=45}
What is meant by “conceptual integrity”?
The architecture feels like one coherent mental model: naming, layering, and dependency rules are consistent across the whole system. :contentReference[oaicite:46]{index=46}
How can an architect validate risky assumptions quickly during synthesis?
By scheduling architectural prototypes or spikes linked from the backlog to test feasibility or performance. :contentReference[oaicite:47]{index=47}
Give an example of using a style plus tactics to satisfy an ASR about security.
Choose Layered style (isolate UI from DB) then add tactics: authentication façade, encryption at rest, and audit logging to meet the security scenario. :contentReference[oaicite:48]{index=48}
What is the relationship between quality-attribute scenarios (QAS) and tactics?
Each QAS states a measurable goal; tactics are design moves chosen specifically to satisfy that scenario. :contentReference[oaicite:49]{index=49}