You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
261 lines
9.4 KiB
Plaintext
261 lines
9.4 KiB
Plaintext
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/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.
|
|
|
|
' Colors
|
|
' ##################################
|
|
|
|
!global $PERSON_BG_COLOR = "#08427B"
|
|
!global $EXTERNAL_PERSON_BG_COLOR = "#686868"
|
|
!global $SYSTEM_BG_COLOR = "#1168BD"
|
|
!global $EXTERNAL_SYSTEM_BG_COLOR = "#999999"
|
|
|
|
' Styling
|
|
' ##################################
|
|
|
|
skinparam rectangle<<person>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $PERSON_BG_COLOR
|
|
BorderColor #073B6F
|
|
}
|
|
|
|
skinparam rectangle<<external_person>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $EXTERNAL_PERSON_BG_COLOR
|
|
BorderColor #8A8A8A
|
|
}
|
|
|
|
skinparam rectangle<<system>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $SYSTEM_BG_COLOR
|
|
BorderColor #3C7FC0
|
|
}
|
|
|
|
skinparam rectangle<<external_system>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $EXTERNAL_SYSTEM_BG_COLOR
|
|
BorderColor #8A8A8A
|
|
}
|
|
|
|
' Sprites
|
|
' ##################################
|
|
|
|
sprite $person [48x48/16] {
|
|
000000000000000000000000000000000000000000000000
|
|
000000000000000000000000000000000000000000000000
|
|
0000000000000000000049BCCA7200000000000000000000
|
|
0000000000000000006EFFFFFFFFB3000000000000000000
|
|
00000000000000001CFFFFFFFFFFFF700000000000000000
|
|
0000000000000001EFFFFFFFFFFFFFF80000000000000000
|
|
000000000000000CFFFFFFFFFFFFFFFF6000000000000000
|
|
000000000000007FFFFFFFFFFFFFFFFFF100000000000000
|
|
00000000000001FFFFFFFFFFFFFFFFFFF900000000000000
|
|
00000000000006FFFFFFFFFFFFFFFFFFFF00000000000000
|
|
0000000000000BFFFFFFFFFFFFFFFFFFFF40000000000000
|
|
0000000000000EFFFFFFFFFFFFFFFFFFFF70000000000000
|
|
0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
|
|
0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
|
|
0000000000000DFFFFFFFFFFFFFFFFFFFF60000000000000
|
|
0000000000000AFFFFFFFFFFFFFFFFFFFF40000000000000
|
|
00000000000006FFFFFFFFFFFFFFFFFFFE00000000000000
|
|
00000000000000EFFFFFFFFFFFFFFFFFF800000000000000
|
|
000000000000007FFFFFFFFFFFFFFFFFF100000000000000
|
|
000000000000000BFFFFFFFFFFFFFFFF5000000000000000
|
|
0000000000000001DFFFFFFFFFFFFFF70000000000000000
|
|
00000000000000000BFFFFFFFFFFFF500000000000000000
|
|
0000000000000000005DFFFFFFFFA1000000000000000000
|
|
0000000000000000000037ABB96100000000000000000000
|
|
000000000000000000000000000000000000000000000000
|
|
000000000000000000000000000000000000000000000000
|
|
000000000000025788300000000005886410000000000000
|
|
000000000007DFFFFFFD9643347BFFFFFFFB400000000000
|
|
0000000004EFFFFFFFFFFFFFFFFFFFFFFFFFFB1000000000
|
|
000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFD200000000
|
|
00000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE10000000
|
|
0000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0000000
|
|
000000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5000000
|
|
000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD000000
|
|
000009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF200000
|
|
00000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF600000
|
|
00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000
|
|
00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA00000
|
|
00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
|
|
00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
|
|
00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
|
|
00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA00000
|
|
00000EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF700000
|
|
000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE100000
|
|
0000008FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3000000
|
|
000000014555555555555555555555555555555300000000
|
|
000000000000000000000000000000000000000000000000
|
|
000000000000000000000000000000000000000000000000
|
|
}
|
|
|
|
sprite $personC4 [48x48/16] {
|
|
0000000000000000000049BCCA7200000000000000000000
|
|
0000000000000000006EFFFFFFFFB3000000000000000000
|
|
00000000000000001CFFFFFFFFFFFF700000000000000000
|
|
0000000000000001EFFFFFFFFFFFFFF80000000000000000
|
|
000000000000000CFFFFFFFFFFFFFFFF6000000000000000
|
|
000000000000007FFFFFFFFFFFFFFFFFF100000000000000
|
|
00000000000001FFFFFFFFFFFFFFFFFFF900000000000000
|
|
00000000000006FFFFFFFFFFFFFFFFFFFF00000000000000
|
|
0000000000000BFFFFFFFFFFFFFFFFFFFF40000000000000
|
|
0000000000000EFFFFFFFFFFFFFFFFFFFF70000000000000
|
|
0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
|
|
0000000000000FFFFFFFFFFFFFFFFFFFFF80000000000000
|
|
0000000000000DFFFFFFFFFFFFFFFFFFFF60000000000000
|
|
0000000000000AFFFFFFFFFFFFFFFFFFFF40000000000000
|
|
00000000000006FFFFFFFFFFFFFFFFFFFE00000000000000
|
|
00000000000000EFFFFFFFFFFFFFFFFFF800000000000000
|
|
000000000000007FFFFFFFFFFFFFFFFFF100000000000000
|
|
000000000000000BFFFFFFFFFFFFFFFF5000000000000000
|
|
0000000000000001DFFFFFFFFFFFFFF70000000000000000
|
|
00000000000000000BFFFFFFFFFFFF500000000000000000
|
|
0000000000000000005DFFFFFFFFA1000000000000000000
|
|
0000000000000000000037ABB96100000000000000000000
|
|
000000000002578888300000000005888864100000000000
|
|
0000000007DFFFFFFFFD9643347BFFFFFFFFFB4000000000
|
|
00000004EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB10000000
|
|
0000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2000000
|
|
000006FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE100000
|
|
00003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB00000
|
|
0000BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50000
|
|
0003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0000
|
|
0009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2000
|
|
000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000
|
|
000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
|
|
001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
|
|
001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
|
|
001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB000
|
|
001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA000
|
|
000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000
|
|
000DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6000
|
|
0009FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFF2000
|
|
0003FFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFFD0000
|
|
0000BFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFF50000
|
|
00003FFFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFFB00000
|
|
000006FFFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFFE100000
|
|
0000007FFFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFFD2000000
|
|
00000004EFFF8FFFFFFFFFFFFFFFFFFFFFF8FFFB10000000
|
|
0000000007DF8FFFFFFFFFFFFFFFFFFFFFF8FB4000000000
|
|
000000000002578888888888888888888864100000000000
|
|
}
|
|
|
|
sprite $person3D [64x64/16z] {
|
|
rTH9iYif38LX2_NIhVrljnAP8717u3VpF_yETdQt7-XNQyGYmWZ_We5KfLBbzZL7KQ4HYp9yn-dIY3GNLE0xpbFp5R5yCu35PpMWSin1fMkivYzGEl_rX8Cl
|
|
0w9mUZmFtjhmbTBflwUhuZLGNfX4pZpBtRV5Nn4V_W6HD-UpC6ixyih3u-3JunUUS3Gz7NeHgeM5p_DFFLFLzV1y_F-fUwOPytVNlocNMVIy_yT_O3OvAvw_
|
|
lNDWS_pk_Nl35KyzXmeHYqpDn6fuUdg6gJ1rsRk_l9P9HzpIpLsLYRYg3wYQHz8HD_LmCrNfbhYqkTd9GF7oVM5aLr43UDl7wUgzBcJyVtTJYpwG0LlUCehV
|
|
XI5T8KUeUlG1JzlwovZVkxnJGyGctKUC0TeUx-eZCm-6rXfSrZp6GFh6Qvg5-qpXghcNhlO_85nzzTvkSAFLkssk0APRn3h0022nPf7m-URD_tal5A1PL0T_
|
|
GAQFuRq1Ugov9N_qCVpCgN4yUzsU_vYqzU_dtlEhLxJLPvRVN_yrGt_nyib3tPvOSuxL_wLvukxvyqSV6cj_wR5v1I73uZ6FjOn8sNtvqytZO-wn_G90itGp
|
|
z_VOxEAqumqjm-rzTJgt1fyuD4JIo8ntPMOO8pQ0pxw-rHxP-vjbBzo4YR2rZSVnkVQ8Fl3VLUTH7tIv_7B-Ti2yJ_GwxbfbS_mSgB_0KXDzfDE1cURf-uMQ
|
|
OEbTiCS3JxsVw1j8IzXjuSEWLcO06_l3_Nx_0m
|
|
}
|
|
|
|
' Layout
|
|
' ##################################
|
|
|
|
!procedure LAYOUT_WITH_LEGEND()
|
|
hide stereotype
|
|
legend right
|
|
|<color:$LEGEND_TITLE_COLOR>**Legend**</color> |
|
|
|<$PERSON_BG_COLOR> person |
|
|
|<$SYSTEM_BG_COLOR> system|
|
|
|<$EXTERNAL_PERSON_BG_COLOR> external person |
|
|
|<$EXTERNAL_SYSTEM_BG_COLOR> external system |
|
|
endlegend
|
|
!endprocedure
|
|
|
|
!global $defaultPerson = "person"
|
|
|
|
!procedure PERSON_SPRITE_NONE()
|
|
!$defaultPerson = ""
|
|
!endprocedure
|
|
|
|
!procedure PERSON_SPRITE_ACTIVE()
|
|
!$defaultPerson = "person"
|
|
!endprocedure
|
|
|
|
!procedure PERSON_SPRITE_C4()
|
|
!$defaultPerson = "personC4"
|
|
!endprocedure
|
|
|
|
!procedure PERSON_SPRITE_3D()
|
|
!$defaultPerson = "person3D"
|
|
!endprocedure
|
|
|
|
!procedure PERSON_SPRITE($person)
|
|
!$defaultPerson = $person
|
|
!endprocedure
|
|
|
|
' Elements
|
|
' ##################################
|
|
|
|
!function $getPerson($label, $descr, $sprite)
|
|
!if ($sprite == "") && ($defaultPerson!="")
|
|
!$sprite = $defaultPerson
|
|
!endif
|
|
!if ($descr == "") && ($sprite == "")
|
|
!return '=='+$label
|
|
!endif
|
|
!if ($descr == "") && ($sprite != "")
|
|
!return '<$'+$sprite+'>\n=='+$label
|
|
!endif
|
|
!if ($descr != "") && ($sprite == "")
|
|
!return '=='+$label+'\n\n '+$descr
|
|
!endif
|
|
!if ($descr != "") && ($sprite != "")
|
|
!return '<$'+$sprite+'>\n=='+$label+'\n\n '+$descr
|
|
!endif
|
|
!endfunction
|
|
|
|
!function $getSystem($label, $descr, $sprite)
|
|
!if ($descr == "") && ($sprite == "")
|
|
!return '=='+$label
|
|
!endif
|
|
!if ($descr == "") && ($sprite != "")
|
|
!return '<$'+$sprite+'>\n=='+$label
|
|
!endif
|
|
!if ($descr != "") && ($sprite == "")
|
|
!return '=='+$label+'\n\n '+$descr
|
|
!endif
|
|
!if ($descr != "") && ($sprite != "")
|
|
!return '<$'+$sprite+'>\n=='+$label+'\n\n '+$descr
|
|
!endif
|
|
!endfunction
|
|
|
|
!unquoted procedure Person($alias, $label, $descr="", $sprite="")
|
|
rectangle "$getPerson($label, $descr, $sprite)" <<person>> as $alias
|
|
!endprocedure
|
|
|
|
!unquoted procedure Person_Ext($alias, $label, $descr="", $sprite="")
|
|
rectangle "$getPerson($label, $descr, $sprite)" <<external_person>> as $alias
|
|
!endprocedure
|
|
|
|
!unquoted procedure System($alias, $label, $descr="", $sprite="")
|
|
rectangle "$getSystem($label, $descr, $sprite)" <<system>> as $alias
|
|
!endprocedure
|
|
|
|
!unquoted procedure System_Ext($alias, $label, $descr="", $sprite="")
|
|
rectangle "$getSystem($label, $descr, $sprite)" <<external_system>> as $alias
|
|
!endprocedure
|
|
|
|
' Boundaries
|
|
' ##################################
|
|
|
|
!unquoted function Enterprise_Boundary($alias, $label)
|
|
!return Boundary($alias, $label, "Enterprise")
|
|
!endfunction
|
|
!unquoted function System_Boundary($alias, $label)
|
|
!return Boundary($alias, $label, "System")
|
|
!endfunction
|