18.01.2013 Aufrufe

Doppelseitige UML Referenz als PDF - Orientation in Objects GmbH

Doppelseitige UML Referenz als PDF - Orientation in Objects GmbH

Doppelseitige UML Referenz als PDF - Orientation in Objects GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Vererbung<br />

Sichtbarkeiten<br />

<strong>UML</strong> 2.1 <strong>Referenz</strong><br />

Anwendungsfalldiagramm<br />

Use Case Diagram<br />

Akteur<br />

Abstrakter Akteur<br />

Unterklasse1<br />

- private_attribut<br />

# protected_attribut<br />

~ package_attribut<br />

+ public_attribut<br />

- private_operation<br />

# protected_operation<br />

~ package_operation<br />

+ public_operation<br />

Akteur_1<br />

Objektname:Klasse<br />

Anfang<br />

Synchron. für<br />

parallele<br />

Aktivitäten<br />

Schritt 1<br />

Schritt 4<br />

1..*<br />

Kard<strong>in</strong>alität<br />

<br />

Paket::Klassenname<br />

{Eigenschaftswerte}<br />

Diskrim<strong>in</strong>ator<br />

AWF_3<br />

Extension Po<strong>in</strong>ts: ...<br />

<br />

Syntax<br />

Klassenname<br />

<br />

attribut<br />

attribut :Typ<br />

attribut :Typ=Wert {Eigensch.}<br />

operation<br />

operation(parameter):Erg_Typ<br />

Komma getrennte Parameterliste:<br />

Richtung Name:Typ=Standardwert<br />

Schritt<br />

Partition 1<br />

Objekt-notation<br />

Objektfluss<br />

Signal senden/<br />

empfangen<br />

Ende<br />

Objekt<br />

[Zustand]<br />

Empfangsknoten<br />

Anwendungsfall<br />

E<strong>in</strong>bezogener AWF<br />

1..2<br />

Erweiterter AWF<br />

operation()<br />

Generalisierung�<br />

Spezialisierung�<br />

operation()<br />

AWF_1<br />

Oberklasse1<br />

Unterklasse2<br />

Systemname<br />

AbstrakteKlasse<br />

x,y,...:Daten_Typ<br />

ParametrisierbareKlasse<br />

ParametrisierteKlasse<br />

Partition 2<br />

Verantwortlichkeits<br />

Bereiche<br />

Schritt 2<br />

Sendeknoten<br />

Zustandsdiagramm<br />

Statechart Diagram<br />

Zustand<br />

Reservierte<br />

Ereignisse:<br />

entry, exit, do,<br />

<strong>in</strong>clude<br />

Zustandsnamen<br />

Ereignis/ Aktion<br />

Ereignis (Parameter)[Bed<strong>in</strong>gung] / Aktion<br />

Zustand_A<br />

Anfang<br />

Ende<br />

[Bed_1]<br />

event_1<br />

Zustand_1 Zustand_2<br />

Zustand_3<br />

[Bed_2]<br />

event_2<br />

Entscheidung<br />

Kontrolfluss &-<br />

Semantik<br />

Ablaufende<br />

<br />

Akteur_1<br />

AWF_2<br />

Systemgrenze<br />

Klassendiagramm<br />

Class Diagram<br />

operation()<br />

Realisierung<br />

bereitgestellte<br />

Schnittstelle<br />

<br />

Schnittstelle<br />

ImplementierendeKlasse<br />

operation()<br />

<br />

<br />

BenutzendeKlasse<br />

AktiveKlasse<br />

genutzte<br />

Schnittstelle<br />

<br />

Paketnamen<br />

{Eigenschaftswerte}<br />

Paketname<br />

Klasse1<br />

Klasse_3<br />

Aktivitätsdiagramm<br />

Activity Diagram<br />

Partition 3<br />

Verborgene<br />

Unteraktivitäten<br />

Schritt 3<br />

[Bed_1] [Bed_2]<br />

Schritt 5 Schritt 6<br />

merge<br />

Optional auch:<br />

Ereignis(Parameter) [Bed<strong>in</strong>gung]?<br />

oder nur [Bed<strong>in</strong>gung]<br />

Ereignis<br />

Zustand_1 Zustand_2<br />

Gruppierung von<br />

Unterzuständen<br />

Zustandsübergang<br />

Versteckte_Zustände<br />

Zustand<br />

E<strong>in</strong>gangspunkt<br />

Abbruch<br />

E<strong>in</strong>gangsparameter<br />

Paket1<br />

Klasse2<br />

Paketdiagramm<br />

PackageDiagram<br />

<br />

<br />

<br />

Assoziation Leserichtung<br />

Klasse_1 m<br />

<br />

Beziehungsname<br />

{Eigenschaftswerte}<br />

n Klasse_2<br />

m,n → Multiplizität:<br />

0..1, *, 1..*, x,y,...<br />

gerichtete Assoziation<br />

rolle1 rolle2<br />

Klasse_4<br />

bidirektionale Assoz.<br />

Klasse_5<br />

a<br />

b<br />

Klasse_6<br />

0..1<br />

0..*<br />

{ordered}<br />

a<br />

b<br />

Klasse_7 Klasse_8<br />

tertiäre Assoziation<br />

c<br />

Klasse_9<br />

Klasse_10 Klasse_11<br />

AssoziationsKlasse<br />

Aktivitätsname Vorbed<strong>in</strong>gung<br />

Parametername:Typ Nachbed<strong>in</strong>gung<br />

...<br />

Schritt 1<br />

Abbruchsignal<br />

Schritt 2<br />

Schritt 3<br />

Schritt 4<br />

Unterbrechbarer<br />

Bereich<br />

Ganzes<br />

Paket2<br />

Paket3<br />

Paket4<br />

Klasse1<br />

Aggregation<br />

0..1<br />

0..1<br />

Komposition<br />

0..*<br />

rolle<br />

0..*<br />

0..*<br />

0..*<br />

Komposition<br />

Teil<br />

Teil1<br />

Teil2<br />

Qualifizierte Assoziation<br />

enthaltene<br />

Klasse<br />

enthaltenes<br />

Paket<br />

ExistenzAbhängigesTeil<br />

Klasse_5 Qualifizierer<br />

Klasse_6<br />

Ausgangsparameter<br />

Autor: Matthias Niete<br />

Redaktion: Dirk M. Sohn<br />

<strong>Orientation</strong> <strong>in</strong> <strong>Objects</strong> <strong>GmbH</strong><br />

We<strong>in</strong>heimer Str. 68<br />

D - 68309 Mannheim<br />

<br />

Mehrfachverarbeitung<br />

Art: parallel, iterative,<br />

stream<br />

Allgeme<strong>in</strong>e Notationselemente<br />

Common Notation Elements<br />

Z1<br />

Z2<br />

Notiz<br />

[B_1]<br />

[B_2]<br />

Knoten-<br />

Punkt<br />

[B_3]<br />

[B_5]<br />

{Zusicherung}<br />

[B_4]<br />

Z3<br />

Z4<br />

Z5<br />

Abhängigkeit<br />

[] Name<br />

Schritt<br />

Schritt 1<br />

Konnektor<br />

� www.oio.de � <strong>in</strong>fo@oio.de<br />

�+49 621 71839-0 �+49 621 71839-50<br />

Schulung, Beratung und Entwicklung<br />

mit Java und XML<br />

Schulung „<strong>UML</strong> für Analytiker“ - Term<strong>in</strong>e:<br />

17. – 19.06.2013 / 02. – 04.12.2013<br />

A Schritt 2<br />

© 2010 - 2013<br />

A<br />

Diagrammrahmen<br />

Art: act, class, cmp,<br />

sd, pkg, stm, uc


www.oio.de<br />

Sequenzdiagramm<br />

Sequence Diagram<br />

sd Sequenzdiagramm Name<br />

Kontrollfokus<br />

t=now<br />

Zusicherung von<br />

Antwortzeiten<br />

{t..t+3}<br />

loop<br />

Objektname :Klasse1<br />

synchron<br />

[Bed<strong>in</strong>gung] nachricht(parameter)<br />

antwort<br />

x: msg_2<br />

y: reply_2<br />

* msg_4()<br />

[Schleifenabbruchbed<strong>in</strong>gung]<br />

msg_1<br />

msg_3<br />

asynchron<br />

ref<br />

Selbstaufruf<br />

Diagramm 2<br />

Iterationszeichen<br />

Iterationsrahmen mit<br />

Abruchbed<strong>in</strong>gung<br />

Interaktionsdiagramm<br />

Interaction Diagram<br />

sd Übersichtsdiagramm lifel<strong>in</strong>es x:Klasse1, y:Klasse2<br />

sd Interaktion XY<br />

ref<br />

Diagramm Z<br />

x:Klasse1 y:Klasse2<br />

msg_1<br />

msg_2<br />

[Bed_1] [Bed_2]<br />

Zeitdiagramm<br />

Tim<strong>in</strong>gDiagram<br />

Lebensl<strong>in</strong>ien<br />

Lebensl<strong>in</strong>ie<br />

Zustand o.<br />

Bed<strong>in</strong>gung<br />

sd Zeitdiagrammname<br />

:Klasse1<br />

:Klasse2<br />

X_3<br />

X_2<br />

X_1<br />

X_2<br />

X_1<br />

E<strong>in</strong>heit: 0 1 2 3...<br />

nachricht<br />

{d..3*d}<br />

Zeitbed<strong>in</strong>gungen<br />

Zeitskala<br />

E<strong>in</strong>heit:<br />

ms,s,m...<br />

Nachrichtenfluß<br />

wird <strong>in</strong><br />

Diagramm 2<br />

fortgesetzt.<br />

sd Diagramm 2<br />

par<br />

alt<br />

msg_1<br />

Obj2:Klasse2<br />

[Bed<strong>in</strong>gung1]<br />

[Bed<strong>in</strong>gung2]<br />

create<br />

msg_5<br />

msg_8<br />

msg_3<br />

msg_4<br />

msg_7<br />

Objekt3<br />

msg_6<br />

Objekt4<br />

delete()<br />

Darstellung paralleler<br />

Programm-verlaufe.<br />

Kommunikationsdiagramm<br />

CommunicationDiagram<br />

sd Kommunikationsdiagramm Name<br />

synchron asynchron<br />

start()<br />

1: [Bed] antwort := nachricht(parameter)<br />

Observer<br />

Objektname<br />

Objekt1<br />

rolle<br />

Subject:<br />

Observer:<br />

Klasse_S<br />

Klasse_O<br />

Obj2:Klasse2<br />

Darstellung<br />

alternativerProgrammverlaufe.<br />

Kompositionsstrukturdiagramm<br />

Composite Structure Diagram<br />

2: msg()<br />

Verschachtelter<br />

Nachrichtenfluß<br />

1.1: new ()<br />

1.2: reply:= msg ()<br />

Komponentendiagramm Verteilungsdiagramm<br />

ComponentDiagram<br />

genutzte<br />

Schnittstelle<br />

<br />

Komponentenname<br />

bereitgestellte<br />

Schnittstelle<br />

Portname<br />

d<br />

<br />

Komponente 2<br />

msg_1<br />

t=now<br />

{t..t+2}<br />

msg_2<br />

<br />

xyz<br />

KlasseX<br />

msg_3<br />

<br />

<br />

xyz.jar<br />

Deployment Diagram<br />

Knotenname:Knotentyp Physikalische<br />

Verb<strong>in</strong>dung (z.B<br />

Internet)<br />

Knoten1<br />

:Knotentyp2<br />

<br />

client.jar<br />

Kommunikation<br />

zweier Artefakte<br />

Objekt3{new}<br />

Neu erzeugtes<br />

Objekt<br />

2.1: msg()<br />

Selbstaufruf<br />

Gerichtete<br />

Assoziation<br />

1.2.* [Bed]: msg () Iterationszeichen<br />

mit<br />

Abruchbed<strong>in</strong>gung<br />

<strong>Orientation</strong> <strong>in</strong> <strong>Objects</strong> <strong>GmbH</strong> We<strong>in</strong>heimer Str. 68 68309 Mannheim www.oio.de<br />

<br />

Knotentyp2 kann<br />

Applikation.ear<br />

aufnehmen.<br />

Klasse_S<br />

attrib_s<br />

<br />

abc.jar<br />

Subject<br />

<br />

Applikation.ear<br />

Alternative<br />

Darstellungsweisen<br />

Observer<br />

Observer<br />

Observer.attrib_o=xyz(Subject.attrib_s)<br />

<br />

xyz.jar<br />

<br />

abc.xml <br />

xyz.xml<br />

Klasse_O<br />

attrib_o<br />

© 2010 - 2013

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!