18.09.2013 Aufrufe

Lösung Übung UML Notation

Lösung Übung UML Notation

Lösung Übung UML Notation

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Fachhochschule Rapperswil<br />

<strong>Lösung</strong> <strong>Übung</strong> <strong>UML</strong> <strong>Notation</strong><br />

Aufgabe 1: Beurteilung von Klassendiagrammen<br />

Gegeben sind die nachfolgenden Klassendiagramme. Beurteilen Sie, ob diese Diagramme richtig sind.<br />

Korrigieren Sie die fehlenden Diagramme.<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

Person<br />

Student<br />

Was ist falsch?<br />

Ein Student ist nicht Teil einer<br />

Person, sonder eine spezielle<br />

Person.<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

Stuhl<br />

Stuhllehne<br />

Was ist falsch?<br />

Eine Stuhllehne ist kein<br />

(spezieller) Stuhl, sonder ein<br />

(fester) Bestandteil eines Stuhls<br />

Klassendiagramm richtig X falsch richtiges Klassendiagramm<br />

Lehrerschaft<br />

Lehrer<br />

Was ist falsch?<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

Vorlesung<br />

Fach<br />

Was ist falsch?<br />

Eine Vorlesung besteht nicht<br />

aus Fächern, eher umgekehrt.<br />

Ein Fach wird in einer<br />

Vorlesung unterrichtet.<br />

Niklaus Mannhart, OO Softwareentwicklung 1/4<br />

C:\Documents and Settings\Mannhart\My Documents\HSR\Loesung Uebung <strong>UML</strong>.doc<br />

oder<br />

Fach<br />

Person<br />

Student<br />

Stuhl<br />

Stuhllehne<br />

wird<br />

unterrichtet<br />

Fach<br />

Vorlesung<br />

Vorlesung


Fachhochschule Rapperswil<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

HSR Student<br />

Siedlungsplaner-<br />

Student<br />

VSHSR<br />

Was ist falsch?<br />

Nicht jedes VSHSR Mitglied ist<br />

Siedlungsplanderstudent.<br />

VSHSR Mitglied ist eine<br />

Eigenschaft, die jeder HSR<br />

Student haben kann, aber nicht<br />

haben muss.<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

HSR Klasse<br />

E5a<br />

Student<br />

Was ist falsch?<br />

E5a ist keine Klasse sondern<br />

ein Objekt. Student ist keine<br />

HSR Klasse, sondern ein Teil<br />

der HSR Klasse.<br />

Klassendiagramm richtig falsch X richtiges Klassendiagramm<br />

Person<br />

email-Adresse<br />

Lehrer<br />

name<br />

HSR Lehrer<br />

Fach<br />

Was ist falsch?<br />

Die Attribute sind auf den<br />

falschen Ebenen der<br />

Spezialisierungen: Nicht jede<br />

Person hat eine email-Adresse<br />

aber einen Namen. Jeder<br />

Lehrer unterrichtet mindestens<br />

ein Fach. HSR Lehrer haben<br />

zusätzlich eine Email-Adresse<br />

VSHSR<br />

Mitgliedschaft<br />

HSR Student<br />

Siedlungsplaner-<br />

Student<br />

Niklaus Mannhart, OO Softwareentwicklung 2/4<br />

C:\Documents and Settings\Mannhart\My Documents\HSR\Loesung Uebung <strong>UML</strong>.doc<br />

0..1<br />

Lehrer<br />

HSR Lehrer<br />

email-Adresse<br />

HSR Klasse<br />

Student<br />

Person<br />

email-Adresse<br />

unterrichtet<br />

1..*<br />

Fach


Fachhochschule Rapperswil<br />

Aufgabe 2: Textverarbeitungssystem<br />

Gegeben seien folgende Anforderungen an ein Textverarbeitungssystem:<br />

• Das Textverarbeitungssystem erlaubt es Peter Müller und anderen Benutzer Dokumente<br />

anzulegen und zu editieren.<br />

• Ein Dokument kann Text und Bitmap-Grafik enthalten. Text besteht aus Abschnitten, jeder<br />

Abschnitt aus Zeichen.<br />

• Ein Dokument enthält ausserdem verschiedene administrative Informationen wie seinen Titel,<br />

seinen Autor, den Dateinamen, in dem es abgelegt ist, sowie das Datum der letzen Änderung.<br />

Aufgaben:<br />

1. Welche Objekte/Klassen lassen sich im obigen Problemfall identifizieren?<br />

2. Welche Beziehungen bestehen zwischen den Klassen? Zeichnen Sie das entsprechende<br />

Klassendiagramm in der <strong>UML</strong> <strong>Notation</strong><br />

3. Welche Attribute hat die Klasse Dokument? Ergänzen Sie das gezeichnete Klassendiagramm<br />

entsprechend.<br />

Klassen: Textverarbeitungssystem, Benutzer, Dokument, Text, Bitmap-Grafik, Abschnitt, Zeichen<br />

Textverarbeitungssystem 0..1 benutzt 0..*<br />

Benutzer<br />

0..*<br />

bearbeitet<br />

0..*<br />

Dokument<br />

Titel, Autor, Dateiname,<br />

Datum letzte Änderung<br />

erzeugen()<br />

editieren()<br />

1<br />

Bitmap-Grafik<br />

Niklaus Mannhart, OO Softwareentwicklung 3/4<br />

C:\Documents and Settings\Mannhart\My Documents\HSR\Loesung Uebung <strong>UML</strong>.doc<br />

0..*<br />

1 0..* Text<br />

1 1..* Abschnitt<br />

1 1..* Zeichen


Fachhochschule Rapperswil<br />

Aufgabe 3: Verkehrsmittel<br />

Gegeben seien folgende Begriffe aus der zu modellierenden Realität:<br />

PW, LW, LWmitAnhänger, Taxi, Autobus, Containerschiff, Fähre, Floss, Yacht<br />

Aufgaben:<br />

1. Identifizieren Sie die Klassen und entwerfen Sie eine Vererbungshierarchie.<br />

2. Finden Sie Verallgemeinerungen der Klassen und ergänzen Sie die Vererbungshierarchie.<br />

(zuoberst in der Vererbungshierarchie soll nur eine Klasse stehen)<br />

3. Teilen Sie Ihre gefundenen Klassen in konkrete und abstrakte Klassen ein. Bezeichnen Sie<br />

konkrete Klassen mit „K“, abstrakte Klassen mit „A“.<br />

LW<br />

{K}<br />

LW_mit_<br />

Anhänger<br />

{K}<br />

Fahrzeug<br />

{A}<br />

PW<br />

{K}<br />

Taxi<br />

{K}<br />

Autobus<br />

{K}<br />

Aufgabe 4: Modellierung Bibliothek<br />

Verkehrsmittel<br />

{A}<br />

Schiff<br />

{K}<br />

Wasserverkehrs<br />

-mittel<br />

{A}<br />

Eine Bibliothek besitzt Bücher und Zeitschriften, welche an Studierende ausgeliehen werden. Um die<br />

Ausleihefrist zu überprüfen wird notiert, wann etwas ausgeliehen wird.<br />

Aufgaben:<br />

1. Modellieren Sie diesen Sachverhalt möglichst genau in einem Klassendiagramm.<br />

2. Welcher wichtige Punkt fehlt in der obigen Beschreibung?<br />

Klassen: Bibliothek, Buch, Zeitschrift, Student; Unklar: Ausleihfrist überprüfen, Ausleihdatum?<br />

Bibliothek<br />

1<br />

1..*<br />

Ausleihgegenstand<br />

{A}<br />

1..* 0..*<br />

beinhaltet<br />

Buch Zeitschrift<br />

Fähre<br />

{K}<br />

Ausleihvorgang<br />

ausleihdatum<br />

UeberprüfeFrist()<br />

Container-<br />

Schiff<br />

{K}<br />

0..* 1<br />

ausgeliehen<br />

an<br />

Floss<br />

{K}<br />

Yacht<br />

{K}<br />

Student<br />

Niklaus Mannhart, OO Softwareentwicklung 4/4<br />

C:\Documents and Settings\Mannhart\My Documents\HSR\Loesung Uebung <strong>UML</strong>.doc

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!