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.
131 lines
3.7 KiB
Plaintext
131 lines
3.7 KiB
Plaintext
!include https://raw.githubusercontent.com/adrianvlupu/C4-PlantUML/latest/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
|
|
}
|
|
|
|
skinparam database<<system>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $SYSTEM_BG_COLOR
|
|
BorderColor #3C7FC0
|
|
}
|
|
|
|
skinparam database<<external_system>> {
|
|
StereotypeFontColor $ELEMENT_FONT_COLOR
|
|
FontColor $ELEMENT_FONT_COLOR
|
|
BackgroundColor $EXTERNAL_SYSTEM_BG_COLOR
|
|
BorderColor #8A8A8A
|
|
}
|
|
|
|
' Layout
|
|
' ##################################
|
|
|
|
!function LAYOUT_WITH_LEGEND()
|
|
hide stereotype
|
|
legend right
|
|
|= |= Type |
|
|
|<$PERSON_BG_COLOR> | person |
|
|
|<$EXTERNAL_PERSON_BG_COLOR> | external person |
|
|
|<$SYSTEM_BG_COLOR> | system |
|
|
|<$EXTERNAL_SYSTEM_BG_COLOR> | external system |
|
|
endlegend
|
|
!endfunction
|
|
|
|
' Elements
|
|
' ##################################
|
|
|
|
!unquoted function Person($alias, $label)
|
|
rectangle "==$label" <<person>> as $alias
|
|
!endfunction
|
|
!unquoted function Person($alias, $label, $descr)
|
|
rectangle "==$label\n\n $descr" <<person>> as $alias
|
|
!endfunction
|
|
|
|
!unquoted function Person_Ext($alias, $label)
|
|
rectangle "==$label" <<external_person>> as $alias
|
|
!endfunction
|
|
!unquoted function Person_Ext($alias, $label, $descr)
|
|
rectangle "==$label\n\n $descr" <<external_person>> as $alias
|
|
!endfunction
|
|
|
|
!unquoted function System($alias, $label)
|
|
rectangle "==$label" <<system>> as $alias
|
|
!endfunction
|
|
!unquoted function System($alias, $label, $descr)
|
|
rectangle "==$label\n\n $descr" <<system>> as $alias
|
|
!endfunction
|
|
|
|
!unquoted function System_Ext($alias, $label)
|
|
rectangle "==$label" <<external_system>> as $alias
|
|
!endfunction
|
|
!unquoted function System_Ext($alias, $label, $descr)
|
|
rectangle "==$label\n\n $descr" <<external_system>> as $alias
|
|
!endfunction
|
|
|
|
!unquoted function SystemDb($alias, $label)
|
|
database "==$label" <<system>> as $alias
|
|
!endfunction
|
|
!unquoted function SystemDb($alias, $label, $descr)
|
|
database "==$label\n\n $descr" <<system>> as $alias
|
|
!endfunction
|
|
|
|
!unquoted function SystemDb_Ext($alias, $label)
|
|
database "==$label" <<external_system>> as $alias
|
|
!endfunction
|
|
!unquoted function SystemDb_ext($alias, $label, $descr)
|
|
database "==$label\n\n $descr" <<external_system>> as $alias
|
|
!endfunction
|
|
|
|
' 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
|