Lösung Übung UML Notation
Lösung Übung UML Notation
Lösung Übung UML Notation
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