Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 1 Aufgabe 1.

Ähnliche Präsentationen


Präsentation zum Thema: "© Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 1 Aufgabe 1."—  Präsentation transkript:

1 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 1 Aufgabe 1

2 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 2 Aufgabe 1 In einer Autovermietung sollen alle kundenrelevanten Geschäftsprozesse durch ein durchgängiges, einheitliches Informationssystem unterstützt werden. Bisher sind einige Geschäftsprozesse noch nicht oder sehr ungenügend DV - unterstützt. Für die übrigen existieren verschiedene spezielle Systeme. Um einen Kunden rundum zu betreuen, müssen mehrere Systeme benutzt werden. Das zu entwickelnde System soll alle Funktionen bereitstellen, die in direktem Zusammen- hang mit der Betreuung von Kunden und anderen Geschäftspartnern (z.B. Lieferanten) stehen. Dazu gehören die Kundenberatung, die Verwaltung der Stammdaten, die Reservierung, die Vermietung von Kfz und die Abrechnung mit dem Kunden. Geschäftsferne und indirekte Bereiche wie die interne Buchhaltung, Tarif- und Produktplanung, Kfz- Überführung und Disposition u.ä. sind keine Systembestandteile.

3 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 3 Führen Sie für die ausgeteilten Unterlagen eine Use-Case-Analyse und eine objektorientierte Analyse durch. Entwerfen Sie: Use Cases + präzise Beschreibung Domänenmodell Analysemodell Hilfsmittel: CRC Karten Klassendiagramme Sequenzdiagramme

4 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 4 Lösung Aufgabe 1

5 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 5 Haupttätigkeit Anforderung

6 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 6 Use Cases und präzise Beschreibung s. ausgeteilte Unterlagen Wir haben folgende Use Cases identifiziert und beschrieben: Kfz-Reservierung Kfz-Übergabe Kfz-Rücknahme Telefonische Kundenberatung

7 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 7 Systemumgebung: Domain Model Autovermietung Kunde Rechnungswesen Kfz-Dispositionssystem KfzTarifsystem 1 * mietet * * beraten 1 * besitzt * * anmieten 1 1 bucht bei Tarif ermitteln Kfz bereitstellen 1 1 Kfz zurücknehmen Kfz-Lieferant * * bezieht von

8 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 8 CRC-Karte für Kfz-Dispositionssystem Kfz-Dispositionssystem Ermittelt Standort und Status von KfzAuto Gibt Auskunft über Reservierungsmöglichkeit (Ort, Zeitraum)Auto Gibt Auskunft über Standort v. Zubehörteilen (Kindersitz,Dachgepäckträger) Gibt Auskunft über Ausstattungs- u. LeistungsmerkmalenAuto Ermöglicht Kfz-Statusänderungen (reserviert, vermietet)Auto Führt Statistik über FahrzeugauslastungAuto Auch CRC-Karten können zur Klärung der Schnittstellen verwendet werden

9 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 9 CRC-Karte für Tarifsystem Tarifsystem Ermittelt Tarif Auto, Kunde Gibt Auskunft über BilligtarifeAuto Ermöglicht Tarifänderungen

10 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 10 Haupttätigkeit Analyse

11 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 11 Schritt 1: Identifikation von Analyse Packages Jetzt eine erste Zerlegung des Systems in Packages ReservierungKfz-Rücknahme Allgemeine Geschäftsklassen Kundenverwaltung Zur Erinnerung: Diese Package-Zerlegung kann sich im Laufe der Analyse und des Entwurfs ändern!!! Lieferanten management

12 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 12 Klassendiagramm für Package Allgemeine Geschäftsklassen KfzMietvertrag KundeTarif Rechnung Kfz Reservierung 1 * schließt basiert auf 1 * für 1 1 veranlasst 1 * führt zu 1 1

13 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 13 Package Kundenverwaltung KundeKundenmanager * 1 verwaltet

14 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 14 CRC Karte Kundenmanager Kundenmanager Neuen Kunden anlegenKunde Kunden suchenKunde Kundendaten ändern Kunde

15 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 15 visualisiert/erfasst Klassendiagramm für Package Reservierung ReservierungsUI 1 1 visualisiert/erfasst 1 1

16 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 16 Nimmt Reservierungswunsch auf Kunde, Kfz-Dispositionssystem VerfügbarkeitPrüfenListe Kfz-Typen, Kfz-Dispositionssystem Kfz-Reservieren Liste Kfz-Typen, Kfz-Dispositionssystem CRC Karte Reservierungsmanager Reservierung ReservierungsUI Erfasst Reservierungswunsch Erfasst Kundendaten

17 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 17 Klassendiagramm für Package Kfz-Rücknahme RücknahmeUI visualisiert erfasst

18 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 18 CRC Karten Rechnung Abrechnung erstellen Tarifsystem drucken Rücknahme UI Erfasst zurückgegebenes Fahrzeug

19 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 19 Schritt 2: Analyse der einzelnen Use Case 1 Alle Use Cases betrachten, Frage beantworten und den Ablauf durch Objekte der bis jetzt gefundenen Klassen durch Sequenzdiagramme beschreiben. Falls Klassen fehlen, neue Klassen einführen. Viele neue Klassen werden bei dieser Use Case Analyse gefunden! 1 Wir beschränken uns im Beispiel auf die zwei Use Cases Kfz-Reservierung und Kfz-Rücknahme. Fragestellung jetzt: Welche Klassen mit welchen Verantwortungen benötige ich zur Realisierung des Use Cases? Daher:

20 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 20 Reservierungswunsch aufnehmen Sequenzdiagramm für den Use Case Reservierung 1 :Reservierung:Kundenmanager Kunden suchen Auto reservieren Bestätigung Kunde identifiziert und Daten korrekt 1 Die verschiedenen Varianten bzw. Ablauf-Ausnahmen betrachten wir nicht.. Kundenbetreuer Verfügbarkeit prüfen :Reservierungs UI Wunschdaten eingeben Kundendaten eingeben

21 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 21 Use Case Kfz-Rücknahme Bei der Analyse des Ablaufs müssen Klassen für Vertrag suchen, Vertragseinhaltung prüfen, Abrechnungsdaten erheben, Rechnung erstellen gefunden werden. Offen: Welche Klasse hat die Verantwortung Vertrag suchen, Vertragseinhaltung prüfen? Daher: Entweder neue Klasse einführen oder Verantwortungen existierender Klassen um die neuen Verantwortungen ergänzen.

22 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 22 Vertrag suchen Vertragseinhaltung prüfen Vertrag ausstellen Vertrag löschen CRC Karte für die Klasse Vertragsmanager Vertragsmanager Wir haben eine neue Klasse Vertragsmanager eingeführt, und können jetzt den Ablauf beschreiben:

23 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 23 Vertrag suchen Sequenzdiagramm für den Use Case Kfz-Rücknahme 1 :Vertragsmanager:Rechnung Abrechnung erstellen Vertrag 1 Die verschiedenen Varianten bzw. Ablauf-Ausnahmen betrachten wir nicht. Kundenbetreuer :Rücknahme UI Kfz-Kennzeichen eingeben Rückgabedaten eingeben Rechnung bestätigen Rechnung anzeigen drucken Vertragsdaten anzeigen Vertragseinhaltung prüfen

24 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 24 Schritt 3: Analyse der einzelnen Klassen 1 Verantwortungen, Assoziationen, Aggregationen und Vererbungs- beziehungen notieren und präzisieren hierzu Attribute und Operationen identifizieren 1 Wir führen dies nur exemplarisch für einzelne Klassen der beiden Packages durch

25 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 25 Attribute und Operationen der Klasse Rechnung 1..2 Rechnung drucken(); erstelleAbrechnung (Kfz-Mietvertrag) Rechnungsbetrag Zahlungsart Rechnungsposten

26 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 26 prüfeVerfügbarkeit(Kfz-Typ, Kfz-Zubehör-Typ, Sonderausstattung); reserviere(Kfz-Typ, Sonderausstattung, Kfz-Zubehör-Typ, Zeitraum) reserviereWunsch(Kfz-Typ, Sonderausstattung, Kfz-Zubehör-Typ, Zeitraum) Attribute und Operationen der Klasse Reservierung 1..2 Reservierung Miet-Zeitraum Kfz-Typ Sonderausstattung Kfz-Zubehör-Typ Abhol-Niederlassung Rückgabe-Niederlassung

27 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 27 Inventarnummer ermittleTarif(Zeitraum); 1..2 Kindersitz 1..2 Mietgegenstand ermittleTarif(Zeitraum); getStandort() getMietstatus() setAlter(Monate) getAlter() Attribute und Operationen der Klassen Mietgegenstand, Kfz,Kfz-Zubehör Kfz-Zubehör Standort Mietstatus (Reserviert od. vermietet) Alter 1..2 Kfz Fahrzeugkennzeichen Erst-Zulassung TÜV-Datum KM-Stand Farbe ermittleTarif(Zeitraum); setTüvDatum(Datum) setAlter() getAlter() ermittleTarif(Zeitraum); Dachgepäckträger ermittleTarif(Zeitraum); Fabrikat

28 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 28 Anhang Der Anhang enthält einzelne Diskussionen zu den Packages.

29 © Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 29 Diskussionen


Herunterladen ppt "© Prof. Dipl.-Inf. Volkhard Pfeiffer Übungen Software Engineering II WS 99/00 1 Aufgabe 1."

Ähnliche Präsentationen


Google-Anzeigen