Softwaretechnik 2004: Beispielanwendung


LVV - Lehrveranstaltungs-Verwaltungs-Programm


Domänen-Klassendiagramm


Domänenklassendiagramm


Aufbau der Beschreibung des Domänen-Klassendiagramms

Dieses Diagramm soll einen Überblick über die Datenklassen liefern. Es dient der Darstellung der Zusammenhänge zwischen den Datenobjekten, die die Anwendung verwalten soll. Der Aufbau der Oberfläche spielt hier noch keine Rolle.

Membervariablen spielen hier nur eine Rolle, wenn es wirklich Attribute des Datenobjekts sind (z.B. Name des Studenten), alle anderen denkbaren Membervariablen und Methoden sind auf dieser Designstufe noch nicht erforderlich. Trotz allem muss die gesamte Funktionalität der Klasse dokumentiert sein.

Für den Aufbau der Dokumentation gilt das selbe wie im Use-Case-Diagramm: Es sollte eine logische Struktur vorhanden sein, also zuerst die Stammdaten dokumentieren, dann die Bewegungsdaten.

Sonderfälle / Einschränkungen, die in den Use-Cases auftauchten (z.B. beim Anlegen eines Termins) sollten in der Dokumentation der Klassen ebenfalls auftauchen.



Klasse LVVPerson

Die beiden Benutzer dieses Programms, Lehrbeauftragte und Studenten, zeichnen sich durch eine Reihe von Gemeinsamkeiten aus: alle verfügen über einen Namen, eine Mailadresse und Login und Passwort. Aus diesem Grund wurde eine abstrakte Klasse LVVPerson geschaffen, die diese Daten sowie Bearbeitungsmöglichkeiten bietet.


Klasse LVVLehrbeauftragter

Diese Klasse bildet einen Lehrbeauftragten ab. Jeder Lehrbeauftragte ist eine Person, d.h. hat automatisch Attribute wie Name, Mailadresse, Login und Passwort. Der Lehrbeauftragte erweitert diese Daten um die Angabe, ob er Administratorrechte hat. Nur in letzterem Fall darf er Stammdaten und alle Lehrveranstaltungstermine ohne Einschränkungen bearbeiten.

Ein Lehrbeauftragter leitet 0 oder mehr Lehrveranstaltungstermine.

Verbindungen zu anderen Klassen dokumentieren:

Der Lehrbeauftragte ist mit der Klasse „Lehrveranstaltungstermin“ verknüpft. Diese Verknüpfung muss dokumentiert werden.



Klasse LVVStudent

Diese Klasse bildet einen Studenten ab. Der Student ist eine Person, d.h. hat automatisch Attribute wie Name, Mailadresse, Login und Passwort. Der Student hat zusätzlich noch eine Matrikelnummer, die ihn eindeutig identifiziert, sowie ein Einstiegssemester.

Ein Student besucht 0 oder mehr Lehrveranstaltungen während seines Studiums.


Klasse LVVLehrveranstaltung

Die Klasse LVVLehrveranstaltung bildet eine allgemeine Lehrveranstaltung gemäß dem Vorlesungsverzeichnis ab. Zu speichernde Daten sind die Nummer (die sie eindeutig identifiziert), die Bezeichnung und die Zahl der Semesterwochenstunden.

Jede Lehrveranstaltung besteht aus einer Reihe von tatsächlich durchgeführten Lehrveranstaltungsterminen.


Klasse LVVLehrveranstaltungstermin

Ein Lehrveranstaltungstermin ist ein Praktikum, eine Vorlesung oder eine Übung, die in einem bestimmten Semester durchgeführt wurde.

Als Attribute benötigt sie ein Semester („WS2004“, „SS2004) und eine Bezeichnung (z.B. „Gruppe a“). Diese beiden Attribute zusammen identifizieren diesen einen Termin eindeutig. Weitere Attribute sind das Datum des Beginns und das Datum des Endes sowie der Wochentag und die Uhrzeiten an diesem Tag.

Sobald die Veranstaltung beginnen kann (alle relevanten Daten sind erfaßt), wird er vom Administrator „aktiviert“. Nach dem Ende des Semesters wird er vom Lehrbeauftragten als „Durchgeführt“ markiert.

In einem Veranstaltungstermin muss hinterlegt werden, welcher Lehrbeauftragte ihn durchführt (dies ist entweder ein oder kein Lehrbeauftragter). Ein Anlegen des Termins ohne Zuordnung des Lehrbeauftragten ist möglich, weil meist beim Terminerzeugen noch nicht bekannt ist, wer ihn durchführen wird. Ist kein Lehrbeauftragter zugeordnet, kann der Termin nicht aktiviert werden.

Beim Festlegen der Kardinalität Sonderfälle beachten:

In diesem Fall ist es eindeutig, dass ein Termin ohne Lehrbeauftragten nicht durchgeführt werden kann. Trotz allem muss es möglich sein, den Termin ohne Lehrbeauftragten anzulegen. Deshalb ist die Kardinalität von Termin zu Lehrbeauftragtem nicht „1“, sondern „0 oder 1“.

Ähnliches gilt für die Verbindung von Studenten zum Termin.



Außerdem muss die Liste der teilnehmenden Studenten hinterlegt werden, dies sind 0 oder mehr Studenten. Sind keine Studenten zugeordnet, kann der Termin nicht aktiviert werden.

Im Laufe des Semesters wird eine Liste von Abgaben erstellt werden, beim Anlegen des Termins sind allerdings noch keine Abgaben bekannt.


Klasse LVVAbgabe

Der Lehrbeauftragte legt für jede Lehrveranstaltung eine Reihe von Abgaben an. Dies sind abzugebende Aufgaben, wobei hier nur eine Bezeichnung (z.B. „Aufgabe 14 + 15“) vergeben wird und eine zu erreichende Maximalpunktzahl.

Jede Abgabe gehört zu genau einem LV-Termin.

Eine Abgabe teilt sich in eine Liste von Arbeitsgruppen auf, in denen die Studenten aufgeteilt sind. Die Arbeitsgruppen werden meist erst nach dem Anlegen der Abgabe erstellt. Eine Abgabe kann sogar komplett leer bleiben, wenn sie z.B. wegen Erreichens des Semesterende gestrichen wird.


Klasse LVVArbeitsgruppe

Pro Abgabe werden die Studenten in Arbeitsgruppen aufgeteilt. Jede Arbeitsgruppe besteht aus mindestens einem Student. Die Arbeitsgruppe hat als weitere Attribute eine Bezeichnung sowie Angaben, ob eine Mail mit den Bewertungen an die Studenten verschickt wurde, und wenn ja, an welche Adressen und wann.

Zu beachten ist, dass die Arbeitsgruppen pro Abgabe neu eingeteilt werden, d.h. auch bei gleichem Namen und gleicher Studentenzuordnung sind die Arbeitsgruppen unterschiedlicher Abgaben völlig eigenständige Objekte.

Der Student ist allerdings kein direktes Attribut der Arbeitsgruppe, sondern nur indirekt über eine spezielle Zuordnungsklasse LVVArbeitsgruppeStudent. Diese Klasse ist die Verbindung zwischen Student und Arbeitsgruppe und enthält studentenspezifische Daten innerhalb der Arbeitsgruppe. Eine Arbeitsgruppe enthält also mindestens eine Instanz von LVVArbeitsgruppeStudent. In diesen Klassen werden die Bewertungen der Abgabe hinterlegt.

Innerhalb einer Arbeitsgruppe werden von den Studenten 0 oder mehr Dateien abgegeben. Es hängt von der Abgabe ab, ob dies wirklich erforderlich ist, eventuell erfolgen die Abgaben auch in Papierform an den Dozenten.


Klasse LVVDateiAbgabe

Falls ein Student einer Arbeitsgruppe eine Datei abgibt, wird diese Datei zusammen mit einem Kommentar (Beschreibung der abgegebenen Datei) in ein Objekt LVVDateiAbgabe gehängt.

Jede LVVDateiAbgabe gehört zu exakt einer Arbeitsgruppe.


Klasse LVVArbeitsgruppeStudent

In dieser Klasse werden studentenspezifische Angaben innerhalb der Arbeitsgruppe angelegt. Dies sind Punktzahl und Bewertungskommentar für eine Abgabe eines Studenten (falls eine große Abgabe von mehreren Studenten erledigt wurde und jeder ein klar identifizierbares Teilstück übernommen hat). Auch falls es nur eine einzige Note für alle Studenten der Arbeitsgruppe gibt, wird pro Student ein solches Datenobjekt angelegt. Die Benotung und der Kommentar sind in diesem Fall in allen Datenobjekten gleich.

Jede Instanz von LVVArbeitsgruppeStudent gehört zu genau einer Abgabe. Sie gehört außerdem zu genau einem Studenten.

Prinzipiell dient sie nur dazu, die Verbindung von Student zu Arbeitsgruppe zu ziehen. Da allerdings innerhalb der Arbeitsgruppe studentenspezifische Daten gespeichert werden müssen, wurde aus der Verbindung eine eigenständige Klasse.