CPSA-F Sample Questions

CPSA-F Sample Questions & Answers

Designing and developing architecture, including domain-driven design, dependencies and coupling, dominates the exam, ahead of specifying and communicating it through documentation and notations, basic concepts, an architect's responsibilities, and assessment methods.

Launch the full CPSA-F simulator →

Showing 10 of 20 free samples.

  1. Question 1Beginner

    Specification and Communication of Software Architectures · LG 04-05: Context View

    An architect needs to document the system's boundaries, its users (both human and machine), and the other systems it interacts with. The goal is to provide a high-level, technology-agnostic overview for business stakeholders and new developers. Which architectural view is most appropriate for this purpose?

    Show answer & explanation

    Correct answer: D

    The Context View is specifically designed to show the system as a 'black box' within its environment. It focuses on defining the system's scope and its relationships with external actors and systems, making it the ideal view for providing a high-level overview to a broad audience without delving into internal implementation details.

  2. Question 2IntermediateSelect 2

    Specification and Communication of Software Architectures · LG 04-08: Document and Communicate Architecture Decisions

    A project team is using Architecture Decision Records (ADRs) to document significant architectural choices. Which pieces of information are essential to include in a well-formed ADR? (Select TWO)

    Show answer & explanation

    Correct answers: B, D

    A well-formed ADR must capture the 'why' behind a decision. This includes the 'Context' (the problem, constraints, and requirements) and the 'Consequences' (the resulting trade-offs, benefits, and drawbacks). This information is crucial for future architects and developers to understand the rationale and avoid re-litigating past decisions. Implementation code and developer names are not core components of an ADR's purpose.

  3. Question 3Intermediate

    Analysis and Assessment of Software Architectures · LG 05-02: Know and Apply Qualitative Analysis

    A software architect is conducting a qualitative analysis of a system's modifiability. Which of the following sources of information would be most valuable for this analysis?

    Show answer & explanation

    Correct answer: C

    Qualitative analysis, especially for a quality like modifiability, relies on structured reasoning rather than purely quantitative metrics. Quality scenarios provide concrete, hypothetical changes (e.g., 'A change to the tax calculation algorithm should be deployable within one day and affect only one component'). Analyzing the architecture's ability to handle these scenarios is a primary method for assessing modifiability. Server logs relate to performance, and support tickets relate more to usability or reliability.

  4. Question 4Intermediate

    Basic Concepts of Software Architecture · LG 01-02: Understand and Explain the Goals and Benefits of Software Architecture

    Which statement best defines the relationship between an architectural goal, such as 'achieve high scalability', and a project goal, such as 'launch the product before the holiday season'?

    Show answer & explanation

    Correct answer: C

    Architectural goals (the 'ilities' like scalability, maintainability) focus on the long-term health and viability of the system. Project goals (time, scope, budget) are often short-term and tactical. A key responsibility of an architect is to manage the tension between these two. For instance, achieving high scalability might require more time, directly conflicting with an aggressive launch date. This necessitates trade-offs and clear communication with stakeholders.

  5. Question 5Intermediate

    Design and Development of Software Architectures · LG 03-10: Know and Apply Architectural Patterns

    A project is developing a data processing pipeline that ingests raw data, enriches it, validates it against business rules, and finally stores it in a data warehouse. Each step is complex and developed by a separate team. The architect wants to ensure that these steps are decoupled and can be easily reordered or replaced in the future. Which architectural pattern is the most suitable fit for this scenario?

    Show answer & explanation

    Correct answer: B

    The Pipes and Filters pattern is ideal for processing streams of data where the processing can be broken down into a series of sequential, independent steps (filters). The data flows through channels (pipes). This pattern provides excellent decoupling between the steps, meeting the architect's requirement to reorder or replace them easily. MVC is for UI, Broker is for distributed component communication, and Layered is for separation of concerns in a more general application structure.

  6. Question 6Beginner

    Design and Development of Software Architectures · LG 03-07: Design and Define Interfaces

    What is the primary purpose of defining explicit interfaces between building blocks in a software architecture?

    Show answer & explanation

    Correct answer: C

    An interface serves as a formal contract between a service provider (the building block) and its consumers. By programming to this stable contract, consumers are decoupled from the provider's internal implementation. This allows the implementation to be modified, fixed, or even completely replaced as long as it continues to honor the interface contract, which is a cornerstone of maintainability and loose coupling.

  7. Question 7Advanced

    Design and Development of Software Architectures · LG 03-04: Identify, Explain and Avoid Dependencies and Coupling

    An architect is evaluating the coupling characteristics of a system. They observe that the Reporting module directly queries the database tables of the Orders module. Which type of coupling does this represent and what is its main drawback?

    Show answer & explanation

    Correct answer: C

    This is a form of very tight coupling, often called content coupling or pathological coupling, where one module depends on the internal implementation details (the database schema) of another. This breaks the principle of encapsulation. The primary drawback is that the Orders team cannot refactor or change its database schema without coordinating with and potentially breaking the Reporting module, which severely hinders independent evolution and maintainability.

  8. Question 8Intermediate

    Specification and Communication of Software Architectures · LG 04-02: Describe and Communicate Software Architectures

    A software architect is tasked with documenting an architecture for a diverse audience including project managers, developers, and operations engineers. The architect decides to use multiple views (e.g., building block, deployment, runtime). What is the primary reason for using a multi-view approach to architecture documentation?

    Show answer & explanation

    Correct answer: C

    A software architecture is a complex artifact. A single diagram or description cannot capture all important aspects like static structure, runtime behavior, and physical deployment. Different stakeholders have different concerns: developers care about building blocks, operations engineers care about deployment, and project managers may care about high-level interactions. Using multiple, coordinated views allows the architect to communicate relevant information effectively to each target audience.

  9. Question 9Advanced

    Design and Development of Software Architectures · LG 03-09: Decide and Design Appropriate Architectures

    Case Study: HealthData Analytics Platform

    Company Background:
    HealthData Inc. is a startup that provides a platform for hospitals to analyze anonymized patient data to identify trends and improve patient outcomes. The platform ingests data from various hospital systems, processes it in complex analytical pipelines, and provides results via a web-based dashboard and a REST API for integration with other hospital software.

    Current Situation:
    The initial version of the platform was built as a single monolithic application. As the number of hospital clients and the volume of data have grown, the company is facing significant challenges. The data processing pipelines are slow and resource-intensive, causing the user-facing dashboards to become unresponsive during peak processing times. Deploying a small change to the API requires re-deploying the entire platform, which is risky and time-consuming.

    Requirements:

    1. Scalability: The data processing component must scale independently of the user-facing API and dashboard.
    2. Responsiveness: The user dashboard must remain responsive and available even when large data analysis jobs are running.
    3. Deployability: The API team and the data analytics team must be able to deploy their updates independently.
    4. Reliability: A failure in a single data processing job should not bring down the entire platform.

    Constraints:

    • The solution must be implemented on a major cloud provider.
    • The existing development team has strong skills in Python and SQL.
    • A complete rewrite is not feasible due to time-to-market pressures.

    Which architectural solution best addresses all the requirements and constraints?

    Show answer & explanation

    Correct answer: B

    This solution directly addresses all key requirements. Using a message queue provides strong asynchronous decoupling, ensuring the web dashboard (Requirement 2) remains responsive. It allows the data processing workers to scale independently (Requirement 1) based on queue length. This separation creates two distinct deployment units for the web app and the workers, satisfying independent deployability (Requirement 3). The queue also enhances reliability, as a failing worker can be retried without affecting the web front-end (Requirement 4). This approach is an incremental refactoring, not a full rewrite, respecting the constraints.

  10. Question 10Beginner

    Specification and Communication of Software Architectures · LG 04-05: Context View

    The 'Context View' of a software architecture primarily serves to define the system's ________.

    Show answer & explanation

    Correct answer: C

    The Context View's main purpose is to set the scene by defining what is inside the system (its scope) and what is outside, showing the relationships (interactions, dependencies) with external users, systems, and other entities.

Ready for the real thing?

The full CPSA-F simulator has every exam-style question, timed mode, and instant scoring.

Go to the CPSA-F simulator →