CPSA Architecture Evaluation Methods Questions and Answers — Questions and Answers
Question 1: An architect needs to evaluate a complex system where business stakeholders are concerned about performance and time-to-market, while technical stakeholders are focused on maintainability and security. Which evaluation method is specifically designed to analyze these competing quality goals and identify the resulting architectural risks and compromises?
- Software Architecture Analysis Method (SAAM)
- Architecture Tradeoff Analysis Method (ATAM) (Correct answer)
- Architecture-Level Modifiability Analysis (ALMA)
- Ad-hoc checklist review
Correct answer: Architecture Tradeoff Analysis Method (ATAM)
The Architecture Tradeoff Analysis Method (ATAM) is the most suitable choice because its primary purpose is to assess an architecture's fitness with respect to multiple, often competing, quality attributes. [2, 4] It uses stakeholder-driven scenarios and utility trees to explicitly uncover sensitivity points and tradeoff decisions, which is ideal for the described situation. [3, 4] SAAM typically focuses on a single attribute like modifiability, ALMA is specialized for modifiability, and an ad-hoc review lacks the systematic structure to analyze tradeoffs rigorously. [2]
Question 2: A key artifact created during an Architecture Tradeoff Analysis Method (ATAM) evaluation is a hierarchical structure that decomposes high-level quality goals into concrete, measurable scenarios. This artifact is used to prioritize the most important quality requirements with stakeholders. What is this artifact called?
- Risk Matrix
- Sequence Diagram
- Utility Tree (Correct answer)
- Context Diagram
Correct answer: Utility Tree
A Utility Tree is a central artifact in the ATAM process. [3, 5] It is used to define and prioritize a system's critical quality attributes by breaking them down from general qualities (e.g., Performance) into more specific aspects (e.g., Latency) and finally into concrete scenarios that can be evaluated. [2, 11] The other options are general software engineering artifacts but are not the specific tool used for this purpose within ATAM.
Question 3: What is the primary objective of conducting a software architecture evaluation early in the development lifecycle?
- To finalize the selection of programming languages and frameworks.
- To generate a complete and detailed project budget.
- To identify and mitigate risks related to quality attributes before significant implementation effort. (Correct answer)
- To prove with certainty that the chosen architecture will meet all future requirements.
Correct answer: To identify and mitigate risks related to quality attributes before significant implementation effort.
The main goal of early architecture evaluation is to identify potential risks, such as the architecture's inability to meet critical quality attribute requirements (e.g., performance, security, modifiability). [3, 7] Finding and addressing these issues at the architectural level is significantly cheaper and less disruptive than discovering them after substantial code has been written. [7]
Question 4: An architect is preparing for an evaluation of a legacy system's architecture. The primary goal is to understand how difficult it would be to implement a specific, major new feature. The evaluation needs to be relatively quick and focused solely on the attribute of modifiability. Which method is most appropriate for this specific goal?
- Software Architecture Analysis Method (SAAM) (Correct answer)
- Architecture Tradeoff Analysis Method (ATAM)
- Cost-Benefit Analysis Method (CBAM)
- Performance Stress Testing
Correct answer: Software Architecture Analysis Method (SAAM)
The Software Architecture Analysis Method (SAAM) is particularly well-suited for this scenario. It is a scenario-based method that was originally developed with a strong focus on analyzing an architecture's modifiability. [2, 19] Since the goal is focused on a single quality attribute and a specific change, SAAM provides a structured yet less intensive approach compared to ATAM, which is designed for analyzing tradeoffs among multiple attributes. [2, 4]
Question 5: During an ATAM evaluation, which of the following groups are considered the essential participants required for the process to be effective?
- The evaluation team, the project manager, and the marketing department.
- The architect, the end-users, and the quality assurance team.
- The project sponsor, the lead developer, and the database administrator.
- The evaluation team, project decision-makers, and architecture stakeholders. (Correct answer)
Correct answer: The evaluation team, project decision-makers, and architecture stakeholders.
The ATAM process explicitly defines three key participating groups: 1) The evaluation team, which facilitates the process; 2) The project decision-makers, who have the authority to approve changes; and 3) The architecture stakeholders, which includes anyone with a vested interest in the architecture's quality attributes, such as developers, testers, maintainers, and users. [3] This combination ensures that the architecture is analyzed from multiple perspectives against the business and technical goals.
Question 6: Which of the following is a primary output of a successfully conducted Architecture Tradeoff Analysis Method (ATAM) evaluation?
- A fully functional prototype of the system.
- A final project plan with guaranteed deadlines.
- A detailed list of required third-party software licenses.
- A documented set of identified architectural risks, sensitivity points, and tradeoff decisions. (Correct answer)
Correct answer: A documented set of identified architectural risks, sensitivity points, and tradeoff decisions.
The main outputs of an ATAM evaluation are insights into the architecture's ability to meet its quality goals. This is documented through a set of identified risks (architectural decisions that could lead to problems), non-risks (decisions that are sound), sensitivity points (decisions that a quality attribute is highly dependent on), and tradeoffs (decisions that improve one attribute at the expense of another). [5, 6, 12] The goal is risk discovery, not creating prototypes or project plans. [5]
An architect needs to evaluate a complex system where business stakeholders are concerned about performance and time-to-market, while technical stakeholders are focused on maintainability and security.
Which evaluation method is specifically designed to analyze these competing quality goals and identify the resulting architectural risks and compromises?