Algorithmen und Datenstrukturen Übung 4 1
UML: Allgemein UML steht für Unified Modeling Language UML bietet mehrere (viele!) Diagrammtypen an momentan wichtig für uns: Use-Case (wer kann was tun?) Klassendiagramm (welche Klassen/Objekte existieren?) Sequenzdiagramm (wie läuft etwas ab?) CRC-Karte (welche Klasse hat welche Zuständigkeiten und welche Querverbindungen?) 2
UML: Software Dia (auch im CIP, Linux, GTK/Gnome) StarUML (Windows) ArgoUML (Java-basiert, cross-platform) Umbrella (Linux, KDE) unzählige kommerzielle Programme 3
UML am Beispiel Unsere Autovermietung ermöglicht es Kunden telefonisch oder per Post Fahrzeuge verschiedener Hersteller und Autoklassen (Bus, Limousine, Kleinwagen, ) für beliebige Zeiträume bei all unseren Filialen zu reservieren und zu nutzen. Eine einmal getätigte Reservierung kann bis zu 4 Tage vor Abholung von beiden Seiten telefonisch storniert werden, wobei dem Kunden keine Kosten anfallen und das Unternehmen keinen Ersatzwagen zur Verfügung stellen muss. Nach dieser Zeit ist ein Stornieren nicht mehr möglich. Die Unternehmensverwaltung kann jederzeit das reservierte Fahrzeug im Rahmen der Kundenanforderung durch ein gleichartiges Fahrzeug ersetzen, falls das eigentlich eingeplante Fahrzeug doch nicht bereit steht. Der Kunde kann das reservierte Fahrzeug bei der entsprechend angekündigten Filiale vormittags abholen und muss es am letzten reservierten Tag vor 18:00 vollgetankt wieder an einer beliebigen Filiale abgeben. Unterscheidet sich die Rückgabefiliale von der Abholungsfiliale, so fallen zusätzlich zu den Mietkosten noch Überführungsgebühren an, die in der abschließenden Rechnung separat neben den Tagespauschalkosten und den kilometerabhängigen Abnutzungsgebühren aufgeführt werden. 4
UML am Beispiel: Use-Case Fahrzeug abholen telefonisch reservieren per Post reservieren Filialarbeiter Kunde Fahrzeug zurueckgeben telefonisch stornieren Fahrzeug umbuchen Unternehmensverwaltung 5
UML am Beispiel: Klassendiagramm Substantivanalyse Unsere Autovermietung ermöglicht es Kunden telefonisch oder per Post Fahrzeuge verschiedener Hersteller und Autoklassen (Bus, Limousine, Kleinwagen, ) für beliebige Zeiträume bei all unseren Filialen zu reservieren und zu nutzen. Eine einmal getätigte Reservierung kann bis zu 4 Tage vor Abholung von beiden Seiten telefonisch storniert werden, wobei dem Kunden keine Kosten anfallen und das Unternehmen keinen Ersatzwagen zur Verfügung stellen muss. Nach dieser Zeit ist ein Stornieren nicht mehr möglich. Die Unternehmensverwaltung kann jederzeit das reservierte Fahrzeug im Rahmen der Kundenanforderung durch ein gleichartiges Fahrzeug ersetzen, falls das eigentlich eingeplante Fahrzeug doch nicht bereit steht. Der Kunde kann das reservierte Fahrzeug bei der entsprechend angekündigten Filiale vormittags abholen und muss es am letzten reservierten Tag vor 18:00 vollgetankt wieder an einer beliebigen Filiale abgeben. Unterscheidet sich die Rückgabefiliale von der Abholungsfiliale, so fallen zusätzlich zu den Mietkosten noch Überführungsgebühren an, die in der abschließenden Rechnung separat neben den Tagespauschalkosten und den kilometerabhängigen Abnutzungsgebühren aufgeführt werden. 6
UML am Beispiel: Klassendiagramm Filiale +fuhrpark: Fahrzeug[] +reservieren(k:kunde,f:fahrzeug,von:date, bis:date): Reservierung Fahrzeug Reservierung start: Date ende: Date f: Fahrzeug kunde: Kunde +stornieren() +umbuchen(f:fahrzeug): void +hersteller: String -reservierungen: Reservierung[] = null -ausgeliehen: boolean +ausleihen(r:reservierung): Fahrzeug +zurueckgeben(): void Kunde Bus Limousine Kleinwagen 7
UML am Beispiel: CRC-Karte Filiale zuständig für: Zusammenarbeit mit: behandelt: löst aus: 8
UML am Beispiel: CRC-Karte Filiale zuständig für: - Verwaltung von vorhandenen Fahrzeugen - Verarbeitung von Reservierungen Zusammenarbeit mit: - Fahrzeug - Reservierung behandelt: - Fahrzeug reservieren - Fahrzeug abholen - Fahrzeug zurückgeben löst aus: <nichts> 9
Fragen / Feedback Sind noch Fragen offen? Gibt es Anmerkungen zur Übung, Vorlesung oder zu den Übungsblättern? 10
Ende Danke für die Aufmerksamkeit Foliendownload: http://wwwcip.informatik.uni-erlangen.de/~sicslang/audtue/ 11