Konstruktive und analytische Maßnahmen ergänzen einander:

Phasenkonzept fungiert als wichtigste Säule

03.01.1986

Die Kosten für eine vernünftige Qualitätssicherung können sich durchaus in einem vertretbaren Rahmen halten. Voraussetzung sind allerdings ein gut durchdachtes Konzept und rechtzeitige Planung. Das QS-Rezept des Großversandhauses Quelle stellt Erwin Schmidtlein* in seinem Beitrag vor.

Die wichtigste Säule der Qualitätssicherung - genaugenommen die Voraussetzung für eine permanente Qualitätssicherung - ist der Einsatz eines Phasenkonzeptes für Entwicklung und Wartung der Softwaresysteme. In einem solchen Vorgehensmodell sind neben der Beschreibung der durchzuführenden Aktivitäten auch deren Ergebnisse festgelegt, Diese Ergebnisse werden mit Hilfe konstruktiver Qualitätssicherungsmaßnahmen erzeugt und durch analytische Qualitätssicherungsmaßnahmen geprüft.

Die Festlegung und Gewichtung der Qualitätssicherungsmaßnahmen ist Aufgabe des Projektmanagements. Das in unserem Haus verwendete Vorgehensmodell "Orgtech 7" enthält Module /Aktivitäten für Qualitätssicherung. Die Planung der Qualitätssicherung ist speziell in den Modulen "Festlegen Projektstrategie", "Festlegen Arbeitsmethodik und Dokumentation" sowie "Planung Projektüberwachung" als Aktivitäten enthalten. In dieser Phase ist im Modul "Überwachen Projekt-/Phasendurchführung" der Qualitätssicherungsaspekt verankert.

Als Basis für die Projektdurchführung verwenden wir "Orgware IV", ergänzt beziehungsweise geändert auf die speziellen Belange unseres Unternehmens. Die einzelnen Ergebnisse der Phasen werden mit Hilfe "konstruktiver Maßnahmen" erstellt, zu sinnvoll prüfbaren Gruppen zusammengefaßt und mit "analytischen Maßnahmen" geprüft.

Formale Beschreibung entscheidet über Erfolg

Die Ergebnisse der Phasen "Problemanalyse" bis einschließlich "Detailorganisation" werden fast ausschließlich in Form "beschreibender Dokumente" erstellt. In diesen Phasen ist der Einsatz formaler Beschreibungstechniken von entscheidender Bedeutung.

Je nach Ergebnistyp und Eignung der einzelnen Beschreibungstechniken kommen Entscheidungstabellen und -matrizen, Struktogramme, Baumstrukturen sowie Eva-Diagramme zum Einsatz. Datenbeschreibungen werden über das "Data Dictionary-System" und Modulbeschreibungen mittels "Pseudo-Code" erstellt.

Zur Prüfung bestimmter Ergebnistypen finden Walk-Through sowie Präsentation und Abstimmung zwischen Projektteam, Auftraggeber sowie Abstimm- und Entscheidungsinstanz Verwendung (Bild 1). Unterstützend wirken hierbei "Dialog- und Outputsimulationen".

In der Phase "softwaretechnische Realisierung und "Systemeinführung" werden normierte und strukturierte Programmierung, Entscheidungstabellentechnik, Nutzung vorhandener Softwarebausteine wie Programmrahmen, Routinen, Makros und generierte Datenstrukturen sowie Testdatenanforderungsprofil, Programmübergabeverfahren und Systemtestverfahren als konstruktive Maßnahmen verwendet.

An analytischen Maßnahmen kommen Umwandlungsrahmen mit Standardprüfungen, Testdeckungs- und Durchlaufprotokolle sowie Dateiabgleiche und -ausdrucke zum Einsatz.

Für den Praxisbetrieb werden in der Projektdurchführung bereits Qualitätssicherungsmaßnahmen geplant und in das Softwaresystem integriert. Hierzu gehören vor allem Ablaufsicherungs- und Abstimmverfahren sowie Checkpointschreibung.

Eine weitere Maßnahme ist der "Programmproblembericht". Jedes in der Praxis auftretende Problem wird schriftlich gemeldet und ausgewertet. Die damit aufgezeigten Problemschwerpunkte fließen in die Qualitätssicherungsmaßnahmen ein.

Die Wirtschaftlichkeit der Qualitätssicherung wird nicht nur durch die Qualität der eingesetzten Methoden und Werkzeuge bestimmt, sondern auch durch schnellen Informationszugriff und einfache Benutzeroberfläche bei der Anwendung von Werkzeugen.

Das in unserem Hause auf der Basis von "Roscoe" entwickelte Arbeitsleitsystem bietet dem Entwickler dialogunterstützte Benutzerführung für den Einsatz von Techniken und Werkzeugen, und die Anzeige von Richtlinien, Beschreibungen oder Dateiinhalten.

Das Arbeitsleitsystem verbindet den Systementwickler anhand von Vorgehensmodellen einerseits mit der Information, die er für die Durchführung eines Arbeitsschrittes braucht und andererseits mit den dabei anzuwendenden Techniken, Werkzeugen und Richtlinien (Bild 2).

Um die Qualität des Softwaretests sicherzustellen, sind alle an der Softwareentwicklung Beteiligten - auch aus dem Fachbereich - in ein mehrstufiges Testkonzept eingebunden, das in einem Bottom-up-Test in jeder Stufe entsprechende Schwerpunkte setzt.

Die einzelnen Teststufen: Zunächst erfolgt der Einzeltest mit den Teilen Modultest, also Test einzelner Module in simulierter Umgebung und Integrationstest, also Testen eines Programmes in realer Umgebung einschließlich dem Zusammenspiel aller Module. Sodann wird der Gruppentest durchgeführt. Hierbei handelt es sich um das Testen eines DV-Ablaufes im Zusammenspiel der Programme und Funktionsfähigkeit der Ablaufsicherung sowie Abstimmverfahren in realer Programmumgebung. Der Systemtest schließlich ist der Abnahmetest des gesamten Anwendungssystems durch den Fachbereich.

In den einzelnen Teststufen stehen entsprechende Werkzeuge für Testvorbereitung-, -durchführung und -nachbereitung über das Arbeitsleitsystem dialogunterstützt zur Verfügung. Ein wesentliches Instrument zur Feststellung des erreichten Qualitätsgrades ist die laufende Fortschreibung und Protokollierung des Testdeckungsgrades. Für , den Systemtest wird zwischen den Projektbeteiligten ein Testanforderungsprofil erarbeitet, das die Testverantwortlichen, zusätzlich einzubeziehende Stellen, Anzahl der Läufe und Laufvarianten sowie Testschwerpunkte festlegt.

Der Nutzen der Qualitätssicherung liegt einerseits in der Früherkennung von Abweichungen und Schwachstellen, denn rechtzeitige Erkennung bedeutet kostengünstige Beseitigung. Andererseits ist aber auch die Reduzierung der Wartungs- und Ausfallkosten entscheidend. Die

Kosten für Qualitätssicherung lassen sich bei entsprechender Einbindung in Vorgehensmodelle und mit Computerunterstützung im konstruktiven sowie analytischen Bereich im vertretbaren Rahmen halten.

Qualitätssicherung

Die Qualität eines Softwaresystems hängt vom "Erfüllungsgrad" vordefinierter Qualitätsmerkmale ab. Hierbei ist zu unterscheiden zwischen Eigenschaften zur Erfüllung der Benutzeranforderungen (Fachbereich) und Eigenschaften zur Erfüllung von Betreuer-/Betreiberanforderungen (Datenverarbeitung).

Typische Benutzeranforderungen sind:

Funktionsumfang. Erfüllt das Softwaresystem die geforderten Funktionen für den vorgesehenen Verwendungszweck?

Handhabbarkeit: Kann der Benutzer das Softwaresystem einfach bedienen (einheitliche Benutzeroberfläche)? Läßt sich die Bedienung leicht erlernen?

Robustheit: Ist das Softwaresystem unanfällig gegen falsche Bedienung?

Wichtige Betreuer-/Betreiberanforderungen sind:

Wartbarkeit: Wie leicht kann das Softwaresystem geändert oder erweitert werden, um neue Anforderungen zu erfüllen?

Effizienz: Wie ist das Antwortzeitverhalten, Laufzeit und Hardwarebedarf?

Personalunabhängigkeit: Kann die Pflege des Systems auf andere Personen übertragen werden?

Diese Liste der aufgeführten Qualitätseigenschaften ist nicht vollständig. Je nach Softwareverwendungszweck sind Eigenschaften entsprechend zu ergänzen und deren Ausprägung festzulegen.

Qualitätssicherung umfaßt alle Maßnahmen organisatorischer und technischer Art zur Sicherstellung der Qualität. Sie ist Bestandteil des Softwareentwicklungs- und -wartungsprozesses. Qualitätssicherung erstreckt sich sowohl auf die Produkte (Entwicklungs- und Benutzerdokumentation, Programme als auch auf die Produktentwicklung (Termineinhaltung, Wirtschaftlichkeit).

Zur Qualitätssicherung zählen:

Konstruktive Maßnahmen

Gemeint sind hiermit Methoden, Techniken und Werkzeuge, die zur Erstellung eines Produktes verwendet werden. Durch ihren Einsatz werden von vornherein bestimmte Qualitätsmerkmale sichergestellt, Konstruktive Maßnahmen sind beispielsweise Vorgehensmodelle (Projektmanagement- und Durchführungsmodell), formale Beschreibungstechniken, normierte Programmierung oder Data-Dictionary.

Analytische Maßnahmen

Hierbei handelt es sich um Methoden und Werkzeuge zur Prüfung der Qualität eines Produktes. Analytische Maßnahmen sind unter anderem Inspektion, Walk-Through und Test.

Der Umfang der Qualitätssicherung - vor allem bei analytischen Maßnahmen - ist abhängig vom Verwendungszweck des zu erstellenden Softwaresystems. Je höher das mit dem Einsatz der Software verbundene Risiko, desto umfangreicher die Maßnahmen.