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.

29.01.1993 - 

Forscher untersuchen Entwicklungsumgebungen unter Unix (Teil 1)

FH-Team testete Accell/SQL: Ein solides Entwicklungs-Tool

Lange litt das Unix-Umfeld an einem Mangel an geeigneter Software fuer die Entwicklung von kommerziellen Informationssystemen.

Dies hat sich in den vergangenen Jahren grundlegend geaendert, der Benutzer kann unter einer staendig wachsenden Zahl von Produkten waehlen. Diese wurden entweder direkt fuer den Unix-Markt entwickelt, oder sie wurden mit einigem Aufwand aus anderen Umgebungen uebertragen.

Im Rahmen unseres dreitaegigen Benchmark-Tests wurde der Leistungsumfang der jeweiligen Entwicklungsumgebung anhand einer praxisorientierten Entwicklung eines Projekt-Management- Informationssystems untersucht.

Der Test war dabei so konzipiert, dass der vollstaendige Werdegang einer Software-Entwicklung unter Normalbedingungen demonstriert werden konnte.

Der Hersteller beziehungsweise das Vertriebsunternehmen stellte dazu eine Entwicklungsgruppe, die mit Hilfe ihrer Entwicklungsplattform die Testaufgabe loeste. Das Ganze fand beim Hersteller beziehungsweise Distributor unter Aufsicht des Untersuchungsteams statt. Im Fall von Accell/SQL erarbeitete ein Mitarbeiter mit einer vierjaehrigen Produkterfahrung die Loesung.

Innerhalb des gesteckten Zeitraums wurden prinzipiell alle geforderten Kriterien erfuellt und implementiert. Die Loesung enthielt zwar die geforderten Grundfunktionen, einige davon mussten aber nachgeliefert werden. Die Vollstaendigkeit der Leistung wurde daher mit "gut" bewertet.

Einschliesslich der Vorbereitung vergingen 41 Stunden und 25 Minuten, bis ein Endergebnis vorlag. Mit nur einem Entwickler betrug die Gesamtdauer des Tests selbst 29 Stunden und 25 Minuten. Ohne Entwurfsdokumentation und mit eingeschraenkter Vollstaendigkeit konnte auch die Entwicklungsgeschwindigkeit mit "gut" beurteilt werden.

Eine Bewertung der Werkzeugintegration war nicht moeglich, da abgesehen von einigen Unix-Shell-scripts nur ein Werkzeug zur Maskengenerierung und Datenbankdefinition zum Einsatz kam. Aus Zeit- und Personalgruenden hat der Entwickler das Partner-CASE- Produkt "ISEE/Accell" von Westmount nicht verwendet.

Accell/4GL ist ein integrierter Bestandteil der Accell/SQL- Entwicklungsumgebung fuer eine dialog- und transaktionsgesteuerte Anwendungsentwicklung unter Unix. So wurde auch der in diesem Test entwickelte Prototyp nach dem Prinzip "Programming by exception" schrittweise verfeinert und vervollstaendigt. Die natuerliche Sprachsyntax und die hohe Flexibilitaet durch eine SQL- Schnittstelle sind fuer den Profi hilfreich.

Fuer einen ungeuebten Anwender jedoch erscheint die freie Handhabung und die scheinbare Strukturlosigkeit der nicht- prozeduralen Accell/SQL-Syntax eher verwirrend. Insgesamt wurde die Endbenutzerunterstuetzung ebenfalls als "gut" klassifiziert.

Um die in der Praxis geforderte Wartbarkeit der entwickelten Anwendungen zu demonstrieren, musste der Experte Veraenderungen vornehmen. Hier zeigte sich die Staerke des Werkzeugs. Dieser Teil des Benchmarks wurde problemlos in weniger als zweieinhalb Stunden absolviert. Daher konnte die Wartungsgeschwindigkeit als "ausgezeichnet" eingestuft werden.

Direkte Dokumentationshilfen waren waehrend des Benchmark-Tests nicht ersichtlich, Kommentare musste der Entwickler einzeln erstellen. Allerdings war der Quellcode zu einem gewissen Grade selbstdokumentierend. Ohne eine Entwurfsdokumentation konnte unter diesen Umstaenden die Dokumentation der Loesung nur als "maessig" bezeichnet werden (siehe Abbildung).

Alles in allem erwies sich das Produkt Accell/SQL als ein ausgereiftes und robustes Entwicklungssystem fuer Standardanforderungen. Bei komplexeren Anwendungen kann der Loesungsansatz aber verwirrend umfangreich werden - vor allem dann, wenn Planungswerkzeuge nicht mit eingebunden werden.

Im folgenden soll ueber den Ablauf der einzelnen Phasen von der Entwicklung bis zur Wartung berichtet werden. Die Einzelbewertungen liegen zwischen den Noten sehr gut (1) und mangelhaft (5). Im Test verzichtete der erfahrene Mitarbeiter auf die etwas zeitraubende interaktive Benutzer-Schnittstelle von Accell/SQL und erstellte alle Loesungsteile direkt als Script- Files. Auf sich allein gestellt, musste bei einzelnen Loesungen manchmal aus Zeitgruenden Kompromisse eingehen.

Analyse und Design: nicht bewertet

Die Analyse und der logische Entwurf wurden manuell in der Planungsphase vor dem Start des dreitaegigen Tests durchgefuehrt. Dazu wurden zwoelf Stunden benoetigt.

Datenbankerstellung: 3

Mit dem Accell/SQL-Standardprogramm "Schent" wurde das DDL-Script fuer die Datenbankstruktur automatisch generiert. Die erforderlichen Verbindungen zwischen den einzelnen Tabellen beziehungsweise die Indexierung fuer schnelles Auffinden der Datensaetze (Hash-Algorithmus) liessen sich problemlos interaktiv einbinden. Als besondere Staerke muss die schnelle und problemlose Definition der Datenbankstruktur erwaehnt werden, als Schwaeche das Datenlexikon, das keine globale Gueltigkeit hat. Datendefinitionen mussten in einzelnen Modulen redundant definiert werden.

Einfache Transaktionen: 2

Mit Unterstuetzung des Shell-scripts FQ wurden die Standardmasken der einzelnen bestehenden Tabellen erzeugt und mit der Funktion Accell Generator optisch aufbereitet. Dabei standen Standardfunktionen, wie Find, Update, Delete automatisch zur Verfuegung. Eine Definition fuer die Bereiche der einzelnen Maskenfelder ist bis zur Byte-Ebene moeglich - darin liegt eine Staerke. Vermisst wurde dagegen eine automatische Logikgenerierung zu den einzelnen Maskenfeldern. So muss die Logik in den jeweiligen Masken-Script-Files programmiert werden.

Komplexe Transaktionen: 4

Die Umsetzung der komplexen Transaktionen bereitete prinzipiell keine Schwierigkeiten, verlangte aber viel Detailarbeit. Ohne eine konzeptionelle Hilfe wurde in manchen Bereichen ein verwirrender Code, eine bis zu fuenffach verschachtelte Logik, erstellt. Die logische (nicht syntaktische) Abarbeitung der 4GL-Scripte birgt eine generelle Fehlerquelle in sich. Ein ungeuebter Entwickler kann dabei den Ueberblick verlieren.

Positiv ist zu erwaehnen, dass komplexe Transaktionen mit einfachen Mitteln abgebildet werden koennen. Leider laesst sich der interaktive Bezug zu unterschiedlichen Tabellen nicht direkt, sondern nur ueber 4GL- beziehungsweise SQL-Befehle (Select auf Tabelle) definieren.

Abfragen und einfache Berichte: 4

Ohne die effektive Unterstuetzung durch ein Endbenutzer-Werkzeug waren einfache Report-Ausgaben zeitaufwendig zu programmieren. Das Endresultat entsprach einem ganz normalen Report ohne speziell hervorzuhebende Eigenschaften. Darueber hinaus mussten noch einige Datendefinitionen aufgrund des fehlenden Bezuges zum globalen Datenlexikon ueberarbeitet werden. Intensive Codierungsarbeiten blieben ohne effektive Werkzeugunterstuetzung.

Komplexe Berichte: 3

Alle gesetzten Anforderungen wurden in etwas mehr als fuenf Stunden in die Loesung eingebunden - auf Anhieb waren dabei keine gravierenden Fehler zu verzeichnen. Als Staerke laesst sich anfuehren, dass die Wiederbenutzung von Loesungsteilen unterstuetzt wird. Schwaeche: Ohne Unterstuetzung fuer einen ungeuebten Programmierer schwierig zu handhaben.

Schnittstelle: 3

Ohne eine direkte Schnittstelle zu Dbase-III-Plus-Dateien mussten die Daten ueber ASCII-Format importiert werden - ein Nachteil. Danach konnten sie mit Hilfe von entsprechenden Shell-scripts und C-Programmen weiterverarbeitet werden. Diese Loesung benoetigte aber eineinhalb Stunden mehr als die entsprechende Online-Alternative. Die Einbindung von externen Prozessen und C-Funktionen gestaltete sich einfach.

Wartung: 3

Die Wartung umfasste die Aenderung des Datenbankschemas, die Anpassung der Programmlogik sowie Benutzer-Schnittstellen. Mit zweieinhalb Stunden beanspruchten die Veraenderungen relativ kurze Zeit. Ohne ein logisches Modell wurde der Quellcode direkt gewartet. Somit war die Loesung zwar schnell, aber nicht allgemein zugaenglich. Das Accell-eigene Modularisierungskonzept unterstuetzt den Wartungsprozess effektiv. Allerdings war die Korrektur einzelner Felder ausserordentlich zeitintensiv.

Systemumgebung

Als Entwicklungsumfeld stand folgende Hardware beziehungsweise Software zur Verfuegung:

- Compaq 486-PC mit 25 Megahertz Taktrate, 8 MB Hauptspeicher und 240 MB Plattenspeicher,

- SCO-Unix (Version 3.2),

- Accell/SQL, ein Datenbank-unabhaengiges integriertes Entwicklungssystem (unter anderem fuer die relationalen Datenbanksysteme Unify 2000, Sybase, Oracle und Informix),

- Accell/Debugger, ein interaktives Werkzeug zur Fehleranalyse in 4GL-Anwendungen,

- Unify 2000, ein relationales Datenbank-Management-System in Client-Server-Architektur nach SQL-ANSI-Norm.

*Eberhard Rudolph ist Professor fuer Informationssysteme an der Fachhochschule Bremerhaven. Er beaufsichtigte den Benchmark-Test gemeinsam mit den Studenten Dieter Kern und Detlef Witte.

Abb: Accell/SQL ist trotz einiger Schwaechen ein ausgereiftes Entwicklungssystem fuer Standardanforderungen.