簡體   English   中英

如何在 PlantUML 序列圖中在另一個參與者內部繪制參與者?

[英]How to draw a participant inside another participant in a PlantUML sequence diagram?

Confluence + Plantuml, https: //plantuml.com/sequence-diagram

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml

如何在愛麗絲的盒子里畫克里斯? 所以一盒愛麗絲包含一盒克里斯。 謝謝 !

我認為使用 PlantUML 不可能在其他參與者中繪制參與者。

更重要的是:它不符合 UML。 UML 序列圖的參與者是原子的,沒有“子參與者”。

但是我有一種強烈的感覺,您可以與一個名為“Chris”的單獨參與者一起表達您的想法,該參與者正在被“Alice”調用。 您可以使用 PlantUML 提供的不同參與者聲明來展示他們的角色(例如,您可以將“Alice”設為控制器,將“Chris”設為界面,如果這些是他們在您的系統中的角色),如果您的圖表的受眾理解很重要Chris 正在做什么(即,一種觀察 Alice 的白盒方法)。 但是,如果您的聽眾理解 Alice 有執行她部分活動的子組件(即對 Alice 的黑盒方法)並不重要,那么在我的文章中根本沒有必要提及 Chris。觀點。

因此,如果您必須創建 UML 圖表,以上內容可能對您有所幫助。 如果您不必將您的圖表稱為“UML 序列圖表”,那么您可以繪制任何您想要的東西(除非使用特定於語言的建模工具,例如 PlantUML)。

使用盒子,

這是來自文檔https://plantuml.com/sequence-diagram的示例

@startuml

box "Internal Service" #LightBlue
    participant Bob
    participant Alice
end box
participant Other

Bob -> Alice : hello
Alice -> Other : hello

@enduml

它適用於我的簡單案例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM