From 9e697db445d796e7b6dfbf40e61ec4c0d7f8e4f1 Mon Sep 17 00:00:00 2001 From: Alan Jui Date: Fri, 8 Mar 2024 15:36:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20PlantUML=20=E8=A3=BD?= =?UTF-8?q?=E4=BD=9C=E8=A8=AD=E8=A8=88=E5=9C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/SDD_001.md | 41 ++++++++++++++ docs/diagrams/example/C4-Model/c4-001.puml | 9 +++ docs/diagrams/example/C4-Model/c4-002.puml | 21 +++++++ docs/diagrams/example/C4-Model/c4-003.puml | 26 +++++++++ docs/diagrams/example/C4-Model/c4-004.puml | 26 +++++++++ docs/diagrams/example/C4-Model/c4-005.puml | 39 +++++++++++++ docs/diagrams/example/C4-Model/c4-006.puml | 52 ++++++++++++++++++ docs/diagrams/example/C4-Model/c4-007.puml | 29 ++++++++++ .../example/C4-Model/tree-table-001.puml | 18 ++++++ .../example/C4-Model/wirefirmae-002.puml | 7 +++ .../example/C4-Model/wireframe-001.puml | 9 +++ docs/diagrams/example/SDD-001.puml | 25 +++++++++ docs/diagrams/example/a001.md | 35 ++++++++++++ docs/diagrams/example/a001.puml | 31 +++++++++++ docs/diagrams/example/a002.md | 38 +++++++++++++ docs/diagrams/example/a120.md | 42 ++++++++++++++ docs/diagrams/example/class.puml | 9 +++ docs/diagrams/example/flow_chart.puml | 16 ++++++ docs/diagrams/example/flow_chart_001.puml | 17 ++++++ .../example/sequence_diagram_001.puml | 43 +++++++++++++++ docs/diagrams/example/yaml-001.puml | 23 ++++++++ out/class/class.png | Bin 0 -> 4396 bytes .../SQLite/Rebuid_Table_To_Add_ID_Column.sql | 23 ++++---- 23 files changed, 568 insertions(+), 11 deletions(-) create mode 100644 docs/SDD_001.md create mode 100644 docs/diagrams/example/C4-Model/c4-001.puml create mode 100644 docs/diagrams/example/C4-Model/c4-002.puml create mode 100644 docs/diagrams/example/C4-Model/c4-003.puml create mode 100644 docs/diagrams/example/C4-Model/c4-004.puml create mode 100644 docs/diagrams/example/C4-Model/c4-005.puml create mode 100644 docs/diagrams/example/C4-Model/c4-006.puml create mode 100644 docs/diagrams/example/C4-Model/c4-007.puml create mode 100644 docs/diagrams/example/C4-Model/tree-table-001.puml create mode 100644 docs/diagrams/example/C4-Model/wirefirmae-002.puml create mode 100644 docs/diagrams/example/C4-Model/wireframe-001.puml create mode 100644 docs/diagrams/example/SDD-001.puml create mode 100644 docs/diagrams/example/a001.md create mode 100644 docs/diagrams/example/a001.puml create mode 100644 docs/diagrams/example/a002.md create mode 100644 docs/diagrams/example/a120.md create mode 100644 docs/diagrams/example/class.puml create mode 100644 docs/diagrams/example/flow_chart.puml create mode 100644 docs/diagrams/example/flow_chart_001.puml create mode 100644 docs/diagrams/example/sequence_diagram_001.puml create mode 100644 docs/diagrams/example/yaml-001.puml create mode 100644 out/class/class.png diff --git a/docs/SDD_001.md b/docs/SDD_001.md new file mode 100644 index 0000000..0ef12c6 --- /dev/null +++ b/docs/SDD_001.md @@ -0,0 +1,41 @@ +@startuml +start +:Let entSet be a set of Entitlements to revoke; +:Add all dependent entitlements to entSet; +:Delete all dependent entitlements from database; +:Delete pools of entitlements +in entSet that are development pools; +:Update consumed quantity of entSet; +:Delete all entSet entitlements + from database; +:stackPools = filter Entitlements from entSet that +have stacking_id attribute; +partition for-each-entSet { +:stackPool = find stack pool +for entitlement; +:sSet = find all ents that have the +stacking_id; +:Update stackPool based on sSet; +} +:virtEnts = filter Entitlements from entSet that +have virt_limit and are for distributors; +partition for-each-virtEnts { +if (virt_limit == unlimited) then +-> YES; +:Set bonus pool quantity to -1; +else +-> NO; +:Add back reduced pool quantity; +endif +} +:mEnts = get all modifier +entitlements of entSet entitlements;; +:Lazily regenerate entitlement certificates + for all mEnts; +:Compute compliance status for all +Consumers that have an entitlement in entSet; +stop +@enduml + +plantuml + diff --git a/docs/diagrams/example/C4-Model/c4-001.puml b/docs/diagrams/example/C4-Model/c4-001.puml new file mode 100644 index 0000000..9729521 --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-001.puml @@ -0,0 +1,9 @@ +@startuml C4_Elements +!include + +Person(personAlias, "Label", "Optional Description") +Container(containerAlias, "Label", "Technology", "Optional Description") +System(systemAlias, "Label", "Optional Description") + +Rel(personAlias, containerAlias, "Label", "Optional Technology") +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/c4-002.puml b/docs/diagrams/example/C4-Model/c4-002.puml new file mode 100644 index 0000000..5324106 --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-002.puml @@ -0,0 +1,21 @@ +@startuml +!include + +!define DEVICONS https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/devicons +!define FONTAWESOME https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/font-awesome-5 +!include DEVICONS/angular.puml +!include DEVICONS/java.puml +!include DEVICONS/msql_server.puml +!include FONTAWESOME/users.puml + +LAYOUT_WITH_LEGEND() + +Person(user, "Customer", "People that need products", $sprite="users") +Container(spa, "SPA", "angular", "The main interface that the customer interacts with", $sprite="angular") +Container(api, "API", "java", "Handles all business logic", $sprite="java") +ContainerDb(db, "Database", "Microsoft SQL", "Holds product, order and invoice information", $sprite="msql_server") + +Rel(user, spa, "Uses", "https") +Rel(spa, api, "Uses", "https") +Rel_R(api, db, "Reads/Writes") +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/c4-003.puml b/docs/diagrams/example/C4-Model/c4-003.puml new file mode 100644 index 0000000..793b43f --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-003.puml @@ -0,0 +1,26 @@ +@startuml +!include + +AddElementTag("v1.0", $borderColor="#d73027") +AddElementTag("v1.1", $fontColor="#d73027") +AddElementTag("backup", $fontColor="orange") + +AddRelTag("backup", $textColor="orange", $lineColor="orange", $lineStyle = DashedLine()) + +Person(user, "Customer", "People that need products") +Person(admin, "Administrator", "People that administrates the products via the new v1.1 components", $tags="v1.1") +Container(spa, "SPA", "angular", "The main interface that the customer interacts with via v1.0", $tags="v1.0") +Container(spaAdmin, "Admin SPA", "angular", "The administrator interface that the customer interacts with via new v1.1", $tags="v1.1") +Container(api, "API", "java", "Handles all business logic (incl. new v1.1 extensions)", $tags="v1.0+v1.1") +ContainerDb(db, "Database", "Microsoft SQL", "Holds product, order and invoice information") +Container(archive, "Archive", "Audit logging", "Stores 5 years", $tags="backup") + +Rel(user, spa, "Uses", "https") +Rel(spa, api, "Uses", "https") +Rel_R(api, db, "Reads/Writes") +Rel(admin, spaAdmin, "Uses", "https") +Rel(spaAdmin, api, "Uses", "https") +Rel_L(api, archive, "Writes", "messages", $tags="backup") + +SHOW_LEGEND() +@enduml diff --git a/docs/diagrams/example/C4-Model/c4-004.puml b/docs/diagrams/example/C4-Model/c4-004.puml new file mode 100644 index 0000000..a3f6715 --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-004.puml @@ -0,0 +1,26 @@ +@startuml +!include +HIDE_STEREOTYPE() + +Person(a, "A") +Person(b, "B") +Person(c, "C") +Person(d, "D") +Person(e, "E") + +BiRel_U(a, b, "talk with") +BiRel_R(a, c, "talk with") +BiRel_D(a, d, "talk with") +BiRel_L(a, e, "talk with") + +Person(x, "X") +System(s1, "S1") +System(s2, "S2") +System(s3, "S3") +System(s4, "S4") + +Rel_U(x, s1, "uses") +Rel_R(x, s2, "uses") +Rel_D(x, s3, "uses") +Rel_L(x, s4, "uses") +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/c4-005.puml b/docs/diagrams/example/C4-Model/c4-005.puml new file mode 100644 index 0000000..91629f1 --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-005.puml @@ -0,0 +1,39 @@ +@startuml +!include + +' <<<<< this section could be stored in a separate file and reused in all other diagrams too +' it defines new default colors, different default sprites and legend +!$COLOR_A_5 = "#7f3b08" +!$COLOR_A_4 = "#b35806" +!$COLOR_A_3 = "#e08214" +!$COLOR_A_2 = "#fdb863" +!$COLOR_A_1 = "#fee0b6" +!$COLOR_NEUTRAL = "#f7f7f7" +!$COLOR_B_1 = "#d8daeb" +!$COLOR_B_2 = "#b2abd2" +!$COLOR_B_3 = "#8073ac" +!$COLOR_B_4 = "#542788" +!$COLOR_B_5 = "#2d004b" +!$COLOR_REL_LINE = "#8073ac" +!$COLOR_REL_TEXT = "#8073ac" + +UpdateElementStyle("person", $bgColor=$COLOR_A_5, $fontColor=$COLOR_NEUTRAL, $borderColor=$COLOR_A_1, $shadowing="true", $legendText="Internal user") +UpdateElementStyle("external_person", $bgColor=$COLOR_B_5, $fontColor=$COLOR_NEUTRAL, $borderColor=$COLOR_B_1, $legendText="External user") +UpdateElementStyle("system", $bgColor=$COLOR_A_4, $fontColor=$COLOR_NEUTRAL, $borderColor=$COLOR_A_2, $sprite="robot", $legendText="Our chatbot based system") +UpdateElementStyle("external_system", $bgColor=$COLOR_B_4, $fontColor=$COLOR_NEUTRAL, $borderColor=$COLOR_B_2, $legendText="External system") +UpdateRelStyle($lineColor=$COLOR_REL_LINE, $textColor=$COLOR_REL_TEXT) +' >>>>> end of section + +Person(customer, "Personal Banking Customer") +System(banking_system, "Internet Banking System") + +System_Ext(mail_system, "E-mail system") +System_Ext(mainframe, "Mainframe Banking System") + +Rel(customer, banking_system, "Uses") +Rel_Back(customer, mail_system, "Sends e-mails to") +Rel_Neighbor(banking_system, mail_system, "Sends e-mails") +Rel(banking_system, mainframe, "Uses") + +SHOW_LEGEND() +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/c4-006.puml b/docs/diagrams/example/C4-Model/c4-006.puml new file mode 100644 index 0000000..403674e --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-006.puml @@ -0,0 +1,52 @@ +@startuml +!include + +!define osaPuml https://raw.githubusercontent.com/Crashedmind/PlantUML-opensecurityarchitecture2-icons/master +!include osaPuml/Common.puml +!include osaPuml/User/all.puml + +!include +!include +!include +!include +!include + +AddExternalPersonTag("anonymous_ext", $sprite="osa_user_black_hat", $legendText="anonymous user") +AddPersonTag("customer", $sprite="osa_user_large_group", $legendText="aggregated user") +AddPersonTag("admin", $sprite="osa_user_audit,color=red", $legendSprite="osa_user_audit,scale=0.25,color=red", $legendText="administration user") + +AddContainerTag("webApp", $sprite="application_server", $legendText="web app container") +AddContainerTag("db", $sprite="database_server", $legendText="database container") +AddContainerTag("files", $sprite="file_server", $legendText="file server container") +AddContainerTag("conApp", $sprite="service_application", $legendText="console app container") + +AddRelTag("firewall", $textColor="$ARROW_FONT_COLOR", $lineColor="$ARROW_COLOR", $sprite="firewall,scale=0.3,color=red", $legendText="firewall") + +Person_Ext(anonymous_user, "Bob", $tags="anonymous_ext") +Person(aggregated_user, "Sam, Ivone", $tags="customer") +Person(administration_user, "Bernd", $tags="admin") + +System_Boundary(c1, "techtribes.js"){ + Container(web_app, "Web Application", "Java, Spring MVC, Tomcat 7.x", $tags="webApp") + ContainerDb(rel_db, "Relational Database", "MySQL 5.5.x", $tags="db") + Container(filesystem, "File System", "FAT32", $tags="files") + ContainerDb(nosql, "NoSQL Data Store", "MongoDB 2.2.x", $tags="db") + Container(updater, "Updater", "Java 7 Console App", $tags="conApp") +} + +Rel(anonymous_user, web_app, "Uses", "HTTPS", $tags="firewall") +Rel(aggregated_user, web_app, "Uses", "HTTPS", $tags="firewall") +Rel(administration_user, web_app, "Uses", "HTTPS", $tags="firewall") + +Rel(web_app, rel_db, "Reads from and writes to", "SQL/JDBC, port 3306") +Rel(web_app, filesystem, "Reads from") +Rel(web_app, nosql, "Reads from", "MongoDB wire protocol, port 27017") + +Rel_U(updater, rel_db, "Reads from and writes data to", "SQL/JDBC, port 3306") +Rel_U(updater, filesystem, "Writes to") +Rel_U(updater, nosql, "Reads from and writes to", "MongoDB wire protocol, port 27017") + +Lay_R(rel_db, filesystem) + +SHOW_LEGEND() +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/c4-007.puml b/docs/diagrams/example/C4-Model/c4-007.puml new file mode 100644 index 0000000..c5ec32d --- /dev/null +++ b/docs/diagrams/example/C4-Model/c4-007.puml @@ -0,0 +1,29 @@ +@startuml +!include + +' default header Property, Value +AddProperty("Name", "Flash") +AddProperty("Organization", "Zootopia") +AddProperty("Tool", "Internet Explorer 7.0") +Person(personAlias, "Label", "Optional Description (with default property header)") + +SetPropertyHeader("Property","Value", "Description") +AddProperty("Prop1", "Value1", "Details1") +AddProperty("Prop2", "Value2", "Details2") +Deployment_Node_L(nodeAlias, "Label", "Optional Type", "Optional Description (with custom property header)") { + + WithoutPropertyHeader() + AddProperty("PropC1", "ValueC1") + AddProperty("PropC2", "ValueC2") + Container(containerAlias, "Label", "Technology", "Optional Description (without property header)") +} + +System(systemAlias, "Label", "Optional Description (without properties)") + +' starting with v.2.5.0 relationships support properties too +WithoutPropertyHeader() +AddProperty("PropC1", "ValueC1") +AddProperty("PropC2", "ValueC2") +Rel(personAlias, containerAlias, "Label", "Optional Technology", "Optional Description") + +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/C4-Model/tree-table-001.puml b/docs/diagrams/example/C4-Model/tree-table-001.puml new file mode 100644 index 0000000..2f47ce0 --- /dev/null +++ b/docs/diagrams/example/C4-Model/tree-table-001.puml @@ -0,0 +1,18 @@ +@startsalt +{ +{T + + World + ++ America + +++ Canada + +++ USA + ++++ New York + ++++ Boston + +++ Mexico + ++ Europe + +++ Italy + +++ Germany + ++++ Berlin + ++ Africa +} +} +@endsalt diff --git a/docs/diagrams/example/C4-Model/wirefirmae-002.puml b/docs/diagrams/example/C4-Model/wirefirmae-002.puml new file mode 100644 index 0000000..51cf41c --- /dev/null +++ b/docs/diagrams/example/C4-Model/wirefirmae-002.puml @@ -0,0 +1,7 @@ +@startsalt +{+ + Login | "MyName " + Password | "**** " + [Cancel] | [ OK ] +} +@endsalt diff --git a/docs/diagrams/example/C4-Model/wireframe-001.puml b/docs/diagrams/example/C4-Model/wireframe-001.puml new file mode 100644 index 0000000..a66f211 --- /dev/null +++ b/docs/diagrams/example/C4-Model/wireframe-001.puml @@ -0,0 +1,9 @@ +@startsalt +{^"登入系統" + 用户名 | "UserName " + 密 碼 | "**** " + [取消] | [登入] +} +@endsalt + + diff --git a/docs/diagrams/example/SDD-001.puml b/docs/diagrams/example/SDD-001.puml new file mode 100644 index 0000000..7504e6e --- /dev/null +++ b/docs/diagrams/example/SDD-001.puml @@ -0,0 +1,25 @@ +@startyaml +#highlight "切語上字" +#highlight "切語上字" / "漢字" +#highlight "切語下字" +#highlight "切語下字" / "漢字" + +' 欲查詢《廣韻》切語之漢字,如:東 +漢字: "東" +切語: "德紅" +切語上字: + 漢字: 德 + 發聲部位: 舌頭音 + 聲母: 德 + 擬音: t + 清濁: 清 +切語下字: + 漢字: 紅 + jip: 通 + 韻目: 東 + 等: 一 + 呼: 開 + 韻母: 東一 + 調: 平 + 擬音: ong +@endyaml \ No newline at end of file diff --git a/docs/diagrams/example/a001.md b/docs/diagrams/example/a001.md new file mode 100644 index 0000000..e85fb48 --- /dev/null +++ b/docs/diagrams/example/a001.md @@ -0,0 +1,35 @@ +# 產生注音檔作業流桯 + +```plantuml +@startuml +skinparam shadowing false + +title 產生注音檔\n + +skinparam activity { + StartColor limegreen + EndColor darkblue + BackgroundColor #d4de5e + BorderColor #5e94de + ArrowColor black +} +skinparam activityDiamond { + BackgroundColor #5ede68 + BorderColor #5e94de + fontSize 16 +} + +start +:新建 Excel 檔案; +:設定 A 欄的格式 +欄寬為 128 +可自動換行; +:自模版檔案 +複製 output 工作表; +:將新建之 Excel 檔案命名為 Piau-Tsu-Im.xlsx +存放於 output 目錄中; + +stop + +@enduml +``` \ No newline at end of file diff --git a/docs/diagrams/example/a001.puml b/docs/diagrams/example/a001.puml new file mode 100644 index 0000000..82f417b --- /dev/null +++ b/docs/diagrams/example/a001.puml @@ -0,0 +1,31 @@ +@startuml +skinparam shadowing false + +title 產生注音檔\n + +skinparam activity { + StartColor limegreen + EndColor darkblue + BackgroundColor #d4de5e + BorderColor #5e94de + ArrowColor black +} +skinparam activityDiamond { + BackgroundColor #5ede68 + BorderColor #5e94de + fontSize 16 +} + +start +:新建 Excel 檔案; +:設定 A 欄的格式 +欄寬為 128 +可自動換行; +:自模版檔案 +複製 output 工作表; +:將新建之 Excel 檔案命名為 Piau-Tsu-Im.xlsx +存放於 output 目錄中; + +stop + +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/a002.md b/docs/diagrams/example/a002.md new file mode 100644 index 0000000..628f2d4 --- /dev/null +++ b/docs/diagrams/example/a002.md @@ -0,0 +1,38 @@ +# 予我漢字注音 + +```plantuml +@startuml +skinparam shadowing false + +title 予我漢字注音\n + +skinparam activity { + StartColor limegreen + EndColor darkblue + BackgroundColor #d4de5e + BorderColor #5e94de + ArrowColor black +} +skinparam activityDiamond { + BackgroundColor #5ede68 + BorderColor #5e94de + fontSize 16 +} + +start +:(1) 取得需要注音的「檔案名稱」及其「目錄路徑」。; + +:(2) 將存放在「工作表1」的「漢字」文章,製成「漢字注音表」以便填入注音。; + +:(3) 在字典查注音,填入漢字注音表。; + +:(4) 將已注音之「漢字注音表」,製作成 HTML 格式之「注音/拼音/標音」網頁。; + +:(5) 將字典查找不到的漢字統計紀錄於「缺字表」 +並於畫面顯示統計結果; + +:(6) 依據文章標題另存新檔; +stop + +@enduml +``` \ No newline at end of file diff --git a/docs/diagrams/example/a120.md b/docs/diagrams/example/a120.md new file mode 100644 index 0000000..f15ead2 --- /dev/null +++ b/docs/diagrams/example/a120.md @@ -0,0 +1,42 @@ +# 予我漢字注音 + +```plantuml +@startuml +skinparam shadowing false + +title 予我漢字注音\n + +skinparam activity { + StartColor limegreen + EndColor darkblue + BackgroundColor #d4de5e + BorderColor #5e94de + ArrowColor black +} +skinparam activityDiamond { + BackgroundColor #5ede68 + BorderColor #5e94de + fontSize 16 +} + +start +:自環境設定檔取得待標注音Excel檔案; +:計算待標注音的儲存格共有幾列(總列數); +:備妥需要使用之工作表 +- 缺字表 +- 字庫表 +- 漢字注音表; + +while (是否還有儲存格內的漢字未處理) is (還沒處理完畢) + :讀到空白行時填入換行控制符號 \\n; + + :將儲存格內整列的漢字全部轉換成 + 單獨的漢字存入【漢字注音表】; +endwhile (已全部處理完畢) + +:當指標尚未達總列數; + +stop + +@enduml +``` \ No newline at end of file diff --git a/docs/diagrams/example/class.puml b/docs/diagrams/example/class.puml new file mode 100644 index 0000000..fd2c478 --- /dev/null +++ b/docs/diagrams/example/class.puml @@ -0,0 +1,9 @@ +@startuml +class Car { + -make: string + -model: string + -year: int + +start() + +stop() +} +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/flow_chart.puml b/docs/diagrams/example/flow_chart.puml new file mode 100644 index 0000000..97c9e60 --- /dev/null +++ b/docs/diagrams/example/flow_chart.puml @@ -0,0 +1,16 @@ +@startuml +(*)-->[with name & passowrd]"login" + +if "user exist" then +--> [token]"edit /show user info/reset pw" +-right-> (*) + +else +-> [token]"logout" +-right-> (*) + +else +-> [token]"add task" +-> [token]"update/delete task" +-->(*) +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/flow_chart_001.puml b/docs/diagrams/example/flow_chart_001.puml new file mode 100644 index 0000000..ddad914 --- /dev/null +++ b/docs/diagrams/example/flow_chart_001.puml @@ -0,0 +1,17 @@ +@startuml +!pragma useVerticalIf on +start +if (condition A) then (yes) + :Text 1; +elseif (condition B) then (yes) + :Text 2; + stop +elseif (condition C) then (yes) + :Text 3; +elseif (condition D) then (yes) + :Text 4; +else (nothing) + :Text else; +endif +stop +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/sequence_diagram_001.puml b/docs/diagrams/example/sequence_diagram_001.puml new file mode 100644 index 0000000..9a26156 --- /dev/null +++ b/docs/diagrams/example/sequence_diagram_001.puml @@ -0,0 +1,43 @@ +@startuml +title Sequence Participants + +' Set colors: +skinparam ParticipantBackgroundColor skyblue +skinparam ParticipantBorderColor black +skinparam ArrowColor darkblue +skinparam ActorBorderColor black +skinparam ActorBackgroundColor skyblue +skinparam BoundaryBorderColor black +skinparam BoundaryBackgroundColor skyblue +skinparam ControlBorderColor black +skinparam ControlBackgroundColor skyblue +skinparam EntityBorderColor black +skinparam EntityBackgroundColor skyblue +skinparam DatabaseBorderColor black +skinparam DatabaseBackgroundColor skyblue +skinparam CollectionsBorderColor black +skinparam CollectionsBackgroundColor skyblue + +skinparam Sequence { + LifelineBorderColor gray +} + +' Specify the participants left to right: +participant Participant +actor Actor +boundary Boundary +control Control +entity Entity +database Database +collections Collections +' Specify the events (in order): +group authentication + Actor -> Boundary: Request Logon + Boundary -> Actor: Provide Credentials + Actor -> Boundary: username: actor, password: example123 + Boundary -> Actor: Accepted +end +Actor -> Boundary: List all options +Boundary -> Control: List all options (actor) +Control -> Entity: List all options (actor) +@enduml \ No newline at end of file diff --git a/docs/diagrams/example/yaml-001.puml b/docs/diagrams/example/yaml-001.puml new file mode 100644 index 0000000..9db1ab4 --- /dev/null +++ b/docs/diagrams/example/yaml-001.puml @@ -0,0 +1,23 @@ +@startyaml +#highlight "french-hens" +#highlight "xmas-fifth-day" / "partridges" + +doe: "a deer, a female deer" +ray: "a drop of golden sun" +pi: 3.14159 +xmas: true +french-hens: 3 +calling-birds: + - huey + - dewey + - louie + - fred +xmas-fifth-day: + calling-birds: four + french-hens: 3 + golden-rings: 5 + partridges: + count: 1 + location: "a pear tree" + turtle-doves: two +@endyaml diff --git a/out/class/class.png b/out/class/class.png new file mode 100644 index 0000000000000000000000000000000000000000..3d491b2d50b5ef0d7aca4c598552ba6040d677a4 GIT binary patch literal 4396 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