Lagerhaltung im Pharmagroßhandel

Aktive Help-Funktionen erleichtern Programmierung

18.05.1990

Will ein Unternehmen die Qualität seiner Software sicherstellen, so benötigt es nach Ansicht von Volker Richter* die methodische Unterstützung bei der Entwicklung des DB-Designs sowie Beratung im Umgang mit Software-Tools. Wichtig ist aber ebenso, daß ein möglichst hohes Maß an Benutzerkomfort sichergestellt wird. Dazu zählen ein einheitliches Bildschirmdesign und standardisierte Help-Funktionen.

Die Niederlassungen unseres Pharmagroßhandels haben die schnelle und lückenlose Versorgung der Apotheken mit Arzneimitteln sicherzustellen. Ein Unternehmen wie die Gehe AG muß das gesamte Sortiment vorrätig haben Dies erfordert in jeder Niederlassung die Lagerhaltung von etwa 70 000 Artikeln, für die je nach Zugriffshäufigkeit spezielle Lagertechniken erforderlich sind. Die Auftragsübermittlung von den Apotheken zu unseren Niederlassungen erfolgt mehrmals täglich, zu 80 Prozent per Datenfernübertragung.

Ein großer Teil der Aufträge muß in kurzer Zeit bearbeitet werden. Daher darf eine Zeit spanne von zirka 30 Minuten für die gesamte Auftragsabwicklung, von der Bildschirmerfassung des telefonisch oder per Datenfernübertragung erhaltenen Auftrags über den Lagerdurchlauf bis zur Auslieferung, nicht überschritten. werden Die Niederlassungen sind vollständig auf die DV-Abwicklung eingerichtet, so daß sie bei einem Ausfall des EDV-Systems nicht mehr auslieferungsfähig wären.

500 000 Mark Umsatz in der Stunde

In einer Spitzenstunde verzeichnen die Großniederlassungen einen Umsatz von annähernd 500 000 Mark - bei EDV-Ausfallzeiten würde dieser Betrag zu einem großen Teil an Mitbewerber verloren gehen. An die Betriebssicherheit sowohl der Hardware als auch der Software sind also höchste Anforderungen zu stellen.

Das in eigener Regie entwickelte und in sämtlichen Niederlassungen installierte Geschäftsabwicklungs- und Informationssystem "Gain" basiert ausschließlich auf Adabas-Datenbanken. Zu 95 Prozent wurde es mit Hilfe der 4GL-Sprache Natural realisiert. Weitere Produkte wie Predict, Natural-Security oder Connect von der Software AG werden eingesetzt.

Aus den bereits erwähnten hohen Anforderungen an unser DV-System lassen sich wesentliche Bedingungen für eine Verfahrenstechnik in unserem Hause ableiten. Um einen vergleichsweise hohen Qualitätsstandard der erstellten Software zu gewährleisten, sind unsere Hauptaufgaben folgende:

1. Methodische Unterstützung bei der Entwicklung des logischen DB-Designs und Beratung im Umgang mit SW-Tools ist zu leisten - gleichermaßen im organisatorischen wie im DV-technischen Umfeld, zum Beispiel durch Entscheidungstabellen-Technik, den Einsatz von Projekt-Steuerungssystemen, Aufwand-Schätzverfahren für 4GL-Sprachen oder die Anwendung von Testhilfen bei der Programmierung.

2. Online und Batch-Rahmenprogramme müssen entwickelt werden.

3. Eine automatische RZ-Ablaufsteuerung ist zu erstellen, um Operator-Fehler zu minimieren. Da dieses System hauptsächlich Natural-Programme starten und kontrollieren muß, haben wir diesen Programmkomplex ebenfalls in Natural geschrieben.

4. Automatische Qualitätssicherungs-Verfahren in der Übergangsphase von der Entwicklung in die Produktionsumgebung sind notwendig.

5. Erstellung und Wartung von systemübergreifenden Standardmodulen ist sicherzustellen.

6. Ausbildung der Anwendungsentwickler in DB/DC-spezifischen Aufgabenstellungen, wie DB-Zugriffslogiken, ET-Generator oder Natural-Utilities;

7. Auswahl und Einsatz von SA-Tools zur maschinellen Unterstützung während der DV-konzeptionellen Phase bis hin zur Programmerstellung;

8. Entwicklung von SW-Tools als Ergänzung zur bereits bestehenden Natural-Entwicklungsumgebung, in Folge kurz Natural-Utilities genannt sowie

9. Gewährleistung eines hohen Benutzerkomforts durch einheitliches Bildschirmdesign, PF-Key-Definitionen, Help-Beschreibungen, automatische Protokollierung von Datenbankänderungen und standardisierte intelligente Help-Funktionen.

Es wurde schnell erkannt, daß der bisher zur Verfügung stehende Funktionskomplex zur Erstellung von Anwendungssoftware schon relativ komfortabel und weitreichend war. Folgende Bereiche sollten jedoch noch besser und effektiver gestaltet werden:

- Aufgrund einer Vielzahl von unterschiedlichen Objekttypen war das Erzeugen von Listings zu aufwendig (sowohl Programme als auch Data-Dictionary-Inhalte).

- Der Zugriff auf das Data Dictionary erwies sich insbesondere unter Security-Aspekten als unkomfortabel.

- Als Erweiterung zum Editor waren neue Funktionen zu realisieren.

- Eine wesentliche Neuerung war der Einsatz eines Entscheidungstabellen-Generators auf der Basis Adabas/Natural.

- Intelligente Help-Funktionen (in Natural "Helproutines") sollten nicht vom Anwendungsprogrammierer selbst programmiert werden. Er mußte sich auf die Lösung des rein fachlichen Problems konzentrieren. Als Beispiel soll der "Matchcode Generator" (MC) vom Stuttgarter Anbieter Topas als System zur Entwicklung von Help-Routinen vorgestellt werden. "Aktive" Help-Routinen als Ergänzung zu Anwendungsmasken sind ein wesentlicher Beitrag zur Benutzerunterstützung. Sie ermöglichen dem Anwender, in Stammund Bewegungsdateien abgelegte Informationen in die Anwendungsmaske zu übertragen.

Soll zum Beispiel via Eingabe einer Kunden Nummer der Kunden-Stammsatz aufgerufen werden, so kann mittels MC eine Hilfsfunktion zum Suchen über Alpha-Key vorgeschaltet werden.

Nicht geplante Teilfunktionen aus der Analysephase zur Unterstützung des Benutzers mußten bisher in ihrer teilweise komplexen Problemstellung (Datenbankzugriffe, Blättertechnik) mit Zusatzaufwand programmiert werden, wobei eine Standardisierung dieser Teilfunktionen im Bildschirmaufbau (Windowing) maschinell nicht möglich war.

Kriterien für den Einsatz von MC

Das Utility ist ein Hilfsmittel, mit dem der Anwendungsentwickler "aktive" Help-Routinen generieren und modifizieren kann. Bei Änderung der Sortierreihenfolge genügt in der Regel ein Neugenerieren der Help-Routine. Weitere Kriterien, die bei uns zum Einsatz von MC führten, waren:

- problemlose Installierbarkeit in die bestehende Umgebung mittels "INPL",

- die Anpassung an hauseigene Standards und Normen konnte so erfolgen, daß eine Abweichung von den bisher existierenden selbsterstellten Natural-Utilities nicht mehr erkennbar war, und

- die Einarbeitungszeit für die Anwendungsentwickler konnte vernachlässigt werden, da das Werkzeug als solches einfach handhabbar ist und sich durch umfangreiche Help-Beschreibungen quasi selbst erklärt.

Beispiel Personalabrechnung

In einem ersten Window ist es dem Anwender möglich, eine Sortierreihenfolge auszuwählen sowie Start und Endwerte für die anzuzeigenden Sätze anzugeben.

Im zweiten Window kann eine der selektierten Informationen angekreuzt und damit in die Anwendungsmaske übertragen werden. Wird zum Beispiel bei der Personalabrechnung die Eingabe einer Personalnummer zu einem bestimmten Mitarbeiter erwartet, so ist zunächst als Voraussetzung notwendig, daß Mitarbeiter nach Namen selektiert werden, um anschließend die entsprechende Personalnummer auswählen zu können. Diese Nummer wird dann in die Anwendungsmaske übernommen.

Anwendungsspektrum wird weiter vergrößert

Eine Vielzahl von Parametern wird vom Generator vorgeschlagen oder durch Zugriff auf das Data-Dictionary übernommen. Einen dieser Parameter stellt die Window-Größe dar, die je nach Benutzerwunsch angepaßt werden kann. Weiterhin hat der Anwendungsentwickler die Möglichkeit, den generierten Source-Code der Help-Routine der jeweiligen Problemstellung anzupassen, wodurch das anwendungsspektrum weiter vergrößert wird.

Die Zielsetzung aller verfahrenstechnischen Maßnahmen unseres Hauses:

- Steigerung von Qualität und Produktivität der Anwendungsentwicklung durch methodische Schulung und Unterstützung im Bereich der Software-Entwicklung.

- Bereitstellung eines softwaretechnischen Werkzeugkastens, der bausteinartig erweitert werden kann, und

- die ausgewählten Softwarebausteine müssen problemlos integrierbar und handhabbar sein.

Grundsätzliche Überlegungen im Zusammenhang mit dem Einsatz von CASE-Technologie als methodische Vorgehensweise, die in sich qualitäts- und produktivitätssteigernde Indikatoren trägt, werden auch in unserem Hause angestellt. Momentan entsprechen jedoch die auf dem Markt befindlichen CASE-Systeme noch nicht unseren Zielsetzungen der Verfahrenstechnik.

Die Gründe hierfür liegen einerseits in der mangelnden Integrierbarkeit in bestehende Vorgehensweisen und andererseits in einem Fehlen des "Reverse-Engineering". Insofern betrachten wir unsere Verfahrenstechnik auch als Vorgriff auf kommende CASE-Systeme. Insbesondere anwenderorientierte Funktionen, wie zum Beispiel der ET-Generator und auch das MC-Werkzeug, mit deren Unterstützung Hilfsfunktionen via Prototyping entwickelt werden können, sind hierfür gute Beispiele.

*Volker Ritter ist Mitarbeiter der DV-Anwendungsentwicklung, Bereich Verfahrenstechnik, bei der Stuttgarter Gehe AG.