Objektorientierte Software-Metrik

Zur Messung von Softwareprodukten werden sogenannte Software-Metriken verwendet, die unterschiedliche Eigenschaften von Softwareprodukten und -prozessen quantifizieren. Die in den 70er und 80er vorgestellten klassischen Software-Metriken nach Halstead, McCabe oder Rechenberg sowie die LOC-Metrik werden in die Gruppe der konventionellen Software-Metriken eingeordnet. Dazu gehören die Umfangsmetriken, welche unter verschiedenen Aspekten die "Größe" einer Software ermitteln. Das können sowohl die Anzahl der codierten Zeilen wie bei Lines-of-Code (LOC) sein, die Verknüpfung der Anzahl von Operatoren und Operanden (Halstead) als auch der prozessorientierte Ansatz der Function-Point-Metrik.

Einen anderen Weg weist die McCabe-Metrik, die die logische Struktur u.a. die Schachtelungstiefe von Schleifen in die Messung einbezieht. Gemäß der Metrik nach Rechenberg wird der Aspekt von Messung der Software-Komplexität hervorgehoben, was auch allgemein als Datenstruktur-Metrik bezeichnet wird. Dabei werden die Anzahl der Variablen, deren Gültigkeit und Lebensdauer sowie deren Referenzierung in die Messung integriert. Eine weitere konventionelle Methode ist die sogenannte Stilmetrik, die sich darauf beschränkt, den Anteil der Kommentare im Source Code zu ermitteln.

Ein Ergebnis von Forschungen jüngeren Datums sind die sogenannten objektorientierten Software-Metriken. Diese berücksichtigen bei der Messung von Software die Zusammenfassung von Datenstrukturen und der darauf anwendbaren Methoden zu einem Objekt, dessen Beziehungen zu anderen Objekten sowie die generellen Strukturmerkmale objektorientierter Programmierung - wie da beispielsweise sind Datenkapselung, Vererbung, Klassen, Methoden und Abstraktion. Zur besseren Einordnung dieser Metriken lassen sich die folgenden Ebenen differenzieren:

Messung auf Methodenebene Hier werden die Eigenschaften von Methoden gemessen. Dafür können noch konventionelle Methoden wie Lines-of-Code (LOC) oder McCabe eingesetzt werden.

Messung auf Klassenebene Hier werden die Strukturmerkmale von Klassen gemessen. Als Maß dafür bieten sich die folgenden Metriken an: Response for a Class (RFC), Weighted Methods for Class (WMC) und Lack of Cohesion in Methods (LCOM).

Messung von Vererbungshierarchien Hier werden die durch Vererbung und Abstraktion entstandenen Strukturen betrachtet. Als Maß hierfür bietet sich die Methode Number of Children (NOC) an.

Messung von Aggregationshierarchien Hier wird ein Maß für die Verknüpfung von Klassen untereinander ermittelt. Dafür bietet sich das Verfahren Coupling between Objects (CBO) an.

Im Allgemeinen werden hinsichtlich der genannten Metriken deren partiell fehlende theoretische Fundierung und die ausschließliche Messung trivialer Sachverhalte kritisiert.

Informationen zum Artikel
Deutsch: Objektorientierte Software-Metrik
Englisch:
Veröffentlicht: 30.11.2009
Wörter: 367
Tags: Analyse
Links: Abstraktion, Aspekt, CBO (coupling between objects), Datenkapselung, Halstead