Objektorientierte Systementwicklung Modellierung und Realisierung komplexer Systeme Herausgeber: Gerhard Held Autoren: Rolf Eisenhauer Thomas Haensse Rudolf Haggenmüller Gerhard Held Jürgen Kazmeier Peter Mittermaier Werner Otto Wolfgang Piegsa Hans-Jürgen Schumann Manfred Steinsiek Rudolf Zellner und ITHACA-Projektgruppe (Martin Ader, Stephen McMahon, Gerhard Müller, Oscar Nierstarsz, Anna-Kristin Pröfrock) Siemens Nixdorf Informationssysteme AG
Inhalt 1 Einführung 1 2 Objektorientiertes Modellieren 4 2.1 Prinzipien des objektorientierten Modellierens 4 2.1.1 Problemstellung 4 2.1.2 Objektorientierung 5 2.1.2.1 Modularität 5 2.1.2.2 Hierarchisierung 7 2.1.2.3 Typisierung und Vererbung 8 2.2 Die Modellwelt von GRAPES 10 2.2.1 Der Modellbegriff : 10 2.2.2 Besondere Vorteile eines grafischen Ansatzes 12 2.2.3 Systems Engineering als Folge von Modellen 13 2.2.4 Das Objekt 16 2.2.5 Die Kommunikation 20 2.2.6 Der Zeitbegriff 22 2.3 Analyse und Entwurf eines informationsverarbeitenden Systems an einem Beispiel 25 2.3.1 Das Ist-Modell 25 2.3.2 Die Abgrenzungsebene des Fachlichen Modells 27 2.3.3 Das FachlicheModell 29 2.3.4 Wozu Prototyping und Simulation? 32 2.3.5 DV-Grobmodell 34 2.4 Tools zur Sprache GRAPES 44 2.4.1 GRAPES-SD 45 2.4.2 GRAPES-PD '. 48 2.4.3 GRAPES-G85 und GRAPES-CL... 51 2.4.4 Die grafischen Entwurfswerkzeuge in der Übersicht 52
3 Objektorientiertes Programmieren 53 3.1 Grundlagen 53 3.1.1 Die Grundidee des objektorientierten Programmierens 54 3.1.2 Objekte (Software IC) 55 3.1.3 Vererbung (Inheritance) 57 3.1.4, Polymorphismus 60 3.1.5 Anwendung 60 3.2 Objektorientiertes Programmieren mit der Entwicklungsumgebung C-OBOE 62 3.2.1 Einordnung von C-OBOE in die objektorientierte Systemwelt 62 3.2.2 Objektorientiertes Programmieren mit C 63 3.2.3 Die C-OBOE-Entwicklungsumgebung 65 3.2.3.1 Inkrementelles Entwickeln 65 3.2.3.2 C-OBOE-Systemstruktur 67 3.2.3.3 Werkzeuge 68 3.2.3.4 Überblick über die Klassen 69 3.2.3.5 C-OBOE-Realisierung 71 3.2.4 Erfahrungen beim Einsatz von C-OBOE 75 3.2.5 Ausblick 79 3.3 Entwicklung eines Dialog Builder mit C++ 80 3.3.1 Kurze Beschreibung von C++ 80 3.3.1.1 C++ als besseres C 82 3.3.1.2 C++ als Sprache zur Definition abstrakter Datentypen 83 3.3.1.3 C++ als objektorientierte Sprache 85 3.3.1.4 Kritik an C++ 88 3.3.2 Einsatz von C++ im Projekt Dialog Builder" 88 3.3.2.1 Erwartungen an C++ 90 3.3.2.2 Der Einsatz von C++ 91 3.3.2.3 Fazit 94
4 Objektorientierte Bedienoberflächen 96 4.1 Aspekte für den Entwurf von objektorientierten Bedienoberflächen 96 4.1.1 Akzeptanz 96 4.1.2 Bewertung von Bedienoberflächen 97 4.1.3 Modelle für den Oberflächenentwurf 99 4.1.4 Die Rolle des Lernens 102 4.1.5 Interaktionstechniken 104 4.1.6 Die Vorteile objektorientierter Oberflächen 106 4.1.7 Direkte Manipulation 107 4.2 Entwurf und Entwicklung von Bedienoberflächen: Kriterien und Werkzeuge 110 4.2.1 Methoden zur Software-ergonomischen Qualitätssicherung 110 4.2.1.1 Software-ergonomische Evaluation ' 111 4.2.1.2 Normung 112 4.2.1.3 Richtlinien 112 4.2.2 Verwendung von User Interface Toolkits 114 4.2.2.1 Intention und Nutzen 115 4.2.2.2 Grenzen der Toolkits 116 4.2.2.3 Toolkit-Architekturen 116 4.2.2.4 Beispiele 119 4.2.3 Entwurfs- und Simulationswerkzeuge 120 4.2.3.1 Intention und Nutzen 122 4.2.3.2 Grenzen der Entwurfswerkzeuge 122 4.2.3.3 Architekturmodell 123 4.2.4 Ausblick 124 5 Objektverwaltung'...: 127 5.1 Anforderungen an eine objektorientierte Datenhaltung..., 127 5.1.1.Objekte im Entwicklungsprozeß 127 5.1.2 Weitere generelle Anforderungen 130 5.1.3 Die Software-Entwicklungsplattform 134 5.1.4 Lösungsansätze, Stand der Kunst" 134
5.2 Beispiel eines Objektverwaltungssystems: ERMS 140 5.2.1 Zielsetzung des ERMS :.. 141 5.2.2 ERMS-Architektur : 142 5.2.3 Das Datenmodell des ERMS 144 5.2.4 Basisleistungen, des ERMS 149 5.2.5 Basisfunktionalität des ERMS 154 6 Gesamtheitliche objektorientierte Entwicklungsumgebungen 156 6.1 Der ITHACA-Ansatz 157 6.2 Die persistente Programmierumgebung HooDS 159 6.2.1 Sprachanbindung 162 6.2.2 CooL 162 6.2.3 NooDLE : 163 6.2.4 Test- und Monitorhilfe MaX 164 6.2.5 Anwendungskonfiguration mittels CAKE 165 6.2.6 DialOOg 165 6.2.7 Filter-/Browser-System FBi 165 6.3 Die Entwurfsumgebung 166 6.4 Anwendungsprojekte 170 6.4.1 Anwendung für den Bürosektor 171 6.4.2 Anwendung für den Finanzbereich 173 6.4.3 Anwendung für den Bereich der öffentlichen Verwaltung 174 6.4.4 Anwendung für den Bereich der chemischen Industrie 174 6.5 Status und Ausblick 174 Glossar 176 Literatur =. :: 184 Stichwörter 193