demo_doc/puml/materia/usecase-ex.svg

807 lines
19 KiB
XML
Raw Normal View History

2021-06-25 21:37:59 +08:00
<?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="543.75px" preserveAspectRatio="none" style="width:409px;height:543px;background:#00000000;" version="1.1" viewBox="0 0 409 543" width="409.375px" zoomAndPan="magnify"><defs><linearGradient id="g12i49713jxef40" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#FFFFFF"/></linearGradient><filter height="300%" id="f12i49713jxef4" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0833333333333335"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.166666666666667" dy="4.166666666666667" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter><linearGradient id="g12i49713jxef41" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#4DABF5"/><stop offset="100%" stop-color="#2196F3"/></linearGradient></defs><g><rect fill="url(#g12i49713jxef40)" height="56.5694" rx="4.1667" ry="4.1667" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" width="396.875" x="2.0833" y="2.0833"/><text fill="#2196F3" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="359.375" x="20.8333" y="38.6536">Usecase Diagram - materia theme</text><!--MD5=[111002b242a260edbcaabc3e471064d0]
cluster checkout--><rect fill="url(#g12i49713jxef40)" filter="url(#f12i49713jxef4)" height="392.7083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:2.0833333333333335;" width="168.75" x="138.0208" y="69.0694"/><text fill="#2196F3" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="61.4583" x="191.6667" y="94.1366">checkout</text><ellipse cx="222.6306" cy="284.6471" fill="url(#g12i49713jxef41)" filter="url(#f12i49713jxef4)" rx="67.9431" ry="28.5985" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="58.3333" x="193.464" y="287.5351">checkout</text><ellipse cx="222.4149" cy="153.3971" fill="url(#g12i49713jxef41)" filter="url(#f12i49713jxef4)" rx="67.2066" ry="28.5985" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="57.2917" x="193.7691" y="156.2851">payment</text><ellipse cx="222.6243" cy="415.8971" fill="url(#g12i49713jxef41)" filter="url(#f12i49713jxef4)" rx="46.5826" ry="28.5985" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="28.125" x="208.5618" y="418.7851">help</text><!--MD5=[92848cbaf65985a669855153c5362c37]
entity customer--><ellipse cx="48.4375" cy="242.5069" fill="url(#g12i49713jxef41)" filter="url(#f12i49713jxef4)" rx="8.3333" ry="8.3333" style="stroke:#2196F3;stroke-width:1.5625;"/><path d="M48.4375,250.8403 L48.4375,278.9653 M34.8958,259.1736 L61.9792,259.1736 M48.4375,278.9653 L34.8958,294.5903 M48.4375,278.9653 L61.9792,294.5903 " fill="none" filter="url(#f12i49713jxef4)" style="stroke:#2196F3;stroke-width:1.5625;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="60.4167" x="18.2292" y="323.3032">customer</text><!--MD5=[ebeabf449828f4e0b33bbb47961e644b]
entity clerk--><ellipse cx="381.25" cy="242.5069" fill="url(#g12i49713jxef41)" filter="url(#f12i49713jxef4)" rx="8.3333" ry="8.3333" style="stroke:#2196F3;stroke-width:1.5625;"/><path d="M381.25,250.8403 L381.25,278.9653 M367.7083,259.1736 L394.7917,259.1736 M381.25,278.9653 L367.7083,294.5903 M381.25,278.9653 L394.7917,294.5903 " fill="none" filter="url(#f12i49713jxef4)" style="stroke:#2196F3;stroke-width:1.5625;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="30.2083" x="366.1458" y="323.3032">clerk</text><!--MD5=[852381a7bb976b86080137fb6d718ea9]
link customer to checkout--><path d="M89.3438,284.6944 C108.6771,284.6944 132.4375,284.6944 154.4375,284.6944 " fill="none" id="customer-checkout" style="stroke:#2196F3;stroke-width:3.125;"/><!--MD5=[3ad5c6d5c608bfd6b87dc9c07c40a15f]
link checkout to payment--><path d="M222.3958,255.8923 C222.3958,235.7153 222.3958,208.684 222.3958,187.4444 " fill="none" id="checkout-to-payment" style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:7.0,7.0;"/><polygon fill="#2196F3" points="222.3958,182.184,218.2292,191.559,222.3958,187.3923,226.5625,191.559,222.3958,182.184" style="stroke:#2196F3;stroke-width:3.125;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="45.8333" x="177.6042" y="224.3449">include</text><!--MD5=[739e7928149c8fe27c2b5850560351c7]
link help to checkout--><path d="M222.3958,387.1423 C222.3958,366.9653 222.3958,339.934 222.3958,318.6944 " fill="none" id="help-to-checkout" style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:7.0,7.0;"/><polygon fill="#2196F3" points="222.3958,313.434,218.2292,322.809,222.3958,318.6423,226.5625,322.809,222.3958,313.434" style="stroke:#2196F3;stroke-width:3.125;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="53.125" x="173.9583" y="355.5949">extends</text><!--MD5=[b4c4ee8f2d94c159d2b9e04bd372cbe0]
link checkout to clerk--><path d="M290.375,284.6944 C313.5104,284.6944 338.0104,284.6944 355.5625,284.6944 " fill="none" id="checkout-clerk" style="stroke:#2196F3;stroke-width:3.125;"/><rect fill="#FFFFFF" height="46.4417" rx="5.2083" ry="5.2083" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" width="145.8333" x="127.6042" y="481.5694"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="112.5" x="144.2708" y="509.7616">This is my legend</text><!--MD5=[ceb40351392e6571127e3bb891f86dd1]
@startuml
!$THEME = "materia"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$BLUE = "#2196F3"
!$INDIGO = "#6610f2"
!$PURPLE = "#6f42c1"
!$PINK = "#e83e8c"
!$RED = "#e51c23"
!$ORANGE = "#fd7e14"
!$YELLOW = "#ff9800"
!$GREEN = "#4CAF50"
!$TEAL = "#20c997"
!$CYAN = "#9C27B0"
!$WHITE = "#FFF"
!$GRAY_DARK = "#222"
!$GRAY = "#666"
!$PRIMARY = "#2196F3"
!$SECONDARY = "#fff"
!$SUCCESS = "#4CAF50"
!$INFO = "#9C27B0"
!$WARNING = "#ff9800"
!$DANGER = "#e51c23"
!$LIGHT = "#fff"
!$DARK = "#222"
!$FGCOLOR = $DARK
!$PRIMARY_LIGHT = "#4dabf5"
!$PRIMARY_DARK = "#1a78c2"
!$PRIMARY_TEXT = $WHITE
!$SECONDARY_LIGHT = "#fff"
!$SECONDARY_DARK = "#cccccc"
!$SECONDARY_TEXT = $DARK
!$INFO_LIGHT = "#b052c0"
!$INFO_DARK = "#7D1F8D"
!$INFO_TEXT = $WHITE
!$SUCCESS_LIGHT = "#70bf73"
!$SUCCESS_DARK = "#3D8C40"
!$SUCCESS_TEXT = $WHITE
!$WARNING_LIGHT = "#ffad33"
!$WARNING_DARK = "#CC7A00"
!$WARNING_TEXT = $WHITE
!$DANGER_DARK = "#b7161c"
!$DANGER_LIGHT = "#B7161C"
!$DANGER_TEXT = $WHITE
!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
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
skinparam ArrowColor $GRAY
skinparam stereotype {
CBackgroundColor $SECONDARY_LIGHT
CBorderColor $SECONDARY_DARK
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 $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
}
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 $WHITE-$SECONDARY_LIGHT
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
ParticipantBorderThickness 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 transparent
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $GRAY
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 2
LifeLineBackgroundColor $SECONDARY_LIGHT
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO_TEXT
GroupBackgroundColor $BGCOLOR
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $WHITE-$LIGHT
DividerBorderColor $GRAY
DividerBorderThickness 2
DividerFontColor $DARK
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $GRAY
ReferenceFontColor $DARK
ReferenceHeaderFontColor $INFO
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY
BackgroundColor transparent
}
!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 #orange
BorderColor #999999
FontColor #333333
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $INFO_LIGHT-$INFO
BorderColor $INFO
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $WHITE-$LIGHT
BorderColor $GRAY
FontColor $GRAY
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_LIGHT
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING_LIGHT-$WARNING
BorderColor $WARNING
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $DARK
FontColor $DARK
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
FontColor $PRIMARY
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
$primary_scheme()
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
BorderColor $PRIMARY_DARK
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
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $GRAY
FontColor $GRAY
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
!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 true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
skinparam ArrowColor #666
skinparam stereotype {
CBackgroundColor #fff
CBorderColor #cccccc
ABackgroundColor #70bf73
ABorderColor #3D8C40
IBackgroundColor #B7161C
IBorderColor #b7161c
EBackgroundColor #ffad33
EBorderColor #CC7A00
NBackgroundColor #b052c0
NBorderColor #7D1F8D
}
skinparam title {
FontColor #2196F3
BorderColor #cccccc
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #fff-#fff
}
skinparam legend {
BackgroundColor #fff
BorderColor #cccccc
FontColor #222
}
skinparam swimlane {
BorderColor #9C27B0
BorderThickness 2
TitleBackgroundColor #fff-#fff
TitleFontColor #2196F3
}
skinparam activity {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BarColor #4CAF50
StartColor #9C27B0
EndColor #9C27B0
DiamondBackgroundColor #FFF-#fff
DiamondBorderColor #cccccc
DiamondFontColor #222
}
skinparam participant {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam arrow {
Thickness 3
Color #2196F3
FontColor #222
}
skinparam sequence {
BorderColor #2196F3
TitleFontColor #2196F3
BackgroundColor transparent
StartColor #2196F3
EndColor #2196F3
BoxBackgroundColor transparent
BoxBorderColor #666
BoxFontColor #222
LifeLineBorderColor #cccccc
LifeLineBorderThickness 2
LifeLineBackgroundColor #fff
GroupBorderColor #666
GroupFontColor #222
GroupHeaderFontColor #FFF
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #FFF-#fff
DividerBorderColor #666
DividerBorderThickness 2
DividerFontColor #222
ReferenceBackgroundColor transparent
ReferenceBorderColor #666
ReferenceFontColor #222
ReferenceHeaderFontColor #9C27B0
}
skinparam partition {
BorderColor #2196F3
FontColor #2196F3
BackgroundColor transparent
}
skinparam collections {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam control {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam entity {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam boundary {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
skinparam note {
BorderThickness 1
BackgroundColor #b052c0-#9C27B0
BorderColor #9C27B0
FontColor #FFF
}
skinparam artifact {
BackgroundColor #FFF-#fff
BorderColor #666
FontColor #666
}
skinparam component {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam interface {
BackgroundColor #B7161C
BorderColor #e51c23
FontColor #222
}
skinparam storage {
BackgroundColor #ffad33-#ff9800
BorderColor #ff9800
FontColor #FFF
}
skinparam node {
BackgroundColor #fff-#fff
BorderColor #222
FontColor #222
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #222
}
skinparam database {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam class {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
HeaderBackgroundColor #2196F3-#1a78c2
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #fff
AttributeFontSize 11
}
skinparam object {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #222
AttributeFontSize 11
}
skinparam usecase {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam rectangle {
FontColor #2196F3
BackgroundColor #fff-#fff
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam package {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BackgroundColor #fff-#fff
BorderThickness 2
}
skinparam folder {
BackgroundColor #FFF-#fff
BorderColor #ff9800
FontColor #ff9800
BorderThickness 2
}
skinparam frame {
BackgroundColor #FFF-#fff
BorderColor #9C27B0
FontColor #9C27B0
BorderThickness 2
}
skinparam state {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BorderColor #1a78c2
StartColor #9C27B0
EndColor #9C27B0
AttributeFontColor #222
AttributeFontSize 11
}
skinparam queue {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam card {
BackgroundColor #b052c0-#9C27B0
BorderColor #9C27B0
FontColor #FFF
}
skinparam file {
BackgroundColor #fff-#fff
BorderColor #666
FontColor #666
}
skinparam stack {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
title Usecase Diagram - materia 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>