VU Objektorientierte Modellierung Übung 1

Ähnliche Dokumente
Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben?

VU Objektorientierte Modellierung Übung 1

VU Objektorientierte Modellierung Übung 2

VU Objektorientierte Modellierung Übung 1, Markus Schabel A U F G A B E 1

OBJEKTORIENTIERTE MODELLIERUNG VU. Übungsblatt 1. Bernhard Frömel Matr.-Nr Franz Rosskopfgasse 14, A-3470 Kirchberg am Wagram

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Unified Modelling Language

UML -Klassendiagramme

Programmiertechnik Objektorientierung

Vorlesung Programmieren

Kurzeinführung in UML

Objektorientierte Modellierung

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Objektorientierte Analyse (OOA) Strukturmodellierung

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Rückblick: Entity-Relationship-Modell

PRÜFUNG. Grundlagen der Softwaretechnik

SWE5 Übungen zu Software-Engineering

Objektorientierte Modellierung (1)

Einführung in die Programmierung

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

NACHRICHTENTECHNISCHER SYSTEME

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

01. Grundprinzipien der Vererbung

Informatik II Übung, Woche 17

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

Teil II: OOP und JAVA (Vorlesung 9)

PRÜFUNG. Grundlagen der Softwaretechnik

Einführung in die Programmierung

Abschnitt 15: Unified Modeling Language (UML)

Realität zu modellieren eine

Vorlesung "Software-Engineering"

1.3 Charakteristische Eigenschaften von objektorientierten Systemen

HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships

Vorlesung Informationssysteme

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Informatik I Eprog HS12

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)

Vgl. Oestereich Kap 2.4 Seiten

Einführung in die objektorientierte Programmierung

Aufgabenblatt: UML - Objektdiagramme

Einführung in die Informatik

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

Übungsaufgaben Softwaretechnologie

PROGRAMMIEREN IN. TINF13 - Sommersemester 2014 von Johannes Unterstein -

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Media Engineering. Objektorientierte Modellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Programmierkurs Java

Algorithmen und Datenstrukturen 06

Geoinformation I Datenmodellierung

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Javakurs für Anfänger

Übungsblatt 7. Thema: Sortieren, Objektorientierung

Bitte beachten: Die Vorschläge sind keine Musterlösung!

PRÜFUNG. Grundlagen der Softwaretechnik

Klausur Softwaretechnik

Objektorientierung. Objekte

Beziehungen zwischen Objekten

Einführung in die Informatik 1

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Objektorientiertes Design

UML - Statische Diagramme

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Java Einführung Objektorientierte Grundkonzepte

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (OOP) VERERBUNG

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen.

Klassendiagramm. (class diagram)

Übung 4. Musterlösungen

Klausur: Java (Liste P)

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

4. Übung zu Software Engineering

1 Klassen und Objekte

Angabe zum zweiten Beispiel des Laborübungsteils aus Datenmodellierung SS08

3. Konzepte der objektorientierten Programmierung

3 Objektorientierte Konzepte in Java

Konzeptueller Entwurf

3 Objektorientierte Konzepte in Java

Übungen Softwaretechnik I

UML. Weiteres Vorgehen im Projekt

Analyse und Design mit U ML 2.3

Software Engineering in der Praxis

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Aufgaben. Objektorientierte Programmierung

RUP Analyse und Design: Überblick

Grundlagen der Informatik 0

Transkript:

VU Objektorientierte Modellierung Übung Übungsgruppen: 3..2008-7..2008 Aufgabe : Strukturmodellierung mittels Klassendiagramm Theoriefragen Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. a) Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein Beispiel für eine Klasse mit mindestens je 3 Attributen und je 3 Operationen. Finden Sie zu dieser Klasse mindestens 3 Instanzen. b) Was sind Assoziationen und wofür werden diese benötigt? Welche Eigenschaften kann eine Assoziation haben? c) Was ist eine Assoziationsklasse? Wann ist es sinnvoll, eine solche einzusetzen? Finden Sie ein Beispiel. d) Beschreiben Sie den Unterschied zwischen starker und schwacher Aggregation. Geben Sie je ein Beispiel. Aufgabe 2: Strukturmodellierung mittels Klassendiagramm Theoriefragen 2 Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. a) Wann wird eine Generalisierung eingesetzt? Finden Sie ein Beispiel für eine Generalisierungshierarchie mit mindestens 3 Ebenen. Zeigen Sie, wie dieses in Java realisiert wird. b) Finden Sie ein Beispiel für Mehrfachvererbung. c) Was ist eine abstrakte Klasse? Was ist ein Interface? Wofür werden diese verwendet, worin besteht der Unterschied? Wie werden diese in Java-Programmen eingesetzt? d) Was ist ein Objektdiagramm? Worin bestehen die Unterschiede zwischen Objekt- und Klassendiagramm? Geben Sie ein Beispiel für ein Klassendiagramm und ein dazugehöriges Objektdiagramm. Aufgabe 3: Hierachien, Klassen, Instanzen und Attribute Gegeben sind folgende Begriffe: Schlange, Karpfen, Hund, Katze, Säugetier, Hase, Wal, Fisch, Vogel, Reptil, Papagei a) Finden Sie eventuelle Verallgemeinerungen und Gemeinsamkeiten dieser Klassen. b) Entwerfen Sie eine Vererbungshierarchie, wobei an der Spitze genau ein Element stehen soll. c) Geben Sie für jede Klasse 2 Attribute an (vererbte Attribute zählen nicht). d) Unterscheiden Sie zwischen konkreten und abstrakten Klassen - geben Sie für jede Klasse Ihrer Vererbungshierarchie an, ob diese konkret oder abstrakt ist. e) Finden Sie für jede konkrete Klasse mindestens 2 Instanzen.

<<abstract>> Faunaart - bekannt seit: Date - Name: String Fisch Säugetier Reptil Vogel - Wasserart: String - essbar: boolean - Gewicht: String - Fell: boolean - Lebensraum: String - Eierlebendgebärend: boolean - Schwanzfederanzahl: int - Schwimmhäute: boolean Karpfen - Schuppenfarbe: int - Karpfenart: String Schlange - Giftig: boolean - Klappern: boolean Papagei - kannsprechen: boolean - Schwarmgröße: int Klapperschlange Blindschleiche Wal Hund Katze Hase - Planktonfresser: boolean - Zähne: boolean - Rasse: String - Fellfarbe: String - Gattung: String - kastriert: boolean - Fellfarbe: String - domestiziert: boolean Graupapagei Ara Spiegelkarpfen Lederkarpfen Blauwal Buckelwal Golden Retriever Zwergdackel Norwegische Waldkatze Britisch Kurzhaar Zwerghase Feldhase Gegeben sind folgende Begriffe: Angestellter, Doktor, getname, Paul, Gehalt, Lehrer, Beruf, Sozialversicherungsnummer, Name, Titel, printinfo, Alter, Adresse Teilen Sie obige Begriffe in Klassen, Attribute, Methoden und Objekte ein. Gibt es Mehrdeutigkeiten? Klasse: Angestellter, Doktor, Lehrer Attribut: Gehalt, Beruf, Sozialversicherungsnummer, Name, Titel, Alter, Adresse Methode: getname, printinfo Instanz: Paul

Aufgabe 4: Assoziation, Aggregation, Komposition und Generalisierung Erläutern Sie die Eigenschaften, die besonderen Varianten und Unterschiede von Assoziation, Aggregation, Komposition und Generalisierung anhand folgender Beispiele. Wählen Sie für die einzelnen Teilaufgaben jeweils das aus Ihrer Sicht am besten geeignete Modellierungskonstrukt. a) Sowohl Sportler als auch Studenten sind Personen. Sportstudenten sind Sportler und Studenten. Person Sportler Student Sportstudent b) Eine Person nimmt an mehreren Lottoziehungen teil, an einer Lottoziehung nehmen mehrere Personen teil. Bei jeder Lottoziehung erzielt jede Person einen (unterschiedlich hohen) Gewinn. Person Lottoziehung Gewinn - Gewinnhöhe: int c) Gaststätte: Eine Bestellung wird entweder von einem Kellner serviert oder an der Theke vom Barkeeper verkauft. Bestellung Barkeeper {XOR} Kellner d) Ein Team kann aus mehreren Teams bestehen, das beliebig viele Teammitglieder hat. Ein Teammitglied ist entweder Vereinsmitglied oder Gast. Zu jeder Person die im Team ist wird der Name, das Geburtsdatum und eine Beschreibung gespeichert. Gäste sind eingeladen von einem Vereinsmitglied. Team Teammitglied besteht aus - Name: String - Geburtsdatum: Date - Beschreibung: String Vereinsmitglied Gast lädt ein

e) In einem Zeichenprogramm soll die Gruppierung von beliebig vielen Formen (Shape) zu einer Gruppe (Group) modelliert werden. Es gibt die Formen Rectangle, Square, Polygon. Shape Group Rectangle Square Polygon f) In einem Anmeldesystem für Prüfungen darf ein Student immer nur eine Prüfung zu einem Termin ablegen. Termin 0.. Prüfung 0.. Student g) Die Mitarbeiter eines Supermarktes sind leitende Angestellte und normale Angestellte. Die normalen Angestellten werden weiter in Vollzeitarbeitskräfte und Teilzeitarbeitskräfte unterteilt. Mitarbeiter Leitender Angestellter Normaler Angestellter Vollzeitarbeitskraft Teilzeitarbeitskraft h) Ein Einkauf beinhaltet mehrere Massenartikel. Einkauf Massenartikel i) Ein Kunde führt immer entweder eine Barzahlung, oder eine Bankomatkartenzahlung durch. Kunde Barzahlung {XOR} Bankomatkarten zahlung

Aufgabe 5: Wahr oder falsch? Es ist folgendes UML-Modell gegeben: B D A C {XOR} E M «abstract» F.. + x: int # y: String G + z: int H I J K L 3 5 0.. Sind die nachfolgenden Aussagen wahr oder falsch? a) Ein Objekt einer Subklasse von F steht in Beziehung zu genau einem Objekt von M. WAHR b) Es gibt genau 3 Objekte von J die zu genau 5 Objekten von K in Beziehung stehen. FALSCH c) Ein Objekt von C steht in Beziehung zu 0, oder mehreren Objekten von D und 0, oder mehreren Objekten von E. FALSCH d) Objekte von C und G können direkt auf y zugreifen. FALSCH e) H erbt alle Attribute von G. FALSCH f) Ein Objekt von L kann in einem Objekt von K enthalten sein, muss aber nicht. FALSCH g) Ein Objekt von G kann in einem Objekt von H enthalten sein. FALSCH h) Ein Objekt von I kann mit 0 Objekten von C in Beziehung stehen. WAHR i) J erbt alle Attribute von F. WAHR j) Ein Objekt von I muss mit genau einem Objekt von F in Beziehung stehen. FALSCH Aufgabe 6: Veranstaltungsagentur Eine Veranstaltungsagentur benötigt ein Programm zur Planung ihrer Aufträge. Teilnehmer einer Party sind die Mitarbeiter und natürlich die Gäste. Von den Teilnehmern sind InName und Adresse bekannt; zusätzlich wird von den Mitarbeitern noch die Sozialversicherungsnummer und von den Gästen eine Kontaktadresse abgespeichert. Für die Party wird eine Location zu einem bestimmten Preis durch einen Mitarbeiter gemietet. Von der Location ist die Ausstattung (z.b. Tanzfläche, Bar) bekannt. DJs (spezielle Mitarbeiter) besitzen ihr eigenes Equipment (Plattenspieler, Plattenkoffer, PA Anlage). Für den Plattenspieler wird die Type und bei den Plattenkoffern die Kapazität vermerkt. Falls verfügbar wird zum DJ auch seine Playlist gepeichert, in der die von ihm derzeit aufgelegten Platten mit Titel, Interpret und Label stehen. Die Platten sind einem Plattenkoffer zugeordnet. Modellieren Sie diesen Sachverhalt in einem UML-Klassendiagramm und treffen Sie für die fehlenden Angaben vernünftige Annahmen.

Teilnehmer - name: String - adresse: String Gast Mitarbeiter DJ 0.. Playlist - kontaktadresse: String Location - ausstattung: String - SVNR: int Party besitzt Equipment Info - preis: int Plattenspieler Plattenkoffer PA Anlage - type: String - kapazität: int Platte - titel: String - interpret: String - label: String