CPSA Architecture Evaluation Methods 4 — Questions and Answers
Question 1: What does the 'utility' root node represent at the top of an ATAM utility tree?
- The financial profit generated by the software system
- The overall desirability or value of the system as perceived by its stakeholders (Correct answer)
- The number of utility functions implemented in the codebase
- The server uptime measured in percentage
Correct answer: The overall desirability or value of the system as perceived by its stakeholders
The utility root node in the ATAM utility tree represents the overall system value from the stakeholder perspective, which is refined into specific quality attributes.
Question 2: Which scenario component describes what triggers the quality attribute response in a quality attribute scenario?
- Response
- Environment
- Stimulus (Correct answer)
- Artifact
Correct answer: Stimulus
The stimulus is the condition or event that triggers the system's quality attribute response, such as a user request or hardware failure.
Question 3: An architecture evaluation finds that using a shared database between two services improves performance but reduces modifiability. This is an example of a:
- Sensitivity point
- Non-risk
- Tradeoff point (Correct answer)
- Risk theme
Correct answer: Tradeoff point
A tradeoff point is an architectural decision that affects multiple quality attributes in opposing ways, here improving performance while reducing modifiability.
Question 4: Which of the following best defines 'architecture erosion' as a concern in evaluation?
- The gradual reduction in server hardware over time
- The divergence between intended architecture and actual implemented architecture (Correct answer)
- Removing deprecated components from the system
- Reducing technical debt through refactoring
Correct answer: The divergence between intended architecture and actual implemented architecture
Architecture erosion occurs when the implemented system drifts from the intended architecture due to expedient decisions, patch fixes, or poor change control.
Question 5: In the CPSA context, what is the purpose of 'architecture documentation evaluation'?
- To check grammar and spelling in design documents
- To verify that documentation accurately reflects the as-built architecture and supports communication (Correct answer)
- To measure the document length against industry benchmarks
- To translate technical documentation into business language
Correct answer: To verify that documentation accurately reflects the as-built architecture and supports communication
Architecture documentation evaluation checks whether the documentation faithfully represents the actual system and effectively communicates architectural decisions to stakeholders.
Question 6: Which metric is most useful for evaluating an architecture's testability?
- Lines of code per module
- Degree to which components can be isolated and tested independently (Correct answer)
- Number of test engineers on the team
- Percentage of code written using TDD
Correct answer: Degree to which components can be isolated and tested independently
Testability is best measured by the degree to which components can be isolated—through interfaces, dependency injection, or seams—for independent verification.
Question 7: When using scenario-based evaluation, what makes a scenario 'concrete' rather than 'abstract'?
- Concrete scenarios use formal mathematical notation
- Concrete scenarios specify exact stimulus values, environment conditions, and measurable response measures (Correct answer)
- Concrete scenarios are written by developers rather than stakeholders
- Concrete scenarios only apply to performance quality attributes
Correct answer: Concrete scenarios specify exact stimulus values, environment conditions, and measurable response measures
Concrete scenarios include specific, measurable details about the stimulus, environment, and expected response, making them directly testable against the architecture.
What does the 'utility' root node represent at the top of an ATAM utility tree?