Which of the following statements apply to design patterns? (Choose two.)
A. Design patterns are not invented but discovered.
B. Design patterns should always be described alongside the problem they are supposed to solve.
C. Design patterns are formally defined and can thus be proven to be correct.
D. The number of design patterns used is proportional to the software architecture's quality.
正解:A,B
解説: (Pass4Test メンバーにのみ表示されます)
質問 2:
Which of the following statements regarding the design principle 'information hiding' are true and which are false? (Assign all answers.)

正解:

Explanation:
The statements regarding the design principle 'information hiding' that are true and false are as follows:
* True:
* Adhering to the 'information hiding' principle increases flexibility for modifications (A).
* Information hiding involves deliberately hiding information from callers or consumers of the building block (B).
* In object-oriented development, information hiding is primarily relevant at class level (E).
* False:
* Information hiding makes it harder to distinguish between interface and implementation C.
* Information hiding is a derivative of the approach of incremental refinement along the control flow (D).
The principle of 'information hiding' is a fundamental concept in software engineering that promotes encapsulation and abstraction. Here's an explanation of each statement:
* True Statements:
* (A): Information hiding allows for changes in the implementation without affecting other parts of the system, thus increasing flexibility1.
* (B): The core idea of information hiding is to keep the implementation details away from the users of the component, revealing only what is necessary2.
* (E): In object-oriented programming, information hiding is typically applied at the class level, where internal data and methods are hidden from other classes3.
* False Statements:
* C: Information hiding does not make it harder to distinguish between interface and implementation; rather, it helps to clearly define the interface by hiding the implementation details1.
* (D): Information hiding is not a derivative of incremental refinement along the control flow; it is a separate principle that focuses on hiding the internal complexities of a component4.
Information hiding is crucial for maintaining a clean and modular architecture, where components can be developed, maintained, and replaced independently.
References:
* Stack Overflow discussion on Abstraction vs Information Hiding vs Encapsulation1.
* Wikipedia article on Information Hiding2.
* Kansas State University textbook excerpt on Information Hiding3.
* Techopedia definition of Information Hiding4.
質問 3:
Which of the following techniques are best suited to illustrate the interaction of runtime building blocks?
Select the four most suitable techniques.
A. Numbered lists of sequential steps
B. Flowcharts
C. Class diagrams
D. State diagram
E. Tabular description of interfaces
F. Sequence diagrams
G. Depiction of screen flows (sequence of user interactions)
H. Activity diagrams
正解:D,F,G,H
解説: (Pass4Test メンバーにのみ表示されます)
質問 4:
Which information is presented in the building-block view? Rate the alternatives below as either true or false.
(Assign all answers.)

正解:

Explanation:
A) TrueB) FalseC) TrueD) FalseE) True
The building-block view, as per the iSAQB SOFTWARE ARCHITECTURE - FOUNDATION LEVEL, typically includes the following information:
A) Which building blocks the software is composed of: This is true. The building-block view shows the composition of software building blocks1.
B) How the building blocks interact during run time: This is false. The interaction during runtime is typically shown in the runtime view, not the building-block view1.
C) How the building blocks are hierarchically decomposed: This is true. The building-block view includes hierarchical decomposition of the software building blocks1.
D) How the building blocks are distributed in a distributed system: This is false. The distribution of building blocks in a distributed system is part of the deployment view1.
E) The dependencies between the building blocks: This is true. The building-block view should show the dependencies between the different building blocks1.
These aspects are essential for understanding the structure and organization of the software architecture and are aligned with the iSAQB SOFTWARE ARCHITECTURE - FOUNDATION LEVEL documents1.
Matsushita -
CPSA-FLを1度も触ったことがない私でも2週間で合格できました。試験問題はこのPass4Testの問題集CPSA-FLと98%は一緒なので余裕で合格できます。