加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
c4_context.puml 4.29 KB
一键复制 编辑 原始数据 按行查看 历史
qwteng 提交于 2020-04-05 21:56 . change url
@startuml c4_context
!includeurl https://gitee.com/qwteng/plantuml-style-c4/raw/master/c4.puml
' uncomment the following line and comment the first to use locally
'!include c4.puml
' Scope: A single software system.
' Primary elements: The software system in scope.
' Supporting elements: People and software systems directly connected to the software system in scope.
' Intended audience: Everybody, both technical and non-technical people, inside and outside of the software development team.
' Actors
' ##################################
skinparam actor<<person>> {
BorderColor ACTOR_BORDER_COLOR
BackgroundColor ACTOR_BG_COLOR
}
skinparam actor<<internal_person>> {
BorderColor INTERNAL_ACTOR_BORDER_COLOR
BackgroundColor INTERNAL_ACTOR_BG_COLOR
}
' Styling
' ##################################
skinparam rectangle<<person>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor PERSON_BG_COLOR
BorderColor PERSON_BORDER_COLOR
}
skinparam rectangle<<external_person>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor EXTERNAL_PERSON_BG_COLOR
BorderColor EXTERNAL_PERSON_BORDER_COLOR
}
skinparam rectangle<<system>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor SYSTEM_BG_COLOR
BorderColor SYSTEM_BORDER_COLOR
}
skinparam rectangle<<external_system>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor EXTERNAL_SYSTEM_BG_COLOR
BorderColor EXTERNAL_SYSTEM_BORDER_COLOR
}
skinparam database<<system>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor SYSTEM_BG_COLOR
BorderColor SYSTEM_BORDER_COLOR
}
skinparam database<<external_system>> {
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor EXTERNAL_SYSTEM_BG_COLOR
BorderColor EXTERNAL_SYSTEM_BORDER_COLOR
}
' Layout
' ##################################
!definelong LAYOUT_WITH_LEGEND_CN
hide stereotype
legend right
|= 颜色 |= 类型 |
|<PERSON_BG_COLOR> | 用户 |
|<EXTERNAL_PERSON_BG_COLOR> | 外部用户 |
|<SYSTEM_BG_COLOR> | 系统 |
|<EXTERNAL_SYSTEM_BG_COLOR> | 外部系统 |
endlegend
!enddefinelong
!definelong LAYOUT_WITH_LEGEND
hide stereotype
legend right
|= color |= Type |
|<PERSON_BG_COLOR> | person |
|<EXTERNAL_PERSON_BG_COLOR> | external person |
|<SYSTEM_BG_COLOR> | system |
|<EXTERNAL_SYSTEM_BG_COLOR> | external system |
endlegend
!enddefinelong
' Elements
' ##################################
!define Actor(e_alias, e_label) actor "==e_label" <<person>> as e_alias
!define Actor(e_alias, e_label, e_descr) actor "==e_label\n\n e_descr" <<person>> as e_alias
!define Actor_Ext(e_alias, e_label) actor "==e_label" <<internal_person>> as e_alias
!define Actor_Ext(e_alias, e_label, e_descr) actor "==e_label\n\n e_descr" <<internal_person>> as e_alias
!define Person(e_alias, e_label) rectangle "==e_label" <<person>> as e_alias
!define Person(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<person>> as e_alias
!define Person_Ext(e_alias, e_label) rectangle "==e_label" <<external_person>> as e_alias
!define Person_Ext(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<external_person>> as e_alias
!define System(e_alias, e_label) rectangle "==e_label" <<system>> as e_alias
!define System(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<system>> as e_alias
!define System_Ext(e_alias, e_label) rectangle "==e_label" <<external_system>> as e_alias
!define System_Ext(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<external_system>> as e_alias
!define SystemDb(e_alias, e_label) database "==e_label" <<system>> as e_alias
!define SystemDb(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <<system>> as e_alias
!define SystemDb_Ext(e_alias, e_label) database "==e_label" <<external_system>> as e_alias
!define SystemDb_Ext(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <<external_system>> as e_alias
' Boundaries
' ##################################
!define Enterprise_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "Enterprise")
!define System_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "System")
@enduml
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化