Designing Building Blocks Flashcards
7 cards from real CPSA practice questions. Tap to flip, then mark Knew It or Still Learning โ missed cards come back until you master them.
Read the first 7 Designing Building Blocks flashcards as text
Which iSAQB arc42 view is PRIMARILY used to document building blocks and their static relationships?
Answer: Building block view
The arc42 building block view documents the system's static decomposition into building blocks and their inter-relationships.
When applying the Dependency Inversion Principle to building blocks, high-level modules should:
Answer: Depend on abstractions rather than concrete low-level implementations
DIP requires that high-level modules depend on abstractions (interfaces), with low-level modules implementing those abstractions, inverting the traditional dependency direction.
A team notices that every change to the 'Payment' building block also requires changes to 'Reporting' and 'Audit'. This MOST likely indicates:
Answer: Inappropriate coupling or shared responsibility across blocks
When unrelated blocks must change in lockstep, it signals excessive coupling or incorrectly distributed responsibilities.
Which pattern allows a building block to adapt an incompatible interface to one expected by its client?
Answer: Adapter
The Adapter pattern wraps an incompatible interface and exposes the interface expected by the client building block.
In building block design, 'cohesion' and 'coupling' are considered opposing forces because:
Answer: Increasing a block's internal cohesion tends to reduce its external coupling
Focusing a block's responsibilities internally (high cohesion) naturally limits what it needs from other blocks, reducing external coupling.
Which of the following is an example of 'logical' versus 'physical' building blocks?
Answer: An architectural component versus its deployment artifact (JAR, DLL)
Logical building blocks represent design-time abstractions, while physical building blocks are the actual deployment artifacts that implement them.
Why is documenting the rationale for building block decomposition decisions considered important in arc42?
Answer: It allows future architects to understand trade-offs and avoid re-litigating settled decisions
Recording rationale preserves the reasoning behind decomposition choices so future teams understand constraints and avoid repeating past analysis.