General Software Design Concepts(4) Modularity Separation of concerns 1. Deal with details of each module in isolation(ignoring details of other modules) 2. Deal with overall characteristics of all modules and their relationships in order to integrate them into a coherent system Base on hierarchy and abstraction Abstraction handled through information hiding Hierarchy by defining uses and is-composed-of relations Minimize connectivityc Copyright Nancy Leveson, Sept. 1999 General Software Design Concepts (4) Modularity Separation of concerns: 1. Deal with details of each module in isolation (ignoring details of other modules) 2. Deal with overall characteristics of all modules and their relationships in order to integrate them into a coherent system. Base on hierarchy and abstraction: Abstraction handled through information hiding Hierarchy by defining uses and is-composed-of relations Minimize connectivity �