CSC/ECE 517 Fall 2007/wiki2 7 as: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 19: | Line 19: | ||
*The higher the cohesion the “better”. | *The higher the cohesion the “better”. | ||
;Module a lexically contiguous sequence of program statements bounded by boundary elements, having an aggregate identifier | ;Some Small Definitions | ||
'''Module''' a lexically contiguous sequence of program statements bounded by boundary elements, having an aggregate identifier | |||
'''Relationship''' A relationship exists between one module and another if that module cannot function correctly without the presence of the other |
Revision as of 02:08, 24 October 2007
Topic
Cohesion and coupling Cohesion and coupling are concepts that are reasonably easy to understand, but nonetheless, it is challenging to find good examples that are succinct. Browse the hundreds of Web pages that attempt to explain these concepts, picking your favorite examples. Many of these pages mention related concepts; list some of them and explain how they relate to cohesion and coupling. Be sure to mention the metrics that can be used to measure how well a program conforms to the principles of high cohesion and low coupling.
Definition
Coupling
Coupling is simply defined as the degree of interdependence between modules or its like a measure of the strength of interconnection of modules or objects.
- The more the connections between one module and the rest, the harder to understand that module, the harder to re-use that module in another situation, the harder it is to isolate failures caused by faults in the module.
- The lower the coupling the “better”.
Cohesion
Cohesion can be described as the extent to which its individual components are needed to perform the same task i.e. how tightly bound or related [a module’s] internal elements are to one another.
- The less tightly bound the internal elements, the more disparate the parts to the module, the harder it is to understand.
- The higher the cohesion the “better”.
- Some Small Definitions
Module a lexically contiguous sequence of program statements bounded by boundary elements, having an aggregate identifier Relationship A relationship exists between one module and another if that module cannot function correctly without the presence of the other