SQALE Flashcards

1
Q

Was sind die 8 SQALE Charakteristiken?

A
  1. Testability
  2. Reliability
  3. Changeability
  4. Efficiency
  5. Security
  6. Maintainability
  7. Portability
  8. Resusability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind Subcharakteristiken von 4. Efficiency ?

A
  • RAM-ROM-CPU related efficiency (Vererbungstiefe DIT < 8´bspw., keine unbenutzten Variablen, Parameter oder Konstanten)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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:

  1. Bilden in irgendeiner Weise Kosten ab (zB notwendige Arbeitszeit)
  2. Metriken aller Subcharakteristiken ergeben Wert in gleichem Ergebnisraum
  3. können deshalb sinnvoll aufsummiert werden

Vorteile:

  • Sichtbarkeit für Nicht-ITler
  • Vergleichbarkeit / Priorisierung
  • Messbarkeit
  • Tailoring an Projektanforderungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly