Qualitätsattribute

Softwareentwicklung » Qualitätsattribute

Für die Bewertung von Software Definiert die ISO9126 6 Qualitätsattribute, die sich bewusst teilweise widersprechen. Pro Projekt ist die Priorität dieser Attribute demnach neu zu gewichten.

 

Funktionalität

Das Modul muss die Erwartungen der Anwender erfüllen. Um das sicherzustellen, ist der dauernde Dialog sehr wichtig. Es wird also ein Teil der Funktionalität implementiert und dann vom Anwender gegengeprüft, ob die Implementierung die Erwartungen erfüllt. Dabei ist es aber wichtig, von Anfang an zu klären, was gemacht wird und was NICHT gemacht wird. Diese Liste wird Gegenstand eines Vertrages. Hinzufügen von Punkten zu dieser Liste führt zu einer Neuverhandlung des Vertrages.

 

Zuverlässigkeit

Ein zuverlässiges Modul kommt auch mit Eingaben zurecht, die ungültig sind. Da solche Prüfungen Zeit kosten, steht die Zuverlässigkeit in Konflikt mit der Effizienz. Im Einzelfall muss also abgewägt werden, welche Fehler erkannt werden sollen und welche nicht.

 

Nutzbarkeit

Die Nutzbarkeit sollte vorallem durch ein klares, einfaches Konzept sichergestellt werden. Ein Dokument kann in die Thematik des jeweiligen Moduls einführen und eine Referenz für die Nutzung darstellen.

 

Effizienz

Software wird vorallem durch die Auswahl geeigneter Algorithmen effizient. Optimierungen wie das manuelle Ausrollen von Schleifen, eingliedern von Unterfunktionen usw. machen die Software undurchschaubar und sind Aufgabe des Compilers.

 

 Wartbarkeit

Beachtet man die Regeln der Codedisziplin, so bleibt Software automatisch Wartbar. Also: keine Codeduplizierung, keinen Code an unerwarteter Stelle, keine seltsamen Datenpfade, klare Bezeichner, automatisierter Test. Der Code sollte dann die Überlegungen des Autors schon abbilden. Was sich nicht in Code ausdrücken lässt, muss dokumentiert werden.

 

Wiederverwendbarkeit

Je weniger Annahmen ein Softwaremodul über seine Umgebung macht, je leichter kann es in einer komplett anderen Umgebung wiederverwendet werden. Verallgemeinerung ist allerdings kein leichtes Handwerk. Desweiteren steigt der Konfigurationsaufwand mit jedem Schritt der Verallgemeinerung. Aus diesem Grund ist hier Augenmaß gefragt. Wird ein Modul zunächst nur in einer Umgebung verwendet, so muss zunächst auch nur an diese Umgebung angepasst werden. Kommen später noch weitere Anwendungen für das Modul hinzu, kann es schrittweise so verallgemeinert werden, dass es in allen Anwendungen läuft. Zu diesem Zeitpunkt ist dann auch bekannt, was allgemeingültig sein soll.