Typische Metriken die den Erfolg der Politik messen sind Entwicklung der Arbeitslosigkeit, Wirtschaftswachstum, Neuverschuldung, CO-2 Austoss usw. Wie in der Politik ist es in der Softwareentwicklung gefährlich sich nur an eine einzelne Metrik zu orientieren. Erst die Messung von mehreren Metriken ergeben ein realistisches Bild. Auch lässt sich immer streiten ab welchen Ergebnissen, von Erfolg bzw. Misserfolg reden kann.
Typischen Metriken für objektorientiere Software sind:
Methoden
Klassen
Kopplung und Kohäsion
Klassen die in einem Paket zusammengefasst sind, sollten eine hohe Kohäsion und Klassen in verschiedene Paketen eine geringe Kopplung haben.
Eine Änderung einer Schnittstelle einer Klasse; sollte idealerweise nur eine Anpassung der Klassen im selben Paket notwendig machen. Wenn Klassen in verschiedenen Paketen voneinander abhängig sind, dann sollte die Abhängigkeit nur einseitig sein.
Einfache Metriken die Kopplung und Kohäsion messen kenne ich nicht. Für Java gibt es das Tool JDepend Dies misst die Abhängigkeit von packages und warnt insbesondere von gegenseitigen Abhängigkeiten.
In der Praxis werden Metriken selten angewandt. Durch konsequentes Refaktorisieren oder durch TestgetriebeneEntwicklung entsteht i.a. von selbst Code von hoher Qualität. Metriken sind eine grosse Hilfe wenn es darum geht fremden Code zu analysieren. Die Einhaltung von Metriken können auch ein Abnahmekriterium sein[KlausMeucht]
Software | ![]() |
Links | ![]() |
Spezielle Metriken | ![]() |
Messen kann dein Freund sein, wenn du ein bestimmtes Ziel verfolgst und eine Metrik an der Hand hast, die deinen Arbeitsfortschritt in Bezug auf dieses Ziel misst. Selbst ausgereifte Prozessmodelle a la CMM oder DinIso9001 lassen gewisse Spielräume, was denn nun eigentlich ganz konkret gemessen werden muss.
![]() |
|
Diskussion | ![]() |
Ich glaube, es ist nicht ganz korrekt zu sagen, dass SoftwareMetriken Qualität messen - in den meisten Fällen sind es sogar eher quantitative Eigenschaften die gemessen werden, und aus denen dann mehr oder weniger erfolgreich versucht wird, qualitative Aussagen abzuleiten. Deutlichstes Beispiel ist das bekannte LinesOfCode.