UML 2.0 -- Strukturdiagramme

Transcription

UML 2.0 -- Strukturdiagramme
2.Strukturdiagramme
2.5 Das Komponentendiagramm
2.6 Das Verteilungsdiagramm
Prof. Mario Jeckle
Fachhochschule Furtwangen
[email protected]
http://www.jeckle.de
Fachhochschule Furtwangen, Sommersemester 2004
Digitally signed by
Mario Jeckle
Reason: I am the
author of this
document
Location: www.jeckle.
de
Date: 2004.05.27
06:30:19 +02'00'
2.Strukturdiagramme
Das Komponentendiagramm
Dient
• Darstellung der Systemstruktur in Komponenten
zur Laufzeit
• Ausführungsorientierter Sichtweise
jeckle.de
Antwort auf Frage:
Wie ist die Struktur des Systems und wie werden diese
Strukturen erzeugt?
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
2
2.Strukturdiagramme
Das Komponentendiagramm
Verhalten der Komponenten
• Abgegrenzt
• Über Schnittstelle zugreifbar
jeckle.de
Komponenten können -- bei Verwendung der selben
Schnittstellen -- ohne Systemänderungen ausgetauscht
werden
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
3
2.Strukturdiagramme
Komponentendiagramm
Komponente
Implementierte Schnittstelle
Komplexer
Port
«component»
Komponente2
«component»
Bestandteil3
Komponente1
Klasse
1..*
Bestandteile einer
Komponente
Kompositionskonnektor
Realisierungsbeziehung
Allgemeine
Abhängigkeitsbeziehung
«artifact»
Artefakt1
Bestandteil4
Bestandteil1
Komponente
«specification»
Bestandteil2
specDoc
Verwendungsbeziehung
«subsystem»
«component»
Komponente3
Komponente4
«use»
jeckle.de
«artifact»
Konnektor
«manifest»
Komponente6
Teilsystem
Port
Implementierungsbeziehung
Konnektor
Benötigte
Schnittstelle
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
Delegationskonnektor
4
2.Strukturdiagramme
Elemente des Komponentendiagramms
jeckle.de
•
•
•
•
•
•
Das Komponentendiagramm besteht aus folgenden
Elementen:
Komponente
Schnittstelle
Realisierungs-, Implementierungs-, Verwendungsbeziehung
Klasse
Artefakt
Port
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
5
2.Strukturdiagramme
Notationselemente
Die Notationselemente des Komponentendiagramms
lauten:
jeckle.de
• Komponente
• Artefakt
• Abhängigkeiten
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
6
2.Strukturdiagramme
Komponente
• Darstellung durch Klassensymbol und Stereotyp
component
jeckle.de
• Untereinheiten in großen Systemen können auch durch
das Stereotyp subsystem gekennzeichnet sein
«component»
«component»
Komponente
Komponente
«subsystem»
Subsystem
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
7
2.Strukturdiagramme
Komponente
jeckle.de
• ...ist modularer Systemteil mit transparenter Kapselung
seines Inhalts
• ...besteht aus Elementen mit klar definierter
Funktionalität
• ... kann eine eigenständige Anwendung sein
• ... läßt sich nur über Schnittstellen beschreiben
• ... wird zusammen mit Subsystemen durch mindestens
ein Artefakt manifestiert
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
8
2.Strukturdiagramme
Komponente
Die Darstellung ist des Weiteren möglich als
• Blackbox Komponenten
• Whitebox Komponenten
«component»
jeckle.de
Black-box
Darstellung
Teilnehmerverwaltung
«provided interfaces»
Sortierter Zugriff
Wahlfreier Zugriff
«required interfaces»
Speichermedium
White-box
Darstellung
«realization»
Teilnehmer
Verwaltungsmetadaten
«artifacts»
teilnehmer.jar
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
9
2.Strukturdiagramme
Blackbox Komponenten
• Angabe von Schnittstellen in nur einem weiteren
Bereich
• Keine Darstellung interner Realisierungen
• Kennzeichnung durch Stereotyp:
jeckle.de
• provided interface: wird durch Komponente
angeboten
• required interface: wird von Komponente
benötigt
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
10
2.Strukturdiagramme
Whitebox Komponenten
• Ist gegenüber den Blackbox-Komponenten erweitert
um Angaben zu Classifiern und Artefakten
• Kennzeichnung der Classifier durch Stereotyp
realization
jeckle.de
• Kennzeichnung der Artefakte durch Stereotyp
artifacts
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
11
2.Strukturdiagramme
Artefakt
jeckle.de
Darstellung durch Classifiersymbol mit Stereotyp
artifact und Dokumentensymbol in der rechten
oberen Ecke
«artifact»
«artifact»
Artefakt
Artefakt
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
12
2.Strukturdiagramme
Artefakt
jeckle.de
•
•
•
•
•
Ist physische Informationseinheit
Stellt konkrete Ausprägungen in Komponente dar
Ist immer eine konkrete Ausprägung
Hat keine eigenständige Abstraktion
Konkretisierung des Artefakts durch Stereotyp file
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
13
2.Strukturdiagramme
Stereotyp file
File
physische Datei innerhalb des Systems
Sonderformen zu file:
jeckle.de
Document
Executable
Source
Library
hat keinen Quell- oder ausführbaren Code
enthält Anweisungen für direkte Ausführung
enthält übersetz- oder interpretierbaren Code
enthält statisch oder dynamisch verwendbare
Bibliothek
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
14
2.Strukturdiagramme
Abhängigkeiten
Darstellung durch Abhängigkeitsbeziehung
(siehe Klassendiagramm)
Zeilennummer
«interface»
«component»
«interface»
Sortierter Zugriff
Zeilengenerator
Speichermedium
«use»
«source»
«executable»
util.jar
«component»
«manifest»
helper.java
Listengenerator
«tool generated»
«source»
«artifact»
list.java
jeckle.de
list.class
«custom code»
«component»
Addierer
Zahlenfolge
«artifact»
«document»
meinKlassendiagramm
spec.tex
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
15
2.Strukturdiagramme
Stereotypen
Auch hier kommen Stereotypen zum Einsatz:
jeckle.de
• manifest verbindet Artefakt mit Komponente
(Spezialfall:
custom code: Zusammenhang von 2
Artefakten, wobei eines in das
andere überführt wird
tool generated: s.o., allerdings
wird das eine in das andere
automatisiert überführt)
• use
verbindet Komponente mit Schnittstelle
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
16
2.Strukturdiagramme
jeckle.de
2.6 Das Verteilungsdiagramm
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
17
2.Strukturdiagramme
Das Verteilungsdiagramm
Dient
• Aufzeigen der Zuordnung von Softwarekomponenten
auf Hardwareknoten
• Darstellung von Kommunikation und Abhängigkeit
zwischen den Knoten
jeckle.de
Antwort auf Frage:
Wie werden Systemkomponenten zur Laufzeit wohin
verteilt?
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
18
2.Strukturdiagramme
Verteilungsbeispiel
«device»
Bildprozessor
1..*
1
<<device>>
Zentralprozessor
Bildbearbeitung
«artifact»
Bildverarbeitung.exe
1
1
«device»
Host
«deploy»
«deploy»
«artifact»
«artifact»
Taskprogramm
Strahlberechnungsprogramm
Bereitstellung
Datenmanagementprogramm
«deployment spec»
Bildaufbaubeschr.xml
«artifact»
Taskverarbeitung: Art
maxDauer: Sek
jeckle.de
Bildberechnung.file
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
19
2.Strukturdiagramme
Anwendung im Projekt
jeckle.de
•
•
•
•
Client-Server-Systeme
Systeme mit mehr als einer Rechnereinheit
Workstations
Visualisierung von Systemtopologie
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
20
2.Strukturdiagramme
Sonstiger Einsatz
• Physikalische Kontextabgrenzung des Systems, wenn
Nachbarsysteme existent
• Blackboxmodellierung und Darstellung von
System und Nachbarsystem
Bewegungssensor
: Sensor
«Display»
«Funk»
«Tasten»
jeckle.de
: Fernbedienung
«IR»
: Anlagensteuerung
«Funk»
«Funk»
Rauchsensor
: Sensor
Außenlampe
: Beleuchtung
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
21
2.Strukturdiagramme
Sonstiger Einsatz
• Dokumentation von Hardwarevorgaben in visualisierter
Form- besser als rein textuelle Darstellung
PC1
«Internet»
«deploy»
Host : Mehrprozessorsystem
«artifact»
«LAN»
PC2
«deploy»
DBClient
DBServer
«WLAN»
jeckle.de
«artifact»
«deploy»
Laptop
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
22
2.Strukturdiagramme
Notationselemente
Das Verteilungsdiagramm verfügt über folgende
Notationselemente:
jeckle.de
•
•
•
•
Knoten
Kommunikationspfad
Verteilungsbeziehung
Einsatzspezifikation
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
23
2.Strukturdiagramme
Knoten
Darstellung durch Quader mit Knotennamen
jeckle.de
Knotenname
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
24
2.Strukturdiagramme
Knoten
jeckle.de
• Repräsentiert Ressource, die genutzt wird für
• Installation
• Konfiguration
• Bereitstellung
• Ausführung von Artefakten
• Sind strukturierte Classifier
• Lassen sich schachteln
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
25
2.Strukturdiagramme
Gerätenotation
• Unter Gerät versteht man einen Knoten mit dem
Stereotyp device
• Gerät repräsentiert die Hardware im
Verteilungsdiagramm
«device»
jeckle.de
Name
«workstation»
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
«lautsprecher»
26
2.Strukturdiagramme
Notation Ausführungsumgebung
• Unter Ausführungsumgebung versteht man einen
Knoten mit Schlüsselwort ExecutionEnvironment
• Ist die Softwareumgebung, in der die
Softwarekomponenten ausgeführt werden
«ExecutionEnvironment»
jeckle.de
Name
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
27
2.Strukturdiagramme
Kommunikationspfad
• Darstellung wie Assoziation, da Kommunikationspfad
eine Assoziation ist
• Wird eingeteilt in
• Ungerichteter Kommunikationspfad
jeckle.de
• Gerichteter Kommunikationspfad
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
28
2.Strukturdiagramme
Kommunikationspfad
• Verbindet Knoten um Nachrichten auszutauschen
• Modellierung komplexer Netzwerke möglich
0..50
PC1
«Internet»
Host
: Mehrprozessorsystem
1
1
«LAN»
0..50
PC2
jeckle.de
1
Laptop
«WLAN»
0..10
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
29
2.Strukturdiagramme
Verteilungsbeziehung
• Darstellung durch gestrichelten Pfeil und deploy
• Beziehung zwischen Artefakt und Knoten, auf dem es
verteilt ist
«deploy»
: B ibliotheksserver
jeckle.de
«artifact»
R eservierung.jar
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
«deploy»
«artifact»
A usleihe.jar
30
2.Strukturdiagramme
Einsatzspezifikation
Darstellung durch Classifier-Symbol und deployment spec
«deployment spec»
«deployment spec»
Name
Name
jeckle.de
Attribut: Typ
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
31
2.Strukturdiagramme
Einsatzspezifikation
• Ist durch Abhängigkeitsbeziehung mit Artefakt
verbunden
• Beinhaltet Parameter zur Artefaktverteilung auf Knoten
• Durch Parameterfestlegung ist Artefaktausführung
steuerbar
• alternative Notation: {Parameter der
Einsatzspezifikation} in Artefakt
«artifact»
jeckle.de
Bestellung.jar
«deployment spec»
BestellungBeschr.xml
Taskverarbeitung : thread
maxDauer : 3
M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004
«artifact»
Bestellung.jar
{Taskverarbeitung : thread
maxDauer : 3}
32