Discuss in detail the design concepts.
Abstraction
- Functional abstraction
- Data abstraction
- Control abstraction
Information hiding
- Each unit in the system hides the internal facts of its processing activities and modules communicate only through over defined interfaces.
Structure
- It allows the breakup of a large system into smaller, more manageable units with well defined relationships to the other units in a system.
- Network is the most common form of structure.
Hierarchical Structures/Structure Charts
- It provides the structure of subroutines in a system, the data passed through routines, can be indicated on the arcs connecting routines.
Modularity
- Modular system has a well-defined, manageable units with well defined interfaces among units.
Concurrency
- Individual processes that can be activated concurrently if multiple processors are available.
Coupling and Cohesion
- Data coupling - The data coupling is achievable by parameter passing or data interaction.
- Control coupling - The modules share related control data in control coupling.
- Common coupling - The global data is shared among modules.
- Content coupling - Content coupling occurs when one module try to use of data or control information controlled in another module.