Anwendungsfalldiagramme

Inhalt

Anwendungsfalldiagramme starten und enden mit den Tags: @start-ucd und @end-ucd. Direkt nach dem Starttag folgt in Anführungszeichen der Titel des Diagramms. An zweiter Stelle kann das Package mit rootPackage deklariert werden, soll das default Package "RootElement" verwendet werden, wird die Deklaration einfach ausgelassen.

@start-ucd "Mein Titel" rootPackage RootElement @end-ucd

Reihenfolge

Die Reihenfolge der Elemente ist durch den Typ vorgegeben: Zunächst werden alle Akteuere spezifiziert. An zweiter Stelle die Systeme. Die Anwendungsfälle liegen innerhalb der Systeme. Zuletzt werden die Assoziationen angegeben.

Akteure

Akteure werden analog zu Anwendungsfällen definiert, mit dem Schlüsselwort act (für actor).

act NameAkteur

Akteure können durch Stereotypen näher spezialisiert sein. Diese Form der Spezialisierung wird mit dem Schlüsselwort role und dem entsprechenden Attribut in eckigen Klammern angegeben. Zur Verfügung stehen die Rollen system und human.

act Giraffe role[tier] act Besucher role[mensch]

Systeme

Ein System wird mit dem Schlüsselwort sys definiert. Geschweifte Klammern grenzen den Inhalt des Systems ab. Der eindeutige Name des Systems steht direkt nach dem Schlüsselwort und vor der öffnenden Klammer. Alle enthaltenen Anwendungsfälle und ihre Verbindungen müssen innerhalb der Definition des Systems beschrieben werden.

sys BspSystem{ uc UseCase }

Anwendungsfälle

Ein Anwendungsfall wird mit dem Schlüsselwort uc (für use case) und einer eindeutigen ID (dem Bezeichner) definiert.

uc UseCaseName

Diese ID darf keine Leerzeichen enthalten, außer der Klassenname wird in Anführungszeichen gesetzt.

uc "Name Anwendungsfall"

Für solche Namen in Anführungszeichen kann mittels des Schlüsselworts as ein Alias vergeben werden. Der lange Name wird dazu direkt hinter das Schlüsselwort as gesetzt.

uc Lang as "Langer Name Anwendungsfall"

Interaktionen

Einfache Interaktionen zwischen Akteuren und Anwendungsfällen werden mit dem Schlüsselwort iac (für interacts) definiert.

act Person sys Testsystem { uc UseCase } iac(Person,UseCase)

Kardinalitäten

Interaktionen können durch Kardinalitäten (auch Multiplizitäten genannt) genauer spezifiziert werden. Dazu werden die Eigenschaften hinter den Operanden in eckigen Klammern angeführt. Die Reihenfolge der Operanden bestimmt dabei die Zuordnung der Attribute zu den Operanden. Kardinalitäten werden mit dem Schlüsselwort card eingeleitet. Kardinalitäten werden durch einen Doppelpunkt getrennt. Der Standardwert für Kardinalitäten beträgt 0..1.

act Person sys Testsystem{ uc Label uc Multiplizitaet } iac Assoziationsname (Person,Label) iac Assoziationsname (Person,Multiplizitaet) card[2:*]

Vererbung

Die Vererbung zwischen Akteuren und Anwendungsfällen wird mit dem Schlüsselwort isa definiert. Der erbende Beteiligte wird dabei zuerst genannt, gefolgt von dem vererbenden Beteiligten. Vererbungen von Anwendungsfällen liegen innerhalb des Systems, Vererbungen von Akteuren außerhalb.

act Baby act Mutter isa (Baby,Mutter)

Assoziationen

Include-Beziehungen werden durch das Schlüsselwort inc, gefolgt von den Teilnehmern in als Komma-separierte Liste in Klammern. Der einbindende Anwendungsfall wird dabei zuerst genannt, der eingebundene Anwendugsfall an zweiter Stelle.

Extend-Assoziationen werden durch das Schlüsselwort ext definiert, gefolgt von den Teilnehmern als Komma-separierte Liste in Klammern. Der erste Anwendungsfall ist der erweiternde, der zweite der erweiterte.

uc Information uc Karte uc Tour inc (Information, Kasse) ext (Tour, Information)

Extension Points

Extension Points können innerhalb von geschweiften Klammern nach der Definition eines Anwendungsfalles mit dem Schlüsselwort ep gefolgt von einem eindeutigen Bezeichner angegeben werden. Optional kann die Bedingung für die Erweiterung angegeben werden, dazu wird das Schlüsselwort cond gefolgt von der Bedingung in eckigen Klammern angegeben.

uc TierAnschauen { ep Fuetterung } uc "Bei der Fuetterung zusehen" as Fuetterung ext (Fuetterung, TierAnschauen) ep[Fuetterung] cond["Adressat!=Kaeufer"]

Notizen

Für Akteure, Systeme und Anwendugsfälle können Notizen angegeben werden. Diese beginnen mit dem Schlüsselwort note, gefolgt von der Notiz in Anführungszeichen. Akteure können auch am Ende ihrer Definition eine Notiz enthalten.

act Tier note "Ein Kommentar"

Systeme können nach ihrem Namen eine Notiz haben wenn sie keine Anwedungsfälle enthalten oder als erster Eintrag nach der geschweiften Klammer wenn sie Anwedungsfälle enthalten.

sys Zoo { note "Ein Kommentar" uc Besuch } sys Buchhaltung note "Ein anderer Kommentar"

Beispiele

Beispiel Anwendugsfalldiagramm
@start-ucd "useCase"

rootElement RootElement

act Person
act Vet
act Zookeeper
act Animal

sys Zoo {
	uc examine
	uc checkVitals
}

isa (Zookeeper, Person)
isa (Vet, Person)
inc (checkVitals, examine)
iac (Animal, examine) card[0..1 :0..1]
iac (Vet, examine) card[0..* :0..1]

@end-ucd