OODB-Praktikum
Prof. Dr. Andy Schürr
email: schuerr@informatik.unibw-muenchen.de
Institut für Softwaretechnologie
Fakultät für Informatik
Universität der Bundeswehr München
D-85577 Neubiberg
Praktikum im Wintertrimester 2001 an der Universität der Bundeswehr München
Objektorientierte Konzepte setzen sich in weiten Bereichen der Informatik immer mehr durch. Nach objektorientierter Analyse und Design bzw. objektorientierte Sprachen ist die Fortführung der Konzepte wie Klassen, Spezialisierung/Vererbung, Beschreibung/Implementierung des Verhaltens von Entitäten auf Datenbanken nur ein logischer Schritt
Das Praktikum vermittelt anhand des OODBMS O2 einen Einblick in objektorientierte Datenbanken und umfasst die Gebiete Schemdefinition (Beschreibung der Datenbasis), die Anfragesprache OQL, weitere Konzepte (objektorientierter) Datenbanken wie Zugriffsschutz, leistungssteigernde Maßnahmen und nicht zuletzt der webbasierte Zugriff auf eine Datenbank
Inhalt dieser Seite:
1. Allgemeines
2. Dokumentation
3. Phasen, Dokumente und Termine
4. Aufgabenblätter / Projekte
5. Hinweise
6. Teilnehmer
1. Allgemeines
- Das Datenbankpraktikum beginnt am 12. Januar 2001.
- Bei Problemen im Rahmen des Übungsbetriebs wenden Sie sich an Ihren Tutor Knut Weißer (DB-Administrator).
2. Dokumentation/Manuals/Quellcode
- O2C-Beginner's Guide
- O2C Reference Manual
- O2Tools User Manual
- ODMG OQL User Manual
- O2Look User Manual
- O2Web User Manual O2C
- O2-Manuale (alle)
Hinweis: Links innerhalb von pdf-Dokumenten funktionieren nicht über das WWW
3. Phasen, Dokumente und Termine
- Gruppenaufteilung
Schon zu Beginn des Praktikums sollen Gruppen zu 4 Personen gebildet werden, die über den ganzen Zeitraum zusammenarbeiten. - Inhalt
Das Praktikum teilt sich in zwei Phasen auf:- Erlernung der Entwicklung einer OODB-Anwendung mit dem OODBMS O2 anhand der Beispielaufgabe "Medienverleihsystem WIM-Rent" (etwa bis Anfang Februar)
- Jede Gruppe bearbeitet selbständig eine der folgenden Projektaufgaben (Abschluss-Präsentation am 04. April):
- Erfolgreiche Teilnahme
Wir erwarten- die regelmäßige Teilnahme an den Praktikumstreffen
- in der ersten Phase die wöchentliche Bearbeitung der Aufgaben in der Gruppe und Einsendung der Arbeitsergebnisse an den Tutor. (Die Ergebnisse sollen von den Gruppen an dem darauffolgenden Treffen vorgestellt werden. Hierbei wird darauf geachtet, dass jedes Gruppenmitglied mindestens einmal an die Reihe kommt.) und
- in der Projektphase wöchentlich erkennbare Fortschritte, eine Dokumentation der jeweiligen Entwicklungsphasen und eine Abschlußpräsentation und -vorführung des entwickelten Systems. (Die Aufgabenverteilung innerhalb der Gruppe sollte erkennbar sein.)
4. Aufgabenblätter / Projekte
- Übungsblatt 1 (Abgabe bis 19.01.2001)
- Lesen Sie im O2C-Beginner's Guide die Kapitel 1 und 2 (Einleitung und Objekte, Klassen, Typen) durch.
- Arbeiten Sie anschließend aus dem Tutorial (Kapitel 4) die Abschnitte 4.2 und 4.3 durch. Ergebnisse der praktischen Arbeiten werden vom Tutor auf dem DB-Rechner eingesehen.
- Erstellen Sie zur Beispielaufgabe "Medienverleihsystem WIM-Rent" einen konzeptionellen Entwurf in Form eines UML-Klassendiagramms.
- Übungsblatt 2 (Abgabe bis 26.01.2001)
- Lesen Sie im O2C-Beginner's Guide das Kapitel 3 (Programmiergrundlagen) durch.
- Arbeiten Sie anschließend aus dem Tutorial (Kapitel 4) die restlichen Abschnitte 4.4 bis 4.6 durch.
- Erstellen Sie zur Beispielaufgabe "Medienverleihsystem WIM-Rent" einen logischen Entwurf, d.h. die Übertragung des konzeptionellen Entwurfs in ein O2C-Datenbankschema (ohne Implementierung der Methoden- und Programmrümpfe!).
- Übungsblatt 3 (Abgabe bis 02.02.2001)
- Lesen Sie im ODMG OQL User Manual das Kapitel 2 (Getting started) durch.
- Formulieren Sie basierend auf dem logischen Entwurf zur Beispielaufgabe "Medienverleihsystem WIM-Rent" die folgenden Anfragen in OQL:
- Alle Standorte der Automaten.
- Alle Mitglieder, die Manager sind.
- Der Bestand des Automaten, dessen Standort mit "Muench" beginnt
- Alle Mitglieder, die mehr als 3 Leihobjekte ausgeliehen haben.
- Alle Automaten, deren FreieKapazitaet größer als 10 ist.
- Alle defekten Medien, gruppiert nach Automaten und sortiert nach dem Titel.
- Alle Leihobjekte, die von Mitgliedern länger als drei Tage ausgeliehen sind, gruppiert nach Mitglied
- Alle Leihobjekte, die von Mitglieder gekauft wurden (nach dem bisherigem logischen Entwurf kann diese Information nur in der LogListe enthalten sein; definieren sie daher geeignete Kommentare für die eintretbaren Log-Ereignisse)
- Alle Ladenhüter, absteigend sortiert nach der Zeit der letzten Ausleihe
- Implementieren Sie zur Beispielaufgabe "Medienverleihsystem WIM-Rent" alle Klassenmethoden vom Logischen Entwurf des Lösungsvorschlags (hier ist echte Teamarbeit gefragt, oder soll dies etwas einer alleine machen :-))
- Übungsblatt 4 (Präsentation am 09.02.2001)
- Zum Abschluss der Vorbereitungsphase soll jede Gruppe eines der folgenden Themen vorbereiten und präsentieren (Dauer: 15-30 min). Darüberhinaus ist eine kurze Zusammenfassung (ca. 2 Seiten) über das Thema als leichten Einstieg für die anderen Gruppen erwünscht. (Die Themenverteilung findet am 02.02.2001 statt)
- Vorläufige Projektphasenplanung (jeweils Phasenende):
Lastenheft/Anforderungsanalyse 16.02.2001 Konzeptioneller Entwurf 23.02.2001 Logischer Entwurf 02.03.2001 Implementierung/Test 30.03.2001 Dokumentation(Draft) 23.03.2001 Dokumentation(entgültige Fassung) 04.04.2001 Abschlusspräsentation 04.04.2001 - Projekte:
5. Hinweise
- Arbeitsumgebung
Kennungen stehen sowohl im Electronic Classroom (ECR) als auch am Institut für Softwaretechnologie zur Verfügung. Das DBMS O2 ist auf dem Solaris-Rechneraphrodite.informatik.unibw-muenchen.de
installiert. Dazu loggt man sich entfernt auf diesem Rechner ein, entweder über ein UNIX-Betriebsystem mit X-Oberfläche oder über PC mit X-Emulation (z. B. Exceed). Es steht für jede Gruppe jeweils eine Kennung zur Verfügung (db01,db02,db03,db04).
Nach dem Einloggen sollten Sie als erstes die Umgebungsvariablen für O2 setzen. Alles Notwendige steht im Shell-Skript /home/O2/umgebung.csh.
Aufruf der grafischen Programme:
- O2-Shell: o2shell -server aphrodite.informatik.unibw.muenchen.de -system stud
- O2-Tools: o2tools -server aphrodite.informatik.unibw.muenchen.de -system stud
Aufruf des Kommandozeilen-Programms:
- Anlegen von Schemata/Datenbasen
Jede Gruppe erhält ihr eigenes Volume. Nur auf diesem Volume darf eine Gruppe Schemata und Datenbasen anlegen. Das Volume wird vom DB-Administrator eingerichtetAnlegen eines Schemas (n=Name der Gruppe):
create schema schemaname volume WT01Grp0nVolDamit es nicht zu Namenskollosionen kommt, wird an jeden Namen eines Schemas bzw. einer Basis das Suffix Grp0n angehängt
(Beispiel: create schema s1Grp01 volume WT01Grp01Vol). - Konkurrente Schemaentwicklung
Arbeiten mehrere Gruppen gleichzeitig auf (verschiedenen) Schemata und verändern diese, dann kann es zu Sperrkonflikten und Verklemmungen kommen (da O2 Schemaänderungen als Schreibtransaktionen auf dem Katalog behandelt). Die einzelnen Gruppen sollten dann in der O2-Shell
catalog transaction on
eingeben. Nach jeder Operation wie Schema- oder Basiserzeugung, Klassenimportierung usw. sollten Gruppen zusätzlich ein "Commit" durchführen.
6. Teilnehmer
Phase 1 (Einarbeitung)
- Gruppe 1: Sebastian Franke, Bodo Junge, Markus Kaufmann, Carsten Lauenroth
- Gruppe 2: Jörg Hempel, Alexander Horstkotte Thomas Kiesling, Danny Poppe
- Gruppe 3: Hans-Ulrich Geißler, Daniel Prenzel, Jens Römer, Marco Slotosch
- Gruppe 4: Mike Bähr, Dominik Bodi, Alexander Schäl, Karsten Sohrweide
Phase 2 (Projekt)
- Gruppe 13 (Projekt-/Mitarbeiter-Verwaltung): Sebastian Franke, Bodo Junge, Hans-Ulrich Geißler, Markus Kaufmann, Marco Slotosch
- Gruppe 2 (Internet-Marktplatz): Jörg Hempel, Alexander Horstkotte Thomas Kiesling, Danny Poppe
- Gruppe 4 (Flugbuchungssystem): Mike Bähr, Dominik Bodi, Alexander Schäl, Karsten Sohrweide