项目中基于plantuml和Graphviz总结的几个模板

举报
四毛打印店 发表于 2025/04/12 16:00:05 2025/04/12
【摘要】 DFD数据流图 uml构架图 uml类图 uml包图 uml时序图

DFD数据流图

graph dfd {
graph [
rankdir = "TB"
label = "title"
labelloc="t"
];
node [
fontsize = "16"
];
edge [
];

"titleA"[shape=box]

"titleB"[shape=box]
"titleC"[shape=box label=<
<TABLE border="0" cellpadding="10" cellspacing="15">
<TR>
<TD border="1">ab</TD>
<TD border="1">cdedf</TD>
<TD border="1">12</TD>
<TD border="1">fdsfasdfa</TD>
</TR>
</TABLE>>]

"titleA" -- "titleB"[label=process1]
"titleB" -- "titleC"[label=process2]
}

uml构架图

@startuml
skinparam monochrome true
skinparam shadowing false
skinparam  {
	DefaultFontSize 20
  TitleFontSize 40
}

skinparam defaultTextAlignment center
skinparam actorStyle awesome

sprite $bProcess jar:archimate/node
sprite $aService jar:archimate/network
sprite $aComponent jar:archimate/component
sprite $cfacility jar:archimate/physical-facility

legend  top right
图例
====
<$bProcess> :数据处理
====
<$aService> : 服务
====
<$aComponent> : 组件
====
<$cfacility> : 基础设施
endlegend

rectangle "server1" as server1 <<$aService>><<behavior>>#Application

rectangle "数据处理" as process1 <<$bProcess>><<behavior>>#Business{
	rectangle "组件1" as component1 <<$aComponent>><<behavior>>#Business
	rectangle "基础设施1" as facility1 <<$cfacility>><<behavior>>#Business
}
component1 <.[hidden]. facility1

server1 <. process1: 通讯协议

@enduml

uml类图

@startuml
title 标题
class A{
    ~DefaultConfig
    -execute():entityA
}

class B{
    +read():void

}

enum C{
    entityType
    +read(entityA):Number
    {static}valueFrom(entityType):C
}

interface F
abstract G
A ..> B:"依赖"
B --> C:"关联"
B ..* D:"组合"
B --* E:"聚合"
F <|..B:"实现"
G<|--B:"继承"

@enduml
# uml部署图

```json
@startuml
skinparam dpi 500
skinparam  {
	DefaultFontSize 20
    TitleFontSize 40
}
left to right direction
title "部署图"

node "网关1" as client1{
    usecase "用例1" as usecase1
    interface "192.168.1.88:502" as inter1
}

node "网关2" as client2{
    usecase "用例2" as usecase2
    interface "192.168.10.222:502" as inter2
}

node "web服务器" as server1{
    interface "192.168.1.xxx" as inter3
    interface "192.168.10.xxx" as inter4
    database "数据库1"
    database "数据库2"
    component "应用后台"
    component "应用前端"
}
cloud "局域网" as cloud1

inter1 .. inter3:协议1
inter2 .. cloud1:协议2
cloud1 .. inter4:协议2

@enduml

uml包图

@startuml
    left to right direction
namespace A{
    class A_Class
    struct A_Struct{
        method1()
    }

    namespace B{
        interface B_interface
        class B_Class
        B_interface <|.. B_Class 
    }
}

namespace C{
    class C_Class
}

A ..> C:"依赖"
@enduml

uml时序图

@startuml
participant foo
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
foo -> Foo1: begin
activate Foo1
Foo1 -> Foo2 : To boundary
deactivate Foo1
activate Foo2
Foo1 -> Foo3 : To control
deactivate Foo2
activate Foo3
Foo1 -> Foo4 : To entity
deactivate Foo3
activate Foo4
Foo1 -> Foo5 : To database
deactivate Foo4
activate Foo5
@enduml

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。