ANSÄTZE & MERKMALE

Software Qualitä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


Qualitäts-Merkmale


Die ISO 9000 definiert Qualität als „Grad, in dem ein Satz inhärenter Merkmale Anforderungen erfüllt". Mit Merkmalen sind alle Eigenschaften gemeint, die einem Objekt innewohnen, dies können zum Beispiel typische Masse wie Länge oder Breite sein.

Doch was ist nun „Softwarequalität"? Hierbei geht es um mehr als nur die Erfüllung von Anforderungen: Der Begriff ist in der DIN ISO1926 definiert als „Die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen." Die DIN ISO1926 beschreibt unter anderem sechs spezifische Qualitätsmerkmale, die Softwarequalität auszeichnen:

1. Funktionalität


Besitzt die Software die geforderten Funktionen, und kann sie diese in angemessener Weise erfüllen? Egal an welcher Stelle in der Software man sich befindet, wann immer man einen Button zum Anlegen eines Objekts sieht und diesen benutzt, wird auch eine Maske zur Objekterstellung aufgerufen.

2. Zuverlässigkeit


Wie zuverlässig ist die Software? Kann sie das Leistungsniveau unter definierten Bedingungen für einen definierten Zeitraum halten und erfüllen? Bestehende Funktionen müssen immer wiederkehrend identisch funktionieren und dürfen keine abweichenden Ergebnisse liefern. Dafür werden sogenannte Unittests genutzt, um sicherzustellen, dass eine spezifische Funktion immer gleich funktioniert. Diese Sammlung von Tests wird stetig erweitert, mit dem Ziel, eine ganzheitliche Funktionsabdeckung zu erreichen.

3. Benutzbarkeit


Ist die Software benutzerfreundlich? Wie schätzen die Anwender den nötigen Aufwand ein, um die Software einzuführen, und wie wird deren Nutzbarkeit beurteilt? Bei der Konzeption und Entwicklung werden nicht nur das Feedback der Produktverantwortlichen und der Softwaretester, sondern ständig auch das der Kunden verarbeitet und zur Verbesserung der Benutzbarkeit herangezogen. Ausserdem stehen wir im laufenden Austausch mit externen Beratern, um die Usability unserer Software an die aktuellen und zukünftigen Anforderungen anzupassen.

4. Effizienz


Wie effizient arbeitet die Software mit den informationstechnischen Gegebenheiten und Hardwareinfrastruktur? Ist die Software mit den eingesetzten Betriebsmitteln performant? Zuverlässigkeit umfassen auch Tests zur Performance-Überprüfung. Dabei ist die Testumgebung immer identisch, Performanceeinbrüche können so bereits im Entwicklungsprozess erkannt werden.

5. Änderbarkeit


Wie gross ist der Aufwand, um an der Software programmiertechnische Änderungen durchführen zu können? Wird eine Technologie verwendet, die es ermöglicht, Bausteine aus der Basisentwicklung bei Neu- und/oder Weiterentwicklung von Komponenten wiederzuverwenden und somit den Aufwand für umfangreiche Neuentwicklungen minimal zu halten?

6. Übertragbarkeit


Wie gross ist die Kompatibilität zu anderen Betriebssystemen? Kann die Software in andere Umgebungen migriert werden? Um eine möglichst breite und betriebssystemunabhängige Nutzbarkeit zu erreichen, ist die Software durchgängig webbasierend. Damit kann die Software von jedem Browser aus ortsunabhängig geöffnet werden, so lange eine Verbindung zum Server aufgebaut werden kann (über Internet oder Intranet). Auch für die Nutzung auf mobilen Geräten, die zeitweise ohne Verbindung zum Server auskommen müssen, gibt es Clients, z.B. für Windows Tablets oder Android Geräte.

Letztendlich muss Softwarequalität immer aus
drei Blickrichtungen betrachtet werden. Zum einen aus der Sicht der Entwickler, die die Software weiterentwickeln oder anpassen müssen. Die zweite Sicht ist die der Anwender. Sie müssen mit der Software arbeiten und diese möglichst intuitiv und fehlerfrei bedienen können. Der dritte Blickwinkel ist der aus wirtschaftlicher Sicht. Eine qualitativ hochwertige Software erfüllt alle genannten Kriterien.

Dennoch kann Softwarequalität nicht exakt „gemessen" werden. Trotz verschiedener Versuche, Softwarequalität in einen gültigen Rahmen zu bringen, existiert keine exakt definierte Festlegung. Um ein Verständnis für diese Problematik zu bekommen und einen gemeinsamen Konsens zu finden, muss man die verschiedenen Blickrichtungen (Anwendersicht, Entwickler-Sicht, wirtschaftliche Sicht) berücksichtigen, den Schwerpunkt jedoch auf die Sicht des Kunden legen.


Stacks Image 80


Qualitäts-Ansätze


Aus unserer Sicht gibt es folgende 5 Ansätze, um zu einer Qualitätsvorstellung zu kommen:

1. Der „transzendente“ Ansatz


Danach ist Qualität universell erkennbar und ein Synonym für kompromisslos hohe Standards und Ansprüche an die Funktionsweise eines Produkts. Die Vertreter dieses Ansatzes glauben allerdings, dass sich Qualität in diesem Sinne nicht präzise definieren oder messen lässt. Ebenso meinen sie, dass Qualität nur durch Erfahrung bewertet werden kann. Der Begriff der Qualität kann genauso wenig implizit definiert werden wie z.B. jener der Schönheit. Vertreter dieses Ansatzes meinen, es genüge, ein Software-Produkt am Bildschirm durch seine Handhabung zu erleben.

2. Der produktbezogene Ansatz


Die Vertreter dieses Ansatzes glauben, dass die Qualität präzise messbar ist. Danach spiegeln Qualitätsdifferenzen Unterschiede in der vorhandenen, beobachtbaren Quantität bestimmter Eigenschaftsausprägungen wider, die in einem Produkt festgestellt werden können. Dieser Ansatz erlaubt es im Prinzip, eine Rangordnung von verschiedenen Software-Produkten der gleichen Kategorie anzugeben. In den 70er Jahren des letzten Jahrhunderts haben amerikanische Auftraggeber von Grossprojekten begonnen, Software-Bewertungsmethoden zu entwickeln, um bei der Beschaffung und Entwicklung unterschiedliche Produkte von Software-Lieferanten besser beurteilen zu können.

3. Der anwenderbezogene Ansatz


Hierbei liegt die Auffassung vor, dass die Qualität durch den Produktbenutzer festgelegt wird und weniger durch das Produkt selbst. Danach haben verschiedene Produktbenutzer unterschiedliche Wünsche und Bedürfnisse, und diejenigen Produkte, die diese Bedürfnisse am besten befriedigen, werden als qualitativ hochstehend angesehen. Beispielsweise werden bei der Einführung des Portals im Finanzbereich eines Unternehmens zunächst die Rollen (z.B. Senior Management, Kostenstellenverantwortliche, Controller, etc.) definiert. Durch eine Web-Oberfläche wird den unterschiedlichen Benutzerrollen der Zugriff auf Funktionen ermöglicht. Das „Look and Feel“ der Webseiten kann rollen-, unternehmens- und branchenspezifisch den Anforderungen der Nutzer an ihren Arbeitsplatz angepasst werden.

4. Der prozessbezogene Ansatz


Nach diesem Ansatz ist Qualität gleichzusetzen mit der Einhaltung von Spezifikationen, mit der Idealvorstellung, eine Tätigkeit zur Produkterstellung gleich das erste Mal richtig auszuführen. Diese Vorstellung von Qualität ist auf die heutige Wirtschaft und Industrie ausgerichtet. Im Mittelpunkt steht der Entwicklungs- bzw. Produktionsprozess, der rigoros kontrolliert, auditiert und inspiziert wird, um die Ausschuss- und Nachbearbeitungskosten zu verringern. Dabei spielt der Automatisierungsgrad eine grosse Rolle. Insbesondere Roboter und Automaten sollen gewährleisten, dass Produktionsprozesse soweit als möglich mängelfrei und reibungslos abgewickelt werden.

Für Software-Projekte bedeutet dies, dass durch geeignete Auswahl und Anpassung von Prozess-/Vorgehensmodellen und durch ausreichenden Einsatz prüfender (analytischer) Qualitätsmassnahmen wie z. B. durch Reviews und Audits sichergestellt ist, dass Prozess- und Produktspezifikationen erfüllt werden. Weiters kann durch modellgetriebene Software-Entwicklungsverfahren bzw. einen hohen Automatisierungsgrad beim Testen (z. B. bei Modultests, Regressionstests) der Prozess wirksam ausgeführt werden. Der Vorteil dieses Ansatzes ist, dass durch Prozesskostenrechnung, Quality Function Deployment (QFD) und Kundenorientierung auch die Eigenschaften der Ansätze von 2, 3 und 5 erfüllt werden können.

5. Der Preis-Nutzen-bezogene Ansatz


Bei diesem Ansatz wird ein Bezug zwischen Kosten, Nutzen und Qualität hergestellt. Ein Qualitätsprodukt ist in dieser Denkweise ein Erzeugnis, das einen bestimmten Nutzen zu einem akzeptablen Preis oder eine Übereinstimmung mit Spezifikationen zu akzeptablen Kosten erbringt. Beispielsweise möchte der Finanzvorstand eines Energieversorgungsunternehmens mit einer neuen Informatik-/Software-Lösung für das Rechnungswesen eine jährliche Einsparung von ca. 1,5 Millionen Schweizer Franken realisieren. Die neue Lösung kostet ca. 6 Millionen Schweizer Franken, und er rechnet mit einer Amortisierung dieser Investition nach 4 Jahren.

Neben diesen Ansätzen, die versuchen, den Begriff Qualität durch Umschreibung zu verdeutlichen, gibt es auch eine Reihe von Versuchen, den Begriff Qualität zu definieren. Je nach Präferenz und individueller Auffassung des Einzelnen werden dabei verschiedene Akzente gesetzt. Im Folgenden werden verschiedene Qualitätsbegriffe diskutiert und ihre Anwendbarkeit für Software-Produkte geprüft.


Ihre Qualitätsicherung ist unsere Herausforderung! Haben wir Ihr Interesse geweckt?


Wir freuen uns auf Sie!


Fill out my online form.


Stacks Image 89


Stacks Image 94


GABEX GMBH
Kefikerstrasse 4
8546 Menzengrüt

Sprechen: +41 44 508 20 54
Kontakt aufnehmen