CPSA-FL practice question 4 of 10

In a customer project the architecture shall be based on components. The requirements have not been fully determined yet. Taking this constraint into account, which three properties of the components developed by you will you pay particular attention to? (Choose three.)

Full set: 43 questions
Answer options
A: meaningful component names
B: weak coupling Correct answer
C: strong cohesion Correct answer
D: open for extension Correct answer
E: small component size
Correct Answer:
B. weak coupling; C. strong cohesion; D. open for extension
Explanation

When requirements are not fully determined, the primary architectural goal is to ensure maintainability and adaptability to change. The three most critical properties to achieve this are:
1. Weak coupling (B): This principle minimizes dependencies between components. When a change is required, it can be isolated to a single component without causing a ripple effect across the system, which is essential in an evolving requirements landscape.
2. Strong cohesion (C): This ensures that all responsibilities within a single component are closely related and focused on a common purpose. This makes components easier to understand, maintain, and modify when requirements change, as the change is likely localized within one cohesive unit.
3. Open for extension (D): This refers to the Open/Closed Principle. Components should be designed so that new functionality can be added (open for extension) without modifying existing, proven code (closed for modification). This is crucial for accommodating new requirements as they are finalized.

Why Incorrect

A. meaningful component names: While important for code readability and general maintainability, this practice does not structurally prepare the architecture for functional changes and evolution.
E. small component size: This is often a positive side-effect of strong cohesion, but it is not a primary principle. A component can be small yet still have high coupling and low cohesion, making it difficult to maintain.

References

1. International Software Architecture Qualification Board (ISAQB). CPSA-FL - Lehrplan

Version 4.1.1 DE. (2021).

Section 3.2.1

"Kopplung und Kohäsion" (Coupling and Cohesion): This section explicitly defines weak coupling and strong cohesion as fundamental principles for creating modular

maintainable

and understandable software architectures. It states that these principles directly support the quality goal of changeability (p. 31).

Section 3.2.3

"Das Offen-Verschlossen-Prinzip" (The Open-Closed Principle): This section details the principle of designing components to be open for extension but closed for modification

highlighting its importance for creating stable yet extensible systems that can adapt to new requirements without destabilizing existing functionality (p. 33).

2. Garmus

D.

& Herron

D. (2001). Function Point Analysis: Measurement Practices for Successful Software Projects. Addison-Wesley Professional.

While focused on measurement

this and similar foundational texts establish that high cohesion and low coupling are universally accepted indicators of sound architectural design

directly impacting a system's maintainability and cost of change. The principles are presented as essential for managing complexity and evolution.

3. Lattanze

A. J. (2009). Architecting Software Intensive Systems: A Practitioner's Guide. CRC Press.

Chapter 7

"Achieving Quality Attributes": This chapter discusses how architectural decisions and principles like low coupling

high cohesion

and encapsulation are the primary mechanisms for achieving quality attributes such as modifiability and extensibility

which are paramount when requirements are uncertain.

Scroll to Top