CPSA Architecture Evaluation Methods 5 — Questions and Answers
Question 1: What is the primary goal of conducting an architecture evaluation 'early' in the development lifecycle?
- To allow developers to start coding immediately
- To identify and mitigate architectural risks before they become costly to fix (Correct answer)
- To reduce the number of stakeholder meetings required
- To finalize the project budget before development begins
Correct answer: To identify and mitigate architectural risks before they become costly to fix
Early evaluation catches high-impact architectural risks when changes are cheapest to make, rather than discovering problems after significant implementation investment.
Question 2: Which of the following is NOT a typical step in the ATAM evaluation process?
- Presenting business drivers
- Generating a utility tree
- Writing unit tests for each component (Correct answer)
- Analyzing architectural approaches
Correct answer: Writing unit tests for each component
Writing unit tests is a development activity, not part of the ATAM evaluation process, which focuses on architectural analysis rather than implementation.
Question 3: In architecture evaluation, what does 'stakeholder mapping' help achieve?
- Assigning IP addresses to system components
- Identifying all parties with an interest in the architecture and what quality attributes concern them most (Correct answer)
- Creating organization charts for the development team
- Documenting database table relationships
Correct answer: Identifying all parties with an interest in the architecture and what quality attributes concern them most
Stakeholder mapping ensures all relevant perspectives and quality attribute concerns are represented in the evaluation, preventing blind spots.
Question 4: Which architecture evaluation approach examines whether an architecture can meet its quality attribute goals by tracing scenarios through architectural elements?
- Static code analysis
- Scenario-based evaluation (Correct answer)
- Formal verification
- Benchmarking
Correct answer: Scenario-based evaluation
Scenario-based evaluation traces quality attribute scenarios through the architecture to assess whether the design supports the required responses.
Question 5: In CBAM, what is a 'utility curve' used to represent?
- The server CPU utilization over time
- The relationship between a quality attribute response level and the business value (utility) it provides (Correct answer)
- The cost curve of software development over the project lifecycle
- The number of users supported at different performance levels
Correct answer: The relationship between a quality attribute response level and the business value (utility) it provides
A utility curve in CBAM maps quality attribute response levels to their corresponding business utility values, enabling cost-benefit calculations.
Question 6: When an architecture evaluation reveals that a proposed design satisfies all critical quality attributes under identified assumptions, this finding is documented as a:
- Risk
- Tradeoff point
- Non-risk (Correct answer)
- Sensitivity point
Correct answer: Non-risk
Non-risks are positive findings documenting that an architectural decision soundly supports quality attributes, providing confidence in the design.
Question 7: Which of the following scenarios would most appropriately trigger an architecture re-evaluation for an existing system?
- A minor bug fix in a leaf-level utility function
- A significant change in business requirements or introduction of a new quality attribute constraint (Correct answer)
- Adding a new junior developer to the team
- Upgrading a third-party library to a patch version
Correct answer: A significant change in business requirements or introduction of a new quality attribute constraint
Significant shifts in business requirements or new quality attribute constraints can invalidate original architectural assumptions, warranting a re-evaluation.
What is the primary goal of conducting an architecture evaluation 'early' in the development lifecycle?