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
@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