| |
Cohesion Categories
Traditionally when discussing the structure of a program developers talk in
terms of modules, functions, subroutines, methods, or procedures. All of
these structures apply something slightly different, but they are all roughly
equivalent types of structures. When discussing the internal strength or cohesion
of these structures it is necessary
to look at pieces that comprise them. These pieces or elements are one or more lines of code
that provide the module's functionality. It is the interrelationship
between these parts that establishes a modules level of cohesion or the modules
strength.
|
Figure
1.
Levels of cohesion
|
This eight-interval ordinal scale, as shown in Figure 1, is one of the fundamental concepts of software architecture. It
identifies different design options and explains the effect of making that
selection on an application. Since
originally introduced in 1975, many have claimed there are good and bad forms of
cohesion. While some are more
preferred over others each represents a design choice.
When designing software, as with other forms of architecture, it is
sometimes necessary to make a less than optimal choices.
An informed decision about the type of cohesion being used in a design or
application insures that the other possible options received some level of
consideration. Each one of the coupling categories are
explained by pressing one of the buttons below. Be sure to view the
different categories of coupling be preceding with the section on
classification.
© Carl J. Mueller, 2001. |
This page was last
update on 04/17/2001
|
|