Difficulty: Easy
Correct Answer: Each module performs a specific function and can be developed relatively independently by programmers
Explanation:
Introduction / Context:
Functional modularity is a core systems design principle. It means the overall system is decomposed into coherent, loosely coupled modules, each responsible for a clearly defined capability. This question checks whether you can distinguish true modularity from unrelated traits such as programming language choice or UI conveniences.
Given Data / Assumptions:
Concept / Approach:
A functionally modular design is characterized by high cohesion within each module and minimal, well-defined interfaces between modules. This enables independent development, testing, and deployment of components and reduces the impact of changes in one area on the rest of the system.
Step-by-Step Solution:
1) Identify the hallmark of modularity: single, specific responsibility per module.
2) Check for independence: teams can develop modules in parallel through stable interfaces.
3) Confirm that language or UI features (e.g., function keys) are not determinants of modularity.
4) Conclude that the option describing focused modules with relative independence is correct.
Verification / Alternative check:
Textbooks emphasize cohesion/coupling metrics, interface contracts, and separable build/test cycles as evidence of modularity.
Why Other Options Are Wrong:
Option A: Scope coverage says nothing about internal modular structure.
Option C: UI affordances are orthogonal to modularity.
Option D: Language or paradigm does not guarantee modular design.
Option E: Incorrect because a correct statement is present.
Common Pitfalls:
Equating “lots of features” or “particular languages” with modularity. True modularity is about design structure and interfaces.
Final Answer:
Each module performs a specific function and can be developed relatively independently by programmers
Discussion & Comments