Functional Independence COHESION-the degree COUPLING- the degree o which a module to which a module is performs one and only connected” to other one function modules in the system HIGH Independent X Compiler/OS Communication, Content Procedural External, Common x Coincidentally, Control logically √Data, Stamp temporal OW
Functional Independence HIGH LOW X Compiler/OS • Content • External, Common • Control ✓ Data, Stamp ✓ Independent • Communication, Procedural X Coincidentally, logically, temporal COHESION - the degree to which a module performs one and only one function. COUPLING - the degree to which a module is “connected” to other modules in the system
Architecture <The overall structure of the software and the ways in which that structure provides conceptual integrity for a system. SHA95a] Structural properties: defines the components of a system (e.g, modules, objects, filters)and the manner in which those components are packaged and interact with one another Extra-functional properties: address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics Families of related systems: draw upon repeatable patterns that are commonly encountered in the design of families of similar systems
Architecture “The overall structure of the software and the ways in which that structure provides conceptual integrity for a system.” [SHA95a] Structural properties: defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. Extra-functional properties: address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics. Families of related systems: draw upon repeatable patterns that are commonly encountered in the design of families of similar systems
Information Hiding module algorithm controlled interface data structure details of external interface resource allocation policy clients secre a specific design decision
Information Hiding module controlled interface "secret" • algorithm • data structure • details of external interface • resource allocation policy clients a specific design decision
Architectural design
Architectural Design
Why Architecture? The architecture is not the operational software Rather it is a representation that enables a software engineer to analyze the effectiveness of the design in meeting its stated requirements 2. consider architectural alternatives at a stage when making design changes is still relatively easy, and 3. reduce the risks associated with the construction of the software
Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software engineer to: 1. analyze the effectiveness of the design in meeting its stated requirements, 2. consider architectural alternatives at a stage when making design changes is still relatively easy, and 3. reduce the risks associated with the construction of the software