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 questionsWhen 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.
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.
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.
Keep practicing
Take the free CPSA-FL practice test
Ten exam-style questions with answers and explanations, plus the exam facts and study guides.
More questions
Other CPSA-FL practice questions
- Question 1Which two of the following statements about quality characteristics are most accurate? (C…
- Question 2Which of the following principles apply to testing? (Choose two.)
- Question 3For which quality characteristics is the software architect responsible? Please name the …
- Question 8Which of the following statements are correct? (Choose two.)
