Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

04.06.1982

Die Anwender stellen ihre Fragen zu spät:Systementwicklung: Heuristik oder Prototyping

Mit der Art und Weise, wie wir heute Informationssysteme entwickeln, sind zwei Hauptprobleme verbunden: Ihre Entwicklung dauert zu lang, und wir erhalten nie auf Anhieb das richtige System. Obwohl die bisherige Art der Entwicklung in der Praxis stets umfangreiche Änderungen zur Folge hat, fahren wir mit der Entwicklung von Systemen fort, als ob die Anwender uns mit Hilfe der herkömmlichen Systemanalyse sagen könnten, was sie eigentlich brauchen. Unglücklicherweise haben besonders die Führungskräfte oft Schwierigkeiten bei der Definition ihres Informationsbedarfs mit analytischen Methoden dieser Art. Deshalb beginnen die Anwender erst bei der Inbetriebnahme eines Systems zu lernen und die Frage zu stellen, was sie eigentlich brauchen.

Die University of Minnesota und das Management Information Systems Research Center (MISRC) an der Graduate School of Management arbeiten mit 20 größeren Unternehmen im Raum der Twin Cities an allgemein interessierenden Fragen der Informations-Systemforschung zusammen.

Im Vordergrund steht zur Zeit die Frage einer Methodenverbesserung für die Entwicklung von Informationssystemen und eine Verkürzung der Zeitspanne zwischen Endbenutzeranforderung und Systemantwort. Um mit positiven Ergebnissen aufwarten zu können, wenden die Forscher modernste Verfahren an, beispielsweise heuristische Entwicklung und das Prototyping.

Die Tatsache, daß Anwender Änderungswünsche vorbringen, sobald ein System implementiert ist, führt zu der Erkenntnis, daß die Definition des Anwenderbedarfs ein heuristischer oder Lernprozeß sein sollte, der einen iterativen oder evolutionären Entwicklungsprozeß erlaubt. Führungskräften sollte Gelegenheit geboten werden, mit den Systemausgaben zu arbeiten, bevor das endgültige System mit einem massiven Entwicklungsaufwand angegangen wird.

Um was geht es nun eigentlich bei der heuristischen Entwicklung und beim Prototyping, und wie unterscheiden sie sich?

Hinter der heuristischen Entwicklung steht der Grundsatz, daß die meisten Menschen bei der Lösung von Problemen einen Denkstil bevorzugen, der intuitiv und heuristisch ist. Das heißt, sie streben zuerst eine rohe Lösung an und verfeinern diese dann durch Näherung (trial und error). Man bedenke beispielsweise, wie die meisten Menschen Geduldspiele wie Rubiks Zauberwürfel lösen (in diesem Fall sollte man besser sagen "zu lösen versuchen"). Die meisten Menschen haben eine ungefähre Vorstellung von dem, was sie zu tun versuchen. Nach wenigen Sekunden fangen sie dann mit der Manipulation des Würfels an um zu sehen, wie er funktioniert. Strategien, die sich nicht bewähren werden verworfen, und solchen, die sich zu bewähren scheinen, wird nachgegangen, bis eine Lösung erreicht ist.

Die heuristische Entwicklung akzeptiert diesen von den meisten Menschen angewandten intuitiven und heuristischen Denkstil und nutzt die Fortschritte der Computertechnik, die eine flexible Vorgehensweise in der Systementwicklung gestatten. Diese Technik umfaßt die Online-Systeme, Datenbankverwaltungssysteme - insbesondere die auf den Relationenmodell beruhenden - sehr maschinenferne (very high level) Abfragesprachen und den Entscheidungsprozeß unterstützende Systeme.

Bei der heuristischen Entwicklung werden die folgenden Phasen durchlaufen:

1. Im Verlauf der Analysenstufe der Systementwicklung wird eine umfassende Kenntnis der Daten entwickelt, die zur Unterstützung der Entscheidungsfindung und der organisatorischen Abläufe verwendet werden.

2. Alle maschinell lesbaren oder manuell geführten Daten werden erfaßt und in eine Datenbank eingeladen unter Verwendung einer Stichproben-sequentiellen physischen Struktur für jede Datei.

3. Aus Phase eins ist zu bestimmen welche Felder als Indizes einer jeden Datei verwendet werden sollen. Sind mehrfache Dateien betroffen, so lassen sich alle offensichtlichen Zusammenhänge zwischen den Datei(..)herstellen, wobei die vom Datenbankverwaltungssystem bereitgestellte Technik angewandt wird.

4. Mit Hilfe einer Abfragesprache werden die Bildschirmformate und Berichte entwickelt, die vom Endbenutzer gebraucht werden. Darüber hinaus werden weitere Bildschirmformate oder Berichte entwickelt, die von Nutzen sein können.

5. Die Endbenutzer sind im Systembetrieb auszubilden, wobei man ihnen genügend Gelegenheit zum interaktiven Verkehr geben sollte. Die dabei gesammelten Erfahrungen mit den Funktionen und Möglichkeiten des Systems wirken als Katalysatoren, die den Anwendern eine noch umfassendere Sicht und Artikulation ihres Informationsbedarfs gestatten.

6. Basierend auf den in Phase fünf gewonnenen Informationen, ist das System zu überarbeiten, indem von den Endbenutzern gewünschte Änderungen eingebaut werden, beispielsweise die Eingliederung neuer Felder, die Schaffung neuer Datenzusammenhänge, die Änderung von Bildschirmformaten etc. Dabei werden Indexierungen von Datenfeldern ausgeschieden, die selten als Indizes gebraucht werden, was eine Leistungsbetrachtung ist. Alle häufig angewandten Abfragen müssen in einer leistungsfähigen Sprache codiert sein, beispielsweise in Cobol, um Antwortzeit zu verbessern. Auch das ist Sache der Leistungsbetrachtung.

7. Die Folge der Phasen fünf und sechs sind so oft zu wiederholen bis das System verhältnismäßig stabil ist.

8. Es ist ein Eingabesystem zu entwerfen, das Edit- und Update-Möglichkeiten für die Datenstruktur und das Ausgabesystem bietet, und es ist mit dem Rest des Entwicklungszyklus fortzufahren.

Erst Ausgabe-, dann Eingabesystem

Diese Methodik- gestattet dem Systemanalytiker, den Informationsbedarf des Endbenutzers heuristisch zu definieren, während das Ausgabesystem entworfen und entwickelt wird. Außerdem bietet diese Vorgehensweise dem Management Gelegenheit, sich mit dem neuen System gründlich und betriebsnah zu befassen, die sich bietenden Möglichkeiten zu erkennen und den Informationsbedarf abzustimmen.

Entwurf und Entwicklung eines Eingabesystems nach der Entwicklung eines Ausgabesystems ist eine logische Konsequenz.

Die Entwicklung eines Eingabesystems mit Datenerfassung, Transaktionsverarbeitungsverfahren und einem geeigneten Edit- und Update-System bedingt in der Regel einen großen Aufwand. Die Entwurfsforderungen für ein Eingabesystem sind leichter zu definieren und nicht in dem Maße Änderungen ausgesetzt, wenn das Ausgabesystem bereits fertig ist.

Wie die heuristische Entwicklung erkennt auch das Prototyping das Prinzip des erkenntnismäßigen Denkstils an und nutzt die modernsten Computertechniken. Es umfaßt folgende Phasen:

1. Bedarfsermittlung für den Endbenutzer in Begriffen des Informationsbedarfs und der Betriebserfordernisse.

2. Entwicklung eines funktionsfähigen Prototypsystems, das nur die wichtigsten ermittelten Funktionen ausfuhrt und sich auf einen kleinen aber repräsentativen Datenbestand stütz.

3. Erprobung des Prototyps durch den Endbenutzer nach entsprechender Einweisung und Information, wie das System auf gewünschte Änderungen reagieren wird.

4. Verfeinerung des Prototyps durch Diskussion gewünschter Änderungen und Entscheidung über die Aufnahme von Änderungen in die nächste Version des Prototyps. Nach erfolgter Freigabe dieser Version sind die Phasen drei und vier zu wiederholen, bis das System den Anforderungen des Endbenutzers voll gerecht wird. Gegebenenfalls wird das System potentiellen Anwendern vorgeführt, oder man fährt mit der Systementwicklung fort.

Heuristische Entwicklung und Prototyping haben viel gemein. Sie akzeptieren beide den erkenntnismäßigen (kognitiven) Denkstil, und beide haben eine modernste Technik als Voraussetzung. Es gibt aber auch signifikante Unterschiede.

Beim Prototyping wird ein einfaches System entwickelt, das durch einen iterativen Prozeß verfeinert wird.

Die heuristische Entwicklung bezweckt dagegen die Einrichtung eines Ausgabesystems auf iterativer Basis. Sobald dieses steht, verlangt die heuristische Entwicklung mit dem Entwurf des Eingabe- und Dateiwartungssystems unter Anwendung herkömmlicher, strukturierter Verfahren die Rückkehr zu einer systematischen, technisch orientierten Vorgehensweise. Mit anderen Worten: Das Prototyping verlangt einen kreativen Näherungsprozeß (trial and error) zur Entwicklung des Gesamtsystems, während die heuristische Entwicklung eben diese Strategie nur zur Definition der Systemausgaben gelten läßt.

*James C. Wetherbe ist Fakultätsmitglied der Management School und Direktor des MISRC an der University of Minnesota.

Aus COMPUTERWORLD vom 26. April 1982 übersetzt von Hans J. Hoelzgen, Böblingen.

"Die Tatsache, daß Anwender Änderungswünsche vorbringen, sobald ein System implementiert ist, führt zu der Erkenntnis, daß die Definition des Anwenderbedarfs ein heuristischer oder Lernprozeß sein sollte, der einen iterativen oder evolutionären Entwicklungsprozeß erlaubt."