Table Of ContentSpringers
Angewandte Informatik
Herausgegeben von Helmut Schauer
Objektorientierte
Informationssysteme
Konzepte, Darstellungsmittel, Methoden
Gerti Kappel
Michael Schrefl
SpringerWienNewYork
o. Univ.-Prof. Dr. Gerti Kappel
Institut fiir Informatik
Universitlit Linz
o. Univ.-Prof. Dr. Michael Schrefl
Institut fiir Wirtschaftsinformatik
Universitlit Linz
Das Werk ist urheberrechtlich geschiitzt.
Die dadurch begriindeten Rechte, insbesondere die der Ubersetzung, des Nachdruckes, der Entnahme
von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder lihnlichem Wege
und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung,
vorbehalten.
© 1996 Springer-Verlag/Wien
Satz: Reproduktionsfertige Vorlage der Autoren
Graphisches Konzept: Ecke Bonk
Gedruckt auf sliurefreiem, chlorfrei gebleichtem Papier - TCF
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Kappel, Gerti:
Objektorientierte Informationssysteme : Konzepte,
Darstellungsmittel, Methoden / Gerti Kappel; Michael
Schrefl. - Wien; New York: Springer, 1996
(Springers Angewandte Informatik)
ISBN-13: 978-3-211-82828-1 e-ISBN-13: 978-3-7091-9469-0
DOl: 10.1007/978-3-7091-9469-0
NE: Schrefl, Michael:
ISSN 0178-0069
ISBN-13: 978-3-211-82828-1
Fur Kassandra (von Christa Wolf, Luchterhand Verlag, 1983),
die mich gelehrt hat,
Gefuhle mit Gedanken zu bezwingen,
und fUr Hubert, der nicht aufgehort hat,
dagegen anzukampfen.
Gerti Kappel
Fur Erika, Elisabeth und Johannes
Michael Schrefi
Vorwort
"Though each may hope to convert the other to his way of seeing
his science and its problems, neither may hope to prove his case.
The competition between paradigms is not the sort of battle that
can be resolved by proofs ... Before they can hope to communicate
fully, one group or the other must experience the conversion that
we have been calling a paradigm shift. Just because it is a transi
tion between incommensurables, the transition between competing
paradigms cannot be made a step at a time, forced by logic and
neutral experience. Like a gestalt switch it must occur all at once
or not at all."
Thomas Kuhn: The Structure of Scientific Revolution,
University of Chicago Press, 1970, S. 147 und 149.
Objektorientierung ist das vorherrschende Entwicklungsparadigma der 90er
Jahre. Objektorientierung beinhaltet die Modellierung und die Realisierung ei
nes in der Regel computerbasierten Systems als Menge interagierender Objekte.
Objekte haben eine Struktur, dargestellt durch Eigenschaften, die das Objekt
naher beschreiben, und ein Verhalten, dargestellt durch Operationen, die das
Objekt ausfUhren kann. Die einzige M6glichkeit, mit einem Objekt zu kom
munizieren, ist durch das Senden einer Nachricht, die eine Ausfuhrung von
Operationen auf dem' Objekt ausl6st. Das " Naheverhaltnis " zwischen dem ob
jektorientierten Paradigma und einer intuitiven Beschreibung von Vorgangen
der Realitat ist nicht zufallig - die Wurzeln des objektorientierten Paradigmas
gehen auf die Programmiersprache SIMULA aus den 60er J ahren zuruck, die
zur Simulation von Realweltvorgangen, wie zum Beispiel zur Verkehrssimula
tion oder zur Simulation des Sicherheitssystems von Kraftwerken, entwickelt
worden war.
Ein wesentlicher Vorteil des objektorientierten Paradigmas ist seine Allge
meingiiltigkeit, sowohl fUr Programmiersprachen, fUr Datenbanksysteme, als
auch fur den SystementwicklungsprozeB als solchen. Gegenwartig basieren die
genannten Disziplinen auf unterschiedlichen Paradigmen, was bei einer gemein
samen Verwendung zum bekannten Konversionsproblem, dem sogenannten im
pedance mismatch, fuhrt. Mit Hilfe des objektorientierten Paradigmas wird die
ses Problem zumindest teilweise aufgehoben. Ein Anwendungsgebiet, das von
VIII
dieser Entwicklung wesentlich profitieren kann, sind Informationssysteme. Der
Begriff "Informationssystem" wird in der Literatur uneinheitlich verwendet.
In seiner umfassenden Form steht er fur die Informations- und Kommunikati
onsstruktur in Mensch-Aufgabe-Technik-Systemen (vergl. [96]). In seiner ein
geschdinkten Form steht der Begriff fUr ein softwaremafiig realisiertes Anwen
dungssystem, das einen wesentlichen Bestandteil der Informations- und Kom
munikationsstruktur in Mensch-Aufgabe-Technik-Systemen bildet. Wir verwen
den den Begriff "Informationssystem " in diesem Buch in seiner eingeschrankten
Form: Ein Informationssystem ist ein Softwaresystem zur Verwaltung groBer
Mengen von Daten und baut daher in der Regel auf einem Datenbanksystem
auf. Zur Entwicklung von Informationssystemen wird daher Datenbankwissen
und Softwareentwicklungswissen benotigt. 1m Schnittbereich zwischen objek
torientierten Datenbanksystemen und objektorientierter Softwaretechnik, im
Bereich der objektorientierten Modellierung von Informationssystemen, ist die
ses Buch angesiedelt. Objektorientierte Modellierung umfaBt dabei die, aus der
Softewaretechnik bekannten, traditionellen Phasen der Analyse und des Ent
wurfs von Informationssystemen oder, in der Datenbankterminologie, die Pha
sen des konzeptuellen und des logischen Datenbankentwurfs.
Wirft man einen Blick auf Buchprospekte der unterschiedlichen Verlage,
stellt sich sofort die Frage "warum ein neues Buch uber objektorientierte Mo
dellierung?". Bei genauerem Hinsehen stellt man jedoch fest, daB die meisten
Bucher konkrete Methoden vorstellen und damit wenig Unterstutzung fur einen
methodenunabhangigen Einsatz von objektorientierten Modellierungstechniken
geben. Das vorliegende Buch solI dem Abhilfe schaffen. Das Ziel des Buches
ist es, unabhangig von einer konkreten Methode die grundlegenden Konzep
te, Darstellungsmittel, Verfahrensschritte und Richtlinien zur objektorientier
ten Modellierung von Informationssystemen aufzuzeigen. Auch Probleme, die
beim Einsatz des objektorientierten Paradigmas auftreten, werden untersucht
und praktikable Losungen diskutiert. Gemeinsam mit einer Einordnung der zur
Zeit bekannten Analyse- und Entwurfsmethoden wird eine aufgabenspezifische
Beurteilung des Einsatzes von objektorientierten Modellierungstechniken und
gegebenenfalls die Auswahl einer konkreten Methode unterstutzt.
Das Buch richtet sich gleichermaBen an die Praktikerin, die in die Lage
versetzt werden solI, Nutzen und Einsatzmoglichkeiten von objektorientier
ten Methoden zu beurteilen, wie an die Wissenschaftlerin, die eine Einfuhrung
in die wesentlichen Problemstellungen der objektorientierten Modellierung be
kommen mochte, sowie an die Studentin und an die Universitatslehrerin, die
ein Lehrbuch zum Thema suchen.1
Das Buch basiert auf Forschungsergebnissen, die zum Teil in Konferenz
b§.nden und Zeitschriften bereits veroffentlicht wurden, auf Vorlesungen und
industriellen Weiterbildungsveranstaltungen, die von den Autoren an der Uni-
1 Die deutsche Sprache stellt eine Herausforderung dar, was die geschlechtsneutrale Aufbe
reitung eines Textes betrifft. Wir werden im folgenden in der Regel die traditionell mannliche
Form (Praktiker, Wissenschaftler, etc.) benutzen, jedoch mit dem schlechten Gewissen, daB
die Leserschaft dieses Buches sowohl weibliche als auch mannliche Personen umfaBt.
IX
versitat Wien, der Technischen Universitat Wien und an der Universitat Linz
abgehalten wurden, sowie auf Erfahrungen aus Softwareprojekten, an denen
die Autoren beteiligt waren. In diesem Sinne ist der in diesem Buch vorge
stellte Inhalt nicht originar. Wir gehen jedoch davon aus, daB der vorliegende
Text in dieser aufbereiteten und doch komprimierten Form einem breiteren,
interessierten Fachpublikum bisher nicht einfach zuganglich war.
Das Buch ist unter anderem das Ergebnis einer langjahrigen, fruchtbaren
Zusammenarbeit zwischen Mitarbeitern der Universitat Wien, der Technischen
Universitat Wien und der Universitat Linz. Teile der Vorarbeiten fur das Buch
wurden im Rahmen des Christian-Doppler-Labors fur Expertensysteme der
Technischen Universitat Wien (Leitung Prof. Georg Gottlob) durchgefuhrt.
Das objektorientierte Lebenszyklusmodell (Unterkapitel 3.3) wurde im Rahmen
des Forschungsprojektes MOOD (Methods for Object-Oriented Development,
finanziert von SIEMENS AG Osterreich, GR 21/96106/5) entwickelt.
AbschlieBend mochten wir uns bei denjenigen Personen bedanken, die auf
die eine oder andere Art zum Zustandekommen dieses Buches beigetragen ha
ben. Fur die nicht immer leichte Auseinandersetzung mit dem Manuskript
mochten wir Prof. Gregor Engels (Universitat Leiden), Dipl.-Ing. Peter Bichler,
Dipl.-Ing. Gunter Preuner, Dipl.-Ing. Stefan Rausch-Schott und Mag. Werner
Retschitzegger (alle Universitat Linz) und Dipl.-Inf. Michael Schluter (Kiel)
danken. Diskussionen mit Prof. Markku Sakkinen(Universitat Jyvaskyla) ha
ben wesentlich zur Klarung der Begriffsvielfalt beigetragen. Fur die gramma
tikalisch richtige, 'JEX-nische und Layout-technische Aufbereitung haben Prof.
Andreas Heuer (Universitat Rostock), Dr. Jan Overbeck (Servo Data), Ma
ria Pichler, Mag. Christine Platzer, Dipl.-Ing. Hubert Platzer und Dipl.-Inf.
Michael Schluter ihre Zeit geopfert. Zum erfolgreichen AbschluB eines Buches
gehoren auch die Mitarbeiter des Verlages. Ganz besonders wollen wir uns bei
Fr. Silvia Schilgerius bedanken, die nicht aufgegeben hat, auf die Fertigstellung
des Buches zu drangen, ohne dabei die Qualitat aus den Augen zu verlieren.
Auch wenn es "abgedroschen" klingen mag - die wirklich Leidtragenden
beim Schreiben eines Buches sind die Partner, die Freunde und die Eltern,
denen "scheibchenweise" die gemeinsame Zeit gestohlen wird. Ihr Verstandnis
und ihre Unterstutzung waren die notwendige Voraussetzung fur das Zustan
dekommen dieses Buches.
Linz, im Janner 1996 Gerti Kappel
Michael Schrefl
Inhaltsverzeichnis
1 Einleitung und Motivation 1
1.1 Autbau des Buches .... 3
1.2 Benutzte Notation und stilistische Konventionen 6
1.3 Begleitende Beispiele . . . . . . . . . . . . . . . . 7
2 Grundlagen objektorientierter Informationssysteme 9
2.1 Elementare Konzepte objektorientierter Systeme 9
2.2 Objektorientierte Modellierungskonzepte . . . 23
2.2.1 Konzepte zur Strukturmodellierung . 25
2.2.2 Konzepte zur Verhaltensmodellierung 38
2.3 Objektorientierte Programmiersprachen 49
2.4 Objektorientierte Datenbanksysteme 51
2.5 Literaturhinweise............. 52
3 Objektorientierter Entwicklungsproze6 53
3.1 Einleitung........................ 53
3.2 Von strukturierter zu objektorientierter Entwicklung 55
3.2.1 Drei Sichten auf ein Informationssystem . . 56
3.2.2 Vorteile der objektorientierten Entwicklung . 58
3.3 Objektorientiertes Lebenszyklusmodell . . . . . . . . 62
3.3.1 Anforderungen an ein objektorientiertes Lebenszyklus-
modell . . . . . . . . . . . . . . . . . . . 63
3.3.2 Objektorientiertes Lebenszyklusmodell . . . . 65
3.4 Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 73
3.4.1 Verfahrensschritte fur Analyse und Entwurf . 75
3.4.2 Richtlinien fur Analyse und Entwurf 92
3.5 Zusammenfassung 97
3.6 Literaturhinweise....... 97
4 Objekt/Verhaltensdiagramme 99
4.1 Strukturmodellierung. 100
4.1.1 Eigenschaften. 101
4.1.2 Beziehungen . 103
XII
4.2 Verhaltensmodellierung .... 109
4.2.1 Objektlebenszyklen... 111
4.2.2 Verhalt~nsverfeinerung. 114
4.2.3 Verhaltenskonkretisierung und Festlegung von Objektin-
teraktionen . . . . . . . 120
4.2.4 Verhaltenskomposition. 135
4.3 Zusammenfassung 139
4.4 Literaturhinweise........ 139
5 Vererbung von Objekt/VerhaItensdiagrammen 141
5.1 Strukturvererbung .... . 141
5.2 Verhaltensvererbung ... . 145
5.2.1 Objektlebenszyklen. 146
5.2.2 Aktivitaten ..... 149
5.2.3 Vererbung und Verfeinerung . 151
5.3 Zusammenfassung 153
5.4 Literaturhinweise ...... . 154
6 Lokale referentielle Integritat 157
6.1 Einleitung........... 158
6.2 Beispiel einer Problemstellung .. 159
6.3 Objekttypen und lokale Klassen. 160
6.3.1 Schema ..... . 161
6.3.2 Auspragung ..... . 164
6.3.3 Giiltige Schemata. . . 164
6.3.4 Giiltige Auspragungen 165
6.4 Subtypen und Subklassen .. 167
6.4.1 Giiltige Schemata ... 168
6.4.2 Giiltige Auspragungen 170
6.5 Zusammenfassung 170
6.6 Literaturhinweise....... 171
7 Mehrfach polymorphe Operationen 173
7.1 Einleitung............ 173
7.2 Beispiel einer Problemstellung . 174
7.3 Alternative Lasungsansatze . . 178
7.3.1 Konventionelle Lasung . 179
7.3.2 Objektorientierte Lasung mit einfachem Operationsaufruf 181
7.3.3 Objektorientierte Lasung mit mehrfachem Operations-
aufruf . . . . . . . . . . . . . . . . . . . . . . . . . . .. 183
7.4 Mehrfach polymorphe Operationen . . . . . . . . . . . . . . .. 186
7.4.1 Kooperationsvertrage und mehrfach polymorphe Opera-
tionen . . . . . . . . . . . . . . . . . . . . . . . . . 186
7.4.2 Semantik des kooperativen Nachrichtenaustauschs 190
7.4.3 Vergleich der Lasungsansatze . . . . . . . . . . . . 194