UML - Objektdiagramme

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

Einführung in die OOP mit Java

Vorlesung "Software-Engineering"

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

Klassendiagramm. (class diagram)

Algorithmen und Datenstrukturen 07

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Java Einführung Klassendefinitionen

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Software Engineering Klassendiagramme Einführung

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

Java-Programmierung mit NetBeans

Java: Vererbung. Teil 3: super()

01. Grundprinzipien der Vererbung

UML (Unified Modelling Language) von Christian Bartl

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

OOSE 9 OOA: Klassen und Objektdiagramme (Hörsaalübung)

Einführung in die Programmierung mit Java

Test-Driven Design: Ein einfaches Beispiel

Programmieren in Java

Code-Erzeugung aus UML-Klassendiagrammen

1 Überblick 1. 4 Literatur 21

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

Assoziation und Aggregation

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

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

Algorithmen und Datenstrukturen

Repetitorium Informatik (Java)

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

Assoziation und Aggregation

Objektorientierte Analyse (OOA) Logischer Aufbau (statische Sicht)

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Einführung in die Programmierung mit Java. Hörsaalübung

Von der UML nach C++

Einführung in die Programmierung

SWE5 Übungen zu Software-Engineering

Software Engineering. 6. Klassendiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering Klassendiagramme weiterführende Konzepte

Konzeptueller Entwurf

Unified Modeling Language (UML)

Labor Modellgestütztes Software Engineering. Versuch 1

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Java Einführung Methoden in Klassen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Technische Universität München WS 2011/12 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 31.

3. Konzepte der objektorientierten Programmierung

RUP Analyse und Design: Überblick

Dokumentation des Projektes Tic Tac Toe

Software-Engineering Software-Management

Javakurs für Anfänger

4. AuD Tafelübung T-C3

Inhalte der Veranstaltung

Aufbau von Klassen. class punkt {...

Beziehungen zwischen Objekten

Kurzeinführung in UML

Informatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen

Vorlesung Programmieren

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

Software Engineering Interaktionsdiagramme

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Zusammenfassung M226

UML 2.0 Das umfassende Handbuch

Objekt-Orientierte Programmierung

Kurzreferenz UML. Autor: Michael Puff. Stand:

Grundbegriffe der Objektorientierung

Unified Modeling Language (UML )

Rückblick: Entity-Relationship-Modell

Objektorientierte Programmierung. Kapitel 12: Interfaces

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

3 Objektorientierte Konzepte in Java

Klassenbeziehungen & Vererbung

Abschnitt 15: Unified Modeling Language (UML)

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

4. Informatiktag NRW Projekt online Shop. Barbara Leipholz Schumacher Euregio Kolleg, Würselen

Unified Modeling Language 2

Ergänzungsmaterial g zum Kapitel. Die Unified Modeling Language (UML) Aggregation versus Komposition

Programmieren in Java

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Vererbung. Martin Wirsing. Ziele. Vererbung

Softwarepraktikum: Enigma

Javakurs für Anfänger

Objektorientierte Programmierung

Programmieren in Java

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Interaktionsdiagramme in UML

VU Objektorientierte Modellierung Übung 1

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

VU Objektorientierte Modellierung Übung 1

Einführung in die Informatik

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Transkript:

UML - Objektdiagramme

Klassendiagramme vs Objektdiagramme I Ein Klassendiagrammzeigt eine Menge von Klassen und ihre Beziehungen. Sie stellen die statische Entwurfsschicht eines Systems dar: CFirma 1 1..100 CPerson Ein Objektdiagramm zeigt eine Menge von Objekten und ihre Beziehungen. Sie zeigen statische Momentaufnahmen der Instanzen von Klassendiagrammen mycomp:cfirma name= Xterm-Inate noofemployees=15 myemployee1:cperson nickname= Lucid Lynx codinglang= C++ myemployee2 :CPerson nickname= Maverick Meerkat codinglang= D

Klassendiagramme vs Objektdiagramme II Instanzname(optional) Klassenname Ausprägungen der Attribute myemployee1:cperson nickname= Lucid Lynx codinglang= C++

Objektdiagramm: 1:1 Assoziationen Land 0..1 1 hat Hauptstadt Stadt Klassen diagramm bonn:stadt ist keine Hauptstadt nrw:land dd:stadt ist Hauptstadt illegal: mehrere Hauptstädte nrw:land bayern:land dd:stadt m:stadt illegal: ist mehrfache Haupstadt illegal: hat keine Hauptstadt takatuka:land

Objektdiagramm: 1:N Assoziationen Polygon 0..1 3..* hat Eckpunkt Punkt Klassen diagramm :Polygon :Punkt :Punkt :Punkt :Punkt Polyon mit 4 Ecken :Punkt Singulärer Eckpunkt illegal: Zu wenig Eckp. :Polygon :Punkt illegal: Zu wenig Eckp. :Polygon :Punkt illegal: mehrfacher Eckpunkt illegal: Zu wenig Eckp. :Polygon

Objektdiagramm: M:N Assoziation Firma * * Person Klassen diagramm hat mehrere Arbeitnehmer zeitarbeit:firma claudia:person hat einen Job hat einen Arbeitnehmer ichag:firma peter:person hat mehrere Jobs hat keinen Arbeitnehmer briefkasten:firma opa:person hat keinen Jobs

Objektdiagramm: Aggregation I Pfad * * Segment Ist Teil von Teile dürfen in mehreren Ganzen enthalten sein Ihre Lebensdauer ist nicht von der des Ganzen abhängig B C A Die roten Segmente sind Teile der Pfade AB und AC: Ein Pfad besteht aus mehreren Segmenten, das Segment kann aber ohne den Pfad existieren!

Objektdiagramm: Aggregation II Pfad * * Segment s1:segment AB:Pfad r1:segment AC:Pfad r2:segment s2:segment s3:segment

Objektdiagramm: Komposition I * Unterabteilung Firma 1 1..* Abteilung ist ausschließliches Teil von -Beziehung Lebensdauer des Teils endet mit Lebensdauer des Ganzen 1 Hauptabteilung Codfather Company Development Testing Sales D1 D2 D3 T1 T2 T3 S1 S2 S3

Objektdiagramm: Komposition II * Firma Abteilung 1 Hauptabteilung CFC:Firma Dev:Abteilung Testing:Abteilung Sales:Abteilung d1:abteilung d2:abteilung d3:abteilung t1:abteilung t2:abteilung t3:abteilung s1:abteilung s2:abteilung s3:abteilung

Objektdiagramme Beispiel Ia Ist eine Momentaufnahme der aktuellen Objekte: Objektdiagramm: Klassendiagramm: Klassenname Attribute

Objektdiagramme Beispiel Ib public class Paar{ private Person[] personen; public Paar(Person a, Person b){ personen = new Person[2]; personen[0] = a; personen[1] = b; } public static void main(string args[]) {. Paar paar = new Paar(p1, p2); } Internes Array für die Personenliste Im Konstruktor werden zwei Personen festgelegt Zuweisung der Personen im Konstruktor

Objektdiagramme Beispiel Ic public class Gruppe { private List<Person> personen; public Gruppe(){ personen = new Vector<Person>(); } public void addperson(person person){ personen.add(person); } public void removeperson(person person){ personen.remove(person); } } Internes Array für die Personenliste Im Konstruktor wird die Vector-Klasse festgelegt Zufügen einer Person Entfernen einer Person

Objektdiagramme Beispiel IIa Ist eine Momentaufnahme der aktuellen Objekte: Objektdiagramm: Klassendiagramm:

Objektdiagramme Beispiel IIb public static void main(string args[]) {... Gruppe gruppe = new Gruppe(); gruppe.addperson(p1); gruppe.addperson(p2); gruppe.addperson(p3); gruppe.removeperson(p1); } Drei Personen zufügen Erste Person entfernen

Objektdiagramme Beispiel IIIa Klassendiagramm:

Objektdiagramme Beispiel IIIb Objektdiagramm:

Objektdiagramm: Assoziationsklassen und n-äre Assoziation Hier: https://www.sparxsystems.de/ressourcen/literatur/leseprobe-zu-projektabwicklung-mit-uml-und-enterprise-architect/klassendiagramm-class-diagram/