Mangelnder Zusammenhalt in Methoden (LCOM)

Titel Kurzform

LCOM

Kategorien

Wartbarkeit, Wiederverwendbarkeit

Definition

Zusammenhalt/Kohäsion = Paare von Methoden ohne gemeinsame Instanzvariablen abzüglich Paare von Methoden mit gemeinsamen Instanzvariablen

Die Metrik wird nach folgender Formel berechnet:

MAX(0, <Anzahl Objektpaare ohne Kohäsion> - <Anzahl Objektpaare mit Kohäsion> )

Weitere Informationen

LCOM: Lack of Cohesion in Methods

Der Zusammenhalt bzw. die Kohäsion zwischen Funktionsbausteinen, ihren Aktionen, Transitionen und Methoden beschreibt, ob sie auf die gleichen Variablen zugreifen.

Der Mangel an Kohäsion von Methoden beschreibt, wie stark die Objekte eines Funktionsbausteins miteinander verbunden sind. Je geringer der Kohäsionsmangel, desto stärker ist die Verbindung zwischen den Objekten.

Funktionsbausteine mit einem hohen Mangel an Kohäsion sind wahrscheinlich an vielen verschiedenen Aufgaben beteiligt und verletzen daher das Prinzip der eindeutigen Verantwortlichkeit.

Beispiel:

Funktionsbaustein FB:

FUNCTION_BLOCK FB
VAR_INPUT
    a    : BOOL;
END_VAR
VAR
    i,b  : BOOL;
END_VAR

Aktion FB.ACT:

i := FALSE;

Methode FB.METH:

METHOD METH : BOOL
VAR_INPUT
    c    : BOOL;
END_VAR
METH := c;
i := TRUE;

Methode FB.METH2:

METHOD METH2 : INT
VAR_INPUT
END_VAR
METH2 := SEL(b,3,4);

Für die Metrik Mangelnder Zusammenhalt in Methoden (LCOM) ergibt sich für FB: