Lesson 3 Flashcards

(69 cards)

1
Q

Was ist eine grundlegende Eigenschaft von Anforderungen?

A

Anforderungen müssen testbar sein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was liefern Maße (Measures) in Bezug auf testbare Anforderungen?

A

Maße liefern eine Antwort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sollte bei Anforderungen in Bezug auf Maße vermieden werden?

A

Man sollte Anforderungen ohne Messungen vermeiden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ist alles, was gemessen werden kann, automatisch eine Anforderung?

A

Nein, nicht alles, was gemessen werden kann, ist eine Anforderung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nennen Sie Beispiele für externe Qualitätsmerkmale, die wahrscheinlich Anforderungen sind.

A

Antwortzeit, Benutzbarkeit (Usability)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Können interne Qualitätsmerkmale auch Anforderungen sein?

A

Ja, interne Qualitäten wie Wartbarkeit (Maintainability) oder Erweiterbarkeit (Extendability) können auch eine Anforderung sein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist die Definition eines Maßes (Measure)?

A

Ein Maß ist eine Prozedur, um einem Attribut eines physischen Objekts eine Zahl zuzuordnen (Measure: Objekt → Wert)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was versteht man unter einem relationalen System?

A

Eine Menge von Objekten und Relationen zwischen ihnen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nennen Sie ein Beispiel für ein empirisches relationales System.

A

Menge von Personen, Relation istMännlich, oder Temperatur, Relation istWärmerAls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wozu dient ein Maß in Bezug auf relationale Systeme?

A

Ein Maß setzt ein empirisches relationales System in Beziehung zu einem formalen relationalen System

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Bedingung muss für die Beziehung zwischen empirischen und formalen relationalen Systemen erfüllt sein?

A

Aussagen über Beziehungen in der empirischen Welt müssen in Aussagen über Beziehungen in der formalen Welt übersetzt werden können (ein Homomorphismus)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist eine Skala (Scale) in der Messtheorie?

A

Eine Skala ist ein Tupel aus einem empirischen relationalen System, einem formalen relationalen System und einem Homomorphismus zwischen beiden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nennen Sie die vier verschiedenen Skalentypen (Different Scale Types).

A
  • Nominal (gleich, ungleich)
    Beispiel: Geschlecht (m/w/d), Haarfarbe, Nationalität
  • Ordinal (gleich, ungleich, <,>)
    Ordnet Merkmale nach einer Rangfolge, aber die Abstände zwischen den Rängen sind nicht messbar.
    Beispiel: Schulnoten, Zufriedenheit, Rangliste
  • Intervall (gleich, ungleich, <,>,+,−)
    Erlaubt vergleichbare Abstände zwischen den Werten, hat aber keinen absoluten Nullpunkt.
    Beispiel: Temperatur in °C, Kalenderjahre
  • Verhältnis/Ratio (gleich, ungleich, <,>,+,−,∗,/ )
    Besitzt gleiche Abstände und einen absoluten Nullpunkt, daher sind Verhältnisse sinnvoll interpretierbar.
    Beispiel: Körpergröße, Gewicht, Einkommen, Alter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist Software-Messung (Software measurement)?

A

Ableitung eines numerischen Wertes für ein Attribut eines Softwareprodukts oder -prozesses

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist das Ziel von Software-Messungen?

A

Der Vergleich zwischen Techniken und Prozessen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ist der systematische Einsatz von Software-Messungen in den meisten Organisationen verbreitet?

A

Nein, die meisten Organisationen nutzen Software-Messungen immer noch nicht systematisch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was ist eine Software-Metrik (Software metric)?

A

Jede Art von Messung, die sich auf ein Softwaresystem, einen Prozess oder die zugehörige Dokumentation bezieht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Wofür können Produktmetriken verwendet werden?

A

Für allgemeine Vorhersagen oder zur Identifizierung anomaler Komponenten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Nennen Sie die beiden Hauptkategorien von Metriken in Bezug auf den Softwareprozess und das Produkt.

A

Kontrollmetriken (Control metric measurements) und Prädiktormetriken (Predictor metric measurements)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wie kann die Systemqualität Wartbarkeit mithilfe von Maßen beurteilt werden?

A

Durch die Messung von Merkmalen der Systemkomponenten, wie z. B. der Zyklomatischen Komplexität, und die anschließende Aggregation dieser Messungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wozu dient die Identifizierung von Komponenten mit der höchsten Komplexität?

A

Diese Komponenten enthalten am wahrscheinlichsten Fehler, da ihre Komplexität sie schwerer verständlich macht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Was ist eine grundlegende Annahme bei Metriken in Bezug auf Softwareeigenschaften?

A

Softwareeigenschaften können gemessen werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Welche Art von Attributen können wir nur direkt messen, und an welchen sind wir oft mehr interessiert?

A

Wir können nur interne Attribute messen, sind aber oft mehr an externen Software-Attributen interessiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Nennen Sie ein Beispiel für ein externes Qualitätsattribut und ein damit verbundenes internes Attribut gemäß.

A

Wartbarkeit (External) ist mit Tiefe des Vererbungsbaums und Zyklomatischer Komplexität (Internal) verbunden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Nennen Sie ein externes Qualitätsattribut, das mit der Anzahl der Fehlermeldungen verbunden ist.
Zuverlässigkeit (Reliability)
26
Nennen Sie ein externes Qualitätsattribut, das mit der Länge des Benutzerhandbuchs verbunden ist.
Benutzbarkeit (Usability)
27
Was ist ein Problem bei Messungen in der Industrie in Bezug auf Standards?
Es gibt keine Standards für Software-Metriken oder standardisierte Prozesse für Messung und Analyse
28
Nennen Sie ein weiteres Problem bei Messungen in der Industrie in Bezug auf Softwareprozesse.
Softwareprozesse sind oft nicht standardisiert, schlecht definiert und schlecht kontrolliert
29
Warum war der Fokus auf Code-basierte Metriken in der Industrie problematisch?
Der Fokus auf Code-Metriken war problematisch, weil er den Erfolg von Softwareprojekten technisch, aber nicht wertorientiert misst.
30
Welchen Nachteil bringt die Einführung von Messungen mit sich?
Die Einführung von Messungen fügt den Prozessen zusätzlichen Aufwand (Overhead) hinzu
31
Was sind dynamische Metriken und wie stehen sie zur Softwarequalität?
Dynamische Metriken werden während der Programmausführung gemessen – also zur Laufzeit. Sie erfassen z. B. Speicherauslastung, Laufzeit, Antwortzeiten oder Fehlerhäufigkeit.. Dynamische Metriken stehen in engem Zusammenhang mit Software-Qualitätsattributen (z. B. Messung der Antwortzeit für Performance, Anzahl der Fehler für Zuverlässigkeit);
32
Was sind statische Metriken und wie stehen sie zur Softwarequalität?
Statische Metriken haben eine indirekte Beziehung zu Qualitätsattributen und müssen abgeleitet werden, um eine Beziehung zwischen diesen Metriken und Eigenschaften wie Komplexität, Verständlichkeit und Wartbarkeit zu erhalten.
33
Was versteht man unter Fan-in?
Fan-in ist ein Maß für die Anzahl der Funktionen oder Methoden, die eine bestimmte andere Funktion oder Methode (X) aufrufen
34
Was bedeutet ein hoher Wert für Fan-in in Bezug auf die Kopplung (Coupling)?
Ein hoher Fan-in-Wert bedeutet, dass X stark an den Rest des Designs gekoppelt ist, und Änderungen an X weitreichende Konsequenzen haben
35
Was versteht man unter Fan-out?
Fan-out ist die Anzahl der Funktionen, die von einer bestimmten Funktion (X) aufgerufen werden
36
Was deutet ein hoher Wert für Fan-out an?
Ein hoher Fan-out-Wert deutet darauf hin, dass die Gesamtkomplexität von X hoch sein kann, da die Kontrolllogik zur Koordination der aufgerufenen Komponenten komplex ist.
37
Was ist das Längenmaß des Codes (Length of code), und wofür ist es ein zuverlässiger Prädiktor?
Es ist ein Maß für die Größe eines Programms und eine der zuverlässigsten Metriken zur Vorhersage der Fehleranfälligkeit in Komponenten
38
Was misst die Zyklomatische Komplexität (Cyclomatic complexity)?
Sie ist ein Maß für die Kontrollkomplexität eines Programms, die mit dessen Verständlichkeit in Beziehung gesetzt werden kann
39
Wie wird die Zyklomatische Komplexität (M) auf einfache Weise gezählt?
Jede Methode startet mit 1, und es wird +1 für jeden Kontrollflussmechanismus (z. B. if, while, do, for, ?:, catch, case) sowie +1 für jedes Vorkommen der booleschen Operatoren && oder ∥ addiert
40
Wie lautet die alternative Formel zur Berechnung der Zyklomatischen Komplexität (M) mithilfe des Kontrollflussgraphen? Erkläre die Formel!
M=E−N+2P E = Anzahl der Kanten (Edges) im Kontrollflussgraphen N = Anzahl der Knoten (Nodes) P = Anzahl der zusammenhängenden Komponenten (z. B. getrennte Teilprogramme oder Funktionen) Die Formel beschreibt, wie viele unabhängige Pfade es durch ein Programm gibt. Je höher M, desto komplexer und schwerer zu testen oder zu verstehen ist der Code.
41
Was ist die Idee hinter dem Längenmaß von Identifikatoren (Length of identifiers)?
Die Idee ist, dass längere Identifikatoren (Namen für Variablen, Klassen, Methoden etc.) eher bedeutungsvoll sind und daher das Programm verständlicher machen
42
Was misst die Tiefe der bedingten Verschachtelung (Depth of conditional nesting)?
Die Tiefe der bedingten Verschachtelung misst, wie viele bedingte Anweisungen (z. B. if, else if, while, for) ineinander verschachtelt sind. Sie zeigt, wie tief die Entscheidungsstrukturen im Code liegen. Eine hohe Tiefe bedeutet, dass der Code schwerer zu verstehen, zu testen und zu warten ist.
43
Was ist der Nachteil einer tief verschachtelten if-Anweisung?
Sie zeigt, wie tief die Entscheidungsstrukturen im Code liegen. Eine hohe Tiefe bedeutet, dass der Code schwerer zu verstehen, zu testen und zu warten ist.
44
Was misst der Fog Index?
Er ist ein Maß für die durchschnittliche Länge von Wörtern und Sätzen in Dokumenten
45
Was bedeutet ein höherer Wert des Fog Index für ein Dokument?
Je höher der Wert des Fog Index, desto schwieriger ist das Dokument zu verstehen
46
Was ist die Weighted Methods per Class (WMC)-Metrik?
Die Anzahl der Methoden in jeder Klasse, gewichtet mit der Komplexität jeder Methode. Die WMC-Metrik misst die Gesamtkomplexität einer Klasse, indem sie die Anzahl und Komplexität ihrer Methoden berücksichtigt.
47
Was deutet ein großer Wert für WMC an, und welche Folge kann dies haben?
Ein höherer WMC-Wert ⇒ Klasse ist komplexer, schwerer zu verstehen, zu testen und zu warten. Ein niedriger WMC-Wert ⇒ Klasse ist einfacher, übersichtlicher und meist besser wiederverwendbar.
48
Was misst die Metrik Depth of Inheritance Tree (DIT)?
Sie stellt die Anzahl der diskreten Ebenen im Vererbungsbaum dar
49
Was bedeutet eine tiefere Vererbungshierarchie in Bezug auf das Design?
Je tiefer der Vererbungsbaum, desto komplexer das Design, da viele Objektklassen verstanden werden müssen, um die Klassen an den Blättern des Baumes zu verstehen
50
Was misst die Metrik Number of Children (NOC)?
NOC (Number of Children) misst die Anzahl der direkten Unterklassen (Subklassen), die von einer Klasse erben.
51
Welche Dimension der Klassenhierarchie misst NOC(Number of Children)?
NOC zeigt, wie stark eine Klasse als Basisklasse genutzt wird. Ein hoher NOC-Wert kann bedeuten: hohe Wiederverwendung des Codes, aber auch höhere Veränderungs- und Testaufwände, weil Änderungen viele Subklassen betreffen.
52
Was ist die Metrik Coupling Between Object Classes (CBO)?
CBO misst, wie stark eine Klasse mit anderen Klassen gekoppelt ist, also wie viele andere Klassen sie direkt verwendet. Ein hoher CBO-Wert ⇒ Klasse ist stark abhängig von anderen Klassen → höheres Risiko für Fehler, geringere Wiederverwendbarkeit und schwerere Wartung. Ein niedriger CBO-Wert ⇒ Klasse ist relativ unabhängig → bessere Modularität und einfachere Wartung.
53
Was misst die Metrik Response for a Class (RFC)?
Die Anzahl der Methoden, die potenziell als Reaktion auf eine Nachricht, die ein Objekt dieser Klasse empfängt, ausgeführt werden könnten
54
Was bedeutet ein höherer Wert für RFC (Response For a Class)?
Ein höherer RFC-Wert bedeutet, dass eine Klasse mehr Methoden direkt oder indirekt aufruft. Hoher RFC ⇒ Klasse ist komplexer, schwerer zu verstehen, zu testen und zu warten. Niedriger RFC ⇒ Klasse ist einfacher, übersichtlicher und leichter wiederverwendbar.
55
Was ist die Metrik Lack of Cohesion in Methods (LCOM)?
LCOM misst den Grad der Kohäsion einer Klasse, also wie eng die Methoden einer Klasse zusammenarbeiten. Hoher LCOM-Wert ⇒ Methoden nutzen wenig gemeinsame Attribute → Klasse ist weniger kohäsiv, oft zu groß oder schlecht strukturiert → schwer zu verstehen, zu warten und wiederzuverwenden. Niedriger LCOM-Wert ⇒ Methoden arbeiten stark zusammen → Klasse ist gut zusammenhängend → besser wartbar und modular.
56
Was kann die Analyse von Systemkomponenten durch Metriken aufdecken?
Anomale Messungen, die signifikant von der Norm abweichen, können auf Probleme mit der Qualität dieser Komponenten hinweisen
57
Was ist ein White-Box- oder Glass-Box-Test?
Ein strukturiertes Vorgehen, das auf dem Programmcode basiert. Ein White-Box-Test (auch Glass-Box-Test) ist ein Testverfahren, bei dem die interne Struktur, Logik und der Code der Software bekannt sind. 💬 Merkmale: Test basiert auf Code, Algorithmen und Kontrollfluss. Ziel: Überprüfen aller Anweisungen, Verzweigungen und Schleifen. Typische Methoden: Pfad-, Bedingungs- oder Anweisungsüberdeckung.
58
Wie werden Testdaten bei White-Box-Tests gewählt?
Testdaten werden so gewählt, dass ein bestimmter Kontrollfluss explizit verfolgt wird
59
Was ist Statement Coverage (Anweisungsabdeckung)?
Jede Anweisung des Codes wird durch Tests abgedeckt
60
Was ist Condition Coverage (Bedingungsabdeckung)?
Jede Bedingung wird auf wahr und falsch getestet, wodurch auch jeder Zweig abgedeckt wird
61
Was ist Multiple Condition Coverage (Mehrfachbedingungsabdeckung)?
Alle Kombinationen von Entscheidungen werden abgedeckt
62
Wird Multiple Condition Coverage in der realen Welt häufig angewendet?
Nein, sie wird in der realen Welt selten angewendet
63
Warum ist Multiple Condition Coverage oft unmöglich?
Weil nicht alle Zweige (Branches) erreichbar sind
64
Nennen Sie die Schritte des Produktermessungsprozesses.
1. Maße auswählen, die durchgeführt werden sollen. 2. Komponenten auswählen, die bewertet werden sollen. 3. Komponenteneigenschaften messen 4. Anomale Messungen identifizieren. 5. Anomale Komponenten analysieren
65
Nennen Sie ein Beispiel für eine „Messüberraschung“ (Measurement surprise) in Bezug auf Fehler und Help-Desk-Anrufe.
Die Reduzierung der Anzahl von Fehlern in einem Programm führt zu einer erhöhten Anzahl von Help-Desk-Anrufen
66
Wie wird die Messüberraschung bezüglich der Help-Desk-Anrufe erklärt?
Das Programm gilt als zuverlässiger und hat einen breiteren, vielfältigeren Markt; Ein zuverlässigeres System wird anders genutzt als ein System, bei dem Benutzer Fehler umgehen, was zu mehr Help-Desk-Anrufen führt
67
Was ist die Schlussfolgerung bezüglich Metriken und dem, was man wirklich wissen möchte?
Eine Metrik ist eine Metrik. Sie ist meistens nicht genau das, was man wissen will
68
Welche Art von Eigenschaften beschreiben Anforderungen üblicherweise bezüglich Code?
Anforderungen beschreiben üblicherweise interne Code-Eigenschaften wie hohe Code-Qualität, keine oder wenige Fehler, leichte Erweiterbarkeit, einfache Verständlichkeit und einfache Wartbarkeit
69
Was kann passieren, wenn man Metriken optimiert, anstatt die gewünschte Eigenschaft zu verbessern?
Das Problem kann sich verschlechtern (z. B. wenn man Kunden aufgrund niedriger Qualität verliert, gibt es keine Beschwerden mehr)