SQALE Flashcards
(7 cards)
1
Q
Was sind die 8 SQALE Charakteristiken?
A
- Testability
- Reliability
- Changeability
- Efficiency
- Security
- Maintainability
- Portability
- Resusability
2
Q
Was sind Sub-Charakteristiken von 6. Maintainability?
A
- Readability (Variablennamen starten mit kleinen Buchstaben / Klammern auf einzelner Zeile, einheitliches Einrücken, LOC, kein auskommentierter Code)
- Understandability (keline untstrukturierten Anweisungen (goto, break), keine continue Anweisung in Schleifen), Kommentare zu Funktionen
3
Q
Was sind Subcharakteristiken von 4. Efficiency ?
A
- RAM-ROM-CPU related efficiency (Vererbungstiefe DIT < 8´bspw., keine unbenutzten Variablen, Parameter oder Konstanten)
4
Q
Was sind Subcharakteristiken von 1. Testability ?
A
- Unit-test level testability (no method with cyclomatic complexity over 12, zyklomatische Komplexität < n, LOC < n, Eingabeparameter < n )
- Integration testability (CBO < n)
5
Q
Was sind Subcharakteristiken von 2. Reliability?
A
- Logikbezogen (Exception Handling)
- Datenbezogen (Null-Checks, Parameter Validierung)
- Instruction-related (code sollte equals und Hashcode überschreiben)
- Fault Tolerance (Runtime Exceptions, default-condition im switch)
6
Q
Was sind Sub-Charakteristiken von 3. Changeability?
A
- Architekturbezogen (Nutzung von Interfaces, CBO < n, zyklomatische Komplexität aller Methoden einer Klasse < 100)
- Logikbezogen (Tiefe von if-Statements < n)
- Datenbezogen (Nutzung von settern, gettern, intern genutzte Attribute sind private, keine magischen Zahlen)
7
Q
Welche Anforderungen stellt SQALE an Kostenfunktionen zur Bestimmung der Charakteristiken?
A
- Remediation Functions (berechnen Aufwand, um unerfüllte Anforderung im Code zu korrigieren)
- Non-remediation Functions (berechnen zusätzliche Kosten, die durch Anforderungsfehler entstehen)
Anforderungen:
- Bilden in irgendeiner Weise Kosten ab (zB notwendige Arbeitszeit)
- Metriken aller Subcharakteristiken ergeben Wert in gleichem Ergebnisraum
- können deshalb sinnvoll aufsummiert werden
Vorteile:
- Sichtbarkeit für Nicht-ITler
- Vergleichbarkeit / Priorisierung
- Messbarkeit
- Tailoring an Projektanforderungen