CPSA Quality Attributes and Scenarios Questions and Answers — Questions and Answers
Question 1: An architect is defining a quality scenario for system availability. The scenario reads: 'Under normal operation, an unexpected database connection failure occurs.' Which essential component of a quality scenario is missing from this statement?
- Stimulus and Environment
- Source and Artifact
- Response and Response Measure (Correct answer)
- Artifact and Stimulus
Correct answer: Response and Response Measure
A complete quality scenario consists of six parts: source, stimulus, artifact, environment, response, and response measure. The provided statement includes the environment ('Under normal operation') and the stimulus ('an unexpected database connection failure occurs'). However, it fails to specify how the system should react (the response) and the measurable criteria for success (the response measure), such as 'the system logs the error and restores the connection within 5 seconds'.
Question 2: A stakeholder states that a new online retail system must be 'user-friendly'. To transform this statement into a testable quality requirement, the architect decides to create a quality scenario. Which of the following is the BEST example of a 'Response Measure' for a usability scenario?
- The system should provide clear feedback to the user.
- A user performs a search for a product.
- The system is operating under peak load.
- A new user can complete a purchase in under 90 seconds. (Correct answer)
Correct answer: A new user can complete a purchase in under 90 seconds.
A response measure must be a quantifiable and testable metric that defines the success of the response. 'A new user can complete a purchase in under 90 seconds' provides a specific, measurable target (less than 90 seconds) that can be objectively tested. The other options describe a desired qualitative outcome, a stimulus, or the environment, but not a concrete measure.
Question 3: Which of the following describes the primary purpose of using a 'general scenario' when defining quality attributes?
- To document the final, detailed, and system-specific quality requirements for implementation.
- To provide a system-independent template or checklist to help elicit and specify concrete quality requirements. (Correct answer)
- To replace the need for functional requirements by focusing only on quality attributes.
- To measure the performance of the architecture after the system has been fully deployed.
Correct answer: To provide a system-independent template or checklist to help elicit and specify concrete quality requirements.
General scenarios are system-independent templates that describe a common type of stimulus and response for a particular quality attribute (like modifiability or security). They serve as a starting point or a checklist to guide architects and stakeholders in creating specific, context-relevant quality scenarios for their particular system. They are not the final detailed requirement themselves but a tool to create them.
Question 4: A software architect is using a utility tree to prioritize quality requirements. A specific scenario is evaluated as having (High Business Value, Low Architectural Impact). How should the architect typically interpret this scenario?
- This is a critical requirement that will be very difficult to implement and requires immediate, complex design work.
- This requirement should be deprioritized or discarded as it offers little value.
- This is a 'quick win' that delivers significant value to stakeholders and should be prioritized, as it is relatively easy to achieve. (Correct answer)
- This requirement has major technical risks and might jeopardize the project, despite its business value.
Correct answer: This is a 'quick win' that delivers significant value to stakeholders and should be prioritized, as it is relatively easy to achieve.
In a utility tree, scenarios are often ranked by business value and architectural impact (or difficulty). A scenario with high business value but low architectural impact represents a requirement that is very important to stakeholders but relatively straightforward to implement from an architectural standpoint. These are ideal candidates to prioritize as they provide maximum value for a comparatively low level of effort or risk.
Question 5: A team is developing a system for processing financial transactions. A key quality attribute is security. Which scenario best represents a concrete, testable security requirement?
- The system must prevent unauthorized access to customer data.
- An external actor with no credentials attempts to access a customer's transaction history via a public API endpoint; the system rejects the request and logs the attempt within 100ms. (Correct answer)
- The system should be designed with security best practices in mind.
- All data transmission must be encrypted to ensure confidentiality.
Correct answer: An external actor with no credentials attempts to access a customer's transaction history via a public API endpoint; the system rejects the request and logs the attempt within 100ms.
This is the only option structured as a complete quality scenario. It specifies the source (external actor), stimulus (attempts to access data), artifact (public API endpoint), response (rejects and logs), and response measure (within 100ms). The other options are vague goals or general statements that lack the specific, measurable, and testable components of a well-defined scenario.
Question 6: According to the ISO 25010 standard, the quality attribute 'Maintainability' is composed of several sub-characteristics. Which of the following is a sub-characteristic of Maintainability?
- Fault tolerance
- Capacity
- Modifiability (Correct answer)
- Accessibility
Correct answer: Modifiability
The ISO/IEC 25010 standard defines Maintainability through sub-characteristics such as Modularity, Reusability, Analysability, Modifiability, and Testability. Fault tolerance is part of Reliability, Capacity is part of Performance Efficiency, and Accessibility is part of Usability.
An architect is defining a quality scenario for system availability.
The scenario reads: 'Under normal operation, an unexpected database connection failure occurs.' Which essential component of a quality scenario is missing from this statement?