Ohne den bei Standardsystemen notwendigen Programmieraufwand

Das PPS-System laesst sich vom Anwender selbst konfigurieren

22.10.1993

Planungs- und Steuerungssysteme (PPS) sind in grosser Zahl am Markt verfuegbar. Um die Probleme des jeweiligen Tagesgeschaefts loesen zu koennen, erfordern diese Systeme jedoch umfangreichen Programmieraufwand. Vor diesem Hintergrund wurde am Fachgebiet Produktionsorganisation der Universitaet-Gesamthochschule Kassel ein konfigurierbares System auf PC-Basis entwickelt.

Die Hardwarevoraussetzungen sind in den meisten Unternehmen heutzutage annaehernd identisch: Es existiert in der Regel eine betraechtliche Anzahl von PCs - parallel zu einer zentralisierten Loesung. Die PCs sind teilweise per Emulation an den Host angeschlossen und/oder vernetzt. Mit standardisierter PC-Software dienen sie den Mitarbeitern ueberwiegend fuer die Bewaeltigung des Tagesgeschaeftes.

Standardsoftware wie Tabellenkalkulationen und kleinere Datenbanken kommen dabei zur Anwendung, da der Aufwand dafuer, innerbetriebliche Loesungen zu programmieren, den Kosten- und Zeitrahmen sprengen wuerde. Der Datenaustausch wird per Diskette oder Netz-Filetransfer vorgenommen.

Da der Chef am liebsten gestern die Grafik gehabt haette, muessen die PC-Anwender bei dieser Vorgehensweise - die ja schnell Ergebnisse liefert und liefern soll - die klassischen Probleme der Datenverarbeitung ignorieren. Hierzu gehoeren die Hauptbereiche:

- Redundanzfreiheit der Daten, das heisst wiederholungsfreie Datenbestaende,

- Integritaet der Informationen, sprich: vollstaendige Gesamtdaten, sowie

- Konsistenz oder Widerspruchsfreiheit der Daten.

Wenn es gilt, eine homogenere Datenlandschaft zu erhalten, steht die Unternehmens-DV also zurecht auf der "Entwicklungsbremse" der Anwender.

Fuer den PC-User wird eine Reihe von relationalen Datenbanken angeboten, wobei er ueber SQL seine Abfragen vornehmen kann. Aber die Eingabe von SQL-Kommandos machen es einem Benutzer oftmals schwer. Das Komma an die richtige Stelle setzen, das Semikolon nicht vergessen, die Klammerung hinzufuegen! Ansonsten wird meist die Neueingabe des gesamten Kommandos faellig.

Hier zwei Beispiele von einfacheren SQL-Kommandos:

SQL> CREATE TABLE KUNDENSTAMM (Kundennr number(10), Kundenname char(30), Strasse char(30));

SQL> SELECT Kundennr, Kundenname FROM KUNDENSTAMM WHERE Kundennr > 1000.

Wer ein solches Kommando seit vier oder sechs Monaten nicht mehr benoetigt hat, wird sich den Griff zur Dokumenta tion, meist in "neuhochdeutsch" abgefasst, nicht sparen koennen.

Dabei verstreicht die fuer Problemloesungen benoetigte Zeit, ohne dass Ergebnisse erbracht werden koennen. Darueber hinaus weiss kaum jemand nach drei Wochen noch, wie lang die Felder sind und welchen genauen Namen sie tragen.

Wie aber muss eine Alternative aufgebaut sein? Hierfuer gibt es aus der Sicht des Benutzers drei wesentliche Kriterien, die es abzudecken gilt:

- Es duerfen keine speziellen Datenbankkenntnisse vorausgesetzt werden.

- Ohne Programmierkenntnisse muessen die Anwendungen selbstaendig entwickelbar sein.

- Alle zu erstellenden Anwendungen bauen auf bereits vorhandenen Datenbestaenden auf.

Jeder klassische Datenverarbeiter wird an dieser Stelle geneigt sein zu kapitulieren. Solch hohe Anforderungen an ein System konnten bisher nicht realisiert werden.

WYSIWIS spielt entscheidende Rolle

Aber durch die Prinzipien WYSIWYG (What You See Is What You Get) und WYSIWIS (What You See Is What I See) werden bereits alle drei Punkte abgedeckt. Gerade das WYSIWIS hat grosse Bedeutung im Netzverbund.

Was wird benoetigt? Zunaechst bedarf es einer Datenbank im Hintergrund, die alle Daten in einem einheitlichen Format und fuer mehrere Benutzer gleichzeitig zur Verfuegung stellen kann. Als Datenbanktechnologie haben wir die relationale Konzeption gewaehlt, da fuer den Benutzer die Tabellendarstellung die transparenteste Form der Datenorganisation darstellt. Man denke hier beispielsweise an die Tabellenkalkulation.

Dem von uns entwickelten Konfigurator kann jede beliebige relationale Datenbank mit C-Schnittstelle unterlegt werden. Hierbei lassen sich nach dem Client-Server-Konzept eine zentrale Datenbank oder aber mehrere dezentrale Datenbanken ansprechen.

Der Benutzer sollte ueber eine entsprechend benutzerfreundliche Oberflaeche seine Probleme angeben koennen, ohne an nicht vorhandenen Datenbankkenntnissen zu scheitern.

Die sicher sinnvollste Benutzeroberflaeche stellt die Fenstertechnik dar. Durch standardisierten Systemaufbau der Fenster mittels Menues, Dialogboxen und Ikonen, sind unterschiedliche Anwendungen leicht erlern- und bedienbar.

Der Benutzer kann dann mit der Software arbeiten, ohne ueber spezielle Kenntnisse der Dateienverwaltung zu verfuegen und ohne zu Beginn einer "Sitzung" umfangreiche Dokumentation gelesen zu haben.

In das System ist ein umfangreiches Hilfe-System integriert, das den Benutzer waehrend seiner Anwendungsentwicklung fuehrt. Eine solche Oberflaeche ist die Voraussetzung fuer ein Konfigurator- Werkzeug, wie es an der Gesamthochschule Kassel entwickelt wurde.

Realisiert wurde der Konfigurator durch drei Generatoren, von denen jeder zu jedem Zeitpunkt angesprochen werden kann, um den Prozess zur Erstellung eigener Anwendungen optimal zu unterstuetzen.

Im einzelnen handelt es sich dabei um einen Maskengenerator, einen Methodengenerator sowie einen Systemkonfigurator. Diese Generatoren stehen in allen Schritten der Anwendungserarbeitung zur Verfuegung.

Einzige und sinnvolle Voraussetzung fuer das Arbeiten mit dem Konfigurator ist die Benutzerverwaltung durch den Administrator. Nachdem er einem Benutzer die Rechte (und Pflichten) des Datenbankzugriffs eingerichtet hat, kann dieser seine Anwendungen mit Hilfe der Generatoren unmittelbar selbst erstellen. So ist hohe Flexibilitaet der Benutzer und ein Minimum an Verwaltung (Administration) gewaehrleistet. Prinzipiell wird jede Datenein- und -ausgabe ueber entsprechende Masken vorgenommen. Diese Masken lassen sich entweder vom Benutzer selbst definieren - mit Hilfe des Maskengenerators -, oder spaeter in der Datenbearbeitung standardisiert vorgeben, was den Vorteil hat, dass nicht jede Maske manuell erstellt werden muss.

Zum Generieren einer Maske bietet die Maskengenerator-Oberflaeche sechs unterschiedliche Objekte fuer die Definition: Datenfeld, Datentabelle, Text, Linie, Symbol und Zeichnung. Bei der Darstellung von Daten aus mehreren Datenbanktabellen sind dem Benutzer keine Grenzen gesetzt. Der Maskengenerator prueft hierfuer die darzustellenden Daten auf ihre Verbindungsschluessel.

Nach Abschluss der kreativen Maskenentwicklung wechselt der Benutzer in den Bereich der Datenbearbeitung. Hier erfolgt das Einfuegen, Aendern und Loeschen von Datensaetzen, Datenstrukturen und Datentabellen. Hier werden unter dem Menuepunkt "Tabelle" neue Datenbanktabellen definiert, bereits bestehende erweitert oder vorhandene geloescht. Diese Tabellen sind Voraussetzung fuer das Speichern von Daten. Jedes Feld kann durch Anklicken der Pfeiltasten ausgewaehlt und veraendert werden. Fuer die eigentliche Datenbearbeitung sind entsprechende Masken notwendig, wofuer vordefinierte Standardmasken oder Benutzermasken zur Verfuegung stehen.

Den Kern des Konfigurators stellt der Methodengenerator dar. Mit ihm lassen sich die Ablaeufe der eigenen Anwendungen erstellen. Vor der Definition werden alle in Frage kommenden Daten vom Benutzer markiert. Hierbei stellt das Inhaltsverzeichnis der gesamten Datenbank, auf die der Benutzer zugreifen darf, alle Informationen und ihre Verbindungen dar. Auch koennen nur bestimmte Verknuepfung angezeigt werden, um ein Spaghetti-Modell zu vermeiden.

Diese Vorgehensweise hat den wesentlichen Vorteil, dass alle bereits vorhandenen Informationen vom Benutzer aufgegriffen werden. Wenn Daten fehlen, so wird dies ebenfalls offenkundig. Diese Daten koennen mittels Nachricht von anderen Abteilungen freigegeben oder mit einer neuen Maske und Methode erstellt werden.

Eine Methode laesst sich nun aus verschiedenen Grundelementen erstellen. Hierzu zaehlen: Berechnungsfunktion, Verzweigung, Schleifenarten (abzaehlbar, verknuepft mit Bedingungen), Datenloeschen, gespeicherte Methoden einbinden sowie programmierte Funktionen (Geschwindigkeitsvorteil).

Der Anwender waehlt jeweils ein bestimmtes Symbol aus dem Menue aus und baut diesen Punkt in den Gesamtablauf ein. Bereits vorhandene Loesungen, man denke beispielsweise an die Aufloesung von Baugruppen, werden direkt nachgeladen und in den Ablauf integriert.

Die zu verarbeitenden Daten, Quelldaten genannt, werden aus der Datenbank selektiert. Speziell fuer diesen Vorgang haben wir eine besondere Darstellung des Datenbankinhalts entwickelt. Der Benutzer bekommt alle Daten aller Datenbanken angezeigt, auf die er zugreifen darf. Da dieser Vorgang allein durch Mausklicks und Mauspositionierung realisiert wurde, benoetigt der Anwender die Tastatur nicht mehr.

Der eigene Schreibtisch wird endlich uebersichtlich. Fuer jedes eingebaute Symbol werden anschliessend die notwendigen Operationen und/oder Bedingungen definiert, bevor die entwickelte Methode in die Testphase geht. Fuer den Ablauf einer oder mehrerer Methoden stehen drei verschiedene Moeglichkeiten zur Verfuegung:

- normaler Ablauf der Methode und Anzeige des Endergebnisses,

- Ablauf der Methode mit gleichzeitigem Anzeigen des Berechnungsstands oder

- Ablauf und gleichzeitige Verfolgung der Teilergebnisse und deren Korrektheit.

Die beiden letztgenannten Punkte sollen dem Benutzer die Moeglichkeit bieten, seine definierten Methoden selbstaendig zu korrigieren, wenn Fehler aufgetreten sind.

Betrachten wir den Bereich Planung und Steuerung (PPS), so stellen wir fest, dass die Aufloesung von Strukturen eine immer wiederkehrende Methodik ist. Als Beispiel waeren zu nennen: Stuecklistenaufloesung, Kundenauftragsaufloesung, Fertigungsauftragsaufloesung, etc. Eine Methodendefinition fuer eine solche Aufloesung wird im Systemkonfigurator in andere Anwendungen eingebunden.

Nachdem vom Benutzer oder einer Benutzergruppe die Methoden und ihre Datenbankinhalte erarbeitet wurden, koennen diese in ein Menue eingebunden werden. Damit lassen sich die Methoden von dem Anwender ueber Menuepunkte aufrufen. Dies setzt keine Kenntnis ueber die Definition der Methoden voraus, so dass die Benutzer die Methoden nach dem "Geheimnisprinzip" - man weiss nicht, wie die Methode definiert wurde - benutzen koennen. Dies ist nicht nur fuer den Anwenderbetrieb sinnvoll, sondern oeffnet auch Softwarehaeusern Tuer und Tor fuer Dienstleistungen. Fuer die Erstellung eines Menues werden Menuepunkte, Masken, Methoden und Bibliotheken mit unterschiedlichen Symbolen in einem Baum strukturiert. Jeder Benutzer kennt solche Strukturierungen von Menues der Standardsoftware her.

Das Ergebnis ist eine eigenstaendige Anwendung, die den Endbenutzern zur Verfuegung gestellt werden kann. Der Vorteil dieser Vorgehensweise liegt auf der Hand: Unterschiedliche Geschaeftsaufgaben sind schnell ueber Menuepunkt abrufbar - ohne komplizierte Tastaturkommandos. Ausserdem werden die Teilbereiche gut strukturiert erfasst und lassen sich deshalb schnell wiederfinden. Der derzeitige Entwicklungsstand sieht folgendermassen aus: Ein PPS- und BDE-Projekt mit einem mittlerern Unternehmen wurde erfolgreich abgeschlossen. Zudem steht ein PPS- Referenzsystem zur Verfuegung, das sich vom Endanwender anpassen laesst.

Fuer die Installation des Konfigurators werden zunaechst einzelne PCs oder auch kleine Cluster mit einer beliebigen relationalen Datenbank vernetzt. Anschliessend erfolgt die Erstellung der prototyphaften Anwendungen zusammen mit den einzelnen Mitarbeitern beziehungsweise Projektgruppen, die nach der ersten Testphase das Anwendungsgeruest weiter detaillieren. Dabei lassen sich jederzeit Anpassungen und Erweiterungen vornehmen.

*Prof. Uwe Geitner leitet das Fachgebiet Produktionsorganisation der Universitaet-Gesamthochschule Kassel. Michael Siemer arbeitet als wissenschaftlicher Mitarbeiter innerhalb dieses Fachgebiets und promoviert derzeit auf dem Gebiet "offene Systeme".