L E R N F I B E L fu"r die Arbeit in einer rechnergestu"tzten Entwicklungsum- gebung fu"r die Phasen/Teilphasen ANALYSIEREN, ENTWERFEN (fachlich-logisches Entwerfen) - installiert mit K O N S U L - einem portablen Softwareentwicklungssystem zur Konstruktion von Systemunterlagen Erarbeitet im Thema: "Verteiltes Softwareentwicklungssystem" Rechner/Betriebssystem: P8000/WEGA Stand: Juni 1989 VEB DVZ Schwerin Bereich Forschung/ Projektentwicklung Zweckbestimmung ~~~~~~~~~~~~~~~ Alle, die in irgendeiner Form mit der Informatik befab3t sind, mu"ssen sta"ndig umlernen. Es ist deshalb nicht verwunderlich, wenn neue Soft- ware zuna"chst immer auf Vorbehalt und Skepsis sto"b3t. Ganz besonders trifft das fu"r komplexe Softwaresysteme zu. Bevor man sich an solche Systeme heranwagt, sollte man sich mit deren Methodenhintergrund be- fassen. Unser KONSUL ist als ein phasenu"bergreifendes, andere Werkzeuge inte- grierendes Softwareentwicklungssystem einzuordnen. Es stu"tzt eine rechnergestu"tzte Technologie im Entwurf und in der Vorfertigung, ins- besondere grob3er Softwaresysteme. Diese Vorfertigung wird einmal bis zur Generierung von Moduln, der Be- reitstellung entwicklungsbegleitender Dokumentation, einer Konsistenz- pru"fung sowie Analysen reichen. Das vorliegende Material der Lernfibel fu"hrt Sie zuna"chst ein in die "KONSUL"- Begriffswelt. Unsere Entwurfsobjekte sind die KONSUL-Modell- elemente - Systemelemente - Daten - Funktionen. Da wir uns zuna"chst den ersten Phasen des Softwarelebenszyklus zuwenden, kann man unter den Systemelementen unterschiedlichste Dinge verstehen. Es ko"nnen Struktureinheiten eines Industriebetriebes oder Sachgebiete in den einzelnen Fachbereichen sein. Vor diesen Systemelementen steht die Aufgabe Eingangsgro"b3en (Informa- tionen, Gegensta"nde etc.) in Ausgangsgro"b3en zu transformieren und mit anderen Systemelementen zu kommunizieren. Mit Hilfe der Modellelemente Daten und Funktionen kann man Daten und Transformationsvorschriften (Aktion, Funktion, Prozeb3) genauer beschreiben. Mit KONSUL ist es aber auch mo"glich, Modulhierarchien zu beschreiben. Dann sind Systemelemente als Moduln, Daten als Modulparameter und Funktionen als Modulfunktionen zu verstehen. Diesen Sachverhalt werden wir in einer weiteren Lernfibel beschreiben, die sich mit der KONSUL- Entwicklungsumgebung fu"r die Phasen/Teilphasen Entwerfen/programm- technisches Entwerfen befassen wird. Unsere Lernfibel mo"chte Ihr Interesse wecken und eine Hilfe sein, sich zuna"chst mit unserem Lernsystem KLEARN vertraut zu machen. Wir sind u"berzeugt davon, dab3 KONSUL Ihnen danach vertraut und in Ihrer Ta"tigkeit a"ub3erst dienlich sein wird. Zusa"tzlich zum Lernsystem liefern wir Ihnen unser Werkzeug KONSUL, damit Sie die in der Lernfibel beschriebenen Beispiele ggf. unter Einbeziehung von uns vorbereiteter Textfiles ausprobieren ko"nnen. Dieses KONSUL ist jedoch modifiziert und wird Sie dann in die Schranken verweisen, wenn Sie mehr als nur unsere Bespiele erproben wollen. Ein ka"uflicher Erwerb von KONSUL wird Ihnen derlei Probleme ersparen und Ihnen ku"nftig Zugang zum softwaretechnologischen "Know - how" aller KONSUL-Nutzer verschaffen. INHALTSVERZEICHNIS Seite 1. Unser Werkzeug - eine Einfu"hrung 4 2. Eingabevorschriften zur formalisierten Beschreibung von 7 Entwurfsergebnissen 3. Orientierungshilfe in einer KONSUL-Datenbasis 10 4. U"berblick KONSUL - Funktionsumfang 12 5. Eingabeunterstu"tzung fu"r den Nutzer 16 5.1. Hinweise zu den vorgefertigten Beispielen 16 5.1.1. Beispiel eines Handelsbetriebes 16 5.1.2. Beispiel eines Kfz-Reparaturbetriebes 28 5.2. Ratschla"ge zu den ausgewa"hlten Funktionen 53 6. KLEARN - das KONSUL-Lernsystem 62 | KONSUL | LERNFIBEL | STAND 05/89 | SEITE 004| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Unser Werkzeug - eine Einfu"hrung ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An Hand von Beispielen wollen wir Ihnen die Arbeit mit dem Werkzeug K O N S U L nahebringen. Unser Werkzeug ist recht kompliziert in seiner inneren Struktur, jedoch fu"r den Nutzer einfach in der Handhabung. K O N S U L ist ein Softwareentwicklungssystem mit komplexer Daten- haltung. Der Nutzer braucht jedoch keine Kenntnis zu haben, wo und in welcher internen Form seine Entwicklungsdaten abgespeichert sind. Durch das Werkzeug ist es mo"glich, dab3 Entwicklungsergebnisse rechner- gestu"tzt verwaltet, kontrolliert und analysiert werden ko"nnen. Das Werkzeug ersetzt nicht kreative Ta"tigkeit, sondern fo"rdert sie. Folgende Aspekte sind zum Grundversta"ndnis noch zu nennen: Vorgehensweise des E n t w u r f s : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Durch Abstraktion und Dekomposition kommt man beim Entwurf zu einem Modell als Abbild der realen Welt. Die wichtigsten Bestandteile dieses Modells wollen wir Systemelemente nennen. Systemelemente ordnen sich in einen Strukturbaum ein. Das Be- ginn-Element nennen wir die Wurzel. Alle Systemelemente in einem Strukturbaum, die den gleichen Abstand zur Wurzel haben geho"ren zur gleichen Dekompositionsebene. Reicht dem Nutzer die Aussagefa"higkeit eines Systemelementes noch nicht aus, so wird er eine weitere Dekomposition des entsprechenden System- elementes vornehmen und damit den Strukturbaum erweitern. Die Menge der Systemelemente, die im Ergebnis der Dekomposition eines Systemelementes (Vater) entstehen, bilden ein sogenanntes Subsystem, das den Namen des Vaters tra"gt. Zusammenfassung ~~~~~~~~~~~~~~~ ######################################################################## Im Ergebnis des Entwurfs entstehen eine Menge von Systemelementen. Da sie durch Dekomposition entstanden sind, ordnen sie sich in einen Strukturbaum, deren Elemente in Dekompositionsrelation zueinander stehen, ein. Alle Systemelemente, die einen gemeinsamen Vater haben, kann man auch zu Subsystemen zusammenfassen. ####################################################################### | KONSUL | LERNFIBEL | STAND 05/89 | SEITE 005| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Wie unterstu"tzt nun das Werkzeug K O N S U L die Arbeit mit den Entwurfsergebnissen? In KONSUL sind sogenannte Eingabevorschriften eingebracht, die dem Nutzer in vorgegebener Weise das Einbringen seiner Entwurfsergebnisse in die Datenbasis von KONSUL vorschreibt. Das geschieht durch eine Folge von nutzerfreundlichen Menu"s. Dabei wird die TOP-DOWN-Vorgehensweise durch das Werkzeug kontrolliert. Deutlich wird das beim Pra"gen der Systemelemente. Ein Sohn kann erst eingebracht werden, wenn der Vater bereits gepru"ft und abgespeichert wurde. Alle Systemelemente gelangen in ein gemeinsames Verzeichnis von KONSUL, das man mit SD ansprechen kann. Es ist das Systemelementeverzeichnis. Durch Analysefunktionen ist es jederzeit mo"glich, sich den Entwicklungs- stand des Entwurfs anzeigen zu lassen. Es ist auch interessant, sich die Beziehungen von Systemelementen eines Subsystems untereinander anzuschauen. Zu diesem Zweck besitzt jedes Subsystem ein eigenes Datenwo"rterbuch. Das Datenwo"rterbuch ist ein Verzeichnis, das die Namen aller Eingangs- und Ausgangsgro"b3en und der Aktionen der Systemelemente des Subsystems entha"lt. Auch die Eingangs- und Ausgangsgro"b3en des Vaters sind dort enthalten. Das Werkzeug registriert die Verwendung der Eintragungen im jeweiligen Datenwo"rterbuch. Es kann auch die Struktur des Subsystems automatisch ermitteln und auf Fehler beim Entwurf hinweisen (fehlende Konsistenz). Unsere Wo"rterbu"cher sind jedoch mehr. Alle Eintragungen ko"nnen wieder- um mit KONSUL-typischen Eingabevorschriften beschrieben werden. Aus Wo"rterbu"chern ko"nnen somit KONSUL-Datenlexika entstehen, die eine hinreichende Beschreibung des gesamten Entwurfs ermo"glichen. Zusammenfassung ~~~~~~~~~~~~~~~ ####################################################################### Zum Aufbau der KONSUL-Datenbasis existieren leicht handhabbare Eingabe- vorschriften. Fu"r den Nutzer sind die Namen oder Bezeichner der Systemelemente sowie deren Ein- und Ausgangsgro"b3en und Aktionen von grob3er Wichtigkeit. Die entstehende Datenbasis ist fu"r ihn eine "black-box". Er wird jedoch zur Ordnungsma"b3igkeit angehalten. ####################################################################### | KONSUL | LERNFIBEL | STAND 06/89 | SEITE 006| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sie werden uns Recht geben, eine rechnergestu"tzte und u"berpru"fte Datenbasis wird auch fu"r andere Ta"tigkeiten im Lebenszyklus Ihres Soft- wareproduktes von grob3er Bedeutung sein. Denken Sie nur an die Dokumen- tation oder an die nochmalige Verwendung der Daten in anderen Phasen. K O N S U L versteht sich als integrierendes Werkzeug. Wir mo"chten nicht alles selbst und ga"nzlich neu tun, gibt es doch schon Werkzeuge, die vielen Nutzern vertraut sind. So ist es mo"glich, dab3 Sie eine Funktion als Entscheidungstabelle beschreiben ko"nnen. Das Werkzeug TESYS/DTBLE schreibt Ihnen die Syntax vor und u"berpru"ft die Korrektheit Ihrer Angaben. Oder denken Sie an die Dokumentation. Hier schlagen wir Ihnen das Werkzeug TESYS/DSYS vor, das Ihnen die Baum- struktur der Systemelemente in eine fortlaufende Dokumentation ver- wandelt. Solche und andere Werkzeuge ko"nnen wir fu"r Sie integrieren. | KONSUL | LERNFIBEL | STAND 05/89 | SEITE 007| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2. Eingabevorschriften zur formalisierten Beschreibung von Entwurfser- gebnissen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ein wichtiges Merkmal von KONSUL ist die Form der Beschreibung von Ent- wurfsergebnissen. Wir haben bewub3t auf die Entwicklung einer Sprache verzichtet. Unser Beschreibungsmittel sind "Eingabevorschriften", die wir bei einer KONSUL-Installation an die konkreten Wu"nsche des spa"teren Nutzers anpassen ko"nnen. So wird es bald eine Vielzahl davon geben. Da wir uns auf die Konstruktion von Metadatenmodellen beschra"nken (unsere Modelle beschreiben also ku"nftige informationsverarbeitende Systeme), genu"gen uns drei Eingabevorschriften: EVA zur Pra"gung der Systemelemente, EVD zur Pra"gung von Daten und EVF zur Pra"gung von Funktionen. Systemelemente, Daten und Funktionen sind unsere Modellelemente, die selbst wieder aus einer Menge von Bestandteilen bestehen, damit wir zu- sammenha"ngend alle interessierenden Informationen zu den Modellelementen beschreiben ko"nnen. Darunter verstehen wir Angaben, die fu"r die Pro- duktentwicklung wichtig sind, Hinweise zur Qualita"tssicherung und Managementinformationen. Zusammenfassung ~~~~~~~~~~~~~~~ ####################################################################### Fu"r den Entwurf von Modellen informationsverarbeitender Systeme be- no"tigen wir die Modellelemente Systemelement, Daten und Funktionen. Fu"r ihre Pra"gung (Beschreibung) verwenden wir Eingabevorschriften. ####################################################################### Als na"chstes wenden wir uns den Eingabevorschriften zu. Aus den erfor- derlichen Angaben kann der Nutzer leicht auf die Vielfalt mo"glicher Analysen in seinem Entwurf schlieb3en. Ein Informatik-Experte kann sicherlich die Schwierigkeit der Verwaltung derart komplizierter "Objekte" erahnen. Bei der Pra"gung eines Modellelementes mu"ssen wir es zuna"chst einmal mit einem Identifikationsmerkmal versehen. Bei den Systemelementen ist es ein max. 68-stelliger Bezeichner. Bei Daten und Funktionen reicht der Bezeichner nicht aus. Wir mu"ssen aub3erdem noch den Namen des Subsytems angeben, das wir gerade entwerfen. Bevor nun die Pra"gung eines Modellelementes beginnen kann, mu"ssen wir KONSUL mitteilen, welche Eingabevorschrift wir beno"tigen. Fu"r uns sollen zuna"chst EVA, EVD und EVF genu"gen. Es wird Ihnen aber nicht gelingen, mit der Eingabevorschrift EVA Funktionen zu beschreiben! | KONSUL | LERNFIBEL | STAND 05/89 | SEITE 008| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jede Eingabevorschrift besteht aus KONSUL-Elementetypen, denen Attribute zugeordnet sind. Zur Eingabe von Angaben zu jedem enthaltenem Elementetyp wird Ihnen ein Menu" angeboten. Wenden wir uns nun den Systemelementen zu. Die KONSUL-Elementetypen fu"r Systemelemente mu"ssen das Systemelement selbst aber auch die wichtigsten Relationen (Beziehungen) zu den anderen Systemelementen spezifizieren. Ein Systemelement, das noch nicht hinreichend genau einen zu modellie- renden Sachverhalt beschreibt, wird weiter zerlegt und steht folglich als "Vater" der Zerlegung in Dekompositionsrelation zu seinen "Kindern". Wir nennen den Elementetyp, der die Dekompositionsrelation spezifiziert BESTANDTEILE. Sicher sind auch die Beziehungen der Systemelemente der gerade gezeugten "Kinder" untereinander wiederum von Interesse. Die KONSUL-Elemenetetypen IMPORT und EXPORT gestatten eine Analyse der Datenflu"sse zwischen Kindern, die ja ein Subsystem bilden, dab3 wir mit dem Namen des "Vaters" ansprechen ko"nnen. Andere Elementetypen wie, z.B. KOMMENTAR erleichtern uns das Versta"ndnis u"ber die Aufgaben eines entworfenen Systemelementes. In einer Tabelle haben wir einmal die KONSUL-Elementetypen der Eingabe- vorschrift fu"r Systemelemente EVA zusammengestellt. EVA |~~~~~~~~~~~~~~| | TERMIN | |--------------| | KOMMENTAR | |--------------| | IMPORT | |--------------| | UPDATE | |--------------| | EXPORT | |--------------| | QUALITAET | |--------------| | FEHLER | |--------------| | AKTION | |--------------| | BESTANDTEILE | |______________| Unter den Elementetypen IMPORT, UPDATE, EXPORT und AKTION ko"nnen Sie Bezeichnerlisten angeben, deren Bestandteile dann automatisch Aufnahme finden in das zugeho"rige Datenwo"rterbuch. Eintragungen in den Datenwo"rterbu"chern, die aus den Elementetypen IMPORT, UPDATE, EXPORT der Systemelementepra"gung hervorgegangen sind, geho"ren zu den Modellelementen des Typs Datum. Modellelemente des Typs Funktion sind aus dem Elementetyp AKTION bei der Systemelementepra"gung hervorgegangen. Durch Identifikation und Auswahl der entsprechenden Eingabevorschrift ko"nnen Sie dann daran gehen, durch Pra"gung dieser Bezeichner Ihre Datenwo"rterbu"cher zu Datenlexika werden zu lassen. Die dazu notwendigen Eingabevorschriften fu"r Daten und Funktionen be- no"tigen wesentlich weniger Elementetypen. | KONSUL | LERNFIBEL | STAND 05/89 | SEITE 009| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EVD EVF |~~~~~~~~~~~| |~~~~~~~~~~~| | KOMMENTAR | | KOMMENTAR | |-----------| |-----------| | DATUM | | FUNKTION | |___________| |___________| Lassen Sie sich vom Menu"aufbau zur Beschreibung der Elementetypen u"berraschen. Wir liefern Ihnen aber einen hohen Service: - Einbeziehung von bereits editierten Files - Nutzung des Editors der jeweiligen Umgebung (FILE-Verarbeitung) - HELP-Unterstu"tzung - ggf. Einbeziehung von Werkzeugen, die Ihren Text, sollte er formalisiert sein, u"berpru"fen oder gar umwandeln. Zusammenfassung ~~~~~~~~~~~~~~~ ####################################################################### Je Modellelementetyp (Systemelement, Datum, Funktion) existiert mindestens eine Eingabevorschrift, die wiederum aus Elementetypen zusammengestellt werden. Von besonderer Bedeutung bei der Eingabevorschrift fu"r Systemelemente sind die Elementetypen: BESTANDTEILE Angaben in welche Systemelemente das gerade im Pra"gen befindliche Systemelement zerlegt werden soll, da sein Detailiertheitsgrad noch nicht aus- reicht. (Dekompositionsrelation) IMPORT, EXPORT Angaben der Datenbeziehungen eines Systemelementes zu anderen Systemelementen des Subsystems (Datenflub3- relation). Die Elementetypen DATUM und FUNKTION erlauben eine werkzeuggestu"tzte Pra"gung der Modellelemente. Die KONSUL-Modellelemente sind also stark voneinander abha"ngig. Durch das Pra"gen von Systemelementen wird das Systemelementeverzeichnis ggf. durch einen neuen Bezeichner erweitert und die Datenwo"rterbu"cher gefu"llt. Durch das Pra"gen von Daten und Funktionen werden diese Datenwo"rter- bu"cher zu Datenlexika. ########################################################################