demo_doc/puml/hacker/usecase-ex.svg
2021-06-25 21:37:59 +08:00

850 lines
19 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="441.6667px" preserveAspectRatio="none" style="width:388px;height:441px;background:#00000000;" version="1.1" viewBox="0 0 388 441" width="388.5417px" zoomAndPan="magnify"><defs><linearGradient id="g1rkew1o7dfd790" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#151515"/><stop offset="100%" stop-color="#000000"/></linearGradient><linearGradient id="g1rkew1o7dfd791" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#D3F198"/><stop offset="100%" stop-color="#B5E853"/></linearGradient></defs><g><rect fill="url(#g1rkew1o7dfd790)" height="46.1528" rx="4.1667" ry="4.1667" style="stroke:#B5E853;stroke-width:1.0416666666666667;" width="376.0417" x="2.0833" y="2.0833"/><text fill="#B5E853" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="348.9583" x="15.625" y="33.4452">Usecase Diagram - hacker theme</text><!--MD5=[111002b242a260edbcaabc3e471064d0]
cluster checkout--><rect height="317.7083" rx="20.8333" ry="20.8333" style="stroke:#B5E853;stroke-width:2.0833333333333335;fill:none;" width="154.1667" x="134.8958" y="58.6528"/><text fill="#6D8B32" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="61.4583" x="181.25" y="78.5116">checkout</text><ellipse cx="212.1399" cy="231.4481" fill="url(#g1rkew1o7dfd791)" rx="60.5774" ry="21.2328" style="stroke:#D3F198;stroke-width:2.0833333333333335;"/><text fill="#151515" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="58.3333" x="182.9733" y="234.336">checkout</text><ellipse cx="211.9242" cy="125.1981" fill="url(#g1rkew1o7dfd791)" rx="59.8409" ry="21.2328" style="stroke:#D3F198;stroke-width:2.0833333333333335;"/><text fill="#151515" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="57.2917" x="183.2784" y="128.086">payment</text><ellipse cx="212.1336" cy="337.6981" fill="url(#g1rkew1o7dfd791)" rx="39.2169" ry="21.2328" style="stroke:#D3F198;stroke-width:2.0833333333333335;"/><text fill="#151515" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="28.125" x="198.0711" y="340.586">help</text><!--MD5=[92848cbaf65985a669855153c5362c37]
entity customer--><ellipse cx="50.5208" cy="196.1528" fill="url(#g1rkew1o7dfd791)" rx="8.3333" ry="8.3333" style="stroke:#D3F198;stroke-width:1.5625;"/><path d="M50.5208,204.4861 L50.5208,232.6111 M36.9792,212.8194 L64.0625,212.8194 M50.5208,232.6111 L36.9792,248.2361 M50.5208,232.6111 L64.0625,248.2361 " fill="none" style="stroke:#D3F198;stroke-width:1.5625;"/><text fill="#EAEAEA" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="60.4167" x="20.3125" y="268.6157">customer</text><!--MD5=[ebeabf449828f4e0b33bbb47961e644b]
entity clerk--><ellipse cx="358.3333" cy="196.1528" fill="url(#g1rkew1o7dfd791)" rx="8.3333" ry="8.3333" style="stroke:#D3F198;stroke-width:1.5625;"/><path d="M358.3333,204.4861 L358.3333,232.6111 M344.7917,212.8194 L371.875,212.8194 M358.3333,232.6111 L344.7917,248.2361 M358.3333,232.6111 L371.875,248.2361 " fill="none" style="stroke:#D3F198;stroke-width:1.5625;"/><text fill="#EAEAEA" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="30.2083" x="343.2292" y="268.6157">clerk</text><!--MD5=[852381a7bb976b86080137fb6d718ea9]
link customer to checkout--><path d="M86.1458,231.5694 C105.1875,231.5694 129.3542,231.5694 151.3333,231.5694 " fill="none" id="customer-checkout" style="stroke:#B5E853;stroke-width:3.125;"/><!--MD5=[3ad5c6d5c608bfd6b87dc9c07c40a15f]
link checkout to payment--><path d="M211.9792,210.0694 C211.9792,193.3611 211.9792,170.1007 211.9792,152.1632 " fill="none" id="checkout-to-payment" style="stroke:#B5E853;stroke-width:3.125;stroke-dasharray:7.0,7.0;"/><polygon fill="#B5E853" points="211.9792,146.7882,207.8125,156.1632,211.9792,151.9965,216.1458,156.1632,211.9792,146.7882" style="stroke:#B5E853;stroke-width:3.125;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="45.8333" x="172.3958" y="183.7199">include</text><!--MD5=[739e7928149c8fe27c2b5850560351c7]
link help to checkout--><path d="M211.9792,316.3194 C211.9792,299.6111 211.9792,276.3507 211.9792,258.4132 " fill="none" id="help-to-checkout" style="stroke:#B5E853;stroke-width:3.125;stroke-dasharray:7.0,7.0;"/><polygon fill="#B5E853" points="211.9792,253.0382,207.8125,262.4132,211.9792,258.2465,216.1458,262.4132,211.9792,253.0382" style="stroke:#B5E853;stroke-width:3.125;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="53.125" x="168.75" y="289.9699">extends</text><!--MD5=[b4c4ee8f2d94c159d2b9e04bd372cbe0]
link checkout to clerk--><path d="M272.5313,231.5694 C295.8229,231.5694 320.9167,231.5694 337.7083,231.5694 " fill="none" id="checkout-clerk" style="stroke:#B5E853;stroke-width:3.125;"/><rect fill="#6A9FB5" height="36.025" rx="5.2083" ry="5.2083" style="stroke:#557F91;stroke-width:1.0416666666666667;" width="135.4167" x="122.3958" y="389.9028"/><text fill="#EAEAEA" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="112.5" x="133.8542" y="412.8866">This is my legend</text><!--MD5=[2aef256ee7d73ac7f488af1c9843d646]
@startuml
!$THEME = "hacker"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam BackgroundColor $BGCOLOR
skinparam useBetaStyle false
!$PRIMARY = "#b5e853"
!$PRIMARY_LIGHT = "#d3f198"
!$PRIMARY_DARK = "#6d8b32"
!$PRIMARY_TEXT = "#151515"
!$SECONDARY = "#6a9fb5"
!$SECONDARY_LIGHT = "#88b2c4"
!$SECONDARY_DARK = "#557f91"
!$SECONDARY_TEXT = "#fefefe"
!$SUCCESS = "#90a959"
!$SUCCESS_LIGHT = "#a6ba7a"
!$INFO = "#aa759f"
!$INFO_LIGHT = "#bb91b2"
!$INFO_DARK = "#885E7F"
!$WARNING = "#f4bf75"
!$WARNING_LIGHT = "#f6cc91"
!$WARNING_TEXT = "#151515"
!$DANGER = "#ac4142"
!$DANGER_LIGHT = "#bd6768"
!$LIGHT = "#151515"
!$DARK = "#eaeaea"
!procedure $success($msg)
<font color=$SUCCESS><b>$msg
!endprocedure
!procedure $failure($msg)
<font color=$DANGER><b>$msg
!endprocedure
!procedure $warning($msg)
<font color=$WARNING><b>$msg
!endprocedure
!procedure $primary_scheme()
FontColor $PRIMARY_TEXT
BorderColor $PRIMARY_LIGHT
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 40
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 5
skinparam ArrowColor $DARK
skinparam stereotype {
CBackgroundColor $SECONDARY_DARK
CBorderColor $SECONDARY_LIGHT
ABackgroundColor $SUCCESS_LIGHT
ABorderColor $SUCCESS_DARK
IBackgroundColor $DANGER_LIGHT
IBorderColor $DANGER_DARK
EBackgroundColor $WARNING_LIGHT
EBorderColor $WARNING_DARK
NBackgroundColor $INFO_LIGHT
NBorderColor $INFO_DARK
}
skinparam title {
FontColor $PRIMARY
BorderColor $PRIMARY
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $LIGHT-black
}
skinparam legend {
BackgroundColor $SECONDARY
BorderColor $SECONDARY_DARK
FontColor $DARK
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $SUCCESS
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY
DiamondBorderColor $SECONDARY_LIGHT
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
BorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
TitleFontColor $PRIMARY
BackgroundColor $BGCOLOR
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $DARK
BoxFontColor $DARk
LifeLineBorderColor $SECONDARY
LifeLineBorderThickness 2
LifeLineBackgroundColor $SECONDARY_DARK
GroupBorderColor $DARK
GroupFontColor $DARK
GroupHeaderFontColor $INFO_TEXT
GroupBackgroundColor $BGCOLOR
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $DARK
DividerBorderColor $DARK
DividerBorderThickness 2
DividerFontColor $LIGHT
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $DARK
ReferenceFontColor $DARK
ReferenceHeaderBackgroundColor $LIGHT
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY
BackgroundColor $LIGHT-black
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor $WARNING_LIGHT-$WARNING
BorderColor $WARNING_LIGHT
FontColor $DARK
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $INFO_LIGHT-$INFO_DARK
BorderColor $INFO_DARK
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $DARK
BorderColor white
FontColor $LIGHT
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_LIGHT-$DANGER
BorderColor $DANGER_LIGHT
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING_LIGHT-$WARNING
BorderColor $WARNING_LIGHT
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $LIGHT-black
BorderColor $PRIMARY_LIGHT
FontColor $DARK
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor $DARK
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
BackgroundColor $LIGHT-black
BorderColor $PRIMARY_LIGHT
FontColor $DARK
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
BackgroundColor $BGCOLOR
BorderColor $PRIMARY
BorderThickness 2
FontColor $PRIMARY_DARK
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
BackgroundColor $LIGHT
BorderColor $PRIMARY
FontColor $PRIMARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $LIGHT-black
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $LIGHT-black
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO_LIGHT-$INFO
BorderColor $INFO_LIGHT
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $SECONDARY_LIGHT
FontColor $DARK
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
!if %variable_exists("NEWSTYLE")
<style>
wbsDiagram {
LineColor $PRIMARY
BorderThickness 3
BackgroundColor $LIGHT-black
FontColor $PRIMARY
:depth(0) {
fontSize 16
fontStyle bold
fontColor $SECONDARY
}
:depth(1) {
fontSize 14
padding 5
fontStyle bold
}
:depth(2) {
fontSize 12
padding 4
}
:depth(3) {
fontSize 11
padding 3
fontColor $INFO
}
}
</style>
<style>
mindmapDiagram {
LineColor $PRIMARY
BorderThickness 3
BackgroundColor $LIGHT-black
FontColor $PRIMARY
:depth(0) {
fontSize 16
fontStyle bold
fontColor $SECONDARY
}
:depth(1) {
fontSize 14
padding 5
fontStyle bold
}
:depth(2) {
fontSize 12
padding 4
}
:depth(3) {
fontSize 11
padding 3
fontColor $INFO
}
}
</style>
!endif
!if %variable_exists("$THEME")
title Usecase Diagram - $THEME theme
!else
title Usecase Diagram
!endif
legend
This is my legend
endlegend
'skinparam BackgroundColor transparent
left to right direction
actor customer
actor clerk
rectangle checkout {
customer - - (checkout)
(checkout) .> (payment) : include
(help) .> (checkout) : extends
(checkout) - - clerk
}
@enduml
@startuml
skinparam BackgroundColor transparent
skinparam useBetaStyle false
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 40
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 5
skinparam ArrowColor #eaeaea
skinparam stereotype {
CBackgroundColor #557f91
CBorderColor #88b2c4
ABackgroundColor #a6ba7a
ABorderColor $SUCCESS_DARK
IBackgroundColor #bd6768
IBorderColor $DANGER_DARK
EBackgroundColor #f6cc91
EBorderColor $WARNING_DARK
NBackgroundColor #bb91b2
NBorderColor #885E7F
}
skinparam title {
FontColor #b5e853
BorderColor #b5e853
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #151515-black
}
skinparam legend {
BackgroundColor #6a9fb5
BorderColor #557f91
FontColor #eaeaea
}
skinparam swimlane {
BorderColor #aa759f
BorderThickness 2
TitleBackgroundColor #88b2c4-#6a9fb5
TitleFontColor #b5e853
}
skinparam activity {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
BarColor #90a959
StartColor #aa759f
EndColor #aa759f
DiamondBackgroundColor #88b2c4-#6a9fb5
DiamondBorderColor #88b2c4
DiamondFontColor #fefefe
}
skinparam participant {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
BorderThickness 2
}
skinparam actor {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
FontColor #eaeaea
}
skinparam arrow {
Thickness 3
Color #b5e853
FontColor $FGCOLOR
}
skinparam sequence {
BorderColor #b5e853
TitleFontColor #b5e853
BackgroundColor transparent
StartColor #b5e853
EndColor #b5e853
BoxBackgroundColor transparent
BoxBorderColor #eaeaea
BoxFontColor $DARk
LifeLineBorderColor #6a9fb5
LifeLineBorderThickness 2
LifeLineBackgroundColor #557f91
GroupBorderColor #eaeaea
GroupFontColor #eaeaea
GroupHeaderFontColor $INFO_TEXT
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #eaeaea
DividerBorderColor #eaeaea
DividerBorderThickness 2
DividerFontColor #151515
ReferenceBackgroundColor transparent
ReferenceBorderColor #eaeaea
ReferenceFontColor #eaeaea
ReferenceHeaderBackgroundColor #151515
}
skinparam partition {
BorderColor #b5e853
FontColor #b5e853
BackgroundColor #151515-black
}
skinparam collections {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
}
skinparam control {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
FontColor #eaeaea
}
skinparam entity {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
FontColor #eaeaea
}
skinparam boundary {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
FontColor #eaeaea
}
skinparam agent {
BackgroundColor #f6cc91-#f4bf75
BorderColor #f6cc91
FontColor #eaeaea
}
skinparam note {
BorderThickness 1
BackgroundColor #bb91b2-#885E7F
BorderColor #885E7F
FontColor $WHITE
}
skinparam artifact {
BackgroundColor #eaeaea
BorderColor white
FontColor #151515
}
skinparam component {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
}
skinparam interface {
BackgroundColor #bd6768-#ac4142
BorderColor #bd6768
FontColor #eaeaea
}
skinparam storage {
BackgroundColor #f6cc91-#f4bf75
BorderColor #f6cc91
FontColor #151515
}
skinparam node {
BackgroundColor #151515-black
BorderColor #d3f198
FontColor #eaeaea
}
skinparam cloud {
BackgroundColor transparent
BorderColor #eaeaea
FontColor #eaeaea
}
skinparam database {
BackgroundColor #151515-black
BorderColor #d3f198
FontColor #eaeaea
}
skinparam class {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
HeaderBackgroundColor #d3f198-#b5e853
StereotypeFontColor #eaeaea
BorderThickness 1
AttributeFontColor #151515
AttributeFontSize 11
}
skinparam object {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
StereotypeFontColor #eaeaea
BorderThickness 1
AttributeFontColor #151515
AttributeFontSize 11
}
skinparam usecase {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
BorderThickness 2
StereotypeFontColor #b5e853
}
skinparam rectangle {
BackgroundColor transparent
BorderColor #b5e853
BorderThickness 2
FontColor #6d8b32
StereotypeFontColor #b5e853
}
skinparam package {
BackgroundColor #151515
BorderColor #b5e853
FontColor #b5e853
BorderThickness 2
}
skinparam folder {
BackgroundColor #151515-black
BorderColor #f4bf75
FontColor #f4bf75
BorderThickness 2
}
skinparam frame {
BackgroundColor #151515-black
BorderColor #aa759f
FontColor #aa759f
BorderThickness 2
}
skinparam state {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
StartColor #aa759f
EndColor #aa759f
AttributeFontColor #fefefe
AttributeFontSize 11
}
skinparam queue {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
}
skinparam card {
BackgroundColor #bb91b2-#aa759f
BorderColor #bb91b2
FontColor $INFO_TEXT
}
skinparam file {
BackgroundColor #88b2c4-#6a9fb5
BorderColor #88b2c4
FontColor #eaeaea
}
skinparam stack {
FontColor #151515
BorderColor #d3f198
BackgroundColor #d3f198-#b5e853
}
title Usecase Diagram - hacker theme
legend
This is my legend
endlegend
left to right direction
actor customer
actor clerk
rectangle checkout {
customer - - (checkout)
(checkout) .> (payment) : include
(help) .> (checkout) : extends
(checkout) - - clerk
}
@enduml
PlantUML version 1.2021.01(Mon Feb 01 23:55:08 PST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>