
ISQI ISAQB Certified Professional for Software Architecture - Foundation Level - CPSA-FL Exam Questions
QUESTION NO: 1
What is the purpose of defining the system context? (Assign all answers.)

What is the purpose of defining the system context? (Assign all answers.)

Correct Answer:

Explanation:
The purpose of defining the system context includes:
* To illustrate the system's interfaces with external systems (B) - True
* To clarify the area of responsibility of the software architect C - True
* To represent the external systems (D) - True
* To distinguish between infrastructure and application (E) - True
* To distinguish between the hardware and software of a solution (F) - True Defining the system context is a crucial step in software architecture as it helps to establish the boundaries and interactions of a system within its environment. Here's a detailed explanation of the purposes:
* To Illustrate the System's Interfaces with External Systems (B): It is essential to understand how the system interacts with other systems, which can influence requirements and design1.
* To Clarify the Area of Responsibility of the Software Architect : By defining the system context, the architect's responsibilities regarding the system's interactions and boundaries are made clear1.
* To Represent the External Systems (D): The system context helps identify and represent all external entities that interact with the system, which is important for comprehensive design and analysis1.
* To Distinguish Between Infrastructure and Application (E): Understanding the system context allows for a clear distinction between the infrastructure (the environment in which the application operates) and the application itself1.
* To Distinguish Between the Hardware and Software of a Solution (F): The system context helps to differentiate between the hardware components and the software components of a system, which is vital for system integration and deployment1.
These aspects of the system context are fundamental for ensuring that the system is designed and developed to meet its intended goals and operate effectively within its designated environment.
References:
* Smartpedia article on System Context1.
* Visual Paradigm Blog on System Context Diagrams2.
* microTOOL article on System Context3.
QUESTION NO: 2
What are the four key terms in common definitions of software architecture? (Choose four.)
What are the four key terms in common definitions of software architecture? (Choose four.)
Correct Answer: A,B,C,F
Explanation: Only visible for Pass4Test members. You can sign-up / login (it's free).
QUESTION NO: 3
You are the software architect on a large development project and are entrusted with the task of building a tool chain for continuous architecture evaluation and analysis.
Which of the following statements regarding this tool selection are correct/incorrect? (Assign all answers.)

You are the software architect on a large development project and are entrusted with the task of building a tool chain for continuous architecture evaluation and analysis.
Which of the following statements regarding this tool selection are correct/incorrect? (Assign all answers.)

Correct Answer:

Explanation:
A) IncorrectB) CorrectC) IncorrectD) IncorrectE) Incorrect
In the context of building a tool chain for continuous architecture evaluation and analysis, the following statements can be assessed:
A) Tools for static code analysis do not find all dependencies in the source code. They can find many, but not necessarily all, especially if dynamic programming techniques are used1.
B) Several tools for static code analysis can be used to verify compliance with architectural rules. This is one of the primary uses of static code analysis tools1.
C) Tools for static code analysis cannot reliably measure cohesion because cohesion is a qualitative aspect of modules that depends on the context and design intent, which static analysis alone cannot fully capture1.
D) Tools for static code analysis are not typically used to optimize runtime efficiency. They are more focused on code quality, security, and compliance with coding standards1.
E) Tools for dynamic analysis, such as profilers, can be used to optimize static structures. They provide runtime information that can inform decisions about the static structure of the code1.
These assessments are based on the iSAQB SOFTWARE ARCHITECTURE - FOUNDATION LEVEL documents, which provide guidelines on the selection and use of tools for software architecture evaluation and analysis1.
QUESTION NO: 4
You are the software architect of a system that has run for many years and been extended repeatedly. An analysis of the source code has revealed a multitude of dependencies between the classes.
Which of the following measures are possible solutions? (Assign all answers.)

You are the software architect of a system that has run for many years and been extended repeatedly. An analysis of the source code has revealed a multitude of dependencies between the classes.
Which of the following measures are possible solutions? (Assign all answers.)

Correct Answer:

Explanation:
A) FalseB) TrueC) True
In a system with a multitude of class dependencies, the following measures can be considered:
A) The dependencies between classes are the responsibility of the developers. No measures are required within the architecture: This is false. While developers do manage day-to-day class dependencies, architectural measures are necessary to address systemic issues in a mature system1.
B) Loosening of direct dependencies between classes through the introduction of interfaces: This is true.
Introducing interfaces can decouple classes and allow for more flexible and maintainable code1.
C) Loosening of direct dependencies between classes through the introduction of factories: This is also true.
Factories can provide a way to create instances of classes without specifying the exact class, thus reducing dependencies1.
These measures align with the iSAQB SOFTWARE ARCHITECTURE - FOUNDATION LEVEL guidelines, which suggest that managing dependencies is crucial for maintaining and extending systems effectively1.
QUESTION NO: 5
Which four of the following items can be building blocks of a software architecture? (Choose four.)
Which four of the following items can be building blocks of a software architecture? (Choose four.)
Correct Answer: B,D,F,G
Explanation: Only visible for Pass4Test members. You can sign-up / login (it's free).




