Autor: Sandra Wieseckel
Fach: Informatik - Angewandte Informatik
Details
Tags: Casetool, Datenbank, Modellierung, ER, UML, Diagramm, Entwurf, Validierung, Forward, Reverse, Engineering, SQL, Code, physisch, logisch, Datenmodell
Jahr: 2003
Seiten: 132
Note: 1,3
Sprache: Deutsch
Dateigröße: 3194 KB
ISBN (E-Book): 978-3-638-18495-3
ISBN (Buch): 978-3-638-69854-2
Zusammenfassung / Abstract
Bei der Entwicklung von Informationssystemen spielt die Anforderungsanalyse eine sehr wichtige Rolle. Fehler, die in dieser Phase begangen werden, sind im weiteren Verlauf der Entwicklung sehr kostspielig. Umso wichtiger ist es, die von den zukünftigen Anwendern genannten Anforderungen möglichst vollständig und korrekt zu erfassen und in einem konzeptionellen Modell darzustellen. Die Darstellung soll zum einen für den Anwender verständlich sein und zum anderen soll sie dem Entwickler als Grundlage des zu entwickelnden Informationssystems sein. Für die Darstellung der Anforderungen sind in den vergangen Jahren eine Reihe von Methoden und Verfahren entwickelt worden. In der Praxis haben sich im Bereich Datenbankentwurf zwei Datenmodelle durchgesetzt: (E)ER-Modell, basierend auf dem ER-Modell von Chen mit einigen Erweiterungen, und das UML-Klassenmodell. Im Bereich der Softwareentwicklung wurden immer mehr rechnergestützte Werkzeuge eingesetzt, die eine fehlerlose Entwicklung von Softwaresystemen unterstützen sollten. Diese Werkzeuge werden unter dem Begriff CASE-Tools (computer aided software engineering) zusammengefasst. In den 80er Jahren fanden diese Tools erstmals auch im Bereich Datenbankmodellierung ihren Einsatz. Entweder wurden neue Tools entwickelt oder Softwareentwicklungstools wurden für den Einsatz der Datenbankentwicklung angepasst. Vorliegende Arbeit soll einen Einblick in eine Auswahl vorhandener Tools bieten, und die Wahl eines passenden Werkzeuges unterstützen. Bei der Bewertung der Softwarewerkzeuge spielen allgemeine Aspekte wie z.B. Diagrammtypen und Funktionalität ebenso eine Rolle wie Anforderungen, welche speziell in diesem Praktikum an die Software gestellt werden. Getestet wurde eine Auswahl von drei Softwarewerkzeugen. Unter den getesteten CASE-Tools sind: - PowerDesigner von der Firma Sybase - CaseStudio 2 von der Firma CHARONWARE - ERwin von der Firma Computer Associates International.
Textauszug (computergeneriert)
Technische Universität München
Fakultät für Informatik
Vergleich und Beurteilung verschiedener
CASE-Tools für den Einsatz im konzeptuellen
Datenbankentwurf
Bachelorarbeit
von
Sandra Auerhammer
Abgabedatum: 17.März 2003
Danksagung
[...]
Inhaltsverzeichnis
0. Motivation für den Einsatz von CASE-Tools ... 8
1. Einführung in den Datenbankentwurf ... 10
1.1 Phasen des Datenbankentwurfs ... 10
1.2 Datenmodellierung ... 12
1.2.1 Objekte ... 12
1.2.1 Abstraktionsmechanismen ... 12
1.2.2 Beziehungen ... 13
1.3. Datenmodelle ... 16
1.3.1 ER - Modell ... 17
1.3.2 UML-Diagramme ... 21
1.3.2.1. Anwendungsfalldiagramme ... 21
1.3.2.2. Klassendiagramm ... 22
1.3.3. Relationales Datenmodell ... 26
1.3.3.1. Aufbau des Relationenmodells ... 26
1.3.3.2. Begriffsdefinitionen ... 26
2. Fallbeispiel ... 28
2.1. Einzelheiten des Fallbeispiels ... 28
2.1.1. Sicht des Passagiers: ... 28
2.1.2 Sicht der Flughafenverwaltung ... 30
2.1.3 Sicht der Fluggesellschaft ... 31
3. Klassifizierung der CASE-Werkzeuge ... 33
3.1. Fundamentale Anforderungen ... 34
3.1.1 Diagramme ... 34
3.1.2. Funktionen ... 35
3.1.2.1.Korrektheit ... 35
3.1.2.2. Datenbankanbindung ... 35
3.1.2.3 Forward-Engineering ... 39
3.1.2.3.1 Transformation ER-Modell nach Relationenmodell ... 39
3.1.2.3.2 SQL-Code ... 41
3.1.3. Bedienungskomfort ... 41
3.2. Erweiterte Anforderungen ... 42
3.2.1. Import ... 42
3.2.2. Reverseengineering ... 43
3.2.3. Referentielle Integrität ... 43
3.2.4. Festlegen von Indizes ... 44
3.2.5. Flexibilität ... 44
3.3. Weitere Bewertungspunkte ... 45
4. Bewertung ... 48
4.1. Powerdesigner ... 49
4.1.1. Installation ... 50
4.1.1. Erscheinungsbild ... 51
4.1.2. Modellierungsarten ... 51
4.1.2.1 ER-Modell ... 52
4.1.2.2 Physisches Datenmodell ... 60
4.1.2.3 UML-Klassenmodell ... 62
4.1.3. Funktionen ... 64
4.1.3.1. Validierungsfunktion ... 64
4.1.3.2. Datenbankanbindung ... 66
4.1.3.3. Forward-Engineering ... 68
4.1.3.3.1 Umsetzung einer 1:1-Relationship ... 69
4.1.3.3.2 Umsetzung einer 1:n-Relationship ... 69
4.1.3.3.3 Umsetzung einer n:m-Relationship ... 70
4.1.3.4. Reverse-Engineering ... 70
4.1.3.5. Import / Export ... 72
4.1.3.6. Reportfunktion ... 72
4.1.3.7 Anlegen von Indizes ... 74
4.1.3.8 Zusatzfunktionen ... 74
4.1.3.8.1 Ausführen von SQL-Statements ... 75
4.1.3.8.2 Speicherverwaltung ... 75
4.1.3.8.3 Schätzen der Datenbankgröße ... 75
4.1.4. Hilfe / Support ... 76
4.1.5. Benutzerfreundlichkeit ... 76
4.1.7. Resümee ... 77
4.2. CaseStudio 2 ... 81
4.2.1. Installation ... 81
4.2.2. Erscheinungsbild ... 82
4.2.3. Modellierung ... 83
4.2.3. Funktionen ... 87
4.2.3.1. Validierungsfunktion ... 87
4.2.3.2. Datenbankanbindung ... 87
4.2.3.3. Forward-Engineering ... 88
4.2.3.3.1 (1:1)-Relationship: ... 91
4.2.3.3.2 (1:n)-Relationship ... 91
4.2.3.3.3. (n:m)-Relationship ... 92
4.2.3.3.4 Umsetzung des Fallbeispiels ... 93
4.2.3.4. Reverseengineering ... 96
4.2.3.5. Import / Export ... 98
4.2.3.6 Anlegen von Indizes ... 98
4.2.3.7 Reportfunktion ... 99
4.2.4. Hilfe / Support ... 101
4.2.5. Benutzerfreundlichkeit ... 101
4.2.6. Resümee ... 103
4.3. ERwin ... 106
4.3.1. Installation ... 106
4.3.2. Erscheinungsbild ... 106
4.3.3. Diagramme ... 107
4.3.3.2. Physisches Modell ... 112
4.3.3.3. Logisch / Physisches Modell ... 112
4.3.3.3. Wechsel zwischen den Modelltypen ... 113
4.3.4. Funktionen ... 114
4.3.4.1. Validierungsfunktion ... 114
4.3.4.2. Datenbankanbindung ... 117
4.3.4.3. Forward-Engineering ... 117
4.3.4.3.1 Umsetzung 1:1-Relationship ... 119
4.3.4.3.2 Umsetzung 1:n-Relationship ... 119
4.3.4.3.3.Umsetzung einer n:m-Relationship ... 119
4.3.4.4 Reverse-Engineering ... 120
4.3.4.5. Import / Export ... 121
4.3.4.6. Anlegen von Indizes ... 121
4.3.4.7. Reportfunktion ... 122
4.3.5. Hilfe / Support ... 122
4.3.6. Benutzerfreundlichkeit ... 123
4.3.7. Resümee ... 124
5. Resümee und Ausblick ... 126
5.1. Gesamtwertung ... 126
5.2. Vor- und Nachteile beim Einsatz von CASE-Werkzeugen ... 128
Anhang ... 129
Literaturverzeichnis ... 130
Abbildungsverzeichnis: ... 132
0. Motivation für den Einsatz von CASE-Tools
Eine immer größere Rolle spielen Informationssysteme in unserem Leben. Informationssysteme basierend auf Hochleistungsrechnern werden zur wissenschaftlichen Auswertung von mehreren terrabytegroßen Datenmengen benötigt. Reisende wollen per Laptop via Satellit auf relevante Datenbanken zugreifen, um Daten von anderen verteilten oder mobilen Datenbanken abzufragen oder Daten bereitzustellen. Multimediale Datenbanken werden immer öfter in Schule, Studium, Aus- und Weiterbildung eingesetzt.
Literaturdatenbanken in Bibliotheken sind genauso wenig wegzudenken, wie Datenbanken zur Ticketreservierung, Buchung von Unterkünften, Fahrten und Flügen.
Egal, um welche der genannten Datenbanken es geht, sie haben alle eines gemeinsam: Komplexität. So führt die anwachsende Zahl an Informationssystemen, ihre Größe und die Komplexität dazu, dass es immer schwieriger wird, fehlerfreie Systeme zu entwerfen.
Bei der Entwicklung von Informationssystemen spielt die Anforderungsanalyse eine sehr wichtige Rolle. Fehler, die in dieser Phase begangen werden, sind im weiteren Verlauf der Entwicklung sehr kostspielig. Umso wichtiger ist es, die von den zukünftigen Anwendern genannten Anforderungen möglichst vollständig und korrekt zu erfassen und in einem konzeptionellen Modell darzustellen. Die Darstellung soll zum einen für den Anwender verständlich sein und zum anderen soll sie dem Entwickler als Grundlage des zu entwickelnden Informationssystems sein.
Für die Darstellung der Anforderungen sind in den vergangen Jahren eine Reihe von Methoden und Verfahren entwickelt worden. In der Praxis haben sich im Bereich Datenbankentwurf zwei Datenmodelle durchgesetzt: (E)ER-Modell, basierend auf dem ER-Modell von Chen mit einigen Erweiterungen, und das UML-Klassenmodell.
Im Bereich der Softwareentwicklung wurden immer mehr rechnergestützte Werkzeuge eingesetzt, die eine fehlerlose Entwicklung von Softwaresystemen unterstützen sollten. Diese Werkzeuge werden unter dem Begriff CASE-Tools (computer aided software engineering) zusammengefasst. In den 80er Jahren fanden diese Tools erstmals auch im Bereich Datenbankmodellierung ihren Einsatz. Entweder wurden neue Tools entwickelt oder Softwareentwicklungstools wurden für den Einsatz der Datenbankentwicklung angepasst.
An der TU-München werden derartige Tools derzeit noch nicht verwendet; es wird allerdings über ihren Einsatz nachgedacht. Vorliegende Arbeit soll einen Einblick in eine Auswahl vorhandener Tools bieten, und die Wahl eines passenden Werkzeuges für den Einsatz am Lehrstuhl Datenbanken und Informationssysteme unterstützen. Die Werkzeuge sollen später Studenten im Datenbankpraktikum, welches für Studenten im Hauptstudium Informatik angeboten wird, zur Verfügung gestellt werden. Bei der Bewertung der Softwarewerkzeuge spielen allgemeine Aspekte wie z.B. Diagrammtypen und Funktionalität ebenso eine Rolle wie Anforderungen, welche speziell in diesem Praktikum an die Software gestellt werden. Ein spezifischer Aspekt im Hinblick auf den Einsatz im Praktikum ist zum Beispielt die Unterstützung der IBM Datenbank DB2 in der Version 7.1 bzw. 8.
Getestet wurde eine Auswahl von drei Softwarewerkzeugen. Bei dieser Auswahl wurde Wert gelegt, dass jedes Tool mindestens eine Modellierungsart unterstützt: Entweder UML- oder ER-Diagramme. Ein weiterer Gesichtspunk war die Möglichkeit, das Diagramm auf Korrektheit zu überprüfen und automatisch SQL-Code zu generieren. Weitere Anforderungen wurden nicht gestellt, es fließt jedoch positiv in die Bewertung mit ein, wenn das Tool mehr Funktionen bietet.
Unter den getesteten CASE-Tools sind:
- PowerDesigner von der Firma Sybase
- CaseStudio 2 von der Firma CHARONWARE
- ERwin von der Firma Computer Associates International
Kapitel 1 bietet einen Einblick in die verschiedenen Datenbankentwurfsphasen und stellt Konzepte und Eigenschaften der Datenmodelle Entity-Relationship-Diagramm und UML-Klassendiagramm vor.
Kapitel 2 stellt ein Beispielszenario vor. Es handelt sich dabei um eine Flughafen-Datenbank. Es werden die zu modellierenden Vorgänge ausgearbeitet und ein ER-Diagramm entwickelt. Auf dieses Fallbeispiel wird immer wieder im Bereich Softwaretest zurückgegriffen.
In Kapitel 3 werden neben den minimalen Anforderungen, welche an ein CASE-Tool in der Datenbankentwicklung gestellt werden, auch wünschenswerte zusätzliche Eigenschaften, welche das Tool haben soll, diskutiert.
Im vierten Kapitel findet die Bewertung der Softwaretools nach den in Kapitel 3 genannten Aspekten statt.
Kapitel 1
1. Einführung in den Datenbankentwurf
Die nachfolgenden Abschnitte beschäftigen sich mit den verschiedenen Phasen des Datenbankentwurfs. Des Weiteren werden Datenmodelle eingeführt, welche zur Modellierung von Datenbanken verwendet werden können. Darunter ist das ER-Modell von Chen, das erweiterte ER-Modell, welches auf das von Chen aufbaut. Da UML nicht nur in der Softwareentwicklung immer mehr an Bedeutung gewinnt, sondern auch im Datenbankbereich, wird das UML-Klassendiagramm vorgestellt. Sowohl im ER-Diagramm als auch im UML-Klassendiagramm existieren Abstraktionsmechanismen. Es wird erklärt, welche Bedeutung diese Konzepte haben und wie sie in den einzelnen Datenmodellen umgesetzt werden. Im Laufe der Zeit sind immer mehr Varianten in der Notation von Diagrammen aufgetaucht. Deshalb widmet sich einer der folgenden Abschnitte der Notationsarten und stellt sie gegenüber.
1.1 Phasen des Datenbankentwurfs
Der Datenbankentwurf lässt sich in vier Phasen aufteilen, welche sukzessive durchlaufen werden. Vgl. Abbildung Nr. 1.
[...]
Kommentare
Dieser Text kann über folgende URL aufgerufen und zitiert werden: