Architectural Goals and Constraints Flashcards
6 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 6 Architectural Goals and Constraints flashcards as text
Which of the following is the BEST example of an architectural constraint?
Answer: The development team must use the Java programming language.
An architectural constraint is a fixed decision that limits the architect's choices. Mandating a specific programming language, like Java, is a direct technical constraint that the architecture must adhere to. The other options are quality goals, which specify desired characteristics or service levels but do not dictate a specific implementation choice in the same way a constraint does.
A software architect is designing a new e-commerce platform. The business stakeholders have mandated that the total budget for development and initial deployment cannot exceed $500,000 and the platform must launch before the holiday season in six months. How should the architect classify these two requirements?
Answer: As business constraints
Fixed budget and schedule are classic examples of business constraints. They are non-technical decisions made by the business that severely limit the options available for the software architecture design. They are not quality attributes (like performance), functional requirements (what the system does), or technical risks (potential technology problems).
Architectural goals are primarily derived from which source?
Answer: Stakeholder concerns and quality requirements.
Architectural goals, especially quality goals (non-functional requirements), are driven by the needs and concerns of various stakeholders. These stakeholders (users, business owners, operators, etc.) define the essential characteristics the system must have, such as performance, security, and maintainability, which the architecture must be designed to achieve.
What is the key difference between an architectural goal and an architectural constraint?
Answer: Goals describe desired qualities, while constraints are fixed, unchangeable decisions that limit design choices.
The fundamental distinction is that architectural goals (like quality attributes) are targets to aim for and often involve trade-offs (e.g., performance vs. cost). In contrast, constraints are pre-defined, non-negotiable decisions that must be satisfied and restrict the design space available to the architect.
During the initial design phase of a new financial services application, the legal department informs the architect that the system must comply with the Payment Card Industry Data Security Standard (PCI DSS). This is an example of what?
Answer: An organizational or regulatory constraint
Compliance with legal or industry standards like PCI DSS is a type of organizational or regulatory constraint. It is imposed externally on the project and dictates specific security measures and design considerations that are non-negotiable for the architecture.
An architect is told the new system must be 'fast and reliable'. Why is this statement insufficient as a quality goal for guiding architectural design?
Answer: It is subjective and lacks quantifiable metrics.
Effective quality goals must be specific and measurable to be useful for architectural design and evaluation. Terms like 'fast' and 'reliable' are ambiguous. A better approach is to quantify them, for example: 'The system must process 95% of transactions in under 500ms' (for performance) and 'The system must have an availability of 99.95%' (for reliability).