CPSA-FL practice question 3 of 10

For which quality characteristics is the software architect responsible? Please name the two characteristics that best match the role of the software architect. (Choose two.)

Full set: 43 questions
Answer options
A: The performance of the software Correct answer
B: The technical quality of the software implementation
C: The suitability of the software design for its purpose Correct answer
D: The software is free of errors
Correct Answer:
A. The performance of the software; C. The suitability of the software design for its purpose
Explanation

A software architect is fundamentally responsible for translating requirements into a viable technical solution. This involves making key decisions that determine the system's quality attributes. Performance (A) is a critical quality attribute (a non-functional requirement) directly shaped by architectural choices like technology stack, component interaction, data management, and concurrency strategies. The suitability of the software design for its purpose (C) is the essence of the architect's role. The architect must create a design that not only fulfills functional requirements but also satisfies all quality attributes and constraints, making it fit for its intended purpose. This is the primary goal and responsibility of the architectural design process.

Why Incorrect

B. The technical quality of the software implementation: While the architect sets guidelines and reviews the implementation, the primary responsibility for the line-by-line code quality rests with the development team. The architect is more concerned with the design's quality and its correct realization.
D. The software is free of errors: Ensuring the software is free of functional defects (correctness) is a shared responsibility of the entire team, particularly developers and quality assurance (QA) engineers, through coding and testing. It is not a sole responsibility of the architect.

References

1. ISAQB e.V. (2020). Certified Professional for Software Architecture

Foundation Level

Syllabus

Version 3.0.1.

Page 10

Section 2.2

"Tasks of Software Architects": This section lists key tasks

including "Designing the software architecture

i.e. the fundamental organization of a system..." which directly supports the responsibility for the design's suitability (C). It also lists "Defining

documenting and communicating non-functional requirements (quality requirements) for the system (e.g. reliability

performance

security)

" which directly supports responsibility for performance (A).

2. Bass

L.

Clements

P.

& Kazman

R. (2021). Software Architecture in Practice (4th ed.). Addison-Wesley Professional.

Page 4

Chapter 1

"What is Software Architecture?": "The architectural design decisions are the ones that are hardest to change later. They are the decisions that determine the system’s ability to meet its requirements for performance

reliability

security

and so on." This highlights the architect's responsibility for performance (A).

Page 5

Chapter 1

"What is Software Architecture?": "Architecture is the set of principal design decisions made about the system... The purpose of these decisions is to satisfy the system’s requirements." This statement encapsulates the architect's core responsibility for ensuring the design is suitable for its purpose (C).

3. Hofmeister

C.

Kruchten

P.

Nord

R. L.

& Obbink

H. (2007). A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software

80(1)

106-126.

Section 3.1

"Architectural Drivers": The paper emphasizes that architecture design is driven by functional requirements

quality attributes

and constraints. The architect's job is to create a design that balances these drivers

thus ensuring its suitability for the purpose (C). It explicitly identifies performance as a key quality attribute driver (A). (DOI: https://doi.org/10.1016/j.jss.2006.05.024)

Scroll to Top