Objektorientierte Modellierung
mit UML
Verteilungsdiagramm
Der vorliegende Foliensatz basiert auf:
M. Seidl, M. Brandsteidl, C. Huemer, G. Kappel: UML@Classroom, dpunkt.verlag, 2012.
C. Larman: UML 2 und Patterns angewendet, mitp-Verlag, 2005.
1
UML im Projektverlauf
am Beispiel des Unified Process
Anwendungsfalldiagramm
Klassendiagramm
(Domänenmodell)
Klassendiagramm
(technisches Modell)
Aktivitätendiagramm
Sequenzdiagramm
Komponentendiagramm
Verteilungsdiagramm
Zustandsdiagramm
Quelle: Rational Software
Verteilungsdiagramm
2
Diagrammart
Strukturdiagramm
Klassendiagramm
Verteilungsdiagramm
Objektdiagramm
Inhalt
Einführung
Knoten
Artefakt
Kompositionsstrukturdiagramm
Anwendungsfalldiagramm
Interaktionsdiagramm
Kommunikationsdiagramm
Zeitdiagramm
«client workstation»
: GenericPC
«browser»
: WebBrowser
HTTP
Interaktionsübersichtsdiagramm
«server»
: Dell PowerEdge 3600
{ OS=Red Hat Enterprise Linux 4 }
«web server cluster»
: Apache 2.1
{ clusterCount = 4 }
Ajpv13
«servlet container»
: Tomcat 6
{ JVM = Sun Hotspot 2.0 }
«artifact»
webstore.war
«server»
: Dell PowerEdge 3400
SQL
device node
execution
environment
node
«OS»
: Red Hat Enterprise Linux 4
«database»
: PostgreSQL 10
Zustandsdiagramm
Aktivitätsdiagramm
«artifact»
MyRichGUIClient.exe
a communication path can
indicate the protocol
Verteilungsdiagramm
Verteilungsdiagramm
«client workstation»
: GenericPC
TP
HT
Einsatzspezifikation
Beispiel
Komponentendiagramm
Sequenzdiagramm
/
AP
SO
Manifestation
Verteilung
Paketdiagramm
Verhaltensdiagramm
alternate
notation for
an artifact
webstore.war
3
Verteilungsdiagramm
Einführung
Modellierung der eingesetzten Hardware- und
Softwaretopologie
Knoten und Kommunikationsbeziehungen
Modellierung des zugeordneten »Laufzeitsystems«
Artefakte
Einsatzspezifikationen (Manifestationen)
Verteilungsdiagramm kann auf Typ- oder Instanzebene
modelliert werden
Verteilungsdiagramm
4
Verteilungsdiagramm
Knoten 1/2
Knoten repräsentieren Geräte oder Ausführungsumgebungen, auf die Artefakte verteilt werden
Gerät «device» repräsentiert Hardware und besitzt
Rechenkapazität
Ausführungsumgebung «execution env» repräsentiert die
notwendige Software, um das Laufzeitsystem auszuführen
Verteilungsdiagramm
5
Verteilungsdiagramm
Knoten 2/2
Hierarchische Knoten können durch Schachtelung
oder durch interne Strukturen erstellt werden
Kommunikationsbeziehungen sind spezielle
Assoziationen und können durch Stereotypen
näher definiert werden
Beispiel:
«device»
calServer:Host
«execution env»
:J2EE Server
«internet»
«device»
calClient:PC
Verteilungsdiagramm
6
Verteilungsdiagramm
Artefakt – Manifestation und Verteilung
Artefakte stellen die »Objekte« der Verteilung dar
Ein Artefakt repräsentiert die physische Realisierung
(«manifest») von paketierbaren (logischen)
Modellelementen
«component»
Termin
«manifest»
«artifact»
Termin.jar
Verteilungsdiagramm
7
Verteilungsdiagramm
Artefakt – Verteilung
Unter Verteilung wird die Zuweisung von Artefakten an
Knoten verstanden
Ein Artefakt kann auf mehrere Knoten verteilt werden
3 Notationsvarianten
«device»
AppServer
Explizite Modellierung als Abhängigkeit
mit Schlüsselwort «deploy»
«deploy»
«artifact»
Grafische Schachtelung von
Artefakten auf Knoten
Termin.jar
«device»
AppServer
«artifact»
Termin.jar
Notation der Artefaktnamen
im Knotensymbol
Verteilungsdiagramm
«device»
AppServer
Termin.jar
8
Verteilungsdiagramm
Einsatzspezifikation
Verteilungsdetails eines Artefakts durch Parameter
in Einsatzspezifikation (deployment specification)
definierbar
z.B. Modellierung von Konfigurationsdateien
Für eine Verteilung können verschiedene Einsatzspezifikationen
definiert werden
2 Notationsalternativen
«artifact»
Termin.jar
«artifact»
Termin.jar
{session=statefull
management=container}
Verteilungsdiagramm
«deployment spec»
Termin.xml
session : statefull
management : container
transaction : false
9
Verteilungsdiagramm
Beispiel – Onlinekalender
«device»
calClient:PC
«internet»
«execution env»
:Browser
«device»
calServer:Host
«execution env»
:J2EE Server
«artifact»
jdbc.jar
«deploy»
«artifact»
CALENDARIUM.java
«deploy»
«artifact»
calServerProgram.jar
«manifest»
«component»
CALENDARIUM
Verteilungsdiagramm
«deployment spec»
calServerProgram.xml
maxUser : 50
transaction : true
«ethernet»
«device»
dbServer
10