Unter Kohäsion versteht man des Verhältnis eines Unterprogrammes zu seiner Aufgabe. Kohäsion ist, mit Ausnahme der funktionalen Kohäsion, nicht erwünscht. Ein guter Entwurf beinhaltet eine geringe Kopplung und eine hohe funktionale Kohäsion. Man unterscheidet:
. Zufallskohäsion
. Zeitliche Kohäsion
. Prozedurale Kohäsion
. Logische Kohäsion
. Funktionale Kohäsion
. Sequentielle Kohäsion
2.1 Zufallskohäsion (accidental cohesion)
Diese ist gegeben, wenn innerhalb eines Unterprogramms Aufgaben erledigt werden, die inhaltlich nichts miteinander zu tun haben (Datei bearbeiten, Fibonacci Zahlen ausrechnen, Text ausgeben in einem Unterprogramm).
2.2 Zeitliche Kohäsion (temporal cohesion)
Ein Unterprogramm enthält Aufgaben die zu selben Zeitpunkt innerhalb des Programmablaufes durchgeführt werden (Bsp.: Beim schließen einer Datei, beim öffnen eines Wertpapiergeschäftes).
2.3 Prozedurale Kohäsion (procedural cohesion)
Dieser Fall liegt vor, wenn zwei Unterprogramme zusammengefaßt werden, die die selbe Steuerungsstruktur aufweisen (Bsp.: 2 Hunderterschleifen).
2.4 Logische Kohäsion (logical cohesion)
Dies ist das Gegenstück zur Steuerungskopplung.
2.5 Sequentielle Kohäsion (sequential cohesion)
2.6 Kommunikations Kohäsion (communicational cohesion)
Diese liegt vor wenn die beiden Unterprogramme auf die selben Daten zugreifen.
2.7 Funktionale Kohäsion (functional cohesion)
Diese ist erwünscht, da hier ein Unterprogramm genau eine Aufgabe hat. Welchen Umfang diese Aufgabe hat, hängt von der funktionalen Dekomposition ab.
|