Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Übungsblatt 3: Software Engineering 1 (WS 2012/13) Ausgabe: Abgabe: Aufgabe 1 Aufgabe 1.1 Kleine Übung: 23. November/26.November 2012 Kleine Übung: 07. Dezember/10.Dezember 2012 Sequenzdiagramme (10P) Kommunikation Beschreiben Sie die folgenden Kommunikationsfälle jeweils durch ein UML-Diagramm. Verwenden Sie dabei alle Kommunikationsteilnehmer als interagierende Objekte. a) Ein Pä̈rchen streitet sich. Sie macht ihm Vorwürfe, dass er sich zu wenig um den Haushalt kümmert. Er rechtfertigt sich, dass er den ganzen Tag arbeitet und gerne das Spiel schauen möchte. Optional kann er sie beschwichtigen indem er ihr zustimmt und Besserung verspricht. (2P) Lösungsvorschlag: :Frau :Mann Vorwürfe machen rechtfertigen optional beschwichtigen b) Eine Gruppe von fünf Leuten spielt „Stille Post“. Die Nachricht des ersten Spielers lautet „Hundefutter“. Der letzte Spieler teilt allen Anderen mit, dass bei ihm „Handtasche“ ankam. (3P) Lösungsvorschlag: :Spieler1 :Spieler2 :Spieler3 :Spieler4 :Spieler5 Hundefutter Händefutter Händewaschen Handtasche Handtasche Handtasche Handtasche Handtasche Aufgabe 1.2 M.I.R. Entwickeln sie Sequenzdiagramme für folgende Situationen und bereiten Sie eine Präsentation der Diagramme vor: a) Ein Benutzer möchte einen vorhandenen Planeten „Ahpla Cnertuai“ in M.I.R. kommentieren. Dafür muss er ihn zuerst suchen. Beim ersten Versuch findet er den Planeten jedoch nicht. „Ahpla Cnertuai“ muss erst von einem Redakteur eingetragen werden. Danach kann er den Planeten kommentieren. (2P) Lösungsvorschlag: :Benutzer :M.I.R. :Redakteur exisitiert("Ahpla Cnertuai") nein erstelle("Ahpla Cnertuai") erfolgreich erstellt exisitiert("Ahpla Cnertuai") ja anzeigen("Ahpla Cnertuai") "Ahpla Cnertuai" kommentiere("Ahpla Cnertuai") erfolgreich kommentiert b) Ein Nutzer registriert sich im System. Er sieht, dass sich ein Planet, den er bereits besucht hat, im System befindet. Da er den Aufenthalt dort sehr genossen hat möchte er den Planeten direkt bewerten und einen Kommentar verfassen. Beides gelingt ihm allerdings erst beim zweiten Versuch. Der Redakteur hinkt mit der Freischaltung von neuen Registrationen einen Schritt hinterher. (3P) Lösungsvorschlag: :Benutzer :M.I.R. :Redakteur Registrierung return Nachricht über Neuregistrierung anzeigen("Ahpla Cnertuai") "Ahpla Cnertuai" bewerte("Ahpla Cnertuai") Bewertung verweigert kommentiere("Ahpla Cnertuai") Kommentar verweigert Nutzer freischalten bewerte("Ahpla Cnertuai") erfolgreich bewertet kommentiere("Ahpla Cnertuai") erfolgreich kommentiert Aufgabe 2 Aufgabe 2.1 Zustandsdiagramme (10P) Lektüre Entwerfen Sie ein State Chart Diagramm für ein Buch nach folgender Beschreibung: Um ein Buch zu benutzen, muss es zuerst aufgeschlagen werden. Wenn er das Lesezeichen entfernt hat, kann der Leser mit dem Lesen beginnen. Während des Lesens blättert er die Seiten um oder entscheidet sich dafür, Passagen zu unterstreichen. Nachdem der Leser die Lektüre beendet hat, kann er entweder das Lesezeichen wieder hineinlegen und das Buch ordentlich schließen, oder es einfach während des Lesens zuklappen. Dass das Buch geöffnet herumliegt, ist nicht vorgesehen. (5P) Lösungsvorschlag: Buch_zu aufklappen Buch_offen zuklappen Buch_lesebereit [kein Lesezeichen] [hat Lesezeichen]/Lesezeichen entfernen Lesezeichen_entfernt blaettern unterstreichen lesen einlegen Lesezeichen_eingelegt zuklappen[ordentlich] Aufgabe 2.2 M.I.R. Erstellen Sie ein Statechart, um zu modellieren, wie M.I.R. auf Nutzereingaben reagiert. Vorgesehen sind das Suchen von Planeten und das Eintragen von Kommentaren. Wenn M.I.R. einen Planeten nicht finden kann, wird eine Fehlermeldung ausgegeben. Wenn der leere String als Suchstring eingegeben wird, gibt M.I.R. eine Liste aller bekannten Planeten aus. Das Programm wird beendet, wenn sich der Nutzer auslogged oder den Browser schließt. Das Programm beginnt, wenn sich der Nutzer einlogged. Erstellen Sie für Ihr Ergebnis eine Präsentation.(5P) Lösungsvorschlag: MIR kommentieren /einloggen MIR_bereit Planeten_auswaehlen Planet_kommentieren Planet_anzeigen waehle_Planet leere_Suche Alle_Anzeigen [gefunden] Suche_Planet Fehler Suche_Planeten [nicht gefunden] [Fenster zu] [ausloggen] Aufgabe 3 Aufgabe 3.1 Aktivitätsdiagramme (10P) Beitragsschreiber Erstellen Sie für folgende Situation ein Geschäftsprozessmodell, wobei Sie als Darstellungsform ein UMLAktivitätsdiagramm wählen. „Beitragsschreiber entwickeln zunächst eine Vorabversion ihres Beitrages. Anschließend wird diese ins System hochgeladen. Ein Reviewer begutachtet den Beitrag und stellt das Gutachten ebenfalls ins System. Der Beitragsschreiber kann nun die geforderten Änderungen einarbeiten. Wurden die Vorabversion mit der Note C oder D bewertet, so muss der Reviewer die Zweitversion erneut begutachten und zwischen Annahme und Ablehnung entscheiden. Die Entscheidung wird dann gleichzeitig dem Beitragsschreiber und der Konferenzleitung mitgeteilt. Wurde die Vorabversion mit A oder B bewertet, erfolgt kein erneutes Review. Der Beitragsschreiber muss lediglich Reviewer und Konferenzleitung über die erfolgte Einarbeitung der Änderungswünsche informieren.“ (5P) Lösungsvorschlag: Beitragsschreibender Reviewer Leitung Vorabversion schreiben Gutachten schreiben Vorabversion ins System stellen Gutachten ins System stellen Änderungen einarbeiten note [C oder D] Beitrag erneut begutachten [A oder B] Benachr. lesen Benachr. Benachr. Benachr. Benachr. Benachr. lesen Benachr. lesen Benachr. lesen Aufgabe 3.2 M.I.R. Erstellen Sie zu den Sequenzdiagrammen aus Aufgabe 1.2 jeweils ein Aktivitätsdiagramm. Bereiten Sie dazu eine Präsentation vor. (5P) Lösungsvorschlag: Nutzer Redakteur Ahpla Cnertuai suchen [Ahpla Cnertuai nicht gefunden] [Ahpla Cnertuai gefunden] Ahpla Cnertuai anzeigen Ahpla Cnertuai kommentieren Ahpla Cnertuai anlegen Nutzer Redakteur Registrieren Planet suchen Nutzeranmeldungsmeldung lesen Planet bewerten keine Rechte Nutzer freischalten keine Rechte Planet kommentieren keine Rechte Aufgabe 4 Pflichtenheft (10P) Verfeinern Sie das Lastenheft, das Sie für den vorherigen Übungszettel erstellt haben, gemäß des Gliederungsschemas aus der Vorlesung. Beziehen Sie die Ergebnisse aus der OOA für die Beschreibung der Produktdaten ein. Ein Lösungsvorschlag befindet sich auf der Webseite.