... die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener Erfordernisse beziehtSoftware-Qualität nach Boehm
Geräteunabhängigkeit
Portabilität Autarkie
Genauigkeit
Brauch- Vollständigkeit
barkeit Zuverlässigkeit Robustheit,Integrität
Konsistenz
Allgemeiner Effizienz Zählbarkeit
Nutzen Geräte-Effizienz
Benutzer- Zugänglichkeit
Wartbar- freundlichkeit Assimilationsfähigkeit
keit Testbarkeit Selbsterklärung
Strukturierung
Verständlichkeit Kompaktheit
Änderbarkeit Lesbarkeit
Erweiterbarkeit
Software
Der erreichte Stand in der Software-Entwicklung wird oft noch sehr kritisch eingeschätzt:
Weber 1992
Software wird auch heute im wesentlichen noch so hergestellt wie vor 20 Jahren, die erzielten Produktivitätsverbesserungen sind marginal, und das Qualitätsniveau der Produkte ist nicht wesentlich angehoben worden.Spillner / Winkler 1993
... da auch heute noch die Meinung vorherrscht, daß die Software-Produkte nicht das Qualitätsniveau anderer technischer Produkte erreicht haben.Andresen 1992
Obwohl im Software Engineering erhebliche Fortschritte erzielt wurden, hat es die tägliche Praxis der Software-Entwicklung bisher nicht signifikant beeinflußt.Bullinger / Fähnrich / Otterbein 1992
Dem großen technologischen Fortschritt auf seiten der Hardware steht heute eine Stagnation auf seiten der Software gegenüber. Während sich die Rechnerleistungen exponentiell verbesserten, wird Software nach wie vor mit demselben Aufwand produziert: Die Kosten pro Zeile geschriebener und getesteter Code blieben in den vergangenen Jahren im Durchschnitt weitgehend konstant. Hinzu kommt die schlechte Erfolgsquote von Softwareprojekten. Nach einer Studie aus dem Jahre 1985 werdenChroust 1992
- 47 Prozent aller Software-Entwicklungen bezahlt, aber nie geliefert;
- 29 Prozent ausgeliefert, aber nie benutzt;
- 19 Prozent aufgegeben oder neu erstellt;
- 3 Prozent benutzt nach Änderungen;
- 2 Prozent ohne Änderungen benutzt.
Software-Anwendungen sind i.a. nur Teil eines Gesamtsystems. Heute sind i.a. Gesamtlösungen interessant. Die steigende Komplexität und auch die Forderung nach Integration bedeuten, daß man die Software-Entwicklung nicht mehr isoliert sehen darf, sondern das System als ein Ganzes entwickeln muß.