Softwarequalitätssicherung
Lernkarteikarten zur Vorlesung "Softwarequalitätssicherung" an der TU Ilmenau (SS 2013)
Lernkarteikarten zur Vorlesung "Softwarequalitätssicherung" an der TU Ilmenau (SS 2013)
Kartei Details
Karten | 100 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 23.09.2013 / 13.03.2020 |
Weblink |
https://card2brain.ch/box/softwarequalitaetssicherung
|
Einbinden |
<iframe src="https://card2brain.ch/box/softwarequalitaetssicherung/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
(Kapitel 1): Worauf bezieht sicher der Begriff "Qualität" im Kontext der Softwareentwicklung?
Definition:
Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung von vorgebenen Erfordernissen bezieht. (DIN 55350)
=> Qualität bezieht sich demnach auf Produkte und Prozesse!
(Kapitel 1): Welche Bedeutung haben Produkt-Qualitätsmerkmale? Welche Produkt-Qualitätsmerkmale sind nach DIN definiert?
Das Produkt-Qualitätsmodell enthält Anforderungen zur Qualitätsbewertung von (Software-)Produkten. Diese beziehen sich auf eine Menge von Eigenschaften (Merkmale) und deren Ausprägung (Kenngrößen).
Die Produkt-Qualitätsmerkmale sind somit wesentlicher Bestandteil der Produkt-Spezifikation und ist eine Basis für die Produkt-Abnahme.
Folgende Produkt-Qualitätsmerkmalse sind nach DIN definiert:
- Funktionalität:
- Effizienz:
- Zuverlässigkeit:
- Benutzbarkeit:
- Übertragbarkeit:
- Wartbarkeit:
(Kapitel 1): Nenne die Untermerkmale von Funktionalität. Welche Probleme könnten sich hierbei ergeben?
- Umfang:
Menge der angebotenen Funktionen entsprechend der Spezifikation - Korrektheit:
Erzeugen korrekter Ergebnisse - Verträglichkeit:
Arbeit mit anderen Systemen und Komponenten
Probleme:
- Software ist immer fehlerhaft, d.h. absolute Reife wird bei neuer Software nicht erwartet
- Korrektheit von Software kann nie endgültig nachgewiesen werden!
(Kapitel 1): Welche Untermerkmale gibt es hinsichtlich der Effizienz? Nenne Beispiele!
- Zeitverhalten (Zeitdauer für das Ergebnis)
- Betriebsmittel (Prozessorauslasung, Speicherbedarf, Übertragungskapazität)
Beispiele:
- Speicherbedarf für den Programmcode
- Antwortzeiten auf Reaktionen aus der Umgebung
(Kapitel 1): Welche Untermerkmale sind bzgl. der Zuverlässigkeit zu nennen? Nenne Beispiele!
- Reife:
Wahrscheinlichkeit für korrekte Arbeit bei Normalbedingungen - Robustheit:
Wahrscheinlichkeit für korrekte Arbeit unter fehlerhaften Bedingungen - Wiederanlauf:
Aufwand und Zeitbedarf - Integrität:
Sicherheit, Reaktion auf Verfälschungen oder Verlust von Daten
Beispiele:
- Anzahl der Ausfälle pro Zeitraum im Betrieb
- Testabdeckungsgrad
(Kapitel 1): Nenne die Usabilty-Untermerkmale!
- Verständlichkeit:
Aufwand zum Verstehen des funktionalen Konzepts - Handhabbarkeit:
Aufwand für die Steuerung des Ablaufs - Erlernbarkeit:
Aufwand zum Erlenen der Bedienung
(Kapitel 1): Nenne die Portability-Untermerkmale!
- Installierbarkeit:
Aufwand auf einer definierten Umgebung - Anpassbarkeit:
Aufwand für andere Umgebungen - Schnittstellen-Verträglichkeit:
Einhaltung einschlägiger Normen
(Kapitel 1): Nenne die Maintainability-Untermerkmale! Wie kann die Wartbarkeit begünstigt werden?
- Änderbarkeit (Aufwand für definierte Änderungen)
- Transparenz (Klarheit, Aufwand für das Verstehen)
- Stabilität (Risiko unerwünschter Nebeneffekte)
- Testbarkeit (Aufwand für den Test von Änderungen)
=> Die Wartbarkeit kann dadurch verbessert werden, indem im Entwurf so wenig wie möglich Relationen zwischen den Komponenten definiert werden.
(Kapitel 1): Welche Voraussetzungen sind zur Prozessverbesserung notwendig?
- Führungsebene erkennt die Notwendigkeit:
- zur Senkung der Softwarewartungskosten und Reklamationen
- zur Erhöhung von Produktivität und Qualität
- Akzeptanz durch Mitarbeiter:
- realistische Aktionspläne
- realistische Situationseinschätzung
- Ermittlung von Kompetenz und Schulungsbedarf
- Technische Unterstützung:
- geeignete neue Technologien und Werkzeuge (Achtung: Mitarbeiterakzeptanz beachten!)
- Qualitätssicherung:
- Einführung eines Qualitätsmanagementsystems
- Beachtung qualitätssichernder Führung
=> TQM-Prinzipien beachten!
(Kapitel 1): Was beschreibt TQM? Erläutern Sie die Grundprinzipien!
TQM ist eine auf der Mitwirkung aller Mitarbeiter beruhende Führungsmethode, die die Qualität in den Mittelpunkt stellt und durch Zufriedenheit der Kunden auf den langfristigen Geschäftserfolg sowie den Nutzen für die Mitglieder der Organisation zielt.
1. Prinzip der Kundenorientierung:
- Einbeziehung der Kunden bei der Abnahme von Zwischenprodukten zwecks Nachbesserung
- SW-Entwickler verstehen, unter welchen Bedingungen der Kunde die Software einsetzen möchte
=> Kundenverantwortung erhöhen
2. Prinzip der Prozessorientierung:
- Fehlervermeidung durch evolutionäre Prozessverbesserung
- faktenbegründete Entscheidungen
=> Prozessmetriken etablieren
3. Prinzip der Mitarbeiterverantwortung:
- SW-Entwickler prüfen auch die Kundenanforderungen und kennen den Einfluss der eigenen Leistungen
- Entwickler werden in Entscheidungen miteinbezogen
=> Motivation und Verantwortung der Mitarbeiter steigern
(Kapitel 1): Die Produktivität der Softwareentwicklung kann aus dem Verhältnis von Produktwert und Kosten ermittelt werden. Welche Faktoren können zur Wert- und Kostenermittlung herangezogen werden?
Faktoren zur Wertermittlung:
- Quantität (LOC, Funktionsumfang)
- Kundenbedürfnis und Kundenzufriedenheit
- Qualität (Übereinstimmung mit dem Qualitätsmodell)
Faktoren zur Kostenermittlung:
- Personalkosten
- Investive und laufende Kosten (z.B. Werkzeuge oder Schulungen)
- Qualitätskosten (Fehlervermeidung,Fehlerfindung, Fehlerbehebung, Gewährleistung, Nachbesserungen)
(Kapitel 1): Widerlegen sie das Argument "Wir haben weder Zeit noch Geld für Qualitätssicherung" im Zusammenhang mit den Projektkosten!
Schlechte Qualität erhöht die Kosten für die Fehlererkennung und Fehlerbeseitigung, d.h. das Vermeiden von Fehlern erhöht die Produktivität und führt mittelfristig zur Kostensenkung!
(Kapitel 1): Welche Faktoren bestimmen die Produktivität im SW-Entwicklungsprozess?
1. Produktabhängige Faktoren:
- Stabilität der Produktanforderungen
- Möglichkeit zur Wiederverwendung
- Komplexität, Schwierigkeit der Aufgabenstellung
2. Personenabhängige Faktoren:
- physiche und psychische Arbeitsumgebung
- Fähigkeiten, Erfahrungen, Ausbildungsstand
- Einstellung und Haltung zur Arbeit
3. Prozessabhängige Faktoren:
- Vorgehensmodell und Werkzeuge
(Kapitel 1): Nennen sie die 5 Bestandteile des Maßnahmenkataloges zur Produktivitätserhöhung und benennen sie dazu jeweils eine mögliche Einzelmaßnahme!
1. Leistungserhöhung der Mitarbeiter:
- Qualifikation
- Führung und Motivation
2. Effizienzerhöhung der Arbeitsschritte:
- Softwarewerkzeuge
- Produktionsumgebungen
3. Vermeidung von Überarbeitungsschritten:
- Unterstützung früher Phasen
- Prototyping
4. Produktvereinfachung:
- Produktmodelle
5. Wiederverwendung:
- Abstrakte Klassen
- Module
- Komponenten
(Kapitel 2): Definiere den Begriff "Qualitätssicherung"!
Qualitätssicherung ist die Gesamtheit aller notwendigen Maßnahmen, um die Anforderungen an ein Entwicklungsprozess bzw. ein Software-Produkt zu erreichen.
(Kapitel 2): Was sind die Hauptaufgaben eines Qualitätssicherungssystems?
Definition:
Ein Qualitätssicherungssystem beschreibt Ziele, Abläufe, Formalismen, Methoden und Verantwortlichkeiten für die Qualitätssicherung in einem Unternehmen oder für ein größeres Projekt.
=> QSS-Zertifizierung erfolgt nach Normen
Aufgaben eines QS-Systems:
- Qualität vorgeben:
Auswahl der Qualitätsmerkmale sowie Angabe der geforderten Ausprägungen (Kenngrößen) - Qualität organisieren:
Qualitätsplanung (Maßnahmen), Überwachung und Auswertung der Qualitätssicherungsmaßnahmen - Qualität prüfen:
Abgleich mit dem Qualitätsmodell
(Kapitel 2): Welche Schritte sind notwendig, um ein Qualitätssicherungssystem in einem Unternehmen einzuführen?
(siehe Abbildung)
Aufbauorganisation:
=> Wird durch Festlegungen zum Projektteam bestimmt, d.h. Festlegung von Funktionen, Verantwortlichkeiten, Weisungsbefugnis und Entscheidungsbefugnis
- Projektorganisation
- Linienorganisation
- Matrixorganisation
Ablauforganisation:
=> Wird durch Festlegungen der Reihenfolge von Aktivitäten und Dokumentenaustausch bestimmt
(Kapitel 2): Was versteht man unter einem QS-Handbuch und woraus besteht es?
In einem QS-Handbuch werden Richtlinien zur Softwarequalitätssicherung in einem Unternehmen dargelegt. Ein QS-Handbuch besteht i.d.R. aus einem projektübergreifenden Teil und einem projektspezifischen Teil.
1. Projektübergreifender Teil:
- Standard-QS-Plan (Glossar, Struktur, Qualitätsbericht)
- Standard-Qualitätsmodell (Merkmale und Kenngrößen)
2. Projektspezifischer Teil:
- Projekt-QS-Plan
- Projekt-Qualitätsmodell
- Projekt-Qualitätsbericht
(Kapitel 2): Was ist ein Qualitätsbericht? Wozu dient er?
Ein Qualitätsbericht enthält Qualitätsdaten als Basis für Entscheidungen der Projektleitung (Qualitätssteuerung) und des Managements (Faktenbasis zur Projektverbesserung). Dokumentiert werden vor allem:
- Fehleranalysedaten
- durchgeführte Maßnahmen und damit verbundene
- Qualitätskosten
=> Dient zur Berechnung der Produktivität
(Kapitel 2): Was versteht man unter einer Zertifizierung? Welche Vorteile kann eine Zertifizierung bringen?
Eine Zertifizierung ist die Bewertung eine SW-Produktes oder eines Qualitätssicherungssystems, mit der die Erfüllung vorgebener Anforderungen (Normkonfirmität) nachgewiesen wird. Das Zertifikat wird von einer unabhängigen Prüfstelle vergeben.
Vorteile:
- Zertfifkate sind von mehr als 50 Länder als Handelsbasis akzeptiert
=> dient als Verkaufsargument - Zertifikate können eine juristische Anforderung sein
(Kapitel 2): Welche Standards gibt es? Nenne mindestens 4 Stück!
- DIN/ISO 9000
- ISO 12 119
- AQAP-13
- V-Modell
(Kapitel 2): Welche Dokumentation ist erforderlich, um Ihr QSS nach DIN/ISO zertifizieren zu lassen?
- Art und Nutzung von Entwicklungsdokumenten
- Art und Nutzung von Qualitätsaufzeichnungen
- Ergebnisse interner Auditverfahren und Prozessmetriken
- Ergebnisse von Fehleranalysen
- Korrektur- und Vorbeugungsmaßnahmen
- QS-Handbuch (es gibt eine Mustergliederung)
(Kapitel 2): Was versteht man unter einem prozessorientierten Managementansatz?
Bei einem prozessorientierten Managementansatz werden die Kernprozesse unter Beachtung von
- Produktentwicklung
- Qualitätssicherung
- Konfigurationsmanagement
ständig verbessert.
(Kapitel 2): Worin unterscheidet sich eine Zertifizierung nach DIN/ISO vom Einsatz des V-Modells?
DIN/ISO:
- Definiert Grundlagen und Begriffe zu Qualitätsmanagementsystemen (ISO 9000)
- Enhält Mindestanforderungen an ein Qualitätsmanagementsystem sowie QSS-Maßnahmen (ISO 9001)
- Stellt einen Leitfaden zur Einführung eines QS-Systems bereit, der sowohl die Wirksamkeit aks auch die Effizienz eines QM-Systems betrachtet (ISO 9004)
V-Modell:
- V-Modell ist konsistent zur DIN/ISO 9001
- weit stärkerer Detailierungsgrad
- Fokus auf Systemorientierten Managementansatz
=> regelt nur den Ablauf der Softwareentwicklung (Systemkonzept, Anforderungsdefinition, System-Spezifikation, Architekturentwurf, Modulentwurf)
(Kapitel 2): Definiere den Begriff "Fehler"! Welche Eigenschaften haben Fehler?
Ein Fehler ist eine Abweichung von einem Wert oder einem Zustand, der durch die Spezifikation erwartet wird. Fehler können in jeder Phase des Entwicklungsprozesses entstehen und pflanzen sich phasenübergreifend fort (Summationseffekt).
(Kapitel 2): Welche Schritte sind im Rahmen der Fehlerbehandlung durchzuführen?
- Fehlervermeidung durch konstruktive Maßnahmen
- Fehlerfindung durch analytische Maßnahmen
- Fehlerbeseitigung
- Priorität nach Schwere und Einfluss eines Fehlers
- kontrolliertes Änderungsmanagement
- Fehleranalyse
- Bestandteil des Qualitätsberichts
(Kapitel 2): Was ist eine Fehleranalyse und woraus besteht sie?
Die Fehleranalyse soll eine Entscheidungsbasis zur faktenbasierten Auswahl an Maßnahmen zur Qualitätssicherung schaffen und ermöglicht somit die Prozessverbesserung.
Die Fehleranalyse besteht aus:
- Klassifikation von Fehlern nach Fehlerkategorien
- Fehlerauswertung
- Fehlerprognose
(Kapitel 2): Wodurch unterscheiden sich konstruktive und analytische Maßnahmen zur Fehlerbehandlung?
Das Ziel von konstruktiven Maßnahmen ist es, Fehler von Anfang an zu vermeiden (ex ante).
Analytische Maßnahmen dienen zur Fehlerfindung im fertigen Produkt (ex post).
(Kapitel 2): Welchen Kategorien können Fehler zugeordnet werden und was kann daraus abgeleitet werden?
1. Kategorien Quelle und Ursache:
Ermöglichen es
- Schwächen im Entwicklungsprozess zu erkennen
- Fehlerquellen zu eliminieren
- z.B. Personal schulen
- Werkzeuge austauschen etc.
=> Auswahl konstruktiver Maßnahmen
2. Kategorie Fehlererkennung:
Ermöglich es, Fehlerfortpflanung zu vermeiden, um die Produktivät zu erhöhen.
=> Auswahl analytischer Maßnahmen
3. Kategorie Schwere:
Ermöglicht es
- die Fehlerbeseitigung zu planen
- den Projekterfolg zu bewerten
(Kapitel 2): Auf welcher Basis können Fehlerprognosen aufgestellt werden? Welchen Nutzen bringen Fehlerprognosen?
Für das laufende Projekt und für zukünftige Projekte können anhand der Fehlerdaten Fehlerprognosen erstellt werden.
Basis: Empirische Beobachtung des Fehlerverhaltens
- Anzahl noch zu suchender Fehler
- Auswahl noch zu testender Komponenten
- Anzahl der erwartenden Fehler
Nutzen von Fehlerprognosen:
- Langfristige Fehlerstatistik
- Erfahrungsdatenbank für nachfolgende Projekte
- für Entscheidungen zur Prozessverbesserung und zum Einsatz konstruktiver und analytischer Maßnahmen
- für die Prozessplanung
- Erfahrungsdatenbank für nachfolgende Projekte
- Aktuelle Fehlerstatistik:
- ermöglicht eine Schätzung des Korrekturaufkommens vor Freigabe und die Restfehlerrate
- für Entscheidungen zu kurzfristigen Maßnahmen
(Kapitel 3): Was versteht man unter einem Prozess-Assessment und was ist das Ziel?
Ein Assessment ist ein Verfahren zur Bewertung von Prozessen im Vergleich zu einem Reifegrad-Referenzmodell. Ein Assessment besteht aus drei Teilen:
- Vorbereitung
- Durchführung
- Ermittlung von Stärken und Schwächen im Entwicklungsprozess und des Reifegrades
- Ableitung von Handlungsempfehlungen
- Prozessverbesserung
Das Ziel von Assessments ist es, sichere und optimierbare Prozesse zu etablieren, sowie die Qualität und Produktivität zu erhöhen.
(Kapitel 3): Was sind Reifegradmodelle und wozu dienen sie?
Reifegradmodelle schreiben im Gegensatz zum V-Modell keinen Prozess, sondern geben Anforderungen und Maßnahmen vor, mit deren Hilfe ein konkreter Prozess definiert werden kann.
Sie dienen in erster Linie zur Assessment-Unterstützung und geben Vorlagen, Dokumente-Templates für Interviews sowie Checklisten zur Bewertung vor.
(Kapitel 3): Welche Vorteile bringen Assessments mit sich und welche Probleme könnten auftreten?
Vorteile:
- schrittweise Steigerung von Produktivität und Qualität (Erhöhung der Effizienz und Fehlervermeidung)
- Verbesserung bzw. Erhalt der Marktakzeptanz
Nachteile:
- das Assessment verursacht Aufwand und Kosten
- der Faktor people ware ist nicht berücksichtigt
(Kapitel 3): Was ist das Capability Maturity Model (CMM/CMMI)?
Das Capability Maturity Model ist ein Vorgehensmodell (Referenzmodell) zur Bewertung von Prozessen in fünf definierte Reifegrade. Elemente des CMM sind:
- Reifegrad:
Fünf Grade, die bei Erfüllung bestimmter Anforderungen erreicht werden, aufeinander aufbauen und schrittweise erreicht werden - Schlüssel-Prozessbereich:
Für jeden Reifegrad existieren spezielle Schlüsselbereiche, deren Aktivitäten zu neuen gewünschten Zielen führen sollen - Allgemeine Fähigkeiten:
Kategorien von Fähigkeiten, die ein Unternehmen dazu befähigen, effektiv, wiederholbar und nachhaltig zu arbeiten - Schlüsselpraktiken:
Konrkete Maßnahmen, deren Umsetzung letzendlich das Ziel des Schlüsselbereichs erreicht
Hierarchische Struktur:
- Kernprozesse (z.B. Entwicklung, Management)
- Kernmethoden (z.B. Modellieren, Testen)
- Kernaktivitäten (z.B. Testfallentwurf, Testdokumentation)
(Kapitel 3): Welche Kernmerkmale zeichnen die Reifegrade im CMM aus?
Reifegrad 1: Initial Prozess
- ad hoc-Prozesse
- kein Projektmanagement
- keine standardisierten Arbeitsabläufe, unkontrollierte SW-Änderungen und Wartung
- starke Personalabhängigkeit
Reifegrad 2: Wiederholbarer Prozess
- stabiler, gesteuerter und wiederholbarer SW-Entwicklungsprozess
- Projektmanagement, Konfigurationsmanagement und Qualitätsmanagement wurden eingeführt
Reifegrad 3: Definierter Prozess
- definierter Softwareentwicklungsprozess als unternehmensweite Vorlage
- Prozessmodel, SW-Produkt-Management sowie integriertes SW-Management wurden eingeführt
Reifegrad 4: Verwaltbarer Prozess
- Verwaltbarer Softwareentwicklungsprozess auf Basis einer Projektdatenbank
- Software-Qualitätsmanagement und Quantitatives Prozessmanagement wurden eingeführt
Reifegrad 5: Optimierbarer Prozess
- Standardisierte Evaluierung und Optimierung des Softwareentwicklungsprozesses
- Prinzip der Fehlervermeidung wurde etabliert
- Process Change Management und Technology Change Management eingeführt
(Kapitel 3): Worin unterscheidet sich das Vorgehen von SPICE im Vergleich zum CMM/CMMI?
CMM/CMMI:
- definieren konkrete Modelle und Methoden zur Prozessverbesserung
SPICE:
- definiert Anforderungen, die Modelle und Methoden erfüllen müssen (für Self-Assessment)
- es existieren unterschiedliche Reifegrade für die Kernprozesse
(Kapitel 3): Welche Vorteile bringt ein Prozess-Assessments einem Softwareunternehmen?
- Prozesserkennung und -einschätzung
- Prozessverbesserung
- Höhere Produktivität und Qualität
- Zertifikat als Verkaufsargument
(Kapitel 3): Was sind die wesentlichen Aufwandsfaktoren, die mit einem Prozess-Assessment verbunden sind?
- Vorbereitung:
- Schulung der Auditoren
- Referenzmodell auf das eigene Unternehmen anpassen
- Durchführung
- Auswertung
- Interpretation der Ergebnisse
- Maßnahmenauswahl
(Kapitel 3): Welche Nachteile haben die Verfahren zum Prozess-Assessment?
- großer Aufwand
- zu schwache Berücksichtigung von personellen Eigenheiten, Stärken und Schwächen