Sie sind auf Seite 1von 1

UML Diagramme

http://upload.wikimedia.org/wikipedia/commons/7/7f/UML-Diagramme.svg

Nutzerfalldiagramm
Generalisierung Assoziation Nutzerfall
spezieller NF 1 spezieller NF 2 genereller NF

Zustandsdiagramm
Verhaltenszustandsmaschine (BSM)
Transition Auslser Ereignisse Zuweisungen Zuweisung ::= ::= ::= ::= ::= [Auslser] [[Bedingung]] / [Aktion] Ereignisse [(Zuweisungen)] Ereignisse (,Ereignisse)* Zuweisung (,Zuweisung)* Attribut | Attribut : Ty p

Beispiel: Verhaltenszustandmaschine
abgebrochen

Beispiel: Protokollzustandmaschine
Server {protocol}
Platz whlen

Einschecken'

Protokollzustandsmaschine (PSM)
Transition ::= [[Vorbedingung]] Methodenaufruf / [[Nachbedingung]]

auf Karte warten Karte bekom men /

Karte ausgeben

Platz gewhlt

gestop p t

Include-Beziehung
<<include>>

Extend-Beziehung
<<extend>>

Notationen:
Nutzerfall B

Nutzerfall A

Nu tzerfall B

Nutzerfall A

NF A sch liet immer NF B mit ein

NF A kann, muss aber nicht durch NF B erweitert werden

Zustand Startzustand

Eintrittsp unkt Austrittsp unkt H flache Historie

Karte erkannt
Karte auslesen / Passagierdaten bereitstellen

[keine Buchung zum Einchecken bereit ]

Anmeldung beenden Wahl besttigen

[warteschlange.isEm pty () stopp /

[ true] start / [ warteschlange.isEm pty () ]

gestartet
Karte ausgeben [ true ] dienstAufrufen(auftrag) / [ warteschlange.last() = auftrag ] [not warteschlange.isEmpty () ] when(new_job_is_scheduled) / [warteschlange.length() = warteschlange@pre.length() -1 ]

Nutzerfall A
Nam e des Erweite rungspunktes

<<extend>>

extension points : Erluterung

Nutzerfall B

Endzustand Kreuzung oder Entscheidung

anders identifiziert

P assagier erkannt

H* tiefe Historie

Condition: {Bedingung} Nam e des extension point: Erweiterungspunktes

Klassendiagramm
Analysemodell (fachliche Sicht)
Klassen sind Fachbegriffe Attribute - i. Allg. ohne Datenty p en - ggfs. mit M ultiplizitten M ethoden ohne Parameter und Rckgabewert Bidirektionale Assoziationen/Aggregationen Beschreibung von Assoziationen (M ultiplizitten, Rollennamen, Assoziationsnamen (mit Leserichtung) - ggfs. mit Qualifer Assoziationsklassen und n-re Beziehungen Generalisierung / Sp ezialisierung (Vererbung) Abgeleitete Attribute und M ethoden Aufzhlungen (Enumerationen) Eine Assoziation beschreibt eine Beziehung zwischen zwei oder mehr Klassen. An den Enden von Assoziationen sind hufig M ultip lizitten vermerkt. Diese drcken aus, wie viele dieser Objekte in Relation zu den anderen Objekten dieser Assoziation stehen.
Multiplizitten 1 rolle Leserichtung Rollenbeschreibung Beziehung Ordnung * {ordered} Eine Assoziation zwischen Konto und Kunde

Sequenzdiagramm
A

Objekt Lebenslinie Aktivierungsbalken


(unterbrochen)

Beschreibung:
Ein synchroner Aufruf unterbricht den Aktivierungsbalken solange, bis eine synchrone Antwort eintrifft. Eine asynchrone Nachricht verndert nichts am Aktivierungsbalken.

Notationen:
Nachricht ::= Aufruf | Antwort| Signal Aufruf (synchrone Nachricht) Antwort (synchrone Nachricht) Signal (asynchrone Nachricht) (schrg bei relevanter Laufzeit)

Klasse 1

Klasse 2

Konto
name: String saldo: Integer

Kunde
vorname: String nachname: String

Ende des Objektes

A
Assoziationsklasse
instantiieren

C B
Aufruf charToInt('A')

D
P assagier
Karte einfhren

Check-InAutomat

gerichtete Assoziation

Klasse 1 Entwurfsmodell (fachliche+tech. Sicht)


Klassen -> abstrakt, Interface, Steroty p , ggf. Klassen streichen, hinzufgen, umbennen Attribute -> Sichtbarkeiten, Ableitung, Klassenattribute, Initialisierung, weitere spezielle Eigenschaften Op erationen -> Parameter, Sichtbarkeiten, Rckgabewert, Klassenoperation Assoziationen -> gerichtet, geordnet / sortiert Auflsen von Assoziationsklassen / n-re Beziehungen Abhngigkeiten Packages Hilfsmethoden (Konstruktoren, getter/setter, toString() u.a)

Klasse 2

Klasse 1

Klasse 2

Antwort x=23
Signal mi t Laufze it
fze it m it Lau

Initialisierung & Daten laden

Begrung mit Namen

Signal

Generalisierung
Oberklasse

Unterklasse 1

Aggregation 0..*

Vorlesung
Unterklasse 2

3..*

Student

Teil-Ganze Relation. Student ist ein Teil der Vorlesung

Aktivittsdiagramm
Notationen: Startp unkt
Aktivitt

die Unterklassen erben von der Oberklasse

Realisierung
<<interface>>

Abhngigkeit Klasse

Kreuzung oder Entscheidung Vereinigung oder Gabelung

Schnittstelle
Realisierung einer Klasse von einer Schnittstelle

Abhngig

Unabhngig

Endpunkt

das abhngige Elem ent benutzt das unabhngige Element

Syntax fr Attribute
Sichtbarkeit Attributname : Paket :: Ty p [M ultip liztt Ordnung] = Initialwert {Eigenschaftswerte} Eigenschaftswerte : {readOnly }, {ordered}, {comp osite}
<< ... >>

Beisp iel: Aktivittsdiagramm


Rechnung senden Bezahlung bekommen
[schnelle Bestellung]

Syntax fr Operationen
Sichtbarkeit Op erationsname (Parameterliste) : Rckgabety p Sichtbarkeit: Parameterliste: Richtung Name : Ty p = Standartwert + p ublic element Richtung: in, out, inout # p rotected element p rivate element ~ p ackage element

Klasse
{ ... } + Attr1 : Typ1 = (100,100) # Attr2: Typ2 = true +operation1() +operation2()

Klasse

<<interface>>

Klasse
i:Element

Bestellung bekommen Bestellung bearbeiten

bernacht Sendung Normale Sendung

Bestellung beenden

Klasse
{abstrakt}

P arametrisierbare Klasse

[sonst]

1 von 1

03/06/2011 15:24