5 Software-Qualität

Download Report

Transcript 5 Software-Qualität

Software Engineering
5 Software-Qualität
5.1 Qualität
5.2 Taxonomie der Software-Qualitäten
© Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010.
5.1 Qualität
Definition - 1
Qualität von lat. qualitas, -atis, f. = Beschaffenheit, Eigenschaft
Qualität — Gesamtheit von Eigenschaften und Merkmalen eines
Produktes oder einer Tätigkeit, die sich auf die Eignung zur Erfüllung
gegebener Erfordernisse beziehen.
Anmerkung 2: Ein Produkt ist z. B. jede Art von Waren, Rohstoffen,
aber auch der Inhalt von Konzepten und Entwürfen. Eine Tätigkeit ist
z. B. jede Art von Dienstleistung, aber auch ein maschineller
Arbeitsablauf wie ein Verfahren oder ein Prozess.
Anmerkung 4: Die Qualität wird durch die Planungs- und
Ausführungsqualitäten in allen Phasen des Qualitätskreises
bestimmt.
DIN 55350-11:1995-08 (Auszüge)
3
Definition - 2
Entsprechend dieser Norm umfasst Software-Qualität nicht nur
Qualitätsaspekte im landläufigen Sinne, sondern auch (und im Kern)
die Funktionalität.
Eine Reihe anderer Aspekte kommt hinzu.
Ursprünglich steckt im Wort „Qualität“ keine Wertung.
So sprechen wir, wenn sich etwas grundsätzlich geändert hat, von
einer neuen Qualität.
Im Laufe der Zeit hat der Qualitätsbegriff eine wertende Bedeutung
bekommen, „Qualität“ wurde gleichbedeutend mit guter Qualität.
In diesem Sinne steckt die Qualität im Wort Qualitätssicherung.
4
5.2
Taxonomie der SoftwareQualitäten
Taxonomie der Qualitäten
Der Begriff der Qualität bezieht sich entweder auf
● den Entwicklungsprozess (Prozessqualität) oder auf
● das Produkt (Produktqualität).
Die Prozessqualität ist u. U. wesentlich für das Zustandekommen
des Projekts; sie schlägt sich in Abmachungen zwischen Hersteller
und Kunden nieder.
Die Produktqualität ist weiter zu differenzieren in die
● Qualität aus Sicht des Benutzers (Gebrauchsqualität)
● Qualität aus Sicht des Bearbeiters (Wartungsqualität)
6
Zusammenhang der Qualitäten
Das Wort „Projektqualität“ ist nicht gebräuchlich. Statt dessen gebraucht man
(auch) dafür das Wort „Prozessqualität“.
7
Qualitätenbaum
8
Produktqualitäten
9
Merkmale der Prozessqualität
Entwicklungseffizienz:
ist hoch, wenn der Entwicklungsaufwand gering ist.
Entwicklungsgeschwindigkeit:
ist hoch, wenn das Resultat nach kurzer Zeit zur Verfügung steht.
Termineinhaltung
ist umso höher, je genauer der geplante Termin eingehalten wird.
Aufwandseinhaltung:
ist umso höher, je genauer der geplante Aufwand eingehalten wird.
Prozesstransparenz:
ist hoch, wenn der Bearbeitungsprozess wohldefiniert ist und
gemäß der Definition abläuft.
Bausteingewinn:
ist hoch, wenn viele wiederverwendbare Software-Komponenten
entstehen oder verbessert werden.
Know-how-Gewinn:
ist hoch, wenn die beteiligten Mitarbeiter viele neue Kenntnisse
und Erfahrungen mit Anwendungen, Methoden und Werkzeugen
erwerben.
Projektklima:
ist gut, wenn die Mitarbeiter ihre Zusammenarbeit als angenehm
empfinden und gern wieder ein ähnliches Projekt durchführen
wollen.
10
Merkmale der Brauchbarkeit
Korrektheit:
ist hoch, wenn die Spezifikation zutreffend und die übrige Software korrekt in Bezug auf die
Spezifikation ist.
Ausfallsicherheit: ist hoch, wenn die Software nur selten die erwartete Funktion nicht erbringt.
Genauigkeit:
ist hoch, wenn die Resultate vom mathematisch korrekten Resultat nur wenig abweichen.
Effizienz:
ist hoch, wenn die Software kaum mehr Rechenzeit benötigt, als minimal erforderlich wäre.
Sparsamkeit:
ist hoch, wenn die Software kaum mehr Speicherplatz und andere Betriebsmittel benötigt,
als minimal erforderlich wäre.
Leistungsvollständigkeit:
ist hoch, wenn die Software alle geforderten Leistungen tatsächlich erbringt.
Handbuchvollständigkeit:
ist hoch, wenn die Handbücher erschöpfend Auskunft auf alle sinnvollen Fragen des
Benutzers geben.
Konsistenz:
ist hoch, wenn die Software sich gegen den Benutzer in ähnlichen Situationen ähnlich
verhält. Das betrifft die Bedienung, Fehlermeldungen, auch Datenformate usw.
Verständlichkeit:
ist hoch, wenn der Benutzer rasch versteht, wie er mit der Software umgehen muss.
Einfachheit:
ist hoch, wenn die Software dem Benutzer konzeptionell einfach erscheint.
11
Merkmale der Wartbarkeit
Spezifikationsvollständigkeit:
ist hoch, wenn die Spezifikation die tatsächlichen Anforderungen und
nur diese vollständig angibt.
Lokalität der Software: ist hoch, wenn Fernwirkungen in der Software (Wirkungen über die Grenzen der -SoftwareKomponenten hinweg) vermieden sind.
Testbarkeit
der Software:
ist hoch, wenn die Programme unter definierten Bedingungen ausgeführt und die relevanten
Resultate vollständig erfasst werden können. Die Ausführung ist damit reproduzierbar.
Strukturiertheit:
ist hoch, wenn die Software in logisch abgeschlossene Einheiten mit hohem Zusammenhalt
und geringer Kopplung gegliedert ist.
Simplizität:
ist hoch, wenn in der Software nur wenige schwer verständliche Konstruktionen enthalten
sind.
Knappheit
der Software:
ist hoch, wenn ihr Umfang durch Vermeidung von Redundanz aller Art gering gehalten wurde.
Lesbarkeit
der Software:
ist hoch, wenn ein (fremder) Leser in der Lage ist, mit minimalem Aufwand den Inhalt korrekt
zu erfassen.
Geräteunabhängigkeit: ist hoch, wenn Merkmale spezieller Geräte darin eine geringe Rolle spielen.
Abgeschlossenheit:
ist hoch, wenn die Software eine gut abgegrenzte Leistung erbringt und damit kaum
Schnittstellen zu anderen Systemen hat.
12