Page 142 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 142
Principles of Software Engineering
Notes Following are types of coupling that may exist between the modules:
1. Data Coupling: The dependency between module A and module B is said to be data
coupled if their dependency is based on the fact that they communicate only by passing
of data between the two, e.g., an integer, a float, a character, etc. (See Figure 6.6)
Figure 6.6: Cohesion Degree of Dependence Among Components
No dependencies Loosely coupled-some dependencies
High coupling makes modifying
parts of the system difficult, e.g.,
modifying a component affects all
the components to which the
Highly coupled-many dependencies
component is connected.
2. Stamp Coupling: Two modules are stamp coupled, if they communicate using a composite
data item such as a record in PASCAL or a structure in C.
3. Control Coupling: Module A and module B is said to be controlled coupled, if they
communicate by passing of control information.
4. External Coupling: The form of coupling in which a module has dependency to other
module external to the software being developed. Example of this coupling is various
networking or external devices.
5. Common Coupling: With common coupling, module A and module B share global data
area and are commonly found in programming language.
6. Content Coupling: Content coupling occurs when module A changes data of module B
or when control is passed from one module to the middle of another module.
Draw the structure of coupling.
6.9 Structure Charts
A Structure Chart (SC) in software engineering and organizational theory is a chart which
shows the stop working of a system to its lowest manageable levels. They are used in structured
programming to position program modules into a tree. Each module is represented by a box,
which contains the module’s name. The tree structure visualizes the relationships between
modules. Functional modeling is a system engineering technique that requires the graphical
design and presentation of complex business models. This visualization design approach provides
an elegant method for describing information to a non-technical audience. The functional model
decomposes the detail interfaces of a software application into clearly defined components. This
chart typically consists of shapes with descriptions and connecting lines that show relationships
136 LOVELY PROFESSIONAL UNIVERSITY