id: "SC-03(04)" title: "Module Coupling and Cohesiveness" family: "SC" family_name: "System and Communications Protection" sort_id: "sc-03.04" priority: "P1" implementation_level: "system" parent: "SC-03" enhancement: True
Statement
Implement security functions as largely independent modules that maximize internal cohesiveness within modules and minimize coupling between modules.
Guidance
The reduction of inter-module interactions helps to constrain security functions and manage complexity. The concepts of coupling and cohesion are important with respect to modularity in software design. Coupling refers to the dependencies that one module has on other modules. Cohesion refers to the relationship between functions within a module. Best practices in software engineering and systems security engineering rely on layering, minimization, and modular decomposition to reduce and manage complexity. This produces software modules that are highly cohesive and loosely coupled.
Assessment Objective: security functions are implemented as largely independent modules that maximize internal cohesiveness within modules;
Assessment Objective: security functions are implemented as largely independent modules that minimize coupling between modules.
System and communications protection policy
procedures addressing security function isolation
system design documentation
system configuration settings and associated documentation
system audit records
system security plan
other relevant documents or records
System/network administrators
organizational personnel with information security responsibilities
Organizational processes for maximizing internal cohesiveness within modules and minimizing coupling between modules
mechanisms supporting and/or implementing security functions as independent modules