Übungsblatt 3: Software Engineering 1 (WS 2012/13)

Werbung
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.
Herunterladen