如何在PlantUML序列图中将一个参与者吸引到另一个参与者内?

时间:2019-12-14 18:31:41

标签: uml sequence-diagram 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

如何在Alice pls的盒子里画克里斯?因此,“爱丽丝”盒子包含“克里斯”盒子。谢谢!

2 个答案:

答案 0 :(得分:2)

我认为PlantUML不可能在其他参与者内部吸引参与者。

更重要的是:它不符合UML。 UML序列图中的参与者是原子的,没有“子参与者”。

但是,我有一种强烈的感觉,您可以与一个由“爱丽丝”调用的名为“克里斯”的单独参与者表达您的想法。您可以使用PlantUML提供的不同参与者声明来演示他们的角色(例如,如果这是他们在系统中的角色,则可以使“ Alice”成为控制器,而使“ Chris”成为界面),这对于您的图表受众的理解很重要克里斯在做什么(例如,用白盒子看待爱丽丝)。但是,如果让听众了解Alice包含执行其部分活动的子组件(例如,对Alice的黑匣子方法)并不重要,那么在我的文章中就完全不需要提及Chris。意见。

因此,如果您必须创建UML图表,以上内容可能会对您有所帮助。如果不必将图表称为“ UML序列图”,则可以绘制所需的任何内容(使用特定语言的建模工具(例如PlantUML)除外)。

答案 1 :(得分:0)

使用框,

这是文档中的示例 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

它适用于我的简单情况。