uml im Überblick – dipl. ing. ulrich borchert / fh merseburg1/24 klassendiagramm verwandte...
TRANSCRIPT
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 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
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}
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
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.
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
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.
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
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.
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
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.
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.
<<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
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)
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.)
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.
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.
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.
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.
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.
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.
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
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 23/24
Vertrag
Lebens-versicherung
Sach-versicherung
Partner
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 24/24
Notation Komponente
KomponenteSchnittstelle 1Schnittstelle 2
Laufzeitobjekt
Komponente