22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.1.6.2 Zerlegung des Systems in Dienstleistungen einzelner Klassen<br />

Wir beschreiben nun die für eine Realisierung obiger Anfor<strong>der</strong>ungen nötigen Klassen und ihre Dienstleistungen.<br />

Die meisten Klassen ergeben sich unmittelbar aus <strong>der</strong> obigen Grobspezifikaktion. Bibliotheken,<br />

Bücher, Entleiher, Bibliotheksmitarbeiter, Universitätsangestellte und Hochschullehrer sind auf jeden Fall<br />

eigenständige Objekte. Autoren müssen wegen <strong>der</strong> vorgesehenen Erweiterung als eigenständige Objekte betrachtet<br />

werden. Die Verwaltung, die das Datum steuert und durch Einlesen einer gewünschten Transaktion<br />

alle Aktivitäten anstößt, kommt als Wurzelklasse dazu.<br />

Die prinzipielle Ablaufstruktur soll <strong>der</strong> Vorgehensweise in <strong>der</strong> realen Welt entsprechen. Entleiher beantragen<br />

bei einer Bibliothek eine Transaktion – z.B. den Autor und Titel eines Buches, das sie ausleihen wollen –<br />

und erhalten je nach ihrem Status verschiedene Berechtigungen. Dies ist nötig, da z.B. bei <strong>der</strong> Ausleihe die<br />

Leihdauern je nach Entleiherklasse unterschiedlich sind. Die Bibliothek bestimmt das konkrete Buch und<br />

läßt die Ausleihdaten eintragen o<strong>der</strong> sie lehnt den Wunsch ab. Das Buch als unabhängiges Objekt trägt die<br />

entsprechenden Daten ein. Auf diese Art werden die Schnittstellen klein gehalten.<br />

Diese Struktur wird dadurch etwas verkompliziert, daß bei <strong>der</strong> Verwaltung im Computer alle Transaktionen<br />

zentral angefor<strong>der</strong>t werden müssen. Aufgrund <strong>der</strong> interaktiven Eingabe muß zunächst <strong>der</strong> Entleiher bestimmt<br />

werden, <strong>der</strong> die Transaktion beantragt. Der Typ des Entleihers hängt aber von <strong>der</strong> Art <strong>der</strong> Transaktion ab,<br />

die durchgeführt werden soll. So wird man zum Beispiel bei gewöhnlichen Entleihern die Leistung “Entnahme<br />

beantragen” sinnvollerweise überhaupt nicht vorsehen. Aus diesesem Grunde sollte man Transaktionen wie<br />

Ausleihe, Leihfrist verlängern, Rückgabe, Entnahme und Hinzufügen als unabhängig agierende Objekte betrachten,<br />

die ihrerseits eine Aktion <strong>der</strong> entsprechenden Entleihergruppe auslösen. Jede Art von Transaktionen<br />

muß in einer separaten Klasse aufgeführt werden.<br />

Insgesamt haben wir dann folgende Verarbeitungsstruktur.<br />

• Der Anwen<strong>der</strong> wählt in einem Menü <strong>der</strong> Verwaltung die Bibliothek und eine Transaktionsart aus.<br />

• Die Verwaltung bildet daraufhin ein Transaktionsobjekt <strong>der</strong> entsprechenden Klasse, wobei <strong>der</strong> Entleiher<br />

interaktiv bestimmt und die Bibliothek weitergereicht wird.<br />

• Das Transaktionsobjekt veranlaßt den Entleiher, bei <strong>der</strong> Bibliothek die Transaktion zu beantragen.<br />

• Der Entleiher beantragt bei <strong>der</strong> Bibliothek die konkrete Transaktion zu <strong>der</strong> er berechtigt ist.<br />

• Die Bibliothek fragt nun die notwendigen Transaktionsdaten ab, bestimmt das konkrete Buch und löst<br />

dort das Eintragen <strong>der</strong> Transaktionsdaten aus.<br />

Sinnvollerweise werden beim Start des Systems alle Informationen über bisher bekannte Objekte von einer<br />

Datei geladen und beim Verlassen wie<strong>der</strong> gesichert. Zudem bietet es sich an, die Interaktion mit dem Anwen<strong>der</strong><br />

solange aufrecht zu erhalten, bis dieser das System verlassen will.<br />

Diese Vorüberlegungen bestimmen, welche Dienstleistungen zu welcher Klasse gehören und welche Dienstleistungen<br />

an<strong>der</strong>en Klassen zur Verfügung gestellt werden müssen.<br />

Klasse Dienstleistung Kunde<br />

BIB VERWALT<br />

bestehende Objekte laden Start<br />

Datum anpassen Start<br />

Ständige Benutzerinteraktion initiieren Start<br />

Bibliothek auswählen Anwen<strong>der</strong><br />

Transaktion auswählen und auslösen Anwen<strong>der</strong><br />

Datum verän<strong>der</strong>n Anwen<strong>der</strong><br />

bestehende Objekte sichern Ende<br />

Datum mitteilen BIBLIOTHEK

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!