Benutzerspezifische Werkzeuge

Qualitätsmaßnahmen (konstruktiv/analytisch)

Qualitätsmaßnahmen der Softwareentwicklung können sich sowohl auf das Softwareprodukt bzw. -teilprodukt, als auch auf den Prozess der Softwareentwicklung selbst beziehen. Dabei können jeweils konstruktive und analytische Maßnahmen unterschieden werden.

Konstruktive Qualitätsmaßnahmen

Konstruktive Qualitätsmaßnahmen sorgen dafür, dass das entstehende Softwareprodukt bzw. der Softwareentwicklungsprozess a priori bestimmte Eigenschaften besitzt. Methoden, Sprachen, Werkzeuge, Richtlinien, Checklisten und Standards bzw. deren zielführende Verwendung werden allgemeinhin zu den konstruktiven Qualitätsmaßnahmen gezählt [Balzert 2008, S. 477]. In der Softwareentwicklung sind Fehler zwar nicht vermeidbar. Nichts desto trotz gilt das Prinzip der maximalen konstruktiven Qualitätssicherung: Vorbeugen ist besser als Heilen, denn Fehler die nicht gemacht werden, brauchen auch nicht behoben zu werden [Balzert 2008, S. 483].

Konstruktive Qualitätsmaßnahmen sind nur schwer abzugrenzen, denn sie greifen in alle fachlich-technischen und unterstützenden Aufgaben der Softwareentwicklung ein (vgl. zu den unterstützenden und organisatorischen Gestaltungsbereichen [Mellis 2004]; vgl. zu den fachlich-technischen Gestaltungsbereichen [Sommerville 2012; Balzert 2009; Balzert 2011]).

Jede Aktivität mit positiver Auswirkung auf die Qualität des Softwareproduktes bzw. -teilproduktes oder des Softwareprozesses kann als eine konstruktive Qualitätsmaßnahme aufgefasst werden. Des Weiteren ist der Übergang von einer produkt- zu einer prozessorientierten Maßnahme nicht trennscharf, da jeder (Teil-)Prozess ein (Teil-)Ergebnis zur Folge hat, das ohne die entsprechende Aktivität nicht bzw. nicht in der vorliegenden Form entstanden wäre. Die (Anwendung von) Programmierrichtlinien oder die (Anwendung von Richtlinien zur) Dokumentation des Testprozesses sind ebensolche schwer zuordenbaren konstruktiven Qualitätsmaßnahmen.

Nichtsdestotrotz sollen im Folgenden einige idealtypische produkt- und prozessorientierte konstruktive Maßnahmen genannt werden. Zu den konstruktiven Qualitätsmaßnahmen im Hinblick auf das Softwareprodukt zählen bspw. ein fest vorgegebenes Gliederungsschema für das Lasten- und Pflichtenheft, Entwurfsmuster für die Softwarearchitektur, Dokumentenstandards für die Struktur von Anforderungsdokumenten u.v.m. Zu den konstruktiven Qualitätsmaßnahmen im Hinblick auf den Softwareentwicklungsprozess zählen bspw. die Planung und Verwendung eines Vorgehensmodells, Schulungen, vorgegebene Prozessrichtlinien für den Änderungsprozess, die Verwendung von CASE- und Projektmanagementwerkzeugen, Meilensteine und Freigabewesen der Teilprodukte, zielführende Festlegung von Verantwortlichkeiten (bspw. Sicherstellung der organisatorischen Unabhängigkeit des Qualitätsmanagements), Umgang mit Qualitätsrisiken u.v.m.

Dabei sind Maßnahmen, die bereits in den frühen Phasen der Softwareentwicklung ansetzen, besonders wirksam. Ein Beispiel hierfür ist Quality Function Deployment (QFD) – eine Qualitätsmethode zur Ermittlung von Kundenanforderungen und deren direkter Umsetzung in die notwendigen technischen Lösungen. Das wesentliche Prinzip von QFD ist eine klare Trennung von Anforderungen und Lösungen, die in ein systematisches und teamorientiertes Vorgehen bei der Produktentwicklung eingebettet ist [Herzwurm, Pietsch 2009]. Im Umfeld von QFD existieren zahlreiche, konkret anwendbare (Einzel-)Methoden und Tools wie bspw. das „Continous QFD“ für Software mit kurzen Release-Zyklen. QFD ist Gegenstand der Norm ISO 16355-1 (“Application of statistical and related methods to new technology and product development process — Part 1: General principles and perspectives of Quality Function Deployment (QFD)”).

Analytische Qualitätsmaßnahmen

Bei den analytischen Maßnahmen handelt es sich um diagnostische Maßnahmen. Sie „konstruieren“ in das Produkt oder den Entwicklungsprozess keine Qualität per se „hinein“, sondern messen das existierende Qualitätsniveau [Balzert 2008, S.477]. Einige analytische Maßnahmen werden jedoch erst möglich, wenn davor bestimmte konstruktive Maßnahmen ergriffen wurden. Bspw. stellt eine geeignete Modularisierung die wesentliche Voraussetzung für Modultests dar.

Analog zu den konstruktiven, können sich analytische Maßnahmen auf alle Entwicklungsphasen und dabei entweder auf das (Teil-)Produkt oder den Entwicklungsprozess selber beziehen. Bei den analytischen Verfahren werden analysierende und testende Verfahren unterschieden: Analysierende Verfahren sammeln gezielt und mit analytischen Mitteln Informationen über den Prüfling. Hier wird auf die (dynamische) Ausführung des Prüflings mit konkreten Eingaben verzichtet. Testende Verfahren führen den Prüfling mit Eingaben aus [Balzert 2008, S. 478].

Die gängigsten analysierenden produktorientierten Verfahren sind v. a. (Produkt-)Reviews, Code-Inspektionen und Walkthroughts als eine etwas weniger formale Form von Reviews. Beim (Produkt-)Review bzw. Walkthrough erfolgt eine mehr oder weniger formale Überprüfung schriftlicher Dokumente (bspw. Anforderungen, Architektur-Dokumente) durch Gutachter auf Fehler, Inkonsistenzen, Unvollständigkeiten etc. Bei einer Code-Inspektion sollen formale oder inhaltliche Mängel im Code identifiziert werden [Frühauf, Ludewig, Sandmayr 2002, S. 87ff.; Balzert 2008, S. 493ff.].

(Prozess-)Reviews, Assessments und Audits zählen zu den analysierenden prozessorientierten Verfahren. Hier wird der Entwicklungsprozess bzw. das Entwicklungsprojekt auf die Einhaltung von Vorgaben, Richtlinien, Standards, Plänen etc. untersucht [Frühauf, Ludewig, Sandmayr 2002, S. 135ff.].

Zu den testenden Verfahren sei auf Testen von Software in diesem Lexikon verwiesen.

Literatur

Balzert, Helmut: Lehrbuch der Softwaretechnik, Bd. 2, Softwaremanagement. 2. Auflage. Heidelberg : Spektrum Akad. Verl., 2008.

Balzert, Helmut: Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering, 3. Auflage. Heidelberg : Spektrum Akad. Verl., 2009.

Balzert, Helmut: Lehrbuch der Softwaretechnik: Entwurf, Implementierung, Installation und Betrieb, 3. Auflage. Heidelberg : Spektrum Akad. Verl., 2011.

Frühauf, Karol ; Ludewig, Jochen ; Sandmayr, Helmut: Software-Projektmanagement und –Qualitätssicherung. 4. Auflage. Zürich : vdf, 2002.

Herzwurm, Georg; Pietsch, Wolfram: Management von IT-Produkten. dpunkt : Wiesbaden 2009.Mellis, Werner: Projektmanagement der SW-Entwicklung. Wiesbaden : Vieweg, 2004.

Sommerville, Ian: Software Engineering. 9. Auflage. München : Pearson, 2012.

Autoren


 gh

Prof. Dr. Georg Herzwurm, Universität Stuttgart, Betriebswirtschaftliches Institut, Abteilung VIII Lehrstuhl für Allgemeine Betriebswirtschaftslehre und Wirtschaftsinformatik II (Unternehmenssoftware), Keplerstr. 17, 70174 Stuttgart

Autoreninfo


 mm

Dr. Martin Mikusz, Universität Stuttgart; FOM Hochschule für Oekonomie & Management Stuttgart

Autoreninfo

 


Zuletzt bearbeitet: 07.12.2016 12:06
Letzter Abruf: 31.03.2017 00:36
Artikelaktionen