SS14_ue1_angabe

4
VU Objektorientierte Modellierung ¨ Ubung 1: Klassendiagramm 188.391, SS2014 ¨ Ubungsgruppen: 17.03.2014 - 21.03.2014 Hinweis: Erl¨ autern Sie die Theoriefragen s¨ amtlicher ¨ Ubungen anhand eines selbst gew¨ ahlten Beispiels. Dieses Beispiel sollte nicht aus der Vorlesung oder aus den L¨ osungen anderer ¨ Ubungsaufgaben stammen. Des Weiteren sollte das Beispiel konkret (z.B. Klasse Person“ anstelle abstrakt Klasse A“) modelliert werden. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm - Theoriefragen 1 Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm besch¨ aftigt. a) Erl¨ autern Sie die Notation einer Klasse. Gehen Sie dabei auf alle Details ein. Zur Erl¨ auterung dieser De- tails geben Sie ein Beispiel f¨ ur eine konkrete Klasse an. (Es ist nicht das Ziel, m¨ oglichst viele Attribute und Operationen anzugeben, sondern mit Hilfe weniger Attribute und Operationen s¨ amtliche Notati- onsm¨ oglichkeiten aufzuzeigen.) b) Erl¨ autern Sie die Notation eines Objekts. (Sie sollten in der Lage sein, ein Beispiel-Objekt f¨ ur die Klasse aus Aufgabe a) zu modellieren, auch wenn a) von jemand anderem gel¨ ost wurde.) c) Erl¨ autern Sie alle Notationsm¨ oglichkeiten f¨ ur eine Assoziation anhand eines konkreten Beispiels. d) Illustrieren Sie den Unterschied zwischen 1:1, 1:n und n:m Assoziationen anhand eines Objektdia- gramms. Aufgabe 2: Strukturmodellierung mittels Klassendiagramm - Theoriefragen 2 Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm besch¨ aftigt. a) Was ist eine Assoziationsklasse? Erkl¨ aren Sie die Notation anhand eines konkreten Beispiels. Wann ist es sinnvoll, eine solche einzusetzen? b) Was ist eine n-¨ are Assoziation? Erkl¨ aren Sie die Notation anhand eines konkreten Beispiels. c) Beschreiben Sie den Unterschied zwischen starker und schwacher Aggregation. Erkl¨ aren Sie die Notation jeweils anhand eines konkreten Beispiels. d) Was ist eine Generalisierung, was versteht man unter Mehrfachvererbung und was ist eine abstrakte Klasse? Erl¨ autern Sie die Notation dieser Konzepte anhand eines oder mehrerer Beispiele. Aufgabe 3: Assoziation, Aggregation, Komposition und Generalisierung Erl¨ autern Sie die Eigenschaften, die besonderen Varianten und Unterschiede von Assoziation, Aggregation, Komposition und Generalisierung anhand folgender Beispiele. W¨ ahlen Sie f¨ ur die einzelnen Teilaufgaben jeweils das aus Ihrer Sicht am besten geeignete Modellierungskonstrukt. a) Es gibt genau drei verschiedene Fahrzeuge: PKW, LKW und Motorrad. Von jedem Fahrzeug werden die gefahrenen Kilometer sowie das Datum der Erstzulassung gespeichert. Von einem PKW wird zus¨ atzlich die Anzahl der T¨ uren und von einem LKW die H¨ ohe gespeichert. Bei einem Motorrad wird gespeichert, ob es sich um einen Zweisitzer handelt oder nicht. Ein spezieller PKW ist zum Beispiel das Mopedauto, von dem zus¨ atzlich gespeichert wird, ob es einen Elektroantrieb besitzt. b) Ein Auto hat einen Verk¨ aufer von dem der Name gespeichert wird. Man kann von dem Verk¨ aufer aber keinen R¨ uckschluss auf die verkauften Autos ziehen. c) Ein Arzt behandelt mehrere Patienten und ein Patient kann sich von mehreren ¨ Arzten behandeln lassen. Von jeder Behandlung die ein Patient bei einem Arzt erh¨ alt, wird das Datum gespeichert. d) Ein Triebwerk ist in genau einem Linienflugzeug fix eingebaut und kann nicht mehr entfernt werden. Ein Linienflugzeug hat zwei bis vier Triebwerke. e) Eine Firma besteht aus mehreren Abteilungen, eine Abteilung ist Teil von genau einer Firma. Eine Ab- teilung kann sich aus mehreren Abteilungen zusammensetzen.

Transcript of SS14_ue1_angabe

  • VU Objektorientierte Modellierung Ubung 1: Klassendiagramm

    188.391, SS2014 Ubungsgruppen: 17.03.2014 - 21.03.2014

    Hinweis:Erlautern Sie die Theoriefragen samtlicher Ubungen anhand eines selbst gewahlten Beispiels. Dieses Beispielsollte nicht aus der Vorlesung oder aus den Losungen anderer Ubungsaufgaben stammen. Des Weiteren solltedas Beispiel konkret (z.B. Klasse

    Person anstelle abstrakt Klasse

    A) modelliert werden.

    Aufgabe 1: Strukturmodellierung mittels Klassendiagramm - Theoriefragen 1

    Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschaftigt.

    a) Erlautern Sie die Notation einer Klasse. Gehen Sie dabei auf alle Details ein. Zur Erlauterung dieser De-tails geben Sie ein Beispiel fur eine konkrete Klasse an. (Es ist nicht das Ziel, moglichst viele Attributeund Operationen anzugeben, sondern mit Hilfe weniger Attribute und Operationen samtliche Notati-onsmoglichkeiten aufzuzeigen.)

    b) Erlautern Sie die Notation eines Objekts. (Sie sollten in der Lage sein, ein Beispiel-Objekt fur die Klasseaus Aufgabe a) zu modellieren, auch wenn a) von jemand anderem gelost wurde.)

    c) Erlautern Sie alle Notationsmoglichkeiten fur eine Assoziation anhand eines konkreten Beispiels.

    d) Illustrieren Sie den Unterschied zwischen 1:1, 1:n und n:m Assoziationen anhand eines Objektdia-gramms.

    Aufgabe 2: Strukturmodellierung mittels Klassendiagramm - Theoriefragen 2

    Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschaftigt.

    a) Was ist eine Assoziationsklasse? Erklaren Sie die Notation anhand eines konkreten Beispiels. Wann ist essinnvoll, eine solche einzusetzen?

    b) Was ist eine n-are Assoziation? Erklaren Sie die Notation anhand eines konkreten Beispiels.

    c) Beschreiben Sie den Unterschied zwischen starker und schwacher Aggregation. Erklaren Sie die Notationjeweils anhand eines konkreten Beispiels.

    d) Was ist eine Generalisierung, was versteht man unter Mehrfachvererbung und was ist eine abstrakteKlasse? Erlautern Sie die Notation dieser Konzepte anhand eines oder mehrerer Beispiele.

    Aufgabe 3: Assoziation, Aggregation, Komposition und Generalisierung

    Erlautern Sie die Eigenschaften, die besonderen Varianten und Unterschiede von Assoziation, Aggregation,Komposition und Generalisierung anhand folgender Beispiele. Wahlen Sie fur die einzelnen Teilaufgaben jeweilsdas aus Ihrer Sicht am besten geeignete Modellierungskonstrukt.

    a) Es gibt genau drei verschiedene Fahrzeuge: PKW, LKW und Motorrad. Von jedem Fahrzeug werden diegefahrenen Kilometer sowie das Datum der Erstzulassung gespeichert. Von einem PKW wird zusatzlichdie Anzahl der Turen und von einem LKW die Hohe gespeichert. Bei einem Motorrad wird gespeichert,ob es sich um einen Zweisitzer handelt oder nicht. Ein spezieller PKW ist zum Beispiel das Mopedauto,von dem zusatzlich gespeichert wird, ob es einen Elektroantrieb besitzt.

    b) Ein Auto hat einen Verkaufer von dem der Name gespeichert wird. Man kann von dem Verkaufer aberkeinen Ruckschluss auf die verkauften Autos ziehen.

    c) Ein Arzt behandelt mehrere Patienten und ein Patient kann sich von mehreren Arzten behandeln lassen.Von jeder Behandlung die ein Patient bei einem Arzt erhalt, wird das Datum gespeichert.

    d) Ein Triebwerk ist in genau einem Linienflugzeug fix eingebaut und kann nicht mehr entfernt werden. EinLinienflugzeug hat zwei bis vier Triebwerke.

    e) Eine Firma besteht aus mehreren Abteilungen, eine Abteilung ist Teil von genau einer Firma. Eine Ab-teilung kann sich aus mehreren Abteilungen zusammensetzen.

  • Aufgabe 4: Wahr oder falsch?

    Es ist folgendes UML-Modell gegeben:

    M{abstract}

    - a: int+ b: String# c: float

    T

    S

    P

    N

    Q

    ROV

    U

    X

    W

    Y

    + d: String- e: long

    {XOR}

    1 0..1

    1..*1

    3 2

    1..*

    *

    * 1

    1

    *1

    1 0..*

    *

    1

    *

    1

    Welche Aussagen treffen zu? Begrunden Sie Ihre Antwort!

    Die Raute bei V wird als starke Aggregation bezeichnet. 2 richtig 2 falschEin Objekt von S kann auf die Variable c zugreifen. 2 richtig 2 falschEin Objekt von S steht in Beziehung zu mindestens einem Objekt von N. 2 richtig 2 falschEin Objekt von U steht mit genau 3 Objekten von S in Beziehung, ein Objekt von Ssteht mit genau 2 Objekten von U in Beziehung.

    2 richtig 2 falsch

    Wenn eine Instanz von Y geloscht wird, werden alle enthaltenen Instanzen von U geloscht. 2 richtig 2 falsch

    Jedes Objekt von N steht mit genau einer direkten Instanz von M in Beziehung. 2 richtig 2 falschEin Objekt von X steht in Beziehung zu * Objekten von T und die Beziehung kann vonX aus navigiert werden.

    2 richtig 2 falsch

    Objekte von N konnen direkt auf a zugreifen. 2 richtig 2 falschEin Objekt von T kann in Beziehung zu einem anderen Objekt von T stehen. 2 richtig 2 falschEin Objekt von N steht in Beziehung zu genau einem Objekt von R und genau einemObjekt von O.

    2 richtig 2 falsch

    Es gibt genau 3 Objekte von S, die in Beziehung zu genau 2 Objekten von U stehen. 2 richtig 2 falschEine Instanz von M kann mit einem Objekt von N in Beziehung stehen. 2 richtig 2 falschEin Objekt von V kann in einem Objekt von W enthalten sein, muss aber nicht. 2 richtig 2 falschS erbt alle Attribute von M. 2 richtig 2 falsch

  • Aufgabe 5: Fehler finden

    Gegeben ist folgendes UML Klassendiagramm. Bei der Modellierung sind leider einige Fehler passiert. FindenSie die Fehler und korrigieren Sie diese im Diagramm.

    Von jedem Luftfahrzeug wird seine Bezeichnung gespeichert. Es gibt unter anderem drei Arten von Luftfahr-zeugen: Ballon, Flugzeug und Helikopter. Von einem Ballon wird sein Gewicht gespeichert, von einem Flugzeugdie Seriennummer und der Typ - es gibt nur folgende drei Flugzeugtypen: Airbus, Boeing und MCD. Von je-dem Helikopter wird die maximale Flughohe gespeichert. Ein Flugzeug fliegt mehrere Fluge. Von jedem Flugwerden die Dauer sowie Start- und Zielflughafen gespeichert. An einem Flug nehmen mehrere Passagiere teil,ein Passagier kann wiederum an mehreren Flugen teilnehmen. Von jedem Passagier werden der Name und dasGeburtsdatum sowie der Sitzplatz bei einem Flug gespeichert. Jedes Flugzeug hat zwei bis vier fix eingebauteTriebwerke, von denen jeweils die Bezeichnung gespeichert wird.

    Luftfahrzeug

    bezeichnung :String

    Flugzeug

    serienNr :StringTyp :String

    Helikopter

    maxHoehe :double

    Ballon

    gewicht :double

    Triebwerk

    bezeichnung :String

    Flug

    dauer :doublestart :Stringziel :String

    Passagier

    gebDat :Datename :String

    2..4 *

    *

    * *

  • Aufgabe 6: Klassendiagramm modellieren

    Modellieren Sie folgenden Sachverhalt als UML-Klassendiagramm. Geben Sie in Ihrem Diagramm die be-schriebenen (abstrakten) Klassen und ihre Attribute (inklusive Typen), sowie die Assoziationen (inklusiveMultiplizitaten, Aggregationen, etc.) an.

    Es gibt verschiedene Arten von Figuren, unter anderem Superhelden und Schurken. Von jeder Figur wird derKunstlername gespeichert. Von einem Superhelden wird zusatzlich der

    echte Name gespeichert, von einem

    Schurken wird gespeichert ob dieser bereits vorbestraft ist. Eine Superkraft ist Teil von mehreren Figuren, eineFigur hat mindestens eine Superkraft. Von jeder Superkraft wird der Name der Fahigkeit gespeichert und obdiese legal ist oder nicht.Eine Figur kann entweder in mehreren Mangas oder in mehreren Comics vorkommen. Von einem Manga werdenTitel und Typ gespeichert - es gibt Karikatur-, Anime- und Comicstrip-Mangas. Von jedem Comic wird derTitel gespeichert und ob es bereits verfilmt wurde.