23
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit¨ at Bremen Sommersemester 2008 ¨ Uberblick I 1 Software-Metriken

Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Softwaretechnik

Prof. Dr. Rainer Koschke

Fachbereich Mathematik und InformatikArbeitsgruppe Softwaretechnik

Universitat Bremen

Sommersemester 2008

Uberblick I

1 Software-Metriken

Page 2: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken:

Software-Metriken

1 Software-MetrikenMessen und MaßeSkalenGutekriterien fur MetrikenVorgehensweiseKlassifikation von SoftwaremetrikenProzessmetrikenRessourcenmetrikenProduktmetrikenAnwendungenProblemeGoal-Question-Metric-AnsatzWiederholungsfragen

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 3 / 40

Software-Metriken:

Lernziele

Verstehen, was eine Software-Metrik ist

die Einsatzmoglichkeiten von Metriken kennen

Metriken beurteilen und auswahlen konnen

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 4 / 40

Page 3: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken:

Literatur

– Fenton und Pfleeger (1998)

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 5 / 40

Software-Metriken: Messen und Maße

Bedeutung des Messens

“To measure is to know.” Clerk Maxwell, 1831-1879

“A science is as mature as its measurement tools.”Louis Pasteur, 1822-1895

”Miss alles, was sich messen lasst, und mach alles messbar, was sich

nicht messen lasst.“ Galileo Galilei, 1564-1642

”Messen konnen Sie vieles, aber das Angemessene erkennen konnen

Sie nicht.“ Hans Gadamer

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 6 / 40

Page 4: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Bedeutung des Messens

“To measure is to know.” Clerk Maxwell, 1831-1879

“A science is as mature as its measurement tools.”Louis Pasteur, 1822-1895

”Miss alles, was sich messen lasst, und mach alles messbar, was sich

nicht messen lasst.“ Galileo Galilei, 1564-1642

”Messen konnen Sie vieles, aber das Angemessene erkennen konnen

Sie nicht.“ Hans Gadamer2008-0

4-0

8

Softwaretechnik

Software-Metriken

Messen und Maße

Bedeutung des Messens

Messen spielt in allen Ingenieurswissenschaften eine wichtige Rolle.Galilei: Ziel der Wissenschaft; durch Messung zu verstandlicheren und nachprufbaren Konzepten/Ergebnissenkommen.

Software-Metriken: Messen und Maße

Definitionen: Maß, Messen, Metrik

Definition

Maß:Abbildung von einem beobachteten (empirischen) Beziehungssystem aufein numerisches Beziehungssystem

Abbildung von Eigenschaften von Objekten der realen Welt auf Zahlenoder Symbole

Definition

Messen: Anwendung eines Maßes auf ein Objekt

Definition

Metrik: Abstandsmaß (math.)

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 7 / 40

Page 5: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Messen und Maße

Definitionen fur Software-Metriken

“A quantitative measure of the degree to which a system,component, or process possesses a given variable.”

– IEEE Standard Glossary

“A software metric is any type of measurement which relates to asoftware system, process or related documentation.”

– Ian Summerville

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 8 / 40

Software-Metriken: Messen und Maße

Messen und Softwaretechnik

Beschreibung: kompakt und objektiv

Beurteilung: Vergleich, Verbesserungen

Vorhersage: geordnete Planung, Verbesserungen

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 9 / 40

Page 6: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Messen und Maße

Fragen bei Maßen

Woruber wir uns bei der Definition von Metriken Gedanken machenmussen:

Reprasentanz Darstellung als Zahl sinnvoll moglich?

Eindeutigkeit viele Abbildungen moglich

Bedeutung erhalten bei Transformationen

Skalierung welche Skala?

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 10 / 40

Fragen bei Maßen

Woruber wir uns bei der Definition von Metriken Gedanken machenmussen:

Reprasentanz Darstellung als Zahl sinnvoll moglich?

Eindeutigkeit viele Abbildungen moglich

Bedeutung erhalten bei Transformationen

Skalierung welche Skala?

2008-0

4-0

8

Softwaretechnik

Software-Metriken

Messen und Maße

Fragen bei Maßen

There are three important questions concerning representations and scales:

1. How do we determine when one numerical relation system is preferable to another?

2. How do we know if a particular empirical relation system has a representation in a given numerical relation system?

3. What do we do when we have several different possible representations (and hence many scales) in the same numericalrelation system?

Question 2 is known as the representation problem.

— Fenton und Pfleeger (1998)

Page 7: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Messen und Maße

Skalen

1

”20 Prozent Verbesserung der Qualitat“

2

”Dieser Kunde ist doppelt so zufrieden wie jener“

3

”Heute doppelt so warm wie gestern“

(Temperatur gestern: 10◦C; heute: 20◦C)

1 Was ist Qualitat Null?

2 Wie zufrieden sind Sie denn?

3 10◦C → 20◦C = +3,5%denn 10◦C = 283 Kelvin, 20◦C = 293 Kelvin

→ Skala?

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 11 / 40

Software-Metriken: Skalen

Skalenhierarchie

+, −

<, >

=, 6=

/

absoluter Vergleich

Absolutskala

Intervallskala

Nominalskala

Ordinalskala

Rationalskala

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 12 / 40

Page 8: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Skalen

Skalenhierarchie – Nominalskala

1. Nominalskala

ungeordnete 1:1 Abbildung

Transformationen: beliebige 1:1

Operationen: =, 6=Statistiken: Haufigkeit

Beispiel: Programmiersprachen

Ada C C++ Java . . .

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 13 / 40

Software-Metriken: Skalen

Skalenhierarchie – Ordinalskala

2. Ordinalskala

dazu: vollstandige Ordnung

Transformationen: streng monoton steigend

Operationen: <, >

Statistiken: Median

Beispiel: Prioritaten

niedrig < mittel < hoch

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 14 / 40

Page 9: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Skalen

Skalenhierarchie – Intervallskala

3. Intervallskala

dazu: Distanzfunktion

Transformationen: M ′ = aM + b (a > 0)

Operationen: +, −Statistiken: Mittelwert, Standardabweichung

Beispiel: Temperatur

TCelsius = 59 · (TFahrenheit − 32)

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 15 / 40

Software-Metriken: Skalen

Definition Metrik

Metrik: Distanzfunktion d : A× A→ IR, mit:

d(a, b) ≥ 0 ∀a, b ∈ A, d(a, b) = 0⇔ a = b

d(a, b) = d(b, a) ∀a, b ∈ A

d(a, c) ≤ d(a, b) + d(b, c) ∀a, b, c ∈ A

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 16 / 40

Page 10: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Skalen

Skalenhierarchie – Rationalskala

4. Rationalskala

dazu: Maßeinheit, Nullpunkt

Transformationen: M ′ = aM (a > 0)

Operationen: /

Statistiken: geom. Mittel, Korrelation

Beispiel: Lange

LMeter = LMeilen · 1609

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 17 / 40

Skalenhierarchie – Rationalskala

4. Rationalskala

dazu: Maßeinheit, Nullpunkt

Transformationen: M ′ = aM (a > 0)

Operationen: /

Statistiken: geom. Mittel, Korrelation

Beispiel: Lange

LMeter = LMeilen · 1609

2008-0

4-0

8

Softwaretechnik

Software-Metriken

Skalen

Skalenhierarchie – Rationalskala

Das geometrische Mittel zwischen zwei Zahlenwerten ist:√

f 1 · f 2Das arithmetische Mittel zwischen zwei Zahlwerten ist: (f 1 + f 2)/2

Page 11: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Skalen

Skalenhierarchie – Absolutskala

5. Absolutskala

Metrik steht fur sich selbst, kann nicht anders ausgedruckt werden

Transformationen: nur die Identitat M ′ = M

Operationen: absoluter Vergleich; d.h

es existiert ein naturlicher Nullpunktund Maßeinheit ist naturlich gegeben (d.h. im weitesten Sinne ’Stuck’)

Beispiele:

Zahler: Anzahl Personen in einem ProjektWahrscheinlichkeit eines FehlersLOC fur Anzahl Codezeilennicht: LOC fur Programmlange

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 18 / 40

Software-Metriken: Gutekriterien fur Metriken

Gutekriterien fur Metriken

Objektivitat: unabhangig vom Messenden

Validitat: misst, was sie vorgibt zu messen

Zuverlassigkeit: Wiederholung liefert gleiche Ergebnisse

Nutzlichkeit: hat praktische Bedeutung

Normiertheit: es gibt eine Skala fur die Messergebnisse

Vergleichbarkeit: mit anderen Maßen vergleichbar

Okonomie: mit vertretbaren Kosten messbar

– Balzert (1997)

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 19 / 40

Page 12: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Gutekriterien fur Metriken

Objektivitat: unabhangig vom Messenden

Validitat: misst, was sie vorgibt zu messen

Zuverlassigkeit: Wiederholung liefert gleiche Ergebnisse

Nutzlichkeit: hat praktische Bedeutung

Normiertheit: es gibt eine Skala fur die Messergebnisse

Vergleichbarkeit: mit anderen Maßen vergleichbar

Okonomie: mit vertretbaren Kosten messbar

– Balzert (1997)2008-0

4-0

8

Softwaretechnik

Software-Metriken

Gutekriterien fur Metriken

Gutekriterien fur Metriken

(Gute entspr. Qualitat)Objekt.: kein subjektiver Einfluss durch Messenden moglichValid.: misst wirklich das, was sie vorgibt zu messenZuverl.: Wiederholung liefert gleiche ErgebnisseNutzl.: hat praktische BedeutungNorm.: es gibt eine Skala fur die MessergebnisseVergl.: mit anderen Maßen vergleichbarOkon.: mit vertretbaren Kosten messbar

Software-Metriken: Vorgehensweise

Vorgehensweise

1 Definition eines Maßes

ZielbestimmungModellbildungSkalentypbestimmungMaßdefinition

2 Validierung des Maßes

Interne ValidierungExterne Validierung

3 Anwendung des Maßes

Konkretes Modell bildenMessungInterpretationSchlussfolgerung

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 20 / 40

Page 13: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Vorgehensweise

Validierung von Maßen

Interne Validierung:

Nachweis, dass ein Maß eine gultige numerische Charakterisierung desentsprechenden Attributs ist, durch

Nachweis der Erfullung der Reprasentanzbedingung

und Prufung des Skalentyps

Externe Validierung → Vorhersagemodell:

Hypothese uber Zusammenhang zwischen zwei Maßen

Erfassung der Meßwerte beider Maße auf gleicher Testmenge

Statistische Analyse der Ergebnisse→ Bestimmung von Parametern→ Prufung der Allgemeingultigkeit

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 21 / 40

Software-Metriken: Klassifikation von Softwaremetriken

Klassifikation von Softwaremetriken

Was: Ressource/Prozess/Produkt

Wo: intern/extern (isoliert/mit Umgebung)

Wann: in welcher Phase des Prozesses

Wie: objektiv/subjektiv, direkt/abgeleitet

Ressourcen

Pla

nung

Test

Analy

seE

ntw

urf

Imple

men−

tieru

ng

Ein

führu

ng

Wartung

ProzessProdukt

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 22 / 40

Page 14: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Klassifikation von Softwaremetriken

Was: Ressource/Prozess/Produkt

Wo: intern/extern (isoliert/mit Umgebung)

Wann: in welcher Phase des Prozesses

Wie: objektiv/subjektiv, direkt/abgeleitet

Ressourcen

Pla

nung

Test

Analy

seE

ntw

urf

Imple

men−

tieru

ng

Ein

führu

ng

Wartung

ProzessProdukt

2008-0

4-0

8

Softwaretechnik

Software-Metriken

Klassifikation von Softwaremetriken

Klassifikation von Softwaremetriken

Bei den Metriken unterscheidet man zwischen internen und externen Metriken. Eine interne Metrik ist daruberdefiniert, dass sie nur Eigenschaften innerhalb des untersuchten Objektes misst, wohingegen externe Metriken dieInteraktion des Objektes mit seiner Umgebung berucksichtigen.

Software-Metriken: Klassifikation von Softwaremetriken

Klassifikation nach Fenton und Pfleeger (1998)

intern externintern extern intern extern

Produkt−MetrikenProzess−Metriken

Software−Metriken

Ressourcen−Metriken

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 23 / 40

Page 15: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Prozessmetriken

Prozessmetriken

Produkt−MetrikenProzess−Metriken

Software−Metriken

Ressourcen−Metriken

intern extern intern extern intern extern

intern:

Zeit/Dauer

Aufwand

Anzahl von Ereignissenz.B. Fehler, Anderungen

extern:

Qualitat

Kontrollierbarkeit

Stabilitat

Kosten

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 24 / 40

Software-Metriken: Ressourcenmetriken

Ressourcenmetriken

intern externintern extern

Produkt−MetrikenProzess−Metriken

Software−Metriken

Ressourcen−Metriken

intern extern

intern:

Personal (Alter, Lohn)

Teamgroße/-struktur

Produktionsmaterialien

Werkzeuge, Methoden

extern:

Produktivitat

Erfahrung

Kommunikation

. . .

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 25 / 40

Page 16: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Produktmetriken

Produktmetriken – intern

intern extern intern extern

Produkt−MetrikenProzess−Metriken

Software−Metriken

Ressourcen−Metriken

intern extern

Große:

LOC

Halstead

Function Points

Bang (DeMarco)

Komplexitat:

McCabe Cyclomatic Complexity

Kontrollflussgraph

Datenfluss

OO-Metriken

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 26 / 40

Software-Metriken: Produktmetriken

Produktmetriken – extern

intern extern intern extern

Produkt−MetrikenProzess−Metriken

Software−Metriken

Ressourcen−Metriken

intern extern

Zuverlassigkeit

Verstandlichkeit

Benutzerfreundlichkeit

Performanz

Portierbarkeit

Wartbarkeit

Testbarkeit

. . .

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 27 / 40

Page 17: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Produktmetriken

Produktmetriken – intern

Vorteil: automatische Erfassung

Die Klassiker:

LOC - Lines Of Code

Halstead (1977)

McCabe (1976)

OO-Metriken (Chidamber und Kemerer 1994)

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 28 / 40

Software-Metriken: Produktmetriken

Großenmetriken – LOC

Lines of code (LOC)

+ relativ einfach messbar

+ starke Korrelation mit anderen Maßen

– ignoriert Komplexitat von Anweisungen und Strukturen

– schlecht vergleichbar

abgeleitet: Kommentaranteil

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 29 / 40

Page 18: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Produktmetriken

Physical source lines (COCOMO 2.0)

When a line or statement contains more than one type, classify it as thetype with the highest precedence.

Statement type Precedence Included

Executable 1√

NonexecutableDeclarations 2

√Compiler directives 3Comments

On their own lines 4On lines with source code 5Banners and non-blank spacers 6Blank (empty) comments 7Blank lines 8

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 30 / 40

Software-Metriken: Produktmetriken

Physical source lines (COCOMO 2.0)

How produced Included

Programmed√

Generated with source code generatorsConverted with automated translators

√Copied or reused without change

√Modified

√Removed

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 31 / 40

Page 19: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Produktmetriken

Physical source lines (COCOMO 2.0)

Origin Included

New work: no prior existence√

Prior work: taken or adapted from√

A previous version, build, or release√

Commercial off-the-shelf software (COTS), other than librariesGovernment furnished software (GFS), other than reuse librariesAnother productA vendor-supplied language support library (unmodified)A vendor-supplied operating system or utility (unmodified)A local or modified language support library or operating systemOther commercial libraryA reuse library (software designed for reuse)

√Other software component or library

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 32 / 40

Software-Metriken: Anwendungen

Anwendungen

Beurteilung des aktuellen Zustands

ProjektuberwachungProduktivitatSoftwarequalitatProzessqualitat (CMM)

Vorhersage des zukunftigen Zustands

AufwandsabschatzungPrognose fur Wartungskosten

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 33 / 40

Page 20: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Probleme

Probleme

Datenerfassung sehr aufwendig, zunachst wenig Nutzen

Datenerfassung nicht konsistent

Teilweise Messungen schwierig durchfuhrbar

Zweck der Messungen muss klar sein

Integration der Datenerfassung in den normalen Arbeitsprozess

Metriken mussen wohldefiniert und validiert sein

Beziehungen zwischen Metriken mussen definiert sein

Gefahr der Fehlinterpretation

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 34 / 40

Software-Metriken: Goal-Question-Metric-Ansatz

Zielorientiertes Messen

GQM (Goal-Question-Metric; Basili und Weiss (1984))

Nicht das messen, was einfach zu bekommen ist,sondern das, was benotigt wird

1 Ziele erfassen

2 zur Prufung der Zielerreichung notwendige Fragen ableiten

3 was muss gemessen werden, um diese Fragen zu beantworten

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 35 / 40

Page 21: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Goal-Question-Metric-Ansatz

Zielorientiertes Messen

Anteil derProgrammierer, dieStandard benutzen

Erfahrung der Programmierermit Standard/Sprache/Umgebung

den Standard?Wer benutzt Produktivität

Wie ist die

der Programmierer? des Codes?Wie ist die Qualität

Effektivität der Codierrichtlinien bestimmen

Fehler

M

G

Q

Aufwand

Code−Größe

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 36 / 40

Software-Metriken: Goal-Question-Metric-Ansatz

Beispiel: Prozess

Ziel Frage Metrik

MaximiereKundenzufrie-denheit

Wie viele Problemetreten beim Kundenauf?

• #Fehler (FR) und#Anderungswunsche (AR)

• Zuverlassigkeit

• Break/Fix-Verhaltnis

Wie lange dauert Pro-blembehebung? • Verhaltnis und Dauer offener

und geschlossener FR/AR

Wo sind Fla-schenhalse? • Personalnutzung

• Nutzung anderer Ressourcen

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 37 / 40

Page 22: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Goal-Question-Metric-Ansatz

Beispiel: Produkt

Ziel Frage Metrik

MaximiereVerstandlichkeitdes Codes

Wie groß ist das Sys-tem? • Anzahl Funktionen, Klassen,

Pakete etc.

• Lines-of-Code pro Funktion,Klasse, Paket etc.

Wie komplex ist dasSystem? • McCabe-Komplexitat pro

Funktion, Klasse, Paket etc.

• Schachtelungstiefe pro Funktion

• Kopplung

• Anzahl Funktionsaufrufe

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 38 / 40

Software-Metriken: Wiederholungsfragen

Wiederholungs- und Vertiefungsfragen

Was ist ein Maß? Was ist eine Metrik?

Was ist eine Software-Metrik?

Welche Skalen gibt es fur Daten? Welche Eigenschaften haben diese?

Beschreiben Sie das Vorgehen bei der Definition und Einfuhrung einesMaßes. Was unterscheidet die interne von der externen Validierung?

Wie lassen sich Software-Metriken klassifizieren? Nennen Sie Beispielefur jede Klasse.

Was ist die Bedeutung von Metriken imSoftware-Entwicklungsprozess?

Was ist die GQM-Methode? Erlautern Sie GQM anhand des Zieles X.

N.B.: Die Ubungsaufgaben sind weitere Beispiele relevanter Fragen.

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 39 / 40

Page 23: Sommersemester 2008 Softwaretechnik - informatik.uni-bremen.de · Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit

Software-Metriken: Wiederholungsfragen

1 Balzert 1997 Balzert, Helmut: Lehrbuch der Software-Technik.Spektrum Akademischer Verlag, 1997. – ISBN 3827400651

2 Basili und Weiss 1984 Basili, R. ; Weiss, D. M.: A Methodology forCollecting Valid Software Engineering Data. In: IEEE Transactions onSoftware Engineering 10 (1984), November, Nr. 6, S. 728–738

3 Chidamber und Kemerer 1994 Chidamber, S.R. ; Kemerer, C.F.:A Metrics Suite for Object Oriented Design. In: IEEE Transactions onSoftware Engineering 20 (1994), Nr. 6, S. 476–493

4 Fenton und Pfleeger 1998 Fenton, N. ; Pfleeger, S.: SoftwareMetrics: A Rigorous & Practical Approach. 2nd. London : InternationalThomson Computer Press, 1998

5 Halstead 1977 Halstead, Maurice H.: Elements of Software Science.In: Operating, and Programming Systems Series 7 (1977)

6 McCabe 1976 McCabe, T.: A Software Complexity Measure. In:IEEE Transactions on Software Engineering 2 (1976), Nr. 4, S. 308–320

Rainer Koschke (Uni Bremen) Softwaretechnik Sommersemester 2008 40 / 40