M7 Verteilungsdiagramm Datei - elearning.fh

Werbung
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
Herunterladen