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_VARAktion FB.ACT:
i := FALSE;Methode FB.METH:
METHOD METH : BOOL
VAR_INPUT
c : BOOL;
END_VARMETH := c;
i := TRUE;Methode FB.METH2:
METHOD METH2 : INT
VAR_INPUT
END_VARMETH2 := SEL(b,3,4);Für die Metrik Mangelnder Zusammenhalt in Methoden (LCOM) ergibt sich für FB:
- Objektpaare ohne Verbindung/Kohäsion (5 Paare):
FB,FB.ACTFB,FB.METHFB,FB.METH2FB.ACT,FB.METH2FB.METH,FB.METH2- Objektpaare mit Verbindung/Kohäsion (1 Paar):
FB.ACT,FB.METH(beide verwendeni)- LCOM = Anzahl Objektpaare ohne Kohäsion - Anzahl Objektpaare mit Kohäsion = 5 – 1 = 4