Next: Programmentwurf
Up: WebRC-Entwurf
Previous: Spezifikation
Das Datenmodell muß aufgrund der objektorientierten Struktur der Datenbank auch objektorientiert erstellt werden (vgl. [Inf97]). Dazu werden
die folgenden Klassen definiert, die später im Datenmodell miteinander kombiniert werden. In jedem Datenmodell, daß im
WebRC-System verwendet werden soll, müssen die beiden Klassen Benutzer und Rolle vorhanden sein. Diese beiden Klassen
sind für die Steuerung der Zugriffsrechte notwendig.

Abbildung 9.3: Datenmodell der Beispielapplikation des WebRC-Systems
Das aufgrund der oben genannten Spezifikationen entstandene Datenmodell, dargestellt in Abbildung 9.3, wird in der Datenbank
realisiert. Die 0.Ebene übernimmt dann die Verwaltung der Datenbank sowie die Verwaltung der Inhalte in dem Datenmodell.
Alle Attribute der Klassen sind Textattribute, d.h. sie bestehen ausschließlich aus Zeichen des ASCII-Zeichensatzes.
Die einzelnen Klassen ergeben sich aus den oben beschriebenen Use-Cases und den daraus folgenden Funktionalitäten des
WebRC-Systems.
- Klasse Benutzer
Diese Klasse beinhaltet ein Attribut des Namens Name, daß den Benutzernamen aufnimmt.
- Klasse Rolle
Diese Klasse beinhaltet die Attribute Name und access_to. In Name wird der Name der Rolle festgehalten, in access_to die
Zugehörigkeit anderer Rollen zu dieser Rolle.
- Klasse Kollektor
Diese Klasse beinhaltet die Attribute Name und has_col. In Name wird der Name des Kollektors festgehalten, in has_col die
Zugehörigkeit anderer Kollektoren zu diesem Kollektor.
- Klasse Kommunikation
Diese Klasse beinhaltet nur das Attribut Name, in dem der Name der jeweiligen Kommunikation festgehalten wird. Diese Klasse
bestimmt die zu einem Kollektor gehörigen Gruppen der Autoren und Leser sowie der Gegenstände.
- Klasse Gegenstand
Diese Klasse definiert die Gegenstände. Sie besteht aus den Attributen Name, Creation_Date, Expire_Date, Name, Subject, Typ,
File und annotated_by. Die Namen der Attribute beschreiben ihren jeweiligen Inhalt. Das Attribut annotated_by enthält alle Namen
der Gegenstände, die als Kommentare diesen Gegenstand erweitern.
- div. Klassen (ASCII, HTML, C, weitere)
Diese Klassen beschreiben den Inhalt eines Dokuments nach dem Format des Inhalts (HTML, ASCII, C. etc.). Sie sind zur
Zeit nicht realisiert.
- Klasse Comm_type
Diese Klasse beschreibt die Art der zulässigen Kommunikation. Sie ist zur Zeit nicht implementiert.
Die einzelnen Klassen werden über Instanzen derselben miteinander kombiniert. Jede der oben genannten Klassen wird durch
Instanzierung in Attributen anderer Klassen mit diesen anderen Klassen verbunden.
-
Die Klasse Kollektor instanziert die Klasse Benutzer in den beiden Attributen has_owner und has_creator. Sie instanziert die Klasse
Rolle im Attribut has_role, die Klasse Kommunikation im Attribut has_com. Die beiden Attribute has_com und has_role können
nur einmal je Kollektor existieren und nur eine Rolle bzw. nur eine Kommunikation beinhalten.
Das Attribut has_com definiert alle zu einem Kollektor gehörenden Gegenstände und die zugehörigen Zugriffsrechte der
Gruppen. Das Attribut has_role definiert die Gruppe, zu der ein Kollektor gehört. Die Attribute has_owner und has_creator dienen
z.T. der Verwaltung der Zugriffsrechte. Sie definieren die Besitzer (has_owner) und den Ersteller (has_creator) eines Kollektors.
-
Die Klasse Kommunikation instanziert in den Attributen author und reader die Klasse Rolle und im Attribut has_article die Klasse
Gegenstand. Die Attribute author und reader dienen der Verwaltung der Zugriffsrechte auf sowohl den Kollektor als auch alle
zugehörigen Gegenstände, die im Attribut has_article aufgeführt werden. Sie definieren die Autoren (author) und Leser (reader).
-
Die Klasse Gegenstand instanziert die Klasse Benutzer in den Attributen has_owner, has_creator und read_by. Die Attribute
has_owner und has_creator dienen der Verwaltung der Zugriffsrechte. Das Attribut read_by klassifiziert, von wem ein
Gegenstand bereits gelesen wurde.
-
Die Klasse Benutzer instanziert die Klasse Rolle in dem Attribut has_roles. Diese Instanzierung sollte in allen Datenmodellen des
WebRC-Systems verwendet werden. Auf ihr beruht die Verwaltung der Zugriffsrechte.
Next: Programmentwurf
Up: WebRC-Entwurf
Previous: Spezifikation