CSC/ECE 517 Fall 2007/wiki2 7 as

From Expertiza_Wiki
Revision as of 02:08, 24 October 2007 by Snviswan2 (talk | contribs)
Jump to navigation Jump to search

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