24
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/24 Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik Definition Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser Definition. Notation Klassen werden durch Rechtecke dargestellt, die entweder nur den Namen der Klasse (fettgedruckt) oder zusätzlich Attribute und Operationen tragen. Diese Rubriken werden durch horizontale Linien getrennt. Formell sind Klassennamen Substantive im Singular und werden groß geschrieben, in Ausnahmefällen auch im Plural.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

Embed Size (px)

DESCRIPTION

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24. Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik Definition - PowerPoint PPT Presentation

Citation preview

Page 1: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/24

Klassendiagramm

Verwandte Begriffe: class, Typ, Objektfabrik

Definition

Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für

eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser

Definition.

Notation

Klassen werden durch Rechtecke dargestellt, die entweder nur den Namen der

Klasse (fettgedruckt) oder zusätzlich Attribute und Operationen tragen. Diese

Rubriken werden durch horizontale Linien getrennt. Formell sind Klassennamen

Substantive im Singular und werden groß geschrieben, in Ausnahmefällen auch

im Plural.

Page 2: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/24

Notationsbeispiele

Klasse

Klasse

Attribut 1Attribut 2

Klasse

Operation 1 ()Operation 2 ()

KlasseKlasse

Klasse

Attribut 1Attribut 2

Option 1 ()Option 2 ()

Operation 1 ()Operation 2 ()

Attribut 1Attribut 2

Page 3: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/24

Klassen

In der obersten Rubrik (Klassenname) stehen oberhalb des Klassennamens in

doppelt spitzen Klammern die Klassen-Stereotypen (z.B. Fachklasse) und

unterhalb des Klassennamens in geschweiften Klammern die Eigenschaftswerte

(z.B.:).

Dem Klassennamen kann der Name eines Paketes vorangestellt werden. Wobei

zwei Doppelpunkte Paketname und Klassenname trennen.

<<Stereotype>>Paket::Klasse

{Eigenschaftswert}

attribut: Typ Initialwert {Zusicherung}

operation (Parameter) {Zusicherung}

Page 4: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/24

Kreis

radius (radius>0)mittelpunkt: Point=(10,10)

anzeigen ()entfernen ()

setPosition (pos:Point)setRadius (neuerRadius)

Klassenname

AttributnameZusicherung

Initialwert

Operationen

Attribut-Typ

Page 5: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/24

Parametrisierbare Klassen

Verwandte Begriffe: Schablone, Klassenvorlage, generische Klasse

Definition

Eine parametrisierte Klasse ist eine mit generischen formalen Parametern

versehene Schablone, die mit der gewöhnlichen Klasse erzeugt werden können.

Die generischen Parameter dienen als Stellvertreter für tatsächliche Parameter.

Notation

Grundlagen, wie die normale Klasse, enthalten aber in der rechten oberen Ecke

im gestrichelten Rahmen ein Rechteck.

Page 6: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/24

Warteschlange

anfügen()entnehmen()

i:Element

Stau

Wartezimmer

Warteschlange <PKW>

<<bind>>(Patient)

<<bind>>(PKW)

Alternativ

Page 7: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/24

Abstrakte Klassen

Verwandter Begriff: Virtuelle Klasse

Definition

Von einer abstrakten Klasse werden niemals Exemplare erzeugt; sie ist

bewusst unvollständig und bildet somit die Basis für weitere Unterklassen, die

dann ihrerseits Exemplare haben können.

Abstrakte Klassen repräsentieren häufig einen Allgemeinbegriff, einen

Oberbegriff für eine Menge konkreter Begriffe.

Beispiel: <Fahrzeug> Fahrrad, PKW, LKW, Bahn usw.

Notation

Wie Klasse mit Eigenschaftswert abstrakt. Für handschriftliche

Aufzeichnungen reicht die Bezeichnung {A} aus.

Page 8: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 8/24

Geometrische Figur

Dreieck RechteckKreis

Figurenform Diskriminator

Abstrakte Klasse

Person {1}

Jurist. Person Natürl. Person

Page 9: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 9/24

Schnittstellenklasse

Verwandte Begriffe: Interface class

Definition

Schnittstellenklassen sind abstrakte Klassen (genauer Typen), die

ausschließlich abstrakte Operationen ausführen. Schnittstellenklassen

können andere Klassen erweitern.

Notation

Wie gewöhnliche Klasse, aber mit dem Stereotyp <<interface>>.

Sie besitzen keine Attribute, sondern nur Operationen.

Page 10: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 10/24

String

isEqual(String):BooleanisGreater(String):Boolean

length():integer

<<interface>>sortierbar

isEqual(Object):BooleanisGreater5(Object):Boolean

Nutzer 1

<<interface>>Interface C

Anbieter

Nutzer 2

Alternativ: „Lolli Schnittstelle“

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

Interface A

Interface B

Interface C

Page 11: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 11/24

Objekt

Verwandte Begriffe: Exemplar, Instanz

Definition

Ein Objekt ist eine im laufenden System konkret vorhandene und agierende

Einheit. Jedes Objekt ist ein Exemplar seiner Klasse. Ein Objekt enthält durch

Attribute repräsentierte Informationen, deren Struktur in der Klasse definierte

Nachrichten empfangen. Das durch Nachrichten definierte Verhalten gilt für

alle Objekte gleichermaßen, ebenso die Struktur ihrer Attribute. Die Werte der

Attribute sind jedoch für jedes Objekt individuell.

Page 12: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 12/24

Notation

Objekte werden durch Rechtecke dargestellt, die entweder nur ihren Namen

tragen oder zusätzlich den Namen ihrer Klasse oder auch die Werte

bestimmter oder aller Attribute. Werden Attributwerte angegeben, wird das

Rechteck horizontal aufgeteilt. Zur Unterscheidung von der Klassennotation

wird der Objektname unterstrichen. Zusätzlich beginnt der Objektname mit

einem Kleinbuchstaben.

Page 13: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

<<instance of>>

Multiobjekt *

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 13/24

Notation Objekt

Objekt

objekt /Rolle:Klasse:Klasseobject:Klasse

attribut=wert

objektKlasse

Für eine Menge gleichartiger Objekte kann vereinfacht ein so genanntes Multiobjekt notiert werden.

Multiobjekt * MultiobjektMultiobjekt

Beispiel

ein Kreis:Kreis

radius = 25mittelpunkt = (10,10)

Exemplarname

Attributnamen

Klassenname

Attributwerte

Page 14: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 14/24

Attribut

Verwandte Begriffe: attribute, Variable, Instanzvariable, Datenelement

Definition

Ein Attribut ist ein (Daten-) Element, das in jedem Objekt einer Klasse

gleichermaßen enthalten ist und von jedem Objekt mit einem individuellen Wert

repräsentiert wird. Im Gegensatz zu Objekten haben Attribute außerhalb des

Objekts, von dem sie ein Teil sind, keine eigene Identität. Attribute sind

vollständig unter der Kontrolle der Objekte, von denen sie ein Teil sind.

Über Zusicherungen kann der Wertebereich eines Attributwertes eingeschränkt

werden (gegebenheitsabhängig). Mit der Angabe von Eigenschaftswerten

können besondere Eigenschaften beschrieben werden. (Bsp. Read only)

Page 15: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 15/24

Varianten

Abgeleitete Attribute werden innerhalb eines Objektes automatisch

berechnet

Klassenattribute Programmiersprachenunabhängig, Attribute außerhalb

eines Objektes, aber alle Objekte einer Klasse können

darauf zugreifen

Sichtbarkeit

Public für alle sichtbar und benutzbar

Protected Klasse selbst, Unterklassen und als „friend“ deklarierte Klassen

haben Zugriff

Privat nur die Klasse selbst und die als „friend“ deklarierten Klassen haben

Zugriff

(„friend“ ist ein C++ bekannter Mechanismus, mit dem eine Klasse

ausgewählten anderen Klassen Zugriffsrechte gewähren kann.)

Page 16: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 16/24

Operationen

Verwandte Begriffe: Methode, Service, Prozedur, Routine, Funktion, Botschaft,

Nachricht (Message), Dienstleistung

Definition

Operationen sind Dienstleistungen, die von einem Objekt angefordert werden

können. Sie werden beschrieben durch ihre Signatur (Operationsname,

Parameter). Eine Methode implementiert eine Operation, die eine Sequenz von

Anweisungen ist.

Eine Nachricht überbringt einem Objekt die Information darüber, welche Aktivität

von ihm erwartet wird und fordert es so zur Ausführung einer Operation auf.

Eine Operation trägt innerhalb einer Klassendefinition eine eindeutige Signatur,

die sich aus dem Namen eventuell vorhandener Parameter (Argumente)

und/oder vorhandener Rückgabewerte (Funktionsergebnis) ergibt.

Operationen können Zusicherungen und Eigenschaftswerte n haben.

Page 17: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 17/24

Anforderung

Verwandte Begriffe: requirement, Forderung

Definition

Anforderungen sind Aussagen über zu erbringende Leistungen. Durch sie wird der

Funktions- und Leistungsumfang eines Produktes beispielsweise der zu

erstellenden Software beschrieben.

Anforderungen beschreiben nicht nur die Funktionalität eines Systems (Was soll

erstellt werden?), sondern auch auf welche Art (mit welcher Qualität?) das

Verhalten für den Nutzer bereitgestellt wird.

Anforderungen sollten für alle Projektbeteiligten

• eindeutig

• vollständig und widerspruchsfrei

• umsetzbar und

• testbar verständlich formuliert sein.

Page 18: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 18/24

Zusicherung (Einschränkung)

Verwandte Begriffe: constraint, assertion, Einschränkung, Integritätsregel,

Bedingung, Eigenschaftswert, Stereotyp, Invariante

Definition

Eine Zusicherung ist ein Ausdruck, der die möglichen Inhalte, Zustände oder die

Semantik eines Modellelementes einschränkt und der stets erfüllt sein muss.

Zusicherungen in boolscher Form werden „assertions“ genannt.

Object Constraint Language

ist eine einfache formale Sprache, mit der UML-Modellen weitere Semantik

hinzugefügt werden kann, die mit den übrigen UML-Elementen nicht oder nur

umständlich ausgedrückt werden kann.

Page 19: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 19/24

Eigenschaftswert

Verwandte Begriffe: proberty string, tagged value, Merkmal, Charakteristikum,

Zusicherung

Definition

Eigenschaftswerte sind benutzerdefinierte, sprach- und werkzeugspezifische

Schlüsselwort-Wert-Paare, die die Semantik einzelner Modellelemente um

spezielle charakteristische Eigenschaften erweitern.

Page 20: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 20/24

Subsystem, Paket, Komponente

Verwandter Begriff: gegenseitig

Definitionen

Subsystem:

Teil eines Gesamtsystems, das nach außen durch eine Schnittstelle definiert ist

und das die Struktur und die Zusammenarbeit seiner Einzelteile versteckt.

Pakete:

sind Ansammlungen von Modellelementen beliebigen Typs, mit denen das

Gesamtmodell in kleinere überschaubarere Einheiten gliedert. Ein Paket

definiert deinen Namensraum, d.h. innerhalb eines Paketes müssen die Namen

der enthaltenen Elemente eindeutig sein. Jedes Modellelement kann in anderen

Paketen referenziert werden, gehört aber zu genau einem (Heimat-)Paket.

Pakete können wiederum Pakete beinhalten. Das alleroberste Paket beinhaltet

das gesamte System.

Page 21: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 21/24

Komponente:

Ist eine ausführbare und zur prinzipiellen Austauschbarkeit vorgesehene

Softwareeinheit mit definierten Schnittstellen und eigener Identität.

Page 22: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 22/24

Notation, Subsystem, Paket, Komponente

Subsystem

<<subsystem>>Subsystem Subsystem

Paket

Lebens-versicherung

Sach-versicherung

Vertrag

Page 23: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 23/24

Vertrag

Lebens-versicherung

Sach-versicherung

Partner

Page 24: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/24

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 24/24

Notation Komponente

KomponenteSchnittstelle 1Schnittstelle 2

Laufzeitobjekt

Komponente