如何在UML状态机图中将类操作调用设置为转换?(Sparx EA)

如何在UML状态机图中将类操作调用设置为转换?(Sparx EA),uml,enterprise-architect,Uml,Enterprise Architect,在SparxEnterpriseArchitect(我有版本9)的UML图中,是否可以重用类的操作调用作为转换?如果是,我该怎么做 它可以在活动图中用作操作,也可以在对象图中用作消息,但我无法为状态机找到它。我希望软件开发人员有更多的集成 此外,我希望我可以在图中设置一个状态作为类实例的特殊状态(class instance==object) 是否可以在UML图中将类的操作调用重用为转换 对。在状态机图中: 打开转换属性,启用“效果即行为”并 从浏览器中选择操作 可以将其用作活动图中的操作 对

在SparxEnterpriseArchitect(我有版本9)的UML图中,是否可以重用类的操作调用作为转换?如果是,我该怎么做

它可以在活动图中用作操作,也可以在对象图中用作消息,但我无法为状态机找到它。我希望软件开发人员有更多的集成

此外,我希望我可以在图中设置一个状态作为类实例的特殊状态(class instance==object)

是否可以在UML图中将类的操作调用重用为转换

对。在状态机图中: 打开转换属性,启用“效果即行为”并 从浏览器中选择操作

可以将其用作活动图中的操作

对。将“调用操作”操作添加到活动图中。 转到“操作属性”->“调用”,然后从 “行为:”菜单

。。。作为对象图中的消息

对。在对象图上的对象之间绘制链接, 右键单击链接并选择“添加来自…”的消息(其中“…”是所需的方向)。双击该消息并从列表中选择操作 “消息:”下拉列表


太好了!您还知道如何在图表中显示操作调用如何导致某个属性具有某个新值的新状态吗?@falkb我不清楚这个问题。该操作是在转换期间执行还是由该操作触发转换?对我来说也是如此。出现新状态的原因是程序中调用某个操作(C函数)的原因(可能使用特殊的参数值)。状态通常存储在某些变量中,例如,将设置标志或将枚举类型的状态变量设置为新值。@falkb转换行为和转换触发器在UML状态机中是两个不同的东西,它不相同。看一看,啊,是我自己弄的!状态机图中状态的上下文菜单->单击“属性…”->浏览并从模型树中选择“类型”,然后设置名称和初始值。就这样了。:-)“对象图中的消息”?你是说序列图吗?我从未在对象图中看到过消息。我不理解“类实例的特殊状态”这句话。你能澄清一下吗?我想通过UML演示一个握手传输协议的编程状态机是如何工作的。这些状态实际上是某些C++对象的源代码中的变量值,这些对象是C++类的实例。这些转换是类的成员函数,它们导致了这些新的状态。我想成为代码的一员,并希望重用源代码中扫描的类成员函数。对象图可以在对象之间有方向的关联,在这里我可以向它添加消息,它可以被定义为C++类成员函数的某个操作调用。这样,对象图与序列图非常相似,但没有时间线。你是说?