用例图
用例图
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