12
Software Engineering © Ludewig, J., H. Lichter: Software Engineering Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5 Software-Qualität 5.1 Qualität 5.2 Taxonomie der Software-Qualitäten

Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Embed Size (px)

Citation preview

Page 1: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Software Engineering

© Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010.

5 Software-Qualität

5.1 Qualität

5.2 Taxonomie der Software-Qualitäten

Page 2: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

5.1 Qualität

Page 3: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-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

Page 4: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

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

Page 5: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

5.2 Taxonomie der Software-Qualitäten

Page 6: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

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

Page 7: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Zusammenhang der Qualitäten

Das Wort „Projektqualität“ ist nicht gebräuchlich. Statt dessen gebraucht man (auch) dafür das Wort „Prozessqualität“.

7

Page 8: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Qualitätenbaum

8

Page 9: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Produktqualitäten

9

Page 10: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Merkmale der Prozessqualität

10

Entwicklungseffizienz: ist hoch, wenn der Entwicklungsaufwand gering ist.

Entwicklungs-geschwindigkeit:

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.

Page 11: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Merkmale der Brauchbarkeit

11

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.

Leistungs-vollständigkeit:

ist hoch, wenn die Software alle geforderten Leistungen tatsächlich erbringt.

Handbuch-vollstä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.

Page 12: Software Engineering © Ludewig, J., H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag, 2010. 5Software-Qualität

Merkmale der Wartbarkeit

Spezifikations-vollstä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 -Software-Komponenten 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