用例圖
用例圖
Use case diagrams
描述了作為一個外部的觀察者的視角對系統的印象。強調這個系統是什么而不是這個系統怎么工作。
用例 用圓括號括起來。
e.g.
(cube)
角色 用兩個冒號包裹起來,未分隔的角色名可以省略冒號
e.g.
FE
可省略冒號:Java Developer:
不可省略箭頭
-->
連接角色和用例,箭頭定義的后面加一個冒號及文字的方式來添加標簽, 越多-
表示箭頭越長,可以通過翻轉箭頭或者添加方向關鍵詞來改變e.g.
FE -> (cube)
FE -< (cube)
FE -up-> (cube)
:Java Developer: ----> (fengdie) : A small label
->x
一條丟失的消息-\
上箭頭-/
下箭頭->>
細箭頭->o
結點箭頭<->
雙向箭頭組合消息
alt/else
opt
loop
par
break
critical
group
后面緊跟著消息內容end
結束分組注釋
note
同用例圖分隔符
== ${separatorName} ==
延遲
...${later desc}...
@startuml
box "Internal Service"
participant A
participant B
end box
autonumber 1 2
A -> B: 消息傳遞
activate A
A -->> A: 消息返回
destroy B
Alice <- "Bob() d" : Hello
...5 minutes latter...
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections
Alice -> Bob: Authentication Request
== Initialization ==
alt successful case
Bob -> Alice: Authentication Accepted
else some kind of failure
Bob -> Alice: Authentication Failure
group My own label
Alice -> Log : Log attack start
loop 1000 times
Alice -> Bob: DNS Attack
end
Alice -> Log : Log attack end
end
else Another type of failure
Bob -> Alice: Please repeat
end
@enduml
活動圖
活動圖
activity diagram
是一個很特別的流程圖。活動圖和狀態圖之間是有關系的。狀態圖把焦點集中在過程中的對象身上,而活動圖則集中在一個單獨過程動作流程。活動圖告訴了我們活動之間的依賴關系。
- TODO
@startuml
start
if (multiprocessor?) then (yes)
fork
:Treatment 1;
fork again
:Treatment 2;
end fork
else (monoproc)
:Treatment 1;
:Treatment 2;
endif
stop
@enduml
類圖
類圖
Class diagram
通過顯示出系統的類以及這些類之間的關系來表示系統。類圖是靜態的-它們顯示出什么可以產生影響但不會告訴你什么時候產生影響。
符號 被劃分成三塊的方框:f類名,屬性,和操作。
TODO
@startuml
class Foo1 {
You can use
several lines
..
as you want
and group
==
things together.
__
You can have as many groups
as you want
--
End of class
}
class User {
.. Simple Getter ..
+ getName()
+ getAddress()
.. Some setter ..
+ setName()
__ private data __
int age
-- encrypted --
String password
}
@enduml