<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Softwaremetrik</id>
	<title>Softwaremetrik - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Softwaremetrik"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaremetrik&amp;action=history"/>
	<updated>2026-05-28T22:56:40Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaremetrik&amp;diff=62994&amp;oldid=prev</id>
		<title>imported&gt;SteirerDoc: /* Hintergrund */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaremetrik&amp;diff=62994&amp;oldid=prev"/>
		<updated>2025-03-05T20:29:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Hintergrund&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;Softwaremetrik&amp;#039;&amp;#039;&amp;#039;, oder kurz &amp;#039;&amp;#039;&amp;#039;Metrik&amp;#039;&amp;#039;&amp;#039;, ist eine (meist mathematische) Funktion, die eine Eigenschaft von Software in einen Zahlenwert, auch &amp;#039;&amp;#039;&amp;#039;Maßzahl&amp;#039;&amp;#039;&amp;#039; genannt, abbildet. Hierdurch werden formale Vergleichs- und Bewertungsmöglichkeiten geschaffen.&lt;br /&gt;
&lt;br /&gt;
== Hintergrund ==&lt;br /&gt;
&lt;br /&gt;
Formell spricht man davon, die Metrik auf eine &amp;#039;&amp;#039;Software-Einheit&amp;#039;&amp;#039; anzuwenden. Das Ergebnis ist die Maßzahl. Mit Software-Einheit ist in der Mehrheit der Fälle der zugrundeliegende [[Quellcode]] gemeint. Da der Quellcode üblicherweise auf eine oder mehrere einzelne Dateien verteilt wird, kann die Metrik je nach Art auf den ganzen Quellcode oder Teile davon angewendet werden. Es gibt zudem Metriken, wie etwa die [[Function-Point-Verfahren|Function-Point-Analyse]], die bereits auf der Spezifikation von Software angewendet werden können, um im Vorfeld den Aufwand zur Entwicklung der Software zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
In der Form des Zahlenwerts, der Maßzahl, dient die Metrik als Maß für eine Eigenschaft, ein Qualitätsmerkmal, von Software. Sie kann einen funktionalen Zusammenhang repräsentieren oder auch aus einer Checkliste abgeleitet werden. Einfache Metriken zeigen die Größe des Quellcodes in Zeilen oder Zeichen auf, komplexere Metriken versuchen die Verständlichkeit des Quellcodes zu beurteilen. Mit einer geeigneten Zahl verschiedener Metriken kann beurteilt werden, wie aufwändig (sprich personal- und kostenintensiv) die Wartung, Weiterentwicklung und anschließende Tests der Software werden.&lt;br /&gt;
&lt;br /&gt;
Von einem neu entwickelten Programm werden häufig nicht nur bestimmte Funktionen gefordert, sondern auch Qualitätsmerkmale wie zum Beispiel Wartbarkeit, Erweiterbarkeit oder Verständlichkeit. Softwaremetriken können dabei keine korrekte Umsetzung der Funktionen bewerten, sie können allenfalls vorherbestimmen, welchen Aufwand die Erstellung der Software etwa bereiten wird und wie viele Fehler auftreten werden.&lt;br /&gt;
&lt;br /&gt;
Werden während der langfristigen Weiterentwicklung einer Software regelmäßig Metriken angewendet, können negative Trends, also Abweichungen vom Qualitätsziel, frühzeitig entdeckt und korrigiert werden.&lt;br /&gt;
&lt;br /&gt;
Die Interpretation der Daten einer Softwaremetrik ist Aufgabe der Disziplin der [[Softwaremetrie]], dort stellen die Softwaremetriken einen Teil der Basisdaten für die Interpretation dar.&lt;br /&gt;
&lt;br /&gt;
== Definition nach IEEE Standard 1061 ==&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=software quality metric: A function whose inputs are software data and whose output is a single numerical value that can be interpreted as the degree to which software possesses a given attribute that affects its quality.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Quelle=IEEE Standard 1061, 1998&lt;br /&gt;
 |Übersetzung=Eine Softwarequalitätsmetrik ist eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet, welcher als Erfüllungsgrad einer Qualitätseigenschaft der Software-Einheit interpretierbar ist.&lt;br /&gt;
 |ref=&amp;lt;ref&amp;gt;{{Literatur |Hrsg=Institute of Electrical and Electronics Engineers |Titel=IEEE Std 1061-1998. IEEE Standard for a Software Quality Metrics Methodology |Verlag=IEEE |Ort=New York |Datum=1998 |ISBN=1-55937-529-9 |Kapitel=Kapitel &amp;#039;&amp;#039;2. Definitions&amp;#039;&amp;#039; |Seiten=2}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Ordnung von Softwaremetriken ==&lt;br /&gt;
&lt;br /&gt;
Metriken bedienen verschiedene Aspekte der entstehenden Software, des angewendeten Vorgehensmodells und der Bewertung der Erfüllung der Anforderungen.&lt;br /&gt;
&lt;br /&gt;
=== Nutzung ===&lt;br /&gt;
&lt;br /&gt;
Der Einsatz von Metriken erstreckt sich von der Beurteilung der Entwicklungsphasen über die Beurteilung der Phasenergebnisse bis hin zur Beurteilung der eingesetzten Technologien. Das Ziel der Anwendung einer Metrik in der Softwareentwicklung ist die Fehlerprognose und die Aufwandschätzung, wobei zwischen vorlaufendem, mitlaufendem und retrospektivem Einsatz unterschieden wird.&lt;br /&gt;
&lt;br /&gt;
=== Beschränkung ===&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sind Metriken, die überschaubar bleiben, eindimensional. Damit zwingen sie zur Vereinfachung. In der Regel wird das erreicht, indem&lt;br /&gt;
jede Metrik auf eine Sicht eingeengt wird. Das bedeutet dann zwingend, dass andere Sichten nicht gleichzeitig in gleicher Qualität bedient werden.&lt;br /&gt;
&lt;br /&gt;
# Sicht des &amp;#039;&amp;#039;Managements&amp;#039;&amp;#039;&lt;br /&gt;
#* Kosten der Software-Entwicklung (Angebot, Kostenminimierung)&lt;br /&gt;
#* [[Produktivitätssteigerung]] ([[Geschäftsprozess|Prozesse]], [[Erfahrungskurve]])&lt;br /&gt;
#* Risiken (Marktposition, Time-to-Market)&lt;br /&gt;
#* Zertifizierung (Marketing)&lt;br /&gt;
# Sicht des &amp;#039;&amp;#039;Entwicklers&amp;#039;&amp;#039;&lt;br /&gt;
#* Lesbarkeit (Wartung, Wiederverwendung)&lt;br /&gt;
#* Effizienz und Effektivität&lt;br /&gt;
#* Vertrauen ([[Restfehler]], [[Mean Time Between Failures|MTBF]], Tests)&lt;br /&gt;
# Sicht des &amp;#039;&amp;#039;Kunden&amp;#039;&amp;#039;&lt;br /&gt;
#* Abschätzungen (Budgettreue, Termintreue)&lt;br /&gt;
#* Qualität (Zuverlässigkeit, Korrektheit)&lt;br /&gt;
#* Return on Investment (Wartbarkeit, Erweiterbarkeit)&lt;br /&gt;
&lt;br /&gt;
=== Klassifikation ===&lt;br /&gt;
&lt;br /&gt;
Für die verschiedenen Aspekte der Bewertung gibt es &amp;#039;&amp;#039;Entwurfsmetriken&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wirtschaftliche Metriken&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Kommunikationsmetriken&amp;#039;&amp;#039; usw.&lt;br /&gt;
Metriken können verschiedenen Klassen zugeordnet werden, die den Gegenstand der Messung oder Bewertung bezeichnen:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;Prozess-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Ressourcenaufwand (Mitarbeiter, Zeit, Kosten)&lt;br /&gt;
#* Fehler&lt;br /&gt;
#* Kommunikationsaufwand&lt;br /&gt;
# &amp;#039;&amp;#039;Produkt-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Umfang ([[Lines of Code]], Wiederverwendung, Prozeduren …)&lt;br /&gt;
#* [[Komplexität (Informatik)|Komplexität]]&lt;br /&gt;
#* Lesbarkeit (Stil)&lt;br /&gt;
#* Entwurfsqualität ([[Modularität]], [[Kohäsion (Informatik)|Kohäsion]], [[Kopplung (Softwareentwicklung)|Kopplung]] …)&lt;br /&gt;
#* Produktqualität (Testergebnisse, [[Testabdeckung]] …)&lt;br /&gt;
# &amp;#039;&amp;#039;Aufwands-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Aufwandsstabilität&lt;br /&gt;
#* Aufwandsverteilung&lt;br /&gt;
#* Produktivität&lt;br /&gt;
#* Aufwand-Termin-Treue&lt;br /&gt;
# &amp;#039;&amp;#039;Projektlaufzeit-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Entwicklungszeit&lt;br /&gt;
#* Durchschnittliche Entwicklungszeit&lt;br /&gt;
#* Meilenstein-Trend-Analyse&lt;br /&gt;
#* Termintreue&lt;br /&gt;
# &amp;#039;&amp;#039;Komplexitäts-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Softwaregröße&lt;br /&gt;
#* Fertigstellungsgrad&lt;br /&gt;
# &amp;#039;&amp;#039;Anwendungs-Metrik&amp;#039;&amp;#039;&lt;br /&gt;
#* Schulungsaufwand&lt;br /&gt;
#* Kundenzufriedenheit&lt;br /&gt;
&lt;br /&gt;
=== Gütekriterien ===&lt;br /&gt;
&lt;br /&gt;
Eine Metrik aus der Produktionsphase der Software allein ist noch kein Gütekriterium. In der Regel werden Gütemerkmale an der Erfüllung der Anforderungen des Kunden und seiner Anwendung gemessen. Dabei sind die Übertragbarkeit der Ergebnisse und die Repräsentanz der Messwerte für den Kundennutzen von Bedeutung:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;Objektivität&amp;#039;&amp;#039;: keine subjektiven Einflüsse des Messenden&lt;br /&gt;
* &amp;#039;&amp;#039;Zuverlässigkeit&amp;#039;&amp;#039;: bei Wiederholung gleiche Ergebnisse&lt;br /&gt;
* &amp;#039;&amp;#039;Normierung&amp;#039;&amp;#039;: Messergebnisskala und Vergleichbarkeitsskala&lt;br /&gt;
* &amp;#039;&amp;#039;Vergleichbarkeit&amp;#039;&amp;#039;: Maß mit anderen Maßen in Relation setzbar&lt;br /&gt;
* &amp;#039;&amp;#039;Ökonomie&amp;#039;&amp;#039;: minimale Kosten&lt;br /&gt;
* &amp;#039;&amp;#039;Nützlichkeit&amp;#039;&amp;#039;: messbare Erfüllung praktischer Bedürfnisse&lt;br /&gt;
* &amp;#039;&amp;#039;Validität&amp;#039;&amp;#039;: von messbaren Größen auf andere Kenngrößen zu schließen (schwierig)&lt;br /&gt;
&lt;br /&gt;
== Metriken ==&lt;br /&gt;
Einige der bekannteren Metriken sind:&lt;br /&gt;
* [[Lines of Code|Anzahl der Codezeilen]], engl. Lines Of Code, kurz LOC.&lt;br /&gt;
* das [[Function-Point-Verfahren]] zur Aufwandsabschätzung in der Analysephase&lt;br /&gt;
* [[COCOMO]] zur Errechnung von Projektkosten aus anderen Kennzahlen&lt;br /&gt;
* die [[McCabe-Metrik|zyklomatische Komplexität (nach McCabe)]] zur Komplexitätsbestimmung eines Programmodules&lt;br /&gt;
* die [[Halstead-Metrik]] zur Implementierungsabschätzung in der Entwurfsphase&lt;br /&gt;
* [[Kontrollflussorientierte Testverfahren|Kontrollflussorientierte Metriken]] wie Anweisungsüberdeckung, Zweigüberdeckung, Pfadüberdeckung oder Bedingungsüberdeckung&lt;br /&gt;
&lt;br /&gt;
Durch Kombination vorhandener Metriken werden immer wieder neue Metriken entwickelt, die zum Teil neue Entwicklungen im [[Software Engineering]] widerspiegeln. Ein Beispiel hierfür ist die 2007 vorgestellte [[C.R.A.P. (Software Metrik)|C.R.A.P.]] (Change Risk Analysis and Predictions) Metrik zur Beurteilung der Wartbarkeit von Code.&lt;br /&gt;
&lt;br /&gt;
Um den Grad der [[Informationssicherheit]] in Systemen und Infrastrukturen zu bewerten, muss Sicherheit gemessen werden können. Sicherheitskennzahlen dienen dabei als objektive, quantifizierbare Maßzahlen, um Sicherheitsentscheidungen sowohl während der Anschaffungsphase als auch während des Betriebs treffen zu können. Ein Ziel von Sicherheitsmetriken ist der Nachweis, dass die geplanten und umgesetzten Sicherheitsmaßnahmen eine spezifische Sicherheitspolitik erfüllen. Entscheidungen und Bewertungen hinsichtlich der IT-Sicherheit werden so transparent und nachvollziehbar. Anwendungsgebiete für Sicherheitsmetriken sind die Beurteilung der Sicherheitslage, [[Sicherheitsmanagement]] oder [[Cyber-Versicherung|Cyberversicherungen]].&amp;lt;ref&amp;gt;{{Internetquelle |autor=Fraunhofer FOKUS Kompetenzzentrum Öffentliche IT |url=https://www.oeffentliche-it.de/trendsonar |titel=Das ÖFIT-Trendsonar der IT-Sicherheit – Sicherheitsmetriken |datum=2016-04 |abruf=2016-05-30}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auswahl geeigneter Metriken ==&lt;br /&gt;
Zur Identifikation geeigneter Metriken kann das [[GQM|Goal Question Metric (GQM)]] Verfahren eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Software-Messung und -bewertung ==&lt;br /&gt;
[[Software-Messung|Software-Messung und -bewertung]] bezeichnet eine Disziplin im Bereich der Informatik, die sich mit der systematischen Vermessung und Bewertung verschiedener Eigenschaften von Softwareprodukten, -prozessen und -projekten befasst.&lt;br /&gt;
&lt;br /&gt;
== Vorgehen ==&lt;br /&gt;
{{Belege fehlen}}&lt;br /&gt;
# &amp;#039;&amp;#039;Phasen- und Rollenmodell&amp;#039;&amp;#039; festlegen&lt;br /&gt;
# &amp;#039;&amp;#039;Ziele&amp;#039;&amp;#039; bestimmen&lt;br /&gt;
# &amp;#039;&amp;#039;Metrik-Maske&amp;#039;&amp;#039; definieren&lt;br /&gt;
# &amp;#039;&amp;#039;Messplan&amp;#039;&amp;#039; aufstellen&lt;br /&gt;
# &amp;#039;&amp;#039;Daten&amp;#039;&amp;#039; sammeln&lt;br /&gt;
# Daten validieren&lt;br /&gt;
# Daten analysieren und interpretieren&lt;br /&gt;
# Daten sichern und visualisieren&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Christof Ebert und Reiner Dumke: &amp;#039;&amp;#039;Software Measurement – Establish, Extract, Evaluate, Execute&amp;#039;&amp;#039;. Springer-Verlag, 2007, ISBN 978-3-540-71648-8.&lt;br /&gt;
* Georg E. Thaller: &amp;#039;&amp;#039;Software-Metriken einsetzen – bewerten – messen&amp;#039;&amp;#039;. Verlag Technik, 2000, ISBN 3-341-01260-5.&lt;br /&gt;
* [[Mohsen Rezagholi]]: &amp;#039;&amp;#039;Prozess- und Technologie Management in der Softwareentwicklung&amp;#039;&amp;#039;. Oldenbourg Verlag München Wien, 2004, ISBN 3-486-27549-6.&lt;br /&gt;
* Ch. Bommer, M. Spindler, V. Barr: &amp;#039;&amp;#039;Softwarewartung – Grundlagen, Management und Wartungstechniken.&amp;#039;&amp;#039; dpunkt.verlag, Heidelberg 2008, ISBN 3-89864-482-0.&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=[[Harry Sneed]], [[Richard Seidl]], Manfred Baumgartner&lt;br /&gt;
   |Titel=Software in Zahlen – Die Vermessung von Applikationen&lt;br /&gt;
   |Auflage=1.&lt;br /&gt;
   |Verlag=[[Carl Hanser Verlag]]&lt;br /&gt;
   |Datum=2010&lt;br /&gt;
   |ISBN=978-3-446-42175-2}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.verifysoft.com/de_cmtpp_mscoder.pdf Berechnung von McCabe- und Halstead-Metriken anhand eines Beispielprojekts] (PDF-Datei; 737 kB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Qualitätsmanagement (Softwaretechnik)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SteirerDoc</name></author>
	</entry>
</feed>