- Softwarequalität
-
"Unter Softwarequalität versteht man die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen" (Ist/Soll) [1]. Diese Definition bezieht sich damit ausschließlich auf die Produktqualität und nicht auf die Prozessqualität.
Inhaltsverzeichnis
Qualitätsmodelle
Konzept
Der Begriff der Softwarequalität selbst ist nicht operabel und in der Praxis direkt anwendbar. [1] Deshalb existieren Qualitätsmodelle, die durch eine weitere Detaillierung und Konkretisierung das Konzept der Softwarequalität operationalisieren. Dies leisten die Qualitätsmodelle durch Ableiten von Unterbegriffen. Dadurch entsteht ein Baum (oder ein Netz) von Begriffen und Unterbegriffen.
Die Qualitätsmerkmale tragen im Englischen die Bezeichnung factor, ein Qualitäts-Teilmerkmal heißt criterion und die Qualitäts-Indikatoren metrics. Deswegen erscheinen derartige Qualitätsmodelle in der Literatur auch als FCM-Modelle (z.B. FURPS, Boehm et al. 1978, DGQ-Modell 1986, McCall et al. 1977[2]). Bei den Blattknoten im Baum des Qualitätmodells, den Qualitätsindikatoren, sollte es sich um beobachtbare oder messbare Sachverhalte handeln. Hier können beispielsweise Softwaremetriken zum Einsatz kommen.
Modelle
Es existieren bereits ausgearbeitete Qualitätsmodelle, wie zum Beispiel die ISO/IEC 9126 bzw. DIN 66272.
Es existieren allerdings auch Vorgehensmodelle, wie der GQM-Ansatz, die zu individuellen Qualitätsmodellen führen.
Sicherstellung der Qualität
Für die Sicherstellung, dass die Software bezüglich der verschiedenen Qualitätsmerkmale den Anforderungen entspricht, existieren verschiedene Vorgehensmodelle und -methoden.
Einige Modelle:
- Organisatorische Qualitätsmodelle, zum Beispiel das Capability Maturity Model (CMM)
- Prozessmodelle, wie zum Beispiel
Diese Modelle lassen sich eher dem Konzept der Prozessqualität zuordnen. Dieses geht davon aus, dass ein qualitativ hochwertiger Prozess der Produkterstellung die Entstehung von qualitativ hochwertigen Produkten begünstigt. Deshalb stellen die obigen Modelle Qualitätsanforderungen an den Prozess, in dem die Software entwickelt wird.
Einige Methoden:
- iterative Software-Entwicklung
- das zur Methode gewordene Spiralmodell
- Softwaretests
- Refaktorisierung
- Paarprogrammierung
- Testgetriebene Entwicklung
Softwaretests, Refaktorisierung und Code Reviews gehen direkt auf die Produktqualität ein. Das konkrete Produkt wird untersucht und bearbeitet, damit es die gestellten Qualitätsanforderungen möglichst gut erfüllt.
Die Modelle lassen sich teils, die Methoden größtenteils miteinander kombinieren. Interessant sind die Modelle der agilen Prozesse wie das Extreme Programming insbesondere deshalb, weil sie Synergieeffekte des gleichzeitigen Einsatzes verschiedener Methoden nutzen.
Literatur
- Ralf Kneuper Ernest Wallmüller (Hrsg.): CMMI in der Praxis. Fallstudien zur Verbesserung der Entwicklungsprozesse mit CMMI. dpunkt Verlag, 2009, ISBN 3898645711
- Ernest Wallmüller: Software–Qualitätsmanagement in der Praxis. Software-Qualität durch Führung und Verbesserung von Software-Prozessen. 2. überarb. Auflage 2001. ISBN 3446213678
Weblinks
- Global Association for Software Quality
- Arbeitskreis Software-Qualität und Fortbildung
- International Software Quality Institute
- Motor Industry Software Reliability Association (MISRA)
- Software-Engineering und Software-Qualität in Open-Source Projekten (Creative Commons Lizenz)
- iqnite - Die Konferenz für Software-Qualitätsmanagement und -Testen
Einzelnachweise
- ↑ a b Helmut Balzert', 'Lehrbuch der Softwaretechnik, Teil 2: Softwaremanagement, Software-Qualitaetssicherung, Unternehmensmodellierung, 1998, S. 257, ISBN 3-8274-0065-1
- ↑ McCall, J.A., Richards, P.K. and Walters, G.F. (1977) Factors in software quality, Vols I-III, Rome Air Development Centre, Italy
Kategorie:- Qualitätsmanagement (Softwaretechnik)
Wikimedia Foundation.