Lompat ke konten Lompat ke sidebar Lompat ke footer

Uml Use Case Diagram Definition

Anwendungsfall-Diagramm

Let's have few examples : Note that you can disable the shadowing using the skinparam shadowing false command.

Anwendungsfälle

Anwendungsfälle sind von zwei Klammern eingeschossen (da zwei Klammern wie ein Oval aussehen). Alternativ kann man das usecase Schlüsselwort verwenden, um einen Anwendungsfall zu definieren. Außerdem ist es möglich, einen Alias mit dem as Schlüsselwort zu definieren. Dieser Alias wird dann verwendet wenn die Beziehungen festgelegt werden.

🎉 Copied!

@startuml  (First usecase) (Another usecase) as (UC2) usecase UC3 usecase (Last\nusecase) as UC4  @enduml                        

Akteure

Die Namen von Akteuren werden von zwei Doppelpunkten umschlossen. Mann kann aber auch das actor Schlüsselwort verwenden um einen Akteur zu definieren. Außerdem ist es möglich, mit dem as Schlüsselwort einen Alias festzulegen. Dieser Alias wird dann später verwendet, wenn die Beziehungen festgelegt werden. Wie wir sehen werden, ist die Definition eines Akteur nicht zwingend notwendig.

🎉 Copied!

@startuml  :First Actor: :Another\nactor: as Men2 actor Men3 actor :Last actor: as Men4  @enduml                        

Change Actor style

You can change the actor style from stick man (by default) to:
  • an awesome man with the skinparam actorStyle awesome command;
  • a hollow man with the skinparam actorStyle hollow command.

Stick man (by default)

🎉 Copied!

@startuml :User: --> (Use) "Main Admin" as Admin "Use the application" as (Use) Admin --> (Admin the application) @enduml                        

Awesome man

🎉 Copied!

@startuml skinparam actorStyle awesome :User: --> (Use) "Main Admin" as Admin "Use the application" as (Use) Admin --> (Admin the application) @enduml                        

[Ref. QA-10493]

Hollow man

🎉 Copied!

@startuml skinparam actorStyle Hollow  :User: --> (Use) "Main Admin" as Admin "Use the application" as (Use) Admin --> (Admin the application) @enduml                        

[Ref. PR#396]

Beschreibung der Anwendungsfälle

Falls sich eine Beschreibung über mehrere Zeilen ersterckt, kann diese mit Anführungsstrichen eingeschlossen werden. Außerdem kann man die folgenden Seperatoren verwenden: -- .. == __. Außerdem kann man Überschriften innerhalb der Seperatoren verwenden.

🎉 Copied!

@startuml  usecase UC1 as "You can use several lines to define your usecase. You can also use separators. -- Several separators are possible. == And you can add titles: ..Conclusion.. This allows large description."  @enduml                        

Use package

You can use packages to group actors or use cases.

🎉 Copied!

@startuml left to right direction actor Guest as g package Professional {   actor Chef as c   actor "Food Critic" as fc } package Restaurant {   usecase "Eat Food" as UC1   usecase "Pay for Food" as UC2   usecase "Drink" as UC3   usecase "Review" as UC4 } fc --> UC4 g --> UC1 g --> UC2 g --> UC3 @enduml                        

You can use rectangle to change the display of the package.

🎉 Copied!

@startuml left to right direction actor "Food Critic" as fc rectangle Restaurant {   usecase "Eat Food" as UC1   usecase "Pay for Food" as UC2   usecase "Drink" as UC3 } fc --> UC1 fc --> UC2 fc --> UC3 @enduml                        

Einfaches Beispiel

Um Akteure und Anwendungsfälle miteinander zu verbinden wird der Pfeil --> verwendet Je mehr Bindestriche - der Pfeil enthält, desto länger wird der Pfeil. Mit einem Doppelpunkt : kann dem Pfeil eine Beschreibung hinzugefügt werden. In diesem Beispiel kann man sehen, wie ein vorher nicht deklarierter User automatisch als Akteur deklariert wird.

🎉 Copied!

@startuml  User -> (Start) User --> (Use the application) : A small label  :Main Admin: ---> (Use the application) : This is\nyet another\nlabel  @enduml                        

Erweiterungen / Generalisierungen

Wenn ein Akteur oder Anwendungsfall einen anderen erweitert, dann kann dies mit dem Symbol <|--.

🎉 Copied!

@startuml :Main Admin: as Admin (Use the application) as (Use)  User <|-- Admin (Start) <|-- (Use)  @enduml                        

Verwenden von Notizen

Mit den note left of , note right of , note top of , note bottom of Schlüsselwörtern kann man die Position der Notiz relativ zum Objekt festlegen. Eine Notiz kann aber auch nur mit dem note Schlüsselwort erstellt werden und dann mit dem .. Symbol den Objekten zugeordnet werden.

🎉 Copied!

@startuml :Main Admin: as Admin (Use the application) as (Use)  User -> (Start) User --> (Use)  Admin ---> (Use)  note right of Admin : This is an example.  note right of (Use)   A note can also   be on several lines end note  note "This note is connected\nto several objects." as N2 (Start) .. N2 N2 .. (Use) @enduml                        

Stereotypen

Stereotypen könne während der Erstellung der Akteure und der Anwendungsfälle mit den << und >> Symbolen hinzugefügt werden .

🎉 Copied!

@startuml User << Human >> :Main Database: as MySql << Application >> (Start) << One Shot >> (Use the application) as (Use) << Main >>  User -> (Start) User --> (Use)  MySql --> (Use)  @enduml                        

Ändern der Pfeilrichtungen

Normalerweise haben die Verbindungen zwischen den Klassen zwei Striche -- und werden senkrecht gezeichnet. Es ist aber möglich waagerechte Verbindungen zu erstellen in dem man einen einzelnen Strich (oder Punkt) eingibt:

🎉 Copied!

@startuml :user: --> (Use case 1) :user: -> (Use case 2) @enduml                        

Sie können auch die Richtung der Verlinkung umkehren:

🎉 Copied!

@startuml (Use case 1) <.. :user: (Use case 2) <- :user: @enduml                        

Die Richtung der Pfeile kann man durch das hinzufügen der left, right, up oder down Schlüsselworte im Pfeil bestimmen:

🎉 Copied!

@startuml :user: -left-> (dummyLeft) :user: -right-> (dummyRight) :user: -up-> (dummyUp) :user: -down-> (dummyDown) @enduml                        

Man kann die Pfeile verkürzen, wenn man nur den ersten Buchstaben für die Richtung verwendet (zum Beispiel, -d- anstelle von -down-) oder man nimmt die ersten beiden Buchstaben (-do-). Diese Möglichkeit sollte aber nicht missbraucht werden: GraphViz liefert normalerweise recht gute Ergebnisse, ohne das manuell eingeriffen werden muss.

Aufteilen von Diagrammen auf mehrere Seiten

Mit dem Befehl newpage kann das Diagramm auf mehrere Seiten oder Bilder verteilt werden.

🎉 Copied!

@startuml :actor1: --> (Usecase1) newpage :actor2: --> (Usecase2) @enduml                        

Verändern der Richtung in der die Objekte angeordnet werden

Das voreingestellte verhalten bei der Erstellung des Diagramms ist von oben nach unten.

🎉 Copied!

@startuml 'default top to bottom direction user1 --> (Usecase 1) user2 --> (Usecase 2)  @enduml                        

Dies lässt sich aber durch die Verwendung des left to right direction Befehls verändern. Oft ist das Ergebnis mit dieser Einstellung besser.

🎉 Copied!

@startuml  left to right direction user1 --> (Usecase 1) user2 --> (Usecase 2)  @enduml                        

Der Skinparam-Befehl

Mit dem skinparam Befehl kann die Farbe und die Schriftart der Zeichnung verändert werden. Sie können den Befehl auf die folgenden Arten verwenden:
  • Wie alle ander Befehle In einer Diagrammdefinition,
  • in einer Include-Datei,
  • In einer Konfigurationsdatei, die durch die Kommandozeile oder den ANT-Task übergeben wird.
Man kann bestimmte Farben und Schriften für Klassen von Akteuren und Anwendungsfälle festlegen.

🎉 Copied!

@startuml skinparam handwritten true  skinparam usecase { BackgroundColor DarkSeaGreen BorderColor DarkSlateGray  BackgroundColor<< Main >> YellowGreen BorderColor<< Main >> YellowGreen  ArrowColor Olive ActorBorderColor black ActorFontName Courier  ActorBackgroundColor<< Human >> Gold }  User << Human >> :Main Database: as MySql << Application >> (Start) << One Shot >> (Use the application) as (Use) << Main >>  User -> (Start) User --> (Use)  MySql --> (Use)  @enduml                        

Vollständiges Beispiel

🎉 Copied!

@startuml left to right direction skinparam packageStyle rectangle actor customer actor clerk rectangle checkout {   customer -- (checkout)   (checkout) .> (payment) : include   (help) .> (checkout) : extends   (checkout) -- clerk } @enduml                        

Business Use Case

You can add / to make Business Use Case.

Business Usecase

🎉 Copied!

@startuml  (First usecase)/ (Another usecase)/ as (UC2) usecase/ UC3 usecase/ (Last\nusecase) as UC4  @enduml                        

Business Actor

🎉 Copied!

@startuml  :First Actor:/ :Another\nactor:/ as Man2 actor/ Woman3 actor/ :Last actor: as Person1  @enduml                        

[Ref. QA-12179]

Change arrow color and style (inline style)

You can change the color or style of individual arrows using the inline following notation:
  • #color;line.[bold|dashed|dotted];text:color

🎉 Copied!

@startuml actor foo foo --> (bar) : normal foo --> (bar1) #line:red;line.bold;text:red  : red bold foo --> (bar2) #green;line.dashed;text:green : green dashed  foo --> (bar3) #blue;line.dotted;text:blue   : blue dotted @enduml                        

[Ref. QA-3770 and QA-3816] [See similar feature on deployment-diagram or class diagram]

Change element color and style (inline style)

You can change the color or style of individual element using the following notation:
  • #[color|back:color];line:color;line.[bold|dashed|dotted];text:color

🎉 Copied!

@startuml actor a actor b #pink;line:red;line.bold;text:red usecase c #palegreen;line:green;line.dashed;text:green usecase d #aliceblue;line:blue;line.dotted;text:blue @enduml                        

[Ref. QA-5340 and adapted from QA-6852]

Source: https://plantuml.com/de/use-case-diagram

Posted by: bousquetlorenzoees.blogspot.com

Posting Komentar untuk "Uml Use Case Diagram Definition"