Modularity
nThe logical components of the design should correspond to physically separate syntactic software components.
nModules should be self-contained and coherent.
nCohesion is a measure of the degree to which a module completely encapsulates a single notion (a facet of the system’s functionality or data). nCoupling is a measure of the degree to which a module interacts with and depends on other modules. nWe want to design modules with high cohesion and weak coupling.