UML模型图

官方文档
UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图

用例图

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

你可能感兴趣的:(UML模型图)