Im letzten Artikel dieser Serie ging es um das V-Modell XT und die Einordnung des QS-Handbuchs in dieses. Das QS-Handbuch stellt die konstruktive Qualitätssicherung im Projekt sicher. Doch was ist Softwarequalität überhaupt?
In diesem Artikel geht es um Qualität im Allgemeinen und um Softwarequalität im speziellen und die entsprechenden Qualitätmerkmale.
Was ist Qualität?
Qualität ist die Beschaffenheit einer Einheit bezüglich ihrer Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen.
nach DIN 55350/Teil 11 (siehe www.wirtschaftslexikon24.net).
Davon wurde der Softwarequalitätsbegriff innerhalb der DIN ISO 9126 abgeleitet. Die DIN ISO 9126 ist mittlerweile in die ISO/IEC 25000 aufgegangen und wird durch diese ersetzt. Die ISO/IEC 25000 enthält neben den konkreten Qualitätskriterien weiterhin Anleitungen zum Einsatz neuer Standards im Bereich Qualitätsanforderungen eines Softwareproduktes und Evaluierung (SQUaRE-Standards = Software Product Quality Requirements and Evaluation).
Begriff Softwarequalität
Die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen.
Diese Definition von Softwarequalität wird in der ISO/IEC 25000 über Teilmerkmale weiter konkretisiert, um die Qualität eines Softwareprodukts bewertbar zu machen. Dadurch entsteht ein sog. Qualitätsmodell, nämlich das Qualitätmodell der ISO/IEC 25000.
Ein Softwarequalitätsmodell ist eine systematische Aufstellung aller Merkmale einer Software, die für deren Nutzung Bedeutung besitzen können. Dabei werden die Merkmale in Hauptmerkmale und jeweils zugeordnete Teilmerkmale zerlegt und sind der Software entweder inhärent oder können ihr zugeordnet werden. Der Zweck dieses Modells ist die Operationalisierung der Qualität der Software.
Balzert in http://www.cs.uni-magdeburg.de/.../TechReport15-p-1632.pdf
Wie Sie nun sicher schon ahnen gibt es nicht nur ein Qualitätsmodell nach ISO/IEC 25000, sondern die Qualitätsmodell haben sich immer weiterentwickelt:
- McCall’s Qualitätsmodell
- Boehm’s Qualitätsmodell
- Dromey’s Qualitätsmodell
- FURPS Qualitätsmodell
- ISO 9126 Qualitätsmodell
Eine gute Diskussion über den Vergleich dieser o.g. Qualitätsmodellen kann unter http://www.jofamericanscience.org/…/22_2208_Qutaish_am0603_166_175.pdf eingesehen werden. Demnach wurde zum Zeitpunkt der Veröffentlichung das Qualitätsmodell nach ISO 9126 als das nützlichste angesehen, da es eine internationale Gültigkeit aufgrund der Erstellung durch die ISO Organisation besitzt. Im Weiteren Verlauf beschäftige ich mich daher nur noch mit dem Nachfolger der ISO 9126, der ISO/IEC 25000.
kurz zum FURPS – bzw. FURPS+ -Modell
Dieses Qualitätsmodell wurde von Robert Grady 1992 bei HP entwickelt. Das Akronym FURPS beinhaltet die Qualitätsmerkmale, die in diesem Modell verwendet werden:
- Functionality (Funktionalität)
- Usability (Benutzbarkeit)
- Reliability (Zuverlässigkeit)
- Performance (Effizienz)
- Supportability (Änderbarkeit bzw. Wartbarkeit)
Dieses wurde dann durch IBM Rational Software zu FURPS+ erweitert. Das + beinhaltet folgende weiteren Anforderungen:
- Design-Anforderungen (Design constraints)
- Anforderungen an die Implementierung (Implementation constraints)
- Anforderungen an die Programmschnittstellen (Interface constraints)
- Anforderungen an die Hardware (Physical constraints)
Interne und externe Qualität im V-Modell XT nach ISO/IEC 25000
Die interne Qualität beschreibt die inneren Merkmale der Software. Sie ist für Entwickler relevant. Die interne Qualität bezeichnet das Maß inwieweit die Merkmale einer Software an sie durch Entwickler gestellte Anforderungen erfüllen.
Die externe Qualität hingegen zeigt sich dem generellen Nutzer zum Zeitpunkt an dem ein Programm ausgeführt wird. Die externe Qualität liefert eine Aussage gegenüber den Anforderungen einer großen Gruppe von Nutzern.
Die Hauptqualitätsmerkmale nach ISO/IEC 25000 lauten:
- Funktionalität
- Zuverlässigkeit
- Benutzbarkeit
- Effizienz
- Wartbarkeit
- Portabilität
Man erkennt hier eine deutliche Verwandtschaft mit dem FURPS-Qualitätsmodell, welches ich oben kurz beschrieben habe. Man kann sagen, das hier bei den Hauptqualitätsmerkmalen nur die Portabilität ergänzt worden ist, womit man auch von FURPPS sprechen kann. Dies ist wahrscheinlich ein Ergebnis der Standardisierung.
Das Akronym FURPPS wird auch verwendet, um die Anwenderforderungen zu kategorisieren. Zu jedem dieser Punkte werden detaillierte Anwenderforderungen an das System geschrieben.
Die einzelnen Qualitätsmerkmale werden in dieser Artikelserie weiter beschrieben (siehe Teil 3, Teil 4 und Teil 5).
Nutzungsqualität (Quality in Use)
Bei der Nutzungsqualität werden die Qualitätsmerkmale in einer spezifischen Umgebung und einem spezifischen Nutzungskontext betrachtet. Die Nutzungsqualität liefert damit eine Aussage gegenüber den Anforderungen eines bestimmten Nutzers. Hierzu gibt es bald einen speziellen Artikel.