Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
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