1 AUFGABEN ZUM ANWENDUNGSFALLDIAGRAMM UML 1 Aufgaben zum Anwendungsfalldiagramm 1.1 Schulungsunternehmen Entwickeln Sie ein Anwendungsfalldiagramm zu der folgenden Problemstellung: Ein Schulungsunternehmen bietet EDV-Kurse in verschiedenen Bereichen an. Jeder Kurs kann maximal 14 Teilnehmer haben. Es gibt fest angestellte Dozenten und freie Mitarbeiter, die als Dozenten tätig sind. Falls es zu Spannungen zwischen den Dozenten und den Teilnehmern kommt, bietet der Schulungsleiter ein verbindliches Vermittlungsgespräch an. Muss der Kurs aus Krankheitsgründen des Dozenten abgebrochen werden, erhalten die Teilnehmer Gutscheine für spätere Kurstage. Die Akteure sind der Einfachheit halber festgelegt: fest angestellter Dozent Schulungsleiter Teilnehmer freier Dozent Dozent LF6 ANW 1
1 AUFGABEN ZUM ANWENDUNGSFALLDIAGRAMM UML 1.2 Taxi bestellen Use Case ID Name des UseCase Ziel im Kontext Aktor Trigger Vorbedingungen Kurzbeschreibung Schritte Ausnahme 1 Ausnahme 2 Nachbedingungen UC A Taxi bestellen Ein Kunde bestellt ein Taxi Kunde Kunde ruft Taxiruf an Keine Der Kunde bestellt beim Taxiruf ein Taxi und bekommt eine Zusage mit Zeitangabe Kunde ruft Taxiruf Taxiruf verlangt Ort und Zeit Kunde nennt Ort und Zeit Taxiruf prüft Taxiverfügbarkeit Taxiruf teilt Taxi zu Taxi bestätigt Zuteilung Taxiruf bestätigt Kunden Ort und Zeit Kein Taxi verfügbar Taxiruf ruft übergeordneten Taxidienst Übergeordneter Taxidienst weist Taxi zu Taxiruf bestätigt Kunden Ort und Zeit Kunde wirkt nicht vertrauenswürdig Taxiruf lehnt den Kunden ab Das Taxi ist am vereinbarten Ort und zur vereinbarten Zeit beim Kunden LF6 ANW 2
1 AUFGABEN ZUM ANWENDUNGSFALLDIAGRAMM UML 1.3 Geld abheben Use Case ID UC B Name des UseCase Geld abheben Ziel im Kontext Ein Kunde will Geld abheben Aktor Kunde Trigger Kunde geht an Geldautomaten Vorbedingungen Kunde hat eine Karte Kurzbeschreibung Der Kunde geht zum Geldautomaten, gibt seine Pin ein und bekommt die gewünschte Geldsumme Schritte Kunde gibt Karte in Bankautomaten Bankautomat erwartet Eingabe (Geld abheben, Kontostand anzeigen) Kunde wählt Geld abheben Bankautomat fragt Pin ab Kunde gibt Pin ein Bankautomat prüft Pin Bankautomat fragt die Summe ab Kunde gibt Summe ein Bankautomat prüft Kontostand Bankautomat gibt Karte aus Kunde entnimmt Karte Bankautomat gibt Geld aus Kunde entnimmt Geld Ausnahme 1 Kunde wählt Kontostand anzeigen ( UC C) Ausnahme 2 Kunde gibt falsche Pin ein Automat fordert erneut Pin (bis zwei mal) Bankautomat zieht Karte ein Nachbedingungen Summe wird vom Konto abgebucht LF6 ANW 3
2 AUFGABEN ZUM KLASSENDIAGRAMM UML 2 Aufgaben zum Klassendiagramm 2.1 Schulungsunternehmen 2.1.1 Ausgangssituation: Ein Schulungsunternehmen hat ein Lastenheft erstellt, in dem es Anforderungen an eine zu erstellende Software beschreibt. LASTENHEFT CompuDacta IT-Schulungsunternehmen Beschreibung: Es soll eine Individualsoftware entwickelt werden, mit der Schulungskurse, Mitarbeiter, Dozenten und Teilnehmer verwaltet werden können. Die Software soll benutzerfreundlich sein und über automatische Datensicherungsmechanismen verfügen (speichern der Daten in einer Datei oder in einer Datenbank). Wichtige Funktionalitäten: Anlegen von Mitarbeitern und verwalten bestehender Mitarbeiter Anlegen von neuen Kursen und verwalten bestehender Kurse Anlegen von neuen Dozenten und verwalten bestehender Dozenten Anlegen von neuen Teilnehmern und verwalten bestehender Teilnehmer Teilnehmer und Dozenten den Kursen hinzufügen Ausgabe einer Liste der Kurse (incl. Dozenten und Teilnehmer) Ausgabe einer Liste der Dozenten (incl. der Kurse) Ausgabe einer Liste der Mitarbeiter Ausgabe einer Liste der Teilnehmer (incl. deren Kurse) Aufgabe: Erstellen Sie ein Klassendiagramm zu der oben angegebenen Problemstellung. Achten Sie auf die entsprechenden Beziehungen zwischen den Klassen. Berücksichtigen Sie auch die Implikationen, die durch bestimmte Multiplizitäten entstehen (beispielsweise durch eine 1-Multiplizität). LF6 ANW 4
2 AUFGABEN ZUM KLASSENDIAGRAMM UML 2.2 Bankkonten Ein Kunde kann beliebig viele Konten eröffnen. Für jeden Kunden werden Name, Adresse und Datum erfasst. Es gibt Giro- und Sparkonten. Jedes Konto besitzt einen Habenzins, Girokonten auch einen Sollzins. Jedes Konto hat eine Kontonummer. Für jedes Sparkonto wird die Art des Sparens gespeichert. Ein Kunde kann Beträge einzahlen und abheben. Es werden Zinsen gutgeschrieben und bei Girokonten Überziehungszinsen gebucht. Um die Zinsen zu berechnen, muss für jede Kontobewegung das Datum und der Betrag notiert werden. 2.3 Gemeinschaftspraxis Die Abrechnung einer Gemeinschaftspraxis mehrerer Ärzte mit unterschiedlichen Fachgebieten soll verwaltet werden. Einem Patienten werden die durchgeführten Behandlungen zugeordnet. Eine Behandlung wird genau von einem Arzt durchgeführt. Zu einer Behandlung kann es eine Verordnung geben. Mehrere Behandlungen werden gemeinsam abgerechnet. 2.4 Unternehmensorganisation In einem Unternehmen ist die Arbeit nach Projekten organisiert. Das Projekt hat mindestens einen Projektleiter und einen Namen. Dazu kommt eine beliebige Zahl von Projektmitgliedern. Projektleiter und Projektmitglieder werden als Mitarbeiter geführt. Ein Projektleiter leitet nur ein Projekt. Jedes Projekt hat zwei bis drei Berater. Ein Projekt verfügt über ein Projektkonto und eine Projektdokumentation. Unternehmensweit gibt es eine Dokumentation, die jedes Projekt und jede Projektdokumentation kennt. 2.5 Supermarktkette Eine Supermarktkette wird durch eine Zentrale verwaltet. Eine Kasse speichert am Morgen die bereitgestellte Bargeldeinlagen und den aktuellen Kassenstand. Wenn ein Kunde bezahlt, wird der Kassenstand um diesen Betrag erhöht. Nach Geschäftsschluss wird von der Zentrale die gesamte Tageseinnahme aller Märkte ermittelt. Berechnen der Gesamteinnahmen durch die Zentrale. Vorgehensweise: Jeder Supermarkt wird nach einander die Nachricht berechnetageseinnahme geschickt. Die zurückgegebenen Werte werden aufaddiert und bilden die Gesamttageseinnahme. LF6 ANW 5
3 AUFGABE ZUM SEQUENZDIAGRAMM UML 3 Aufgabe zum Sequenzdiagramm Für eine Bank soll ein Softwaresystem entwickelt werden. Folgende Akteure und Objekte wurden zunächst bestimmt: Kunde, Kundenberater, Konto, Datenbank Entwickeln Sie ein Sequenzdiagramm zu folgendem Szenario: 1. Ein Kunde möchte ein Konto (bzw. bis zu drei Konten) eröffnen. 2. Der Kundenberater erfragt die gewünschte Anzahl der Konten. 3. Der Kundenberater startet eine Datenbankabfrage, um die Bonität des Kunden zu ermitteln (kritische Abfrage, da die Datenbankverbindung nicht immer vorhanden ist). (a) Ist die Bonität vorhanden, so legt der Kundenberater ein Konto nach dem anderen an. (b) Ist die Bonität nicht vorhanden, so informiert der Kundenberater den Kunden und legt kein Konto an. LF6 ANW 6
4 AUFGABE ZUM AKTIVITÄTSDIAGRAMM UML 4 Aufgabe zum Aktivitätsdiagramm 4.1 Versicherung Entwickeln Sie ein Aktivitätsdiagramm zu der folgenden Ausgangssituation: Die Kunden einer Kfz-Versicherungsgesellschaft können ihre Schäden online über eine entsprechende Maske eintragen. Die Daten werden anschließend von einem Sachbearbeiter geprüft. In einem ersten Schritt muss die Schuldfrage geklärt werden. Hat der Versicherte Schuld (oder Teilschuld) an dem Schadensfall, so fordert der Sachbearbeiter ein Gutachten an, in dem die Schadenssumme genau berechnet wird. Liegt diese Schadenssumme unter 12500,- Euro, so muss der Sachbearbeiter die Vertragsdaten des Versicherten anpassen (Anpassung des Schadensfreiheitsrabatts). Danach kann eine Reparaturfreigabe erfolgen, allerdings unter einschränkenden Bedingungen, die dem Versicherten mitgeteilt werden. Liegt die Schadenssumme über 12500,- Euro, so muss der Sachbearbeiter neben der Anpassung des Vertrags auch den Abteilungsleiter informieren. Erst danach kann dann die Reparaturfreigabe unter Einschränkung erfolgen. Falls der Versicherte keine (Teil-) Schuld trägt, so kann eine uneingeschränkte Reparaturfreigabe erfolgen. LF6 ANW 7
4 AUFGABE ZUM AKTIVITÄTSDIAGRAMM UML 4.2 Die Studentenparty Es ist Freitagabend und Sie überlegen sich, zur Studentenparty im Freundeskreis zu gehen, da es dort immer besser zugeht, als bei Ihnen alleine zu Hause. Also streifen Sie sich Ihre Jacke über [Methodeanziehen()] und begeben sich auf den Weg [MethodezurParty- Gehen()]. Dort angekommen, wird Ihnen auch schnell klar, warum Sie nicht zu Hause geblieben sind. Es gibt lustige Trinkspiele. Natürlich alles nur mit Mineralwasser, da Alkohol ein echter Stimmungskiller ist. Das Spiel geht so: Als erstes wird per Zufall ein langer oder ein kurzer Strohhalm gezogen [MethodestrohhalmZiehen()]. Sofern der kurze Strohhalm gezogen wurde, muss nun solange mit drei Würfeln geworfen werden, bis eine Zahl größer als 17 vorliegt [Methodewürfeln()]. Ist die Zahl größer als 17, so gibt es leckeres Mineralwasser [Methodetrinken()] und die Runde ist beendet. Ist der gezogene Strohhalm ein langer, so besteht die Schwierigkeit darin, gleichzeitig anhand eines vorgegebenen Weges zu laufen [Methodelaufen()] und den auf dem Weg vorliegenden Becher mit Mineralwasser zu leeren [Methodetrinken()]. Bevor die Methoden ausgeführt werden dürfen, muss jedoch dem Veranstalter ein Dank für die gute Feier ausgesprochen werden [Methodedanken()]. Ist nun das eine oder andere Spiel beendet, so muss der Teilnehmer noch ein Liedsingen [Methodesingen()]. Je nach Meinung der Juri [Methodebewertung()], wird das Lied als gut oder schlecht beurteilt. Gute Lieder führen zum Sieg und damit zum Ende des Spiels. Schlechte Lieder müssen noch einmal gesungen werden, bevor das Spiel beendet werden kann. Erstellen Sie ein Aktivitätsdiagramm. LF6 ANW 8