UML 2.1 Referenz
Transcrição
UML 2.1 Referenz
UML 2.1 Referenz Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 2.1.2 www.oio.de [email protected] Allgemeine Notationselemente Common Notation Elements Notiz {Zusicherung} Abhängigkeit [<Art>] Name Diagrammrahmen Art: act, class, cmp, sd, pkg, stm, uc 2 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Paketdiagramm Package Diagram <<Stereotyp>> Paketnamen {Eigenschaftswerte} Paketname <<import>> Klasse1 Paket2 enthaltene Klasse Paket3 enthaltenes Paket Klasse2 <<access>> Paket1 <<merge>> Paket4 Klasse1 3 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Klassendiagramm 1 Class Diagram <<Stereotyp>> Paket::Klassenname {Eigenschaftswerte} <<interface>> Schnittstelle Oberklasse1 operation() operation() Diskriminator Syntax Realisierung <<realize>> GeneralisierungÇ SpezialisierungÈ Sichtbarkeiten ImplementierendeKlasse Unterklasse1 Unterklasse2 Klassenname - private_attribut # protected_attribut ~ package_attribut + public_attribut attribut attribut :Typ attribut :Typ=Wert {Eigensch.} operation() operation() bereitgestellte Schnittstelle operation operation(parameter):Erg_Typ - private_operation # protected_operation ~ package_operation + public_operation <<call>> genutzte Schnittstelle AbstrakteKlasse BenutzendeKlasse Komma getrennte Parameterliste: Richtung Name:Typ=Standardwert Objektname:Klasse Objektnotation x,y,...:Daten_Typ ParametrisierbareKlasse AktiveKlasse ParametrisierteKlasse<Parameter> 4 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Klassendiagramm 2 (Assoziationen) Class Diagram Assoziation Leserichtung <<Stereotyp>> Klasse_1 Beziehungsname {Eigenschaftswerte} m n 0..* Klasse_2 0..* m,n → Multiplizität: 0..1, *, 1..*, x,y,... 0..1 Ganzes gerichtete Assoziation Klasse_3 0..1 0..* Klasse_4 rolle1 Teil1 Aggregation rolle2 Teil2 ExistenzAbhängigesTeil Komposition bidirektionale Assoz. Klasse_5 b a Klasse_6 0..* {ordered} 0..1 Klasse_7 a tertiäre Assoziation b Komposition 0..* rolle Klasse_8 c Qualifizierte Assoziation Klasse_9 Klasse_10 Teil Klasse_5 Qualifizierer Klasse_6 Klasse_11 AssoziationsKlasse 5 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Kompositionsstrukturdiagramm Composite Structure Diagram Observer Subject: Klasse_S Observer: Klasse_O Alternative Darstellungsweisen Klasse_S attrib_s Observer Subject Observer Klasse_O attrib_o Observer.attrib_o=xyz(Subject.attrib_s) 6 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Anwendungsfalldiagramm Use Case Diagram Systemname AWF_3 <<actor>> Akteur_1 Extension Points: ... <<extend>> Erweiterter AWF Akteur Anwendungsfall AWF_2 <<include>> Abstrakter Akteur Einbezogener AWF Vererbung Systemgrenze Kardinalität 1..* 1..2 AWF_1 Akteur_1 7 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Aktivitätsdiagramm 1 Activity Diagram Partition 1 Partition 2 Partition 3 Anfang Verantwortlichkeits Bereiche Schritt Verborgene Unteraktivitäten Objektfluss Entscheidung Objekt [Zustand] Schritt 3 Schritt 2 Kontrolfluss &-Semantik Schritt 1 Signal senden/ empfangen Schritt 4 Empfangsknoten [Bed_1] [Bed_2] Schritt 5 Schritt 6 Sendeknoten Ablaufende merge Synchron. für parallele Aktivitäten Ende 8 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Aktivitätsdiagramm 2 Activity Diagram Aktivitätsname Parametername:Typ ... <<precondition>> Vorbedingung <<postcondition>> Nachbedingung Schritt 2 Eingangsparameter Schritt 1 Schritt 4 Schritt 3 Ausgangsparameter Unterbrechbarer Bereich Abbruchsignal Mehrfachverarbeitung Art: parallel, iterative, stream <<Art>> Schritt 1 A Konnektor Schritt A Schritt 2 9 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Interaktionsübersichtsdiagramm Interaction Overview Diagram sd Übersichtsdiagramm lifelines x:Klasse1, y:Klasse2 sd Interaktion XY y:Klasse2 x:Klasse1 msg_1 msg_2 [Bed_1] [Bed_2] ref Diagramm Z 10 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Zustandsdiagramm Statechart Diagram Anfang Zustand Optional auch: Ereignis(Parameter) [Bedingung]? oder nur [Bedingung] Ende Reservierte Ereignisse: entry, exit, do, include Ereignis Zustand_1 Zustandsnamen Ereignis/ Aktion Ereignis (Parameter)[Bedingung] / Aktion Zustand_2 Zustandsübergang Gruppierung von Unterzuständen Eingangspunkt Zustand Zustand_A Zustand_1 [Bed_1] Abbruch Zustand_2 event_1 Versteckte_Zustände [Bed_2] [B_3] Z1 Zustand_3 [B_1] [B_4] event_2 Z2 Z3 Z4 [B_2] [B_5] KnotenPunkt Z5 11 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Zeitdiagramm Timing Diagram Zeitbedingungen sd Zeitdiagrammname {d..3*d} Zustand o. Bedingung :Klasse1 X_3 {t..t+2} X_2 X_1 Lebenslinien nachricht msg_2 msg_1 :Klasse2 X_2 t=now msg_3 X_1 d Einheit: 0 1 2 3... Zeitskala Einheit: ms,s,m... 12 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Sequenzdiagramme Sequence Diagram sd Sequenzdiagramm Name Objektname sd Diagramm 2 :Klasse1 asynchron synchron Nachrichten - fluß wird in Diagramm 2 fortgesetzt. msg_1 msg_1 ref Diagramm 2 Kontrollfokus par msg_3 msg_4 antwort x: msg_2 {t..t+3} loop msg_5 msg_3 Zusicherung von Antwortzeiten Darstellung paralleler Programmverlaufe. create Objekt3 [Bedingung] nachricht(parameter) t=now Objekt4 Obj2:Klasse2 msg_6 Selbstaufruf y: reply_2 * msg_4() Iterationszeichen alt [Bedingung1] [Schleifenabbruchbedingung] Iterationsrahmen mit Abruchbedingung Darstellung alternativer Programmverlaufe. msg_7 [Bedingung2] msg_8 Lebenslinie delete() 13 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Kommunikationsdiagramm Communication Diagram sd Kommunikationsdiagramm Name synchron asynchron 2.1: msg() Selbstaufruf start() Objektname 2: msg() Obj2:Klasse2 Gerichtete Assoziation 1: [Bed] antwort := nachricht(parameter) Verschachtelter Nachrichtenfluß 1.2.* [Bed]: msg () rolle Objekt1 1.1: new () 1.2: reply:= msg () Iterationszeichen mit Abruchbedingung Objekt3{new} Neu erzeugtes Objekt 14 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Komponentendiagramm Component Diagram <<component>> xyz KlasseX genutzte Schnittstelle <<component>> Komponentenname <<manifest>> Portname bereitgestellte Schnittstelle <<component>> Komponente 2 <<artifact>> xyz.jar 15 UML 2.1 Referenz © 2008 Orientation in Objects GmbH Verteilungsdiagramm Deployment Diagram Knotenname:Knotentyp Physikalische Verbindung (z.B Internet) Knoten1 <<artifact>> client.jar <<artifact>> Applikation.ear <<artifact>> abc.jar Kommunikation zweier Artefakte :Knotentyp2 <<depoyment spec>> abc.xml <<artifact>> xyz.jar <<depoyment spec>> xyz.xml <<deploy>> Knotentyp2 kann Applikation.ear aufnehmen. 16 UML 2.1 Referenz © 2008 Orientation in Objects GmbH