Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
se:softwarequalitaet [2008-04-09 15:27] stefan |
se:softwarequalitaet [2008-04-12 10:22] stefan |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Software-Qualität ====== | ====== Software-Qualität ====== | ||
- | |||
- | |||
===== Klausurvorbereitung ===== | ===== Klausurvorbereitung ===== | ||
==== Mögliche Klausurthemen ==== | ==== Mögliche Klausurthemen ==== | ||
+ | * Qualitätssysteme | ||
+ | * Zuverlässigkeitsmetriken | ||
+ | * Fehlertoleranzmaßnahmen | ||
* Produktmetriken | * Produktmetriken | ||
* Wartungsmetriken | * Wartungsmetriken | ||
Zeile 10: | Zeile 11: | ||
* Volumen, Difficulty, Abstraktionsniveau (Herleitung) | * Volumen, Difficulty, Abstraktionsniveau (Herleitung) | ||
* Function Points | * Function Points | ||
- | * Qualitätssysteme | + | * OO-Metriken |
- | * Zuverlässigkeitsmetriken | + | |
- | * Fehlertoleranzmaßnahmen | + | |
* Manuelle Prüfmethoden | * Manuelle Prüfmethoden | ||
* Inspection | * Inspection | ||
Zeile 23: | Zeile 22: | ||
* Prozessmetriken | * Prozessmetriken | ||
* CMM Grundprinzip | * CMM Grundprinzip | ||
- | * Sonstiges | ||
- | * OO-Metriken | ||
==== Wiederholung ==== | ==== Wiederholung ==== | ||
+ | |||
+ | === Qualitätssysteme === | ||
+ | * Wann bezeichnet man ein System als verlässlich oder zuverlässig? Was macht die Qualität eines Systems aus? | ||
+ | * Wie macht man ein System verlässlich bzw. zuverlässig? Wie stellt man die Qualität eines Systems sicher? | ||
+ | * Definition Qualität, Mangel/Defekt, Ausfall, Störung, Fehler | ||
+ | * Definition Anwendungsdauer, Lebensdauer, Brauchbarkeitsdauer, MTTFF, MTBF, MUT/MTTF, MDT, MTTR | ||
+ | * Aufteilung MDT | ||
+ | * Beispiele für ITU-Taxonomie | ||
+ | * Definition Überlebenswahrscheinlichkeit, kumulative Ausfallverteilung, Ausfalldichte, Ausfallrate, Verfügbarkeit | ||
+ | * Definition Wartbarkeit, Reparaturrate, Sicherheit, Vertraulichkeit, Performance | ||
+ | * Definition Verlässlichkeit, Verfügbarkeit, Zuverlässigkeit, Instandsetzbarkeit, Wartungsunterstützung | ||
+ | * ITU Kenngrößen Hierarchie mit Beispiel Bahn | ||
+ | * Klassifikation von Anforderungen | ||
+ | * Anforderungsermittlungsprozess | ||
+ | * Definition Fehlerverhütung, Fehlervermeidung, Fehlerbeseitigung, Fehlertoleranz | ||
+ | * Phasen der Fehlertoleranz (4) | ||
+ | * Methoden der Fehlertoleranz (8) | ||
+ | * Redundanzformen (8) und Beispiele (Prüfsumme, TMR) | ||
+ | |||
=== Produktmetriken === | === Produktmetriken === | ||
Zeile 60: | Zeile 76: | ||
* Welche gibt es? | * Welche gibt es? | ||
- | === Qualitätssysteme === | + | ==== Qualitätsmodelle ==== |
- | * Wann bezeichnet man ein System als verlässlich oder zuverlässig? Was macht die Qualität eines Systems aus? | + | * Grundidee der Qualitätsverbesserung |
- | * Wie macht man ein System verlässlich bzw. zuverlässig? Wie stellt man die Qualität eines Systems sicher? | + | * Definition Qualitätsmodell |
- | * Definition Qualität, Mangel/Defekt, Ausfall, Störung, Fehler | + | * Einordnung in das Qualitätsmodell |
- | * Definition Anwendungsdauer, Lebensdauer, Brauchbarkeitsdauer, MTTFF, MTBF, MUT/MTTF, MDT, MTTR | + | * Funktionen und Ziele |
- | * Aufteilung MDT | + | * Einsatz im Unternehmen (3 Gründe) |
- | * Beispiele für ITU-Taxonomie | + | * Zusammenhang Prozessreife und Technologie |
- | * Definition Überlebenswahrscheinlichkeit, kumulative Ausfallverteilung, Ausfalldichte, Ausfallrate, Verfügbarkeit | + | |
- | * Definition Wartbarkeit, Reparaturrate, Sicherheit, Vertraulichkeit, Performance | + | |
- | * Definition Verlässlichkeit, Verfügbarkeit, Zuverlässigkeit, Instandsetzbarkeit, Wartungsunterstützung | + | ==== CMM ==== |
+ | |||
+ | ==== Anforderungsermittlung ==== | ||
+ | |||
+ | ==== Manuelle Prüfmethoden ==== | ||
===== Qualitätssysteme ===== | ===== Qualitätssysteme ===== | ||
Zeile 169: | Zeile 189: | ||
==== Qualitätsanforderungen ==== | ==== Qualitätsanforderungen ==== | ||
=== Arten von Anforderungen === | === Arten von Anforderungen === | ||
+ | * {{:se:klassifikationvonanforderungen.jpg|}} | ||
* Basisanforderung / primitive Anforderung: elementare Aussage, Satz mit Verb und Objekt (<> komplexer Text) | * Basisanforderung / primitive Anforderung: elementare Aussage, Satz mit Verb und Objekt (<> komplexer Text) | ||
* funktional: beschreiben den Funktionsumfang des Systems (Aufgaben, Dienstleistungen) | * funktional: beschreiben den Funktionsumfang des Systems (Aufgaben, Dienstleistungen) | ||
Zeile 178: | Zeile 199: | ||
* implementation | * implementation | ||
* test | * test | ||
- | * Leistungsanforderungen: werden Basisanforderungen zugewiesen | + | * Leistungsanforderungen: werden Basisanforderungen zugewiesen und legen die erwartete Qualität der Basisanforderungen fest |
=== Anforderungsdefinitionsprozess === | === Anforderungsdefinitionsprozess === | ||
- | * Grafik S. 64 | + | * {{:se:prozessderanforderungsdefinition.jpg|}} |
- | * Aufnahme der Bedürfnisse/Vorstellungen der Stakeholder | + | * Aufnahme der Bedürfnisse/Vorstellungen der Stakeholder (WICHTIG: verdeckte Anforderungen ermitteln) -> Background |
- | * WICHTIG: verdeckte Anforderungen ermitteln | + | |
* (iteratives) Extrahieren von Basisanforderungen aus den vorhandenen Anforderungsbeschreibungen | * (iteratives) Extrahieren von Basisanforderungen aus den vorhandenen Anforderungsbeschreibungen | ||
* ursprüngliche Texte aufbewahren! | * ursprüngliche Texte aufbewahren! | ||
* funktionale Anforderungen -> Systemanalyse | * funktionale Anforderungen -> Systemanalyse | ||
* nicht-funktionale Anforderungen -> Systemarchitektur | * nicht-funktionale Anforderungen -> Systemarchitektur | ||
+ | |||
==== Maßnahmen ==== | ==== Maßnahmen ==== | ||
- | * Fehlerverhütung | + | * **Fehlerverhütung**: Eliminierung aller den ordnungsgemäßen Betrieb des Systems verhindernden Fehler vor Inbetriebnahme |
- | * Fehlervermeidung | + | * **Fehlervermeidung**: Einsatz von konstruktiven Maßnahmen |
- | * Fehlerbeseitigung | + | * **Fehlerbeseitigung**: Untersuchen des Systems auf Fehler und Beseitigung dieser vor Inbetriebnahme |
- | * Fehlertoleranz | + | * **Fehlertoleranz**: Das System erhält auch im Fehlerfall seine Funktion aufrecht |
- | * Wartung | + | * **Wartung**: Alle Aktionen, die auf die Aufrechterhaltung bzw. Wiederherstellung der Systemfunktionalität ausgerichtet sind |
=== Fehlertoleranz === | === Fehlertoleranz === | ||
+ | * {{:se:redundanzformen.jpg|}} | ||
* Phasen | * Phasen | ||
- | * error detection | + | * error detection: Finden des Fehlers |
- | * damage confinement | + | * damage confinement: Schadensbegrenzung |
- | * error recovery | + | * error recovery: System in fehlerfreien Zustand versetzen |
- | * fault treatment / continued service | + | * fault treatment / continued service: Fehlerursache (Störung) beheben |
* Methoden | * Methoden | ||
- | * error processing | + | * error processing: Überführung der Störung in einen latenten Zustand -> fehlerfreies System |
- | * error compensation | + | * error compensation: Auswirkungen eines fehlerhaften Zustandsübergangs ausgleichen |
- | * error correction | + | * error correction: Korrektur des Fehlers (Prüfsummen) |
- | * fault masking | + | * fault masking: Unterdrückung des Fehlers (TMR) |
- | * error recovery | + | * error recovery: fehlerfreien Systemzustand wiederherstellen |
* backward error recovery | * backward error recovery | ||
* forward error recovery | * forward error recovery | ||
- | * reconfiguration | + | * reconfiguration: Behebung der Störung |
* gestörte Komponente deaktivieren | * gestörte Komponente deaktivieren | ||
* gestörte Komponente ausgliedern | * gestörte Komponente ausgliedern | ||
* Ersatzkomponente eingliedern | * Ersatzkomponente eingliedern | ||
- | * Redundanz | + | * **Redundanz**: Vorhandensein von mehr funktionsfähigen Mitteln in einer Einheit, als für die Erfüllung der geforderten Funktion notwendig ist. |
* Systemaspekt | * Systemaspekt | ||
- | * strukturell | + | * strukturell: Erweiterung der Architektur |
- | * funktional | + | * funktional: Erweiterung der Systemfunktionalität |
- | * Informationsredundanz | + | * Informationsredundanz: Erweiterung der abgelegten Nutzinformationen um weitere Informationen |
- | * Zeitredundanz | + | * Zeitredundanz: zusätzlicher Zeitaufwand zur Ausführung von Funktionen |
* Aktivierung | * Aktivierung | ||
- | * statisch | + | * statisch: aktiv während gesamter Laufzeit |
- | * dynamisch | + | * dynamisch: aktiv im Bedarfsfall |
* Fehlerart | * Fehlerart | ||
* homogene Redundanz / Replikation -> Alterungsfehler | * homogene Redundanz / Replikation -> Alterungsfehler | ||
Zeile 307: | Zeile 328: | ||
===== Qualitätsmodelle ===== | ===== Qualitätsmodelle ===== | ||
* Softwarequalität hängt von der Qualität des Entwicklungsprozesses ab. | * Softwarequalität hängt von der Qualität des Entwicklungsprozesses ab. | ||
- | * Zuerst die Qualität messen und dann gezielt Verbesserungen vornehmen. | + | * **Zuerst die Qualität messen und dann gezielt Verbesserungen vornehmen.** |
* Kriterien -> Assessment -> Ergebnis -> Maßnahmen zur Verbesserung | * Kriterien -> Assessment -> Ergebnis -> Maßnahmen zur Verbesserung | ||
- | * Funktionen von Qualitätsmodellen | + | * **Qualitätsmodell**: Modell einer idealen Entwicklungsprozessstruktur. Prozessmetrik und Maßnahme zur Qualitätsverbesserung. |
+ | * Funktionen/Ziele von Qualitätsmodellen | ||
* Messlatte zur Ermittlung der Prozessqualität | * Messlatte zur Ermittlung der Prozessqualität | ||
* Hilfestellung bei der Festlegung von Verbesserungsmaßnahmen | * Hilfestellung bei der Festlegung von Verbesserungsmaßnahmen | ||
* Beispiele: CMM, CMMI, Spice, Bootstrap, ISO 9000 | * Beispiele: CMM, CMMI, Spice, Bootstrap, ISO 9000 | ||
+ | * Unternehmensübergreifende Vergleiche werden möglich | ||
* Technologiekompetenz und Prozessbeherrschung müssen stets gemeinsam verbessert werden. | * Technologiekompetenz und Prozessbeherrschung müssen stets gemeinsam verbessert werden. | ||
+ | * {{:se:qualitaetsmodelle1.jpg|}} | ||
+ | * {{:se:qualitaetsmodelle2.jpg|}} | ||
+ | * {{:se:prozessreifeundtechnologie.jpg|}} | ||
===== Capability Maturity Model ===== | ===== Capability Maturity Model ===== |