Visio 2003企业架构版UML对象图为何不显示关联?
解决Visio 2003对象图中组合关联不显示的问题
咱来聊聊你在Visio 2003(Microsoft Office Visio for Enterprise Architects (11.8328.8405) SP3)里遇到的对象图关联不显示的问题,结合你说的Job和Task的组合关联规则(1个Job对应1+个Task,Task不能脱离Job),大概率是这几个原因,对应解决方法也给你列出来了:
类图的组合关联配置没适配对象图渲染
Visio 2003的EA版里,类图的组合关联不会自动“同步”到对象图里,哪怕你在类图里把关联规则设得很清楚。首先检查下类图里的组合关联:- 关联的可见性是不是设成了
private?如果是private权限,对象图默认不会渲染这条关联线; - 有没有开启关联的“实例可见”相关设置?部分版本里需要手动勾选关联的显示选项,才能让对象图识别到。
- 关联的可见性是不是设成了
对象实例没手动建立关联
这是最常见的问题!Visio 2003的对象图不会自动根据类图的关联规则生成对象间的连线——哪怕类图里是强依赖的组合,你也得手动给对象添关联实例。具体操作步骤:- 打开你的对象图,确保「UML对象」工具栏可见(没显示的话右键工具栏勾选「UML对象」);
- 点击工具栏里的「关联实例」按钮;
- 点击“Close Payroll”对象,拖动鼠标到“Run Payroll”对象上再松开,一条关联线就创建好了;
- 重复这个操作,把另外两个Task对象和Job对象一一关联起来;
- 右键关联线还能设置名称、multiplicity,和类图的规则对应上。
版本缓存或小bug导致的显示异常
Visio 2003 SP3确实存在一些UML图的小bug,比如组合关联实例无法自动加载。如果上面的方法都没用,试试:- 保存当前所有图,关闭Visio再重新打开;
- 重新创建一个新的对象图,再把Job和Task对象拖进去,然后手动加关联,有时候刷新缓存就能解决问题。
类图的multiplicity设置错误
再回头检查下类图里的组合关联:Job端是不是设为1,Task端是不是设为1..?如果multiplicity设错了(比如Task端是0..),Visio可能不会识别成“Task必须依赖Job”的强组合,自然也不会在对象图里触发关联的显示逻辑。
内容的提问来源于stack exchange,提问作者ChumboChappati
相关产品推荐
相关产品推荐

