如何用PlantUML实现直接箭头?
How to realize direct arrows with PlantUML?
我正在尝试使用 PlantUML 创建一个 activity 图,其中确实包含返回到现有节点的箭头。
我要找的是下图中包含两个箭头 "Arrow 1" 和 "Arrow 2" 的图表:
我尝试使用 PlantUML beta syntax for Activity diagrams 创建这个。
我实现了下图:
通过编写以下 PlantUML 代码:
@startuml
start
:new - please check;
while (check sucessful?) is (is an error)
:to solve;
:in progress;
:solved;
endwhile (not an error)
:erledigt;
note left
reason:
* done
* not an error
* not fixable
end note
stop
@enduml
有人知道如何实现吗?使用 beta 语法或 the older syntax.
获得结果对我来说并不重要
不能有多个流程从一个动作开始,也不能有多个流程进入一个动作
对于UML的观点所以你需要添加:
操作后的决策节点 "to solve" 让你的两个流程,每个流程都有一个守卫
操作后的决策节点 "erledigt" 有两个流程,每个流程都有一个守卫
在操作 "to solve" 之前的合并节点接收来自决策节点 "check successful" 和操作 "erledigt" 的流。
对于 (1) 在 PlantUML
中使用 "if-else" 或 "split"
start
:new - please check;
while (check sucessful?) is (is an error)
:to solve;
if (duration) then (long)
:in progress;
else (immediat)
endif
:solved;
endwhile (not an error)
:erledigt;
note left
reason:
* done
* not an error
* not fixable
end note
stop
@enduml
对于 (3),您可以使用 "repeat while" 也可以管理 (2),但不确定您是否可以在 PlantUML 中不重复这三个动作(解决 - 进行中 - 解决)或执行它们在另一个 activity 你打电话。在 PlantUML 中,代码是从控制结构中提取的,除了 "goto",它允许不交叉线,但你需要一个 "goto" 交叉线。请注意,执行决策 "check sucessfull" 而不是执行 "to solve"
没有问题
我正在尝试使用 PlantUML 创建一个 activity 图,其中确实包含返回到现有节点的箭头。
我要找的是下图中包含两个箭头 "Arrow 1" 和 "Arrow 2" 的图表:
我尝试使用 PlantUML beta syntax for Activity diagrams 创建这个。
我实现了下图:
通过编写以下 PlantUML 代码:
@startuml
start
:new - please check;
while (check sucessful?) is (is an error)
:to solve;
:in progress;
:solved;
endwhile (not an error)
:erledigt;
note left
reason:
* done
* not an error
* not fixable
end note
stop
@enduml
有人知道如何实现吗?使用 beta 语法或 the older syntax.
获得结果对我来说并不重要不能有多个流程从一个动作开始,也不能有多个流程进入一个动作
对于UML的观点所以你需要添加:
操作后的决策节点 "to solve" 让你的两个流程,每个流程都有一个守卫
操作后的决策节点 "erledigt" 有两个流程,每个流程都有一个守卫
在操作 "to solve" 之前的合并节点接收来自决策节点 "check successful" 和操作 "erledigt" 的流。
对于 (1) 在 PlantUML
中使用 "if-else" 或 "split"start :new - please check; while (check sucessful?) is (is an error) :to solve; if (duration) then (long) :in progress; else (immediat) endif :solved; endwhile (not an error) :erledigt; note left reason: * done * not an error * not fixable end note stop @enduml
对于 (3),您可以使用 "repeat while" 也可以管理 (2),但不确定您是否可以在 PlantUML 中不重复这三个动作(解决 - 进行中 - 解决)或执行它们在另一个 activity 你打电话。在 PlantUML 中,代码是从控制结构中提取的,除了 "goto",它允许不交叉线,但你需要一个 "goto" 交叉线。请注意,执行决策 "check sucessfull" 而不是执行 "to solve"
没有问题