Software-Metriken (eBook)

Die Vermessung von Applikationen
eBook Download: PDF | EPUB
2024 | 2., überarbeitete Auflage
356 Seiten
Carl Hanser Verlag GmbH & Co. KG
978-3-446-48058-2 (ISBN)

Lese- und Medienproben

Software-Metriken - Richard Seidl, Manfred Baumgartner, Harry M. Sneed
Systemvoraussetzungen
Systemvoraussetzungen
59,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
GUT GEMESSEN, SCHON GEWONNEN
- Erfahren Sie, wie Software in den drei Dimensionen Quantität, Komplexität und Qualität gemessen werden kann.
- Lernen Sie Methoden zur besseren Planung, Schätzung und Steuerung von Softwareprojekten kennen.
- Profitieren Sie von vielfach in der Praxis bewährten Software- und Projekt-Metriken.
- Die zahlreichen Beispiele, Tipps und Best Practices aus der Erfahrung der Autoren helfen Ihnen, diese auf ihre Projekte anzuwenden.
- Neu in der 2. Auflage: Berücksichtigung aktueller Entwicklungen im Bereich der Metriken und deren Bedeutung in DevOps und Agilität.
- Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches
Metriken und Messgrößen werden in der Regel verwendet, um einen Zustand, Mengen und Volumina, physikalische und zeitliche Größen, Relationen, Abweichungen und Veränderungen zu ermitteln. Aus den Ergebnissen kann man den Ist-Zustand und die Vergangenheit bewerten und Ableitungen für die Zukunft ziehen. Die Software- und Projekt-Metriken in diesem Buch helfen in vielen Situationen, ein tieferes Verständnis der Ausganglage und fundierte Informationen für die Planung und Steuerung von traditionellen und agilen Softwareprojekten zu gewinnen. Für die Wartung oder Weiterentwicklung eines Softwaresystems oder dessen Neuentwicklung ist eine gute Bestandsaufnahme und Bewertung der Software eine wichtige Entscheidungsgrundlage. Das Wissen um die eigene Produktivität und Effizienz auf der Basis verlässlicher Informationen ist essenziell für die Optimierung der gewählten Vorgehensweise.
In diesem Praxisbuch finden Sie Methoden und Metriken, um Softwareartefakte von den Anforderungen über das Softwaredesign und den Code bis hin zu den Testmitteln in den drei Dimensionen Quantität, Komplexität und Qualität zu messen und zu bewerten. Sie helfen Ihnen, Projekte besser zu gestalten, einen Überblick über Produkte und Legacy-Systeme zu erhalten und den Projektfortschritt besser zu verwalten.
AUS DEM INHALT //
- Softwaremessung
- Softwarequantität
- Softwarekomplexität
- Die Messung der Softwarequalität
- Anforderungsmessung
- Entwurfsmessung
- Codemetrik
- Testmetrik
- Produktivitätsmessung in der Softwareentwicklung
- Die Messung der Wartungsproduktivität
- Softwaremessung in der Praxis

Richard Seidl ist seit über 20 Jahren als Softwaretest-Experte und Agile Quality Coach in Deutschland und Österreich tätig.

1 Softwaremessung
1.1 Das Wesen von Software

Software ist Sprache. Sie dient der Kommunikation zwischen den Menschen und Rechnern ebenso wie zwischen Rechnern und Rechnern und zwischen Menschen und Menschen (siehe Bild 1.1). Programmcode ist jene Sprache, in der der Mensch der Maschine Anweisungen erteilt. Der Mensch schreibt den Code, der Rechner liest ihn. Er muss sowohl von den Menschen als auch vom Rechner, in diesem Fall dem Compiler, verstanden werden [DeLi99].

Bild 1.1 Software als Kommunikation zwischen Mensch und Maschine

Anforderungsspezifikationen und Entwurfsdiagramme sind ebenfalls Software, also auch Sprachen. Sie dienen der Kommunikation zwischen Menschen. Der eine Mensch schreibt sie, z. B. der Analytiker, der andere Mensch – der Programmierer – liest sie. Wenn sie nicht für beide Seiten verständlich sind, haben sie ihren Zweck verfehlt. Eine Spezifikation, die von einem Rechner interpretiert werden kann, z. B. eine domänenspezifische Sprache, ist zugleich eine Kommunikation zwischen Mensch und Rechner, ähnlich dem Programmcode.

Kommunikationsprotokolle wie XML-Dateien und Web-Service SOAP-Nachrichten sind desgleichen Software. Sie dienen der Kommunikation zwischen Rechnern. Der eine Rechner schreibt sie, der andere liest sie. Sie muss daher von beiden Rechnern verstanden werden. Ein Protokoll ist eine Vereinbarung zwischen zwei Rechnerarten, wie sie sich verständigen wollen, ebenso wie eine Sprache eine Vereinbarung zwischen Menschen ist, die sich verständigen wollen. Natursprachen sind aus dem Zusammenleben der Menschen heraus erwachsen. Programmier-, Spezifikations- und Testsprachen sind wiederum aus dem Zusammenleben der Menschen mit Computern hervorgegangen [Rose67].

Wenn es nun um die Messung und Erforschung von Software geht, geht es also um die Analyse und Bewertung von Sprachen und den in diesen Sprachen geschriebenen Werken.

Eine Rechnersprache besteht genauso wie eine Sprache der Menschen aus Begriffen und Regeln für die Zusammensetzung jener Begriffe. Der Umfang einer Sprache wird an der Anzahl ihrer Begriffe bzw. Wörter gemessen. Oft legen Schüler Wörterbücher zweier unterschiedlicher Sprachen nebeneinander, um zu sehen, welches dicker ist. Dies ist in der Tat eine sehr grobe Messung des Sprachumfangs und setzt voraus, dass die Seitenaufteilung und die Schriftgröße gleich sind, aber sie ist nichtsdestotrotz eine Messung. Genauer wäre es, die Worteinträge zu zählen und zu vergleichen, aber auch hier ist die Messung ungenau, denn wer weiß, ob in den Wörterbüchern alle möglichen Wörter in beiden Sprachen berücksichtigt sind? Die Zählung der Wörter ist auf jeden Fall genauer als der Vergleich der beiden Wörterbücher. Das Gleiche gilt für Softwaresprachen. Ihr Umfang in vereinbarten Begriffen bzw. Symbolen lässt sich grob und fein vergleichen [LiGu88].

Aber nicht nur die Sprachen selbst können gemessen und miteinander verglichen werden. Auch die Ergebnisse von Sprache wie zum Beispiel Theaterstücke, Bücher, Essays etc. können nach unterschiedlichen Kriterien und zu unterschiedlichen Zwecken gemessen werden. Ist die Schularbeit lang genug? Durch Zählung der Wörter erhält man die Antwort. Warum ist das Buch „Die Buddenbrooks“ von Thomas Mann schwerer zu lesen als Astrid Lindgrens „Pippi Langstrumpf“ und kann man den Unterschied messen? Der Umfang alleine scheint dafür nicht der Grund zu sein und die Zählung der Seiten oder Worte wohl eine zu einfache Erklärung. Sind die Sätze durchschnittlich länger? Haben die beiden Werke einen unterschiedlichen Wortschatz? Wenn jedes Wort, welches mehrfach vorkommt, nur einmal gezählt wird, hätten wir das Vokabular des Schriftstücks. Ähnlich verfuhr M. Halstead, als er begann, Programmcode zu messen [Hals77]. Er zählte alle Wörter, also Operatoren und Operanden, um die Programmlänge zu ermitteln, und zählte jedes verwendete Wort, um das Programmvokabular zu bestimmen. Daraus berechnete er einen Wert für die Schwierigkeit, ein Programm zu verstehen.

Wäre eine Sprache nur eine beliebige Aneinanderreihung von Begriffen, könnte man sich mit der Messung der Größe zufriedengeben. Aber eine Sprache hat auch eine Grammatik. Darin befinden sich die Regeln für die Zusammensetzung der Wörter. Den Wörtern werden Rollen zugewiesen. Es gibt Hauptwörter, Eigenschaftswörter, Zeitwörter usw. Ähnliche Regeln gibt es auch in der Software. Für jede Sprache – Spezifikationssprache, Entwurfssprache, Programmiersprache und Testsprache – gibt es Regeln, wie die Wörter und Symbole verwendet werden können. Man spricht hier von der Syntax der Sprache. Mit der Syntax kommt die Komplexität. Je nachdem, wie umfangreich die Regeln sind, ergeben sich mehr oder weniger mögliche Wortkonstrukte. Je mehr Wortkonstrukte möglich sind, desto komplexer ist die Sprache.

Durch den Vergleich der Grammatik bzw. der Sprachregel ist es möglich, die Komplexität der Sprachen zu vergleichen. Dies trifft für Deutsch, Englisch und Latein ebenso zu wie für COBOL, Java, UML und VDM. Erschwert wird dies allerdings durch die informale Definition der Regeln und den vielen erlaubten Ausnahmen für die Sprache. In der Softwarewelt wird der Vergleich durch die vielen herstellerspezifischen Abweichungen erschwert. Es gibt kaum eine bekannte Softwaresprache, von der es nicht eine Reihe von Derivaten, sprich Dialekte gibt, die sich mehr oder weniger stark unterscheiden [Jone01].

In natürlichen Sprachen gibt es das Kunstwerk Satz: Das ist eine Zusammensetzung von Wörtern nach einem geregelten Muster. Ein Satz hat ein Subjekt, ein Objekt und ein Prädikat. Subjekt und Objekt sind Operanden bzw. Hauptwörter. Sie können durch Eigenschaftswörter ergänzt werden. Die Prädikate, sprich Zeitwörter, können gleichfalls Eigenschaftswörter haben, welche die Handlung ergänzen. Diese Wortarten müssen in einem gewissen Satzmuster vorkommen, um einen sinnvollen Satz zu bilden. Je mehr Muster zugelassen sind, desto komplexer die Satzbildung.

In Softwaresprachen entspricht der Satz einer Anweisung. Auch hier gibt es Syntaxregeln für die Satzbildung. Es gibt Operanden (= Objekte) und Operatoren (= Prädikate). Das Subjekt fehlt. Es wird impliziert als die ausführende Maschine. Der Rechner oder das System liest eine Datei, errechnet Datenwerte, vergleicht zwei Werte oder sendet Nachrichten. Je nachdem, wie viele Anweisungsarten eine Sprache hat, ist sie mehr oder weniger komplex. Die Zahl der einzelnen Anweisungen ist wie die Zahl der Sätze im Prosatext ein Größenmaß. Die Zahl der verschiedenen Anweisungsarten ist wiederum ein Komplexitätsmaß. Sie deutet auf die Komplexität der Sprache bzw. der jeweiligen Sprachanwendung hin.

Sprachen lassen sich in Form von Syntaxbäumen oder Netzdiagrammen darstellen. Peter Chen hat bewiesen, dass sich jeder Sprachtext, auch in einer natürlichen Sprache, mit einem „Entity/Relationship-Diagramm“ abbilden lässt [Chen76]. Die Begriffe sind die Entitäten, die Zusammensetzung der Begriffe ergeben die Beziehungen. Ursprünglich war das E/R Model für die Datenmodellierung gedacht, wobei die Entitäten die Datenobjekte sind. Es lässt sich jedoch genauso gut für die Funktionsmodellierung verwenden, wobei hier die Entitäten die Funktionen sind. Die Zahl der Entitäten bestimmt die Größe einer Beschreibung. Die Zahl der Beziehungen bestimmt deren Komplexität. Je mehr Beziehungen es zwischen Entitäten relativ zur Anzahl der Entitäten gibt, desto komplexer ist die Beschreibung.

Sprachen sind Beschreibungsmittel. Ihr Umfang hängt von der Zahl ihrer Begriffe, sprich den Entitäten ab. Ihre Komplexität hängt wiederum von der Zahl ihrer erlaubten Konstrukte bzw. möglichen Beziehungen zwischen ihren Begriffen ab. Eine Sprachanwendung ist eine ganz bestimmte Beschreibung. Softwaresysteme sind letztendlich nur Beschreibungen. Die Anforderungsspezifikation ist die Beschreibung einer fachlichen Lösung zu einem Zielproblem. Der Systementwurf, z. B. ein UML-Modell, ist die Beschreibung einer rechnerischen Lösung zum Zielproblem, die an die fachliche Beschreibung angelehnt werden sollte [ErPe00]. Der Programmcode ist ebenfalls nur eine Beschreibung, allerdings eine sehr detaillierte Beschreibung der technischen Lösung eines fachlichen Problems, das mehr oder weniger der Entwurfsbeschreibung und der Anforderungsbeschreibung entspricht. Schließlich ist die Testspezifikation nochmals eine Beschreibung dessen, wie sich die Software verhalten sollte.

Alle diese Beschreibungen ähneln den Schatten in Platons Höhlengleichnis [Plat06]. Sie sind nur abstrakte Darstellungen eines Objekts, das wir in Wahrheit gar nicht wahrnehmen können. Zum einen handelt es sich um abstrakte Darstellungen konkreter Vorstellungen und Anforderungen seitens eines Kunden an ein Softwaresystem, zum anderen um Beschreibungen von...

Erscheint lt. Verlag 15.1.2024
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik
Schlagworte Agilität • DevOps • Projektsteuerung • Softwaremessung • Software-Metriken • Softwareprojekte
ISBN-10 3-446-48058-7 / 3446480587
ISBN-13 978-3-446-48058-2 / 9783446480582
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 14,5 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Wasserzeichen)
Größe: 20,3 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
69,99
Der Weg zur professionellen Vektorgrafik

von Uwe Schöler

eBook Download (2024)
Carl Hanser Verlag GmbH & Co. KG
29,99