如何正确退出UML状态图中的嵌套状态?
我是UML新手,我正试图记录我的软件开发过程。我用PlantUML制作了以下图表: 在内部状态中,我想说明,一旦它们各自的发布(即,次要/补丁)完成,下一个最高级别的状态应该返回到 例如,在如何正确退出UML状态图中的嵌套状态?,uml,transitions,automata,plantuml,Uml,Transitions,Automata,Plantuml,我是UML新手,我正试图记录我的软件开发过程。我用PlantUML制作了以下图表: 在内部状态中,我想说明,一旦它们各自的发布(即,次要/补丁)完成,下一个最高级别的状态应该返回到 例如,在PatchRelease之后,Patch应该退出到EvalStory。与MinorRelease-->EvalEpic相同。我应该如何展示这个?(提供PlantUML代码的答案是不必要的,但会很好) 例如,补丁发布后,补丁应该退出到EvalStory 这已经发生了,因为这是默认行为 一旦PatchRelea
PatchRelease
之后,Patch
应该退出到EvalStory
。与MinorRelease-->EvalEpic
相同。我应该如何展示这个?(提供PlantUML代码的答案是不必要的,但会很好)
例如,补丁发布后,补丁应该退出到EvalStory
这已经发生了,因为这是默认行为
一旦PatchRelease完成,就没有其他地方可去了,所以补丁完成了它的操作,然后您可以再次查看它,就好像补丁中没有状态一样
如果你想明确,你可以
例如,您可以在此处阅读进入/退出状态在复合状态中的最后一个状态之后添加最终伪状态 例如,如果您添加代码 补丁发布-->[*]
这意味着在PatchRelease完成后,整个补丁也完成了,因此它可以移动到下一个状态(即EvalStory)实际上Peter的答案更完整。我们在同一时间发布了这篇文章,所以我对这篇文章进行了升级,并向OP推荐了同样的内容。请注意,最终状态是一个实际状态,而不是伪状态。
[*] --> Major
state Major {
[*] --> CreateEpic
note right : An 'Epic' describes the set of desired\nfeatures the end-user would like to see
CreateEpic --> EvalEpic
EvalEpic --> Minor : unfulfilled
EvalEpic --> MajorRelease : fulfilled
MajorRelease --> [*]
state Minor {
[*] --> CreateStory
CreateStory --> EvalStory
EvalStory --> Patch : unfulfilled
EvalStory --> MinorRelease : fulfilled
MinorRelease --> DeployLive
state Patch {
[*] --> Testing
Testing --> DeployTest
DeployTest --> EvalTest
EvalTest --> Testing : bugs found
EvalTest --> PatchRelease: no bugs found
state Testing {
[*] --> WriteTests
WriteTests --> RunTests
RunTests --> WriteCode: test(s) failed
RunTests -left-> WriteTests: tests passed
WriteCode --> RunTests
}
Patch --> EvalStory
}
Minor --> EvalEpic
}
}