Gremien formulieren Anforderungen an Programme

Normen ermoeglichen objektive Bewertung von Softwarequalitaet

16.04.1993

Nach der internationalen Begriffsnorm ISO 2382 ist Software ein geistiges Produkt, das aus Programmen, Verfahren und allen dazugehoerigen Beschreibungen besteht, die zur Arbeit mit einem DV- System gehoeren.

Software wird unabhaengig von dem Medium verstanden, auf dem sie gespeichert ist. Insofern ist die Software ein Ding, das der Benutzer nur in seinen Aussenbeziehungen, zum Beispiel an der Schnittstelle zwischen Mensch und Maschine, wahrnehmen kann, nicht aber in seiner Gesamtheit an Funktionen und Auswirkungen.

Man muss also entweder einfach glauben, dass das gekaufte Produkt den Erwartungen entspricht und aehnlich zuverlaessig ist wie der Haartrockner oder die Kaffeemaschine; oder man muss Kriterien und Verfahren entwickeln, die sicherstellen, dass die Software allgemeinen Anforderungen genuegt und dem vorgesehenen Arbeitseinsatz dienlich ist.

Schon Ende der 70er Jahre, konkreter dann aber ab 1985, haben sich die Normungsgremien des Deutschen Institus fuer Normung e.V. (DIN) und anderer in der International Standards Organization (ISO) zusammengeschlossener Normungsinstitute Gedanken ueber das Phaenomen Software gemacht.

Kriterien fuer Anwender und Hersteller

Software ist aus Anwendersicht eine multifunktionale Blackbox. Es gibt als einzigen Zugang eine meist sehr umfangreiche Softwaredokumentation oder - im produktiven Einsatz - ein mehr oder weniger nachvollziehbares Verhalten an der Benutzeroberflaeche, zum Beispiel im Bildschirmmenue.

Dem Benutzer sollte es egal sein duerfen, in welcher Programmiersprache das Softwareprodukt geschrieben ist oder auf welches Datenbanksystem im Hintergrund zugegriffen wird. Wichtig ist dem Anwender, dass er erfolgreich mit dem Produkt umgehen kann.

Fuer den Hersteller von Software ergeben sich andere Fragestellungen. Abgesehen von der Beurteilung der Marktchancen seines Produkts ueberhaupt ist zu entscheiden, in welche Rechner- und Betriebssystem-Konfiguration sein Softwareprodukt eingebettet werden soll. Da er fuer sein Produkt haftet und Gewaehrleistungsansprueche entstehen koennen, hat er dafuer Sorge zu tragen, dass sein Programm funktioniert und die zugesicherten Eigenschaften erfuellt.

Durch die besonderen Charakteristika von Software ist die Produkterstellung ein Entwicklungsprozess, der in Arbeitsphasen wie Konzeptionierung, Designerstellung, Programmierung, Test und Inbetriebnahme zerfaellt.

Normung auf dem Gebiet der Software versucht, ein Ordnungsgebilde gegenseitiger Verstaendigung zu schaffen und allgemeine Qualitaetskriterien zu definieren.

Ein Ansatz, der Anforderungen an Softwareprodukte festlegt und die Uebereinstimmung von Dokumentation und Programm verlangt, ist in der DIN 66 285 enthalten. Sie fixiert unter anderem Anforderungen an die Produktbeschreibung, die die Leistungen und Merkmale des Produkts, zum Beispiel den Funktionsumfang, und die vorausgesetzte Konfiguration, darlegt.

Die Norm geht davon aus, dass die Software alles, was die Dokumentation behauptet, korrekt ausfuehren koennen muss. Darueber hinaus sollen Meldungen und Ergebnisse des Programms verstaendlich und uebersichtlich sein. Einige Forderungen der Norm klingen wie selbstverstaendlich, zum Beispiel diejenige, dass ein Programm nach der Installierung funktionsfaehig sein muss. Erfahrungen von Anwendern zeigten jedoch, dass dies keinesfalls immer gegeben ist.

Softwareprodukte koennen bei einer autorisierten Pruefstelle auf Einhaltung der DIN 66 285 ueberprueft werden und duerfen bei bestandener Pruefung das Guetezeichen "RAL Software" und das DIN- Pruef- und Ueberwachungszeichen tragen.

Waehrend DIN 66 285 Software als Endprodukt betrachtet, tragen DIN ISO 9001 und DIN ISO 9000, Teil 3, der Tatsache Rechnung, dass Software in einem zyklischen Entwicklungsprozess entsteht, in dem viele Personen arbeitsteilig zusammenwirken. Ein Qualitaetssicherungs-System unterlegt den Entwicklungsprozess mit Eckpunkten, zum Beispiel Uebergabe-Schnittstellen und Verifizierung der Phasenergebnisse, und definiert Zustaendigkeiten. So laesst sich also klaeren, ob der Erstellungsprozess herstellungstechnisch, organisatorisch und durch die beteiligten Personen gewaehrleistet, dass am Ende das gewollte Produkt herauskommt.

Die Norm DIN ISO 9000, Teil 3, die sich auf die Grundnorm DIN ISO 9001 fuer allgemeine technische Erstellungsprozesse bezieht, befasst sich auch mit dem Vertragsverhaeltnis zwischen zwei Partnern ueber die Entwicklung eines Softwareproduktes. Die Norm geht davon aus, dass Software entsprechend der Spezifikation des Auftraggebers entwickelt wird; sie stellt somit einen Leitfaden dar fuer Lenkungsmassnahmen und Methoden zur Software-Erstellung, die jedoch im Einzelfall zu vereinbaren sind. Guete des Produkts wird hier in erster Linie durch Fehlerverhuetung in allen Phasen der Entwicklung bis zur Pflege erreicht.

Ein Software-Entwicklungsprojekt sollte nach einem Lebenszyklusmodell organisiert sein und durch gemeinsame Reviews von Lieferant und Auftraggeber begleitet werden. Nach Freigabe des Produkts

kann Wartungsbedarf entstehen aus Gruenden fehlerhafter Problemloesung, aber auch durch Schnittstellen-Aenderung, Funktionserweiterung oder Leistungsverbesserung.

Das Qualitaetssicherungs-System kann mit Hilfe externer Audits durch von der Deutschen Gesellschaft zur Zertifizierung von Qualitaetssystemen (DQS) anerkannte Sachverstaendige ueberprueft und durch ein Zertifikat bestaetigt werden.

Die Softwarequalitaet wird messbar sein

Der heutige Stand der Technik gestattet es noch nicht, Eigenschaften von Software zu benennen und ihre Erfuellung messtechnisch nachzuweisen. Ansaetze in diese Richtung, zum Beispiel Modelle von B. Boehm und J. McCall, liegen seit Jahren vor, scheitern aber letztlich an einer fehlenden Gewichtung der Softwaremerkmale, durch mangelnde Werkzeugunterstuetzung fuer die praktische Durchfuehrung oder schlicht durch fehlende Anerkennung in der Oeffentlichkeit. Der Benutzer ist eher geneigt, Maengel in der Software seiner eigenen Unkenntnis zuzuschieben als der Qualitaet des Produkts.

Gaenzlich ueberfordert ist er, wenn es darum geht, unter einer Auswahl von Software die Qualitaet zu vergleichen. Andererseits hat die Software-Industrie eine gewisse Reife erreicht; Software wird heute nach erprobten Methoden entwickelt wie andere komplexe Systeme, zum Beispiel Flugzeuge, auch.

Hilfestellung bei der Beurteilung der Qualitaet von Software versucht DIN 66 272 zu geben. Sie enthaelt sechs Qualitaetsmerkmale fuer Software (Funktionalitaet, Zuverlaessigkeit, Benutzbarkeit, Effizienz, Aenderbarkeit, Uebertragbarkeit) und ein Beispiel zur Verfeinerung in Teilmerkmale. Die Norm zeigt damit einen ersten Schritt auf in Richtung kuenftiger Qualitaetsmessungen von Software.

In einem komplizierten Verhaeltnis zu den allgemeinen Qualitaetskriterien fuer Software stehen die ergonomischen Forderungen an die menschengerechte Gestaltung eines Bildschirm- Arbeitsplatzes. Da diese das gesamte Arbeitssystem betreffen, angefangen von der Tisch- und Stuhlhoehe ueber die Beleuchtung bis zum flexionsarmen Bildschirm, sind die sich auf die Software auswirkenden Forderungen nur sekundaer ableitbar.

Teil 8 der Bildschirm-Arbeitsplatz-Normenreihe DIN 66 234 enthaelt Grundsaetze, die bei der Gestaltung von Dialogsystemen beachtet werden sollen: Aufgabenangemessenheit, Selbstbeschreibungsfaehigkeit, Steuerbarkeit, Erwartungskonformitaet und Fehlerrobustheit. Dadurch sollen die Eigenschaften des Dialogsystems, das zum Beispiel auch nur ein PC mit Textverarbeitungsprogramm sein kann, an die psychischen Eigenschaften des menschlichen Benutzers angepasst werden. Zu diesen gehoeren zum Beispiel die Aufmerksamkeitsspanne, die Kapazitaet des Kurzzeitgedaechtnisses und die Erwartungshaltung aufgrund von Erfahrung.

Fuer den Softwarehersteller bedeutet die ergonomische Ueberpruefung seines Produkts die Beantwortung der Frage, wie eine potentielle Zielgruppe von Benutzern mit dem Softwareprodukt zurechtkommt. Beispiel: Das staendige Abrufen einer Hilfefunktion koennte bedeuten, dass die Dialogschritte fuer den Benutzer nicht selbsterklaerend nachvollziehbar sind und deshalb eine geaenderte Programmfolge vonnoeten ist, die der Logik im normalen Geschaeftsablauf entspricht.

Aufgrund internationaler Zusammenarbeit werden in der Folgeausgabe der Norm noch zwei Grundsaetze hinzukommen: Individualisierbarkeit (Anpassungsmoeglichkeit an Benutzerbelange) und Erlernbarkeit (Unterstuetzung in der Lernphase).

Software ist, verglichen mit anderen Produkten des taeglichen Bedarfs, ein junges und ein besonderes Produkt. Sie hat wenig Tradition, ist schnell aenderbar und anpassbar an Umgebungsbedingungen und wirkt in viele Lebensbereiche hinein. Sie altert nicht, und dennoch entsteht hoher Wartungsbedarf. Ferner ist sie in unterschiedlichen Abstraktionsebenen und Realisierungsstufen praesent, als Anwendungs- und als Betriebssoftware. Fuer sich genommen taugt sie nichts, sondern nur im Zusammenspiel mit anderer Software und mit Hardwarekomponenten.

Die Entwicklung der Informationstechnik ist gekennzeichnet vom Zusammenwachsen von Funktionen, zum Beispiel Text, Grafik und Bewegtbilder zu Multimedia-Systemen oder auch integrierten Buerokommunikations-Systemen mit Moeglichkeiten der Textverarbeitung, des Datenbankzugriffs und der Nachrichtenuebermittlung.

Dadurch entstehen neue Schnittstellen- und Portabilitaetsprobleme, und durch die Abhaengigkeit von Software bekommt die Softwarequalitaet hohe Bedeutung.

Die europaeischen Normungsinstitute nehmen sich unter Beteiligung von Herstellern, Anwendern, Behoerden, Forschungsinstituten und Pruefstellen dieser Probleme an und leisten durch die Erarbeitung von Normen ihren Beitrag zur Qualitaet von Software. Die Normen werden in internationaler Zusammenarbeit erstellt. Das DIN ist dabei der runde Tisch fuer die interessierten Fachkreise und die Vertretung Deutschlands in den europaeischen und internationalen Normungsgremien.

*Michael Kutschke ist im Normenausschuss Informationssysteme des DIN zustaendig fuer Softwaretechnik.

Zitierte Normen

ISO 2382/1 (1984):

Data processing - Vocabulary - Teil 1: Fundamental terms.

DIN 66 285 (1990):

Informationsverarbeitung; Anwendungssoftware; Guetebedingungen und Pruefbestimmungen ISO/IEC CD 12 119.

DIN ISO 9001 (1990):

Qualitaetssicherungs-Systeme; Modell zur Darlegung der Qualitaetssicherung in Design und Entwicklung, Produktion, Montage und Kundendienst; EN 29 001.

DIN ISO 9000, Teil 3 (1992):

Qualitaets-Management- und Qualitaetssicherungsnormen; Leitfaden fuer die Anwendung von ISO 9001 auf die Entwicklung, Lieferung und Wartung von Software.

DIN 66 272 (Entwurf 1993):

Informationstechnik; Beurteilen von Softwareprodukten; Qualitaetsmerkmale und Leitfaden zu deren Anwendung; ISO/IEC 9126.

DIN 66 234 Teil 8 (1988)

Bildschirm-Arbeitsplaetze; Grundsaetze ergonomischer Dialoggestaltung ISO 9241/10 in Vorbereitung.

Normen und Entwuerfe sind erhaeltlich beim Beuth Verlag, Burggrafenstr. 6, 1000 Berlin 30.

Europaeische Qualitaet

Auch Softwarequalitaetskriterien koennen keine nationale Angelegenheit sein. Das Deutsche Institut fuer Normung e.V. (DIN) in Berlin, das sich bereits seit Ende der 70er Jahre auch mit der Entwicklung derartiger objektiver Kriterien befasst, ist Mitglied der internationalen Organisation fuer Normung (ISO)

und des Europaeischen Komitees fuer Normung (CEN). Die hier zitierten Normen duerften also zumindest europaweiten Anspruechen genuegen.