UML类间信息流的合法表示及复合图合规性咨询
UML类间信息流合规性及合法表示方式解答
1. 复合图+类+虚线箭头信息流是否符合UML 2.5.1规范?
严格来说,这种方式不符合UML 2.5.1的正式规范,原因如下:
- UML复合结构图的核心用途是展示类/组件的内部结构(如部件、端口、连接器),而非定义类之间的信息流。
- UML中的
InformationFlow(信息流)元素,合法的源和目标是行为元素(如活动、操作)、端口/连接器或实例节点,而非类的定义本身。类是静态结构元,直接用信息流连接类属于元素用途的误用。
2. 静态图与动态图中合法的类间信息流表示方式
静态图(类比SysML IBD)
静态图侧重结构层面的信息流载体定义,合法方式包括:
- 端口+连接器:在复合结构图中为类添加端口(Port),通过连接器(Connector)连接不同类的端口,端口关联的接口可明确传递的信息类型,这是UML静态结构下信息交互的标准方式。
- 带构造型的单向关联:用带箭头的实线表示类实例间的单向结构依赖,添加
<<informationFlow>>构造型明确标注信息流方向,作为结构关系的补充说明。 - 接口依赖:通过
<<use>>或<<realize>>构造型的虚线依赖关系,表示类通过接口获取或提供信息,间接体现信息流的传递方向。
动态图(类比SysML活动图)
动态图侧重展示信息流的执行过程,合法方式包括:
- 活动图的对象流:用对象节点(Object Node)承载类的实例或数据,通过带箭头的对象流连接活动节点,清晰展示信息在类实例间的传递和处理路径。
- 序列图的消息:在序列图中,类实例(对象)之间的消息(带箭头的实线/虚线)直接表示信息流,可标注消息内容、参数以明确信息的具体类型,是动态展示类间信息流最常用的方式。
- 通信图的消息:在通信图中,通过连接类实例的消息标签,结合结构关系展示信息流的传递方向和交互语境。
内容的提问来源于stack exchange,提问作者avi10000
相关产品推荐
相关产品推荐

