- Funktionalität
- Zuverlässigkeit
- Benutzbarkeit
- Effizienz
- Änderbarkeit
- Übertragbarkeit
Für jedes dieser Merkmale existieren unterschiedliche
Maßstäbe und Verfahren um eine quantitative Erfüllung zu
überprüfen. Jede Abweichung vom gewünschten Ergebnis ist ein Fehler.
Ideal wäre es Fehler zu vermeiden bevor sie entstehen.
Prävention ist eine Strategie die sich auszahlt: Betrachten wir
einmal wo Fehler entstehen, wenn man den Bogen von der
Anforderungsdefinition bis hin zum Test und Integration hin
spannt und wie sich diese auswirken:
(entnommen aus "Lehrbuch der Software-Technik" von Helmut Balzert)
Das wichtigste ist also mit dem Kunden, dem Softwarenutzer, zu
reden und die Anforderungen möglichst genau und widerspruchsfrei
zu erfassen. Aber wie findet man nun die Fehler, die man
vermeiden möchte?
Hier gibt es verschiedene Strategien. Zum Einen kann man durch
Vorgaben, wie z.B. Programmierrichtlinien, Checklisten und den
Einsatz von entsprechenden Werkzeugen, Programmiersprachen und
Methoden im Vorfeld den Rahmen für den einzelnen
Softwareentwickler festlegen (sog. konstruktives
Qualitätsmanagement) . Gewisse Tricks in der
Programmierung werden untersagt, die Art und der Umfang der
Kommentierung des Quellcodes vorgegeben und eine
Programmiersprache gewählt, die passend zur zu lösenden Aufgabe
ist und dem Ausbildungsstand der beteiligten Programmierer
entsprechen.
Zum Anderen prüft man mittels Tests ob das
was Geschaffen wurde mit dem übereinstimmt was vorgegeben war
(sog. analytisches Qualitätsmanagement). Was
Vorgegeben ist richtet sich nach der Phase in der
Softwareentwicklung in der man sich befindet. Wie getestet werden
kann richtet sich nach den Möglichkeiten und dem Aufwand den man
investieren möchte. Welche Arten von Tests gibt es eigentlich?
|