SWM Kap. 5 Messen

Software-Management

Software-Management

Vivien Baguio

Vivien Baguio

Set of flashcards Details

Flashcards 16
Language Deutsch
Category Computer Science
Level University
Created / Updated 22.01.2014 / 12.01.2019
Weblink
https://card2brain.ch/box/swm_kap_5_messen
Embed
<iframe src="https://card2brain.ch/box/swm_kap_5_messen/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Nennen Sie typische Kenngrößen (Messgrößen, Maße) von Software-Prozessen und Produkten in den verschiedenen Phasen von SWE (Planung, Definition, Entwurf, Implementierung, Einführung, Wahrung und Pflege).

Halstead-Metrik

McCabe-Metrik

LOC

Function Points

Definiere LOC (Lines of Code).

  • LOC zählt die Codezeilen eines Programms
  • LOC scheinbar einfaches Maß
  • Was wird exakt gezählt?
    • Nur Zeilen mit ausführbarem Code
    • Ausführbarer Code, Definition und Kommentare
    • Pure Anzahl Zeilen
  • Vergleichbarkeit
    • Vergleich mit SW in selber Sprache
    • Vergleich mit SW in anderer Sprache in normierter Einheit

Erklären Sie die Halstead-Metrik!

  • N1: Gesamtzahl der Operatoren (Schlüsselwörter, Vergleichsoperatoren, Zuweisungsoperatoren)
  • N2: Gesamtzahl der Operanden (Variablen, Konstanten, Methoden, Methodenaufrufe)
  • n1: Anzahl der unterschiedlichen Operatoren
  • n2: Anzahl der unterschiedlichen Operanden
  • Implementierungslänge: L = N1 + N2
  • Halstead-Länge: HL = n1*log2(n1) + n2*log2(n2)
  • Halstead-Volumen: HV = L*log2(n1 + n2)
    • Funktion: 20 <= HV <= 1000; Datei: 100 <= HV <= 8000
  • Schwierigkeitsgrad D: D = (n1/2) * (N2/n2)
  • Geschätzte Fehlerzahl F: F = HV/3000

Bewerten Sie die Halstead-Metrik!

  • Vorteile:
    • Berücksichtigung komplexer Ausdrücke und Variablen (Länge einer Programmzeile)
    • leicht zu vermitteln
    • automatisierbar
    • für (fast) alle Programmiersprachen einsetzbar
  • Nachteile:
    • Ablaufstrukturen werden nicht berücksichtigt
    • lediglich "textuelle" Komplexität

 

Erklären Sie die McCabe-Metrik (Zyklomatische Komplexität).

Sie misst die Komplexität eines SW-Moduls.

Verwendet Kontrollflussgraphen.

Berechnung: M = e - n + 2*p

  • e: Anzahl der Kanten im Graphen
  • n: Anzahl der Knoten im Graphen
  • p: Anzahl der einzelnen Kontrollflussgraphen
  • b: Anzahl der Binärverzweigungen (p=1: M=b+1)
  • M: untere Schranke für #(Programmierpfade); obere Schranke für #(Testfälle) bei vollst- Kantenabdeckung
  • Fehlerrisiko:
    • M > 10: mittel
    • M > 20: hoch
    • M > 50: unbeherrschbar
  • Nach McCabe: M<10 ist ein sich geschlossenes Teilprogramm

Welche 7 Schritte sind für "Messen" nötig?

  1. Defintion der Messziele
  2. Ableitung der Messaufgaben aus den Messzielen
  3. Bestimmung der Messobjekte
  4. Festlegung der Messgröße und Messeinheit
  5. Zuordnung der Messmethoden und Messwerkzeuge zu den Messobjekten und Messgrößen
  6. Ermittlung der Messwerte
  7. Interpretation der Messwerte

Wie lauten die 7 Gütekriterien für Softwaremetriken?

  1. Objektivität (Intersubjektivität)
    • Maß ist objektiv, wenn keine subjektiven Einflüsse des Messenden auf Messung möglich sind
  2. Zuverlässigkeit (Messgenauigkeit)
    • Bei wiederholten Messungen die selben Ergebnisse
  3. Validität (Gültigkeit, Messtauglichkeit)
    • Messergebnisse erlauben eindeutigen und unmittelbaren Rückschluss auf Ausprägung der Kenngröße
  4. Normierung
    • Es gibt Skala, auf die die Ergebnisse eindeutig abgebildet werden.
  5. Vergleichbarkeit
    • Kann ein Maß mit anderen in Relation gesetzt werdne, dann heißt es vergleichbar
  6. Ökonomie
    • Messung mit geringen Kosten, hängt vom Automatisierungsgrad, der Anzahl der Messgrößen und Anzahl der Berechnnungsschritte ab
  7. Nützlichkeit
    • Werden mit Messung praktische Bedürfnisse erfüllt, dann ist ein Maß nützlich

Nennen Sie die 5 Arten von Skalen!

  1. Nominalskala
  2. Ordinalskala
  3. Intervallskala
  4. Rationalskala
  5. Absolutskala

Erklären Sie die Nominalskala.

  • endliche, ungeordnete Menge diskreter Mermalausprägungen
  • Operationen: =, und !=
  • Beispiele
    • Matrikelnummer
    • Kategorisierung eines SW-Moduls nach Anwendungsbereich (Logisik, Personalwesen..)

Erklären Sie Ordinalskala, geben Sie ein Beispiel!

Norminalskala erweitert mit: Ordnung! (also a>b, a=b, a<b)

  • Operationen <,>
  • keine Abstandsberechnung möglich!!!
  • Beispiel:
    • Zufriedenheit mit SW-Produkt
    • nicht zufrieden < zufrieden < sehr zufrieden
    • Prioritäten, Schulnoten, Windstärken, Hubraumklassen
    • NICHT ERLAUBT: zB Unterschiedsvergleiche bei Schulnoten:
    • Eine Schülerin mit einer 1 ist um 2 besser als eine Schülerin mit einer 3. Es gibt hier keine Deifnition eines Abstandes, somit auch keine Durchschnittsnote. Deuutlicher: "sehr gut" ist um X besser als "befriedigend"

Erklären Sie Intervallskala!

  • Zusätzlich: Distanzen berechenbar!
  • Operationen: +,-
  • Durchschnitte berechnenbar
  • Beispiel: Temperatur Tcelsius = 5/9 * (Tfahrenheit - 32)
  • SINNVOLL: Differenzen zwischen Messwerte berechnen und vergleichen!
  • NOT SINNVOLL: Verhältnisse berechnen "Deutschland ist doppelt so warm wie China"

Erklären Sie die Rationalskala (Verhältnisskala).

 

  • Zusätzlich: Maßeinheit (willkürlich festgelegt), natürlicher Nullpunkt gegeben
  • Operation: /
  • Beispiel: Herr X ist um 15% gewachsen

Erklären Sie die Absolutskala!

  • Metrik steht für sich selbst
  • Keine Skalentransformation erlaubt
  • Operationen: Vergleich auf Identität und Größenvergleich, Addition
  • es existiert ein natürlicher Nullpunkt
  • Maßeinheit natürlich gegeben, Skaleneinheit kann nicht frei gewählt werden
  • Beispiel:
    • Anzahl Personen im Projekt
    • Wahrscheinlichkeit eines Fehlers im Programm
    • LOC (Anzahl Codezeilen)
    • NICHT: LOC für Programmlänge

Durch welche 7 Punkte kann man ein Maß klassifizieren?

 

  1. Explizit/Abgeleitet (primär/sekundär)(intern/extern)(basis/berechnet)
    • Explizite Maße werden direkt ermittelt >> entdeckte Fehler in einem Programm
    • Abgeleitete Maße hängen von anderen explizien oder abgeleiteten Maßen ab >> Anzahl der Fehler dividiert durch die Anzahl KLOC
  2. Dynamisch/Statisch
    • Dynamische Maße besitzen Zeitdimension. Wete ändern sich in Abhängigkeit davon, wann durchgeführt wird >> gefundene Fehler pro Monat
    • Statische Maße bleiben invariant unter der Zeit >> Anzahl gefundene Fehler während gesamter Entwicklungszeit
  3. Vorhersagend/Erklärend
    • Vorhersagende Maße können im Voraus ermittelt werden
    • Erklärende Maße werden im Nachgang ermittelt
  4. Prozessorientiert/Produktorientiert
    • prozessorientiertes Maß ist Eigenschaft des Entwicklungs/Pflegungsprozess >> Kosten der Entwicklung oder der Entwicklungsumgebung
    • Produktorientiertes Maß wird direkt am Produkt gemessen >> Umfang des Produktes, Struktur- und Datenkomplexität
  5. Global/Speziell
    • Globale Maße sind Indikatoren auf hohem Abstraktionsniveau und umfassen mehrere Phasen des SWE-Prozesses
    • Spezielle Maße sind Indikatoren für jeweils eine spezielle Phase im Entwicklungsprozess

Erklären Sie die Function-Point Methode!

  • Ermittlung des Aufwandes in Abhängigkeit von Art, Umfang und Schwierigkeitsgrad des Produktes
  • >> Aufwand = f(Art, Umfang, Schwierigkeitsgrad)
  • Basis sind verbale Produktanforderungen (Art, Umfang)
  • Schwierigkeitsgrad wird anhand eines Kriterienrasters geschätzt

Zusammenfassung: Maße definieren, einführen, anwenden

  • Typische Maße für SW
  • Gütekriterien für Maße (Validität!)
  • Klassifikation von Maßen
  • Skalen (Nominal-, Ordinal-, Intervall-, Rational- und Absolutskala)
  • Probleme bei SW-Messungen
  • Werkzeuge für SW-Messungen
  • Kritik
    • Was einen interessiert kann man nicht direkt messen
    • In einer Formal setzt man die quatitativ messbaren Größen in Beziehung und interpretiert diese als die interessierende Größen
    • Berechnungsmodelle sind sehr simpel
    • >> Wo bleiben Data Mining, Maschinelles Lernen, neuronale Netze, ....