UML -Klassendiagramme

Ähnliche Dokumente
8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Algorithmen und Datenstrukturen 06

Vorlesung Programmieren

Einführung in die OOP mit Java

Unified Modeling Language 2

Objektorientierte Analyse (OOA) Strukturmodellierung

UML (Unified Modelling Language) von Christian Bartl

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

Software Engineering Klassendiagramme Einführung

Teil II: OOP und JAVA (Vorlesung 9)

Das umfassende Handbuch

Klassendiagramm. (class diagram)

Analyse und Modellierung von Informationssystemen

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

Einführung in die Programmierung

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

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

Vorlesung Programmieren

Algorithmen und Datenstrukturen 07

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

Themen. Unified Modelling Language (UML) Assoziation. Aggregation. Komposition

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

UML 2.0 Das umfassende Handbuch

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

Rückblick: Entity-Relationship-Modell

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

10. Programmierungs-Phase: Objektorientierung Software Engineering

Kurzeinführung in UML

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

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

Abschnitt 15: Unified Modeling Language (UML)

Analyse und Modellierung von Informationssystemen

Unified Modeling Language (UML)

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

4. Übung zu Software Engineering

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

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

Objektorientierte Programmierung OOP

Software Engineering Klassendiagramme weiterführende Konzepte

Übungen Softwaretechnik I

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

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

UML. Weiteres Vorgehen im Projekt

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

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein

01. Grundprinzipien der Vererbung

Javakurs für Anfänger

Beziehungen zwischen Objekten

Java. Prof. Dr. Stefan Enderle NTA Isny

Assoziation und Aggregation

6. Globalübung (zu Übungsblatt 8)

Vorlesung "Software-Engineering"

UML Eine kurze Einführung

VU Objektorientierte Modellierung Übung 2

Übersicht. Softwarearchitektur. Softwarearchitektur, UML, Design Patterns und Unit Tests. Softwarearchitektur

Vorlesung Datenstrukturen

3. Konzepte der objektorientierten Programmierung

UML Eine kurze Einführung

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

Objektorientierte Softwareentwicklung

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Grundbegriffe der Objektorientierung

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

1 Überblick 1. 4 Literatur 21

J.2 Objektorientiertes Modellieren mit UML

Unified Modeling Language (UML )

Einführung in die Programmierung mit Java

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

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

Die Unified Modeling Language UML

Objektorientierte Modellierung (1)

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Arbeitsblätter zu Teil I des Praktikums

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

Inhalte der Veranstaltung

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

4. AuD Tafelübung T-C3

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

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Programmieren in Java

UML - Tutorial. Hubert Baumgartner.

PRÜFUNG. Grundlagen der Softwaretechnik

VU Objektorientierte Modellierung Übung 1

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

Java Einführung Objektorientierte Grundkonzepte

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Objektorientierte Analyse (OOA) Inhaltsübersicht

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

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

Darstellung von Assoziationen

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Transkript:

UML -Klassendiagramme

UML - offline: ArgoUML http://argouml.stage.tigris.org/

UML online: Links genmymodel.com umlet.com/umletino/umletino.html

Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm Klassendiagramm Anwendungsfalldiagramm Interaktionsdiagramm Objektdiagramm Sequenzdiagramm 13.a 13.c 13.e 13.d

Klassendiagramm I Darstellung von Klassen unabhängig von der Programmiersprache Ist ein Strukturdiagramm Verwendung: Beschreibung eines im Code umgesetzten Programmes Modellierung eines Sachverhalts vor der konkreten Umsetzung in eine Programmiersprache Ohne Bezeichnung sind Attribute private, Methoden public Statische Methode/Attribute: Unterstreichung

Klassendiagramm II -: private +: public #: protected Klassenname unterstreichen: static

Beziehungen in Klassendiagrammen I Arten von Beziehungen: Generalisierung(Vererbung) Realisation(Implementierung) [ Abhängigkeit(Objekt von Klasse) ] Assoziation * Spezialfall: Aggregation Spezialfall: Komposition Aggregation, wo Objekte Teile eines anderen Objekts sind!

Realisierung(Vererbung) public class GeometrischeFigur{...} public class Kreis extends GeometrischeFigur {...} public class Dreieckextends GeometrischeFigur{...} public class Rechteckextends GeometrischeFigur{...} Vererbung

Generalisierung(Implementierung) Stereotyp im Namensfeld Methodensignaturen Implementierung

Abhängigkeit(Objekt von Klasse) Zeigt die Abhängigkeit Klasse Objekt Ist eine Mischung aus Klassen-und Objektdiagramm Reine Objektdiagramme werden im nächsten Teil behandelt Dienen im Java-Editor und BlueJum Klassen zu testen

Assoziationen Allgemeine Informationen Assoziation bilden die Beziehungen zwischen Klassen ab Sie können mit Multiplizitäten versehen werden Eine Multiplizität gibt den Bereich der erlaubten Kardinalitäten an Eine Kardinalität bezeichnet die Anzahl der zulässigen Objekte Keine Angabe: 1 Können durch einen Namen bezeichnet werden

Assoziationen - Übersicht Multiplizität Bezeichnung & Richtung der Bezeichnung Firma 1 beschäftigt 1..100 Arbeitgeber Mitarbeiter Person Rollenname von Firma zu Person Rollenname von Person zu Firma

Assoziationen: Verbindungsarten Person Geschäft Eine Richtung Zwei Richtungen Adresse Adresse

Assoziationen: Bezeichungen und Bezeichnungsrichtung Bezeichnung Richtung der Bezeichnung Student besucht Vorlesung Beschreibt Navigation: Beide Richtungen Vorlesung besucht Student

Assoziationen: Multiplizitäten I Pro Vorlesung können 0 bis 100 Studenten teilnehmen Ein Student kann 0 oder mehr Vorlesungen besuchen Student 0..100 * Vorlesung Varianten: *: 0 odermehr 3: genau3 1..*: 1 odermehr 10..30: 10 to 30

Assoziationen: Multiplizitäten II Jede Instanz von B kann mit x Instanzen von A assoziiert sein Jede Instanz von A kann mit y Instanzen von B assoziiert sein A x y B Die Multiplizität am jeweiligen Ende einer Assoziation gibt an, mit wie vielen Zielobjekten ein Quellobjekt in Beziehung stehen kann

Assoziationen: Rollen Großhandel Verkäufer Händler Käufer Verkäufer Endkunde Käufer

Assoziationen: n-äre Assoziationen Vorspeise * Hauptgericht 1..* * Dessert

Assoziationen: Rekursive Assoziationen 0..1 Chef Mitarbeiter * Untergebener ist Vorgesetzer von

Beziehungen in Klassendiagrammen - Übersicht Aggregation Assoziation Komposition

Assoziation: Spezialfall Aggregation Paar 1 2 Person Komposition Komponente Objekte der Klasse Person können zu Objekten der Klasse Paar gehören, Person-Objekte können aber auch allein existieren Ein Ganzes enthält mehrere Teile

Assoziation: Spezialfall Komposition Firma besteht aus 1 1..* Abteilung Die gefüllte Raute wird als Komposition bezeichnet und drückt aus, dass Objekte der Klasse Abteilung nur dann existieren können, wenn das/die zugehörigen Objekte der Klasse Firma existieren. Stirbt das Objekt der Klasse Firma, müssen auch die zugehörigen Objekte der Klasse Abteilung sterben. Umgekehrt, wird ein Abteilung-Objekt gelöscht, bleibt das zugehörige Firma-Objekt davon unberührt

Assoziation: Spezialfall Komposition II Firma besteht aus 1..* Abteilung Keine Angabe auf der (linken) Kompositionsseite: 0..1! Gleichwertig zu oben: Firma besteht aus 0..1 1..* Abteilung

Assoziation: Spezialfall Komposition III http://www.jot.fm/issues/issue_2004_11/column5/

Assoziation: Beispiel Komposition/Aggregation? Ein Saalplan hat beliebig viele Plätze, aber mindestens einen. Ein Platz gehört genau zu einem Saalplan. Jeder Saalplan gehört zu einer Veranstaltung. Eine Veranstaltung kann beliebig viele Saalpläne enthalten. Der Saalplankönnte auch zu einer anderen Veranstaltung zugeordnet werden (Aggregation), muss allerdings immer eine Veranstaltung haben. Der Platz gehört zu einem Saalplan, diese Beziehung kann nicht geändert werden (Komposition).

Beispiele I -Zoo Ein Zoo besteht aus mehreren Käfigen. Käfige enthalten Tiere. Tiere werden in Unterklassen genauer spezifiziert. Die Klasse Tier ist abstrakt, von ihr dürfen keine Objekte erzeugt werden.

Beispiele II - Boat Abhängigkeit Realisation Assoziation Spezialisierung

Beispiele III - Auto