文章目录
概述-工之利器
该文的主要编写方向为,各种UML工具的使用方法笔记、使用问题解决办法记录,但是该文并不局限于UML图的绘制,也包含软件设计中用到其他的图表,如数据流图、程序流程图等。要告诉自己,设计文档如果不清晰优雅,那么你真正的实现必定高级不到哪里去。掌握相关工具的使用,是提升设计质量和设计工作效率的关键第一步…
EA使用入门
-
Enterprise Architect (企业架构师)软件介绍,能做的太大了,除了你关注的UML图,她能搞用户界面设计、能仿真业务流程、其他的你不知道的。
-
软件下载地址EA14 安装过程可参考,基本流程如下:
运行安装easetup.msi文件,并使用patch/EA.exe替换安装目录下的对应文件,重新打开后可用。
考虑到自己的English Level 和 UML Level,最终放弃EA14这个非汉化版本,换上EA12.0版本,与办公电脑一致。 -
学习指南
参考1- EA7.0的入门教程 ! 参考2-Enterprise Architect 14用户指南 - 中文
导入工程头文件
在老版本(EA12.0)中,选中一个classModle->右键->代码工程(code Engineering)->导入源文件目录->选择文件及语言格式即可。在14版本中,功能区里头多了一个Code项:
这里点击Code->File->C+±>选中相应的头文件即可执行.h导入操作。导入过程若遇非识别字符/宏定义等,按提示添加定义即可。complete后即可在包/类视图中看到导入结果。
打开工具箱
曾经在开始使用EA软件时候,想要自己构建一个类而不是导入操作,却找不到类元素的符号在哪里,简直泪奔啊。后来终于发现,它原来藏在下图红色圆圈标记的位置,点一下就可以啦!工作视图设置菜单中,没有显示/隐藏图的工具箱这一个条目哎!
工具箱操作符使用
工具箱中的”双目操作符“(Eg:Associate、Generalize、Compose)使用方法:
先点击该具体工具,然后去主视图中选中一个类,按住鼠标左键,然后滑动到另一个类上放开,则应用成功。
直接导入代码类
其实我们可以直接拖拽类的头文件到EA浏览器-包上,然后松开鼠标。这样就可以在资源树上添加了一个类,但是这里相对于工程导入方法,有个不太友好的地方:如果拖拽的头文件在类元素生成时存在异常,将无法生成且没有错误提示。最常遇见的无法生成的原因是,类中存在无法识别的宏定义,如用以到处类的宏定义;我的解决办法通常是,单独对这个头文件使用工程导入法,等到出现错误提示,添加相应的宏定义即可。
延申-Q_D指针类之于UML
Q_D在Qt的作用是动态库二进制兼容,意外发现基于这种模式下的类实现,在进行UML设计时,会让类图关系图变得简洁/美观很多,接口类上私有的方法与属性被隐藏,PrivateClass可以直接用对象替代。通俗的说,就是让一个绘制体积较大的类变的很小巧精致了。
工作视图设置
有时是手一哆嗦就把工作视图的布局给打乱或者关闭了,怎么再调出来是个小问题,但对于不熟悉的人却要费劲。
具体的做法是在菜单栏行,所在的位置,鼠标右键,弹出上图所示的上下文菜单,选择需要的条目即可。
类添加操作异常
什么异常呢?曾经遇到的变态一个异常是,想给一个类添加函数时,表格头里头却没有名称这一列,这可把我难为坏了,期初还以为是软件问题,进行了重新安装,无效,反反复复鼓捣了半天,意外发现了猫腻。在标题栏处右键-在弹出的菜单中选择-字段选择器,如下图所示,然后,选中名称这个字段,按住鼠标左键进行拖拽到标题栏的合适位置即可,不想要的列也可以拖进字段选择器进行隐藏。
类元素显示包路径
始于一个意外,某次在进行类图绘制时,使用的类是跨包的,结果类图中的类出现了如下图带包域::的类名称显示样子,这倒没什么奇怪的。奇怪的是,若直接向Class Model(由导航生成的图)图中拖拽PackageA中ClassInPA类元素,此时不附带显示包域。
我无法解释上述现象,当前只能无知的认为这是一个软件Bug,进一步的测试规律如下:
对于一个跨包的类图绘制,若类图是由向导初始化生成的,它其中的类元素在显示时不带包域名,若是后期添加的新图(右键-添加图)、或是后期添加包时生成的图(右键-添加包-同时创建新图),则它其中的类元素在显示时会自动附带包域名。
模型向导 | 新建图 |
---|---|
![]() | ![]() |
类图-跨包的类元素不显示包域信息 新建项目、在Model树根上右键-增加- 使用向导添加新模型,都会弹出这厮 | 类图-跨包的类元素自动显示包域信息 |
Visio使用
Microsoft Office 帮助中心,Visio 可将信息转换为图形关系图,帮助你直观地进行工作。Visio提供数百个模板(包括流程图、时间线、平面布置图等)创建图表。 添加形状、文本和图片,并将它们连接起来,以显示数据中的关系。可在绘图中连接来自 Excel、Access 或 SharePoint 等其他来源的数据。其实若用Visual Studio作开发工具,可以直接用其生成UML类图。
工具功能
- Visio2007/2010中有UML类图-属性设置弹出窗口,从2013开始木有啦?
官方的解释在这里,UML静态结构图在Visio2013和更高的版本中不可用。没有找到据据的原因解释,就当这是战略规划吧,visio只支持简单的类关系描述(甚至不支持添加方法)!
VISIO2013 | VISIO2007 |
---|---|
![]() | ![]() |
visio2007使用方法-类图及属性设置 |
添加链接点
- 关系链接点不够用,如何添加新链接点?
Viso2013 增加连接点:主要步骤,选择工具-连接点,按住CTRL键,同时用鼠标指向所要建立的连接点的位置。
拷贝-空白区域(解决办法1)
- 向word中复制时,出现大空白区域?
解决办法:word右击图片-“VISIO”对象-打开,在visio中按住ctrl键,将鼠标放置到画布四角处,拖动-调整画布边缘大小,保存即可。空白现象也不是每次都出现,特别是如果visio画的比较整齐的时候基本不会出现,具体规律没有找到。 在2013中没有找到相关设置项,有博主认为该现象可能是Visio的bug,此处不再深究。
关闭交叉线弯曲
使用visio作图时,经常会遇到交叉线在相交时会形成一个弯曲弓形,这有时十分影响视图效果。可以采用下面的方法消除弓形,以Visio2013为例。
修改方案:(不用选择要修改的线)导航栏 => 设计 => 连接线 => 去掉 显示跨线 勾选
关闭自动链接
在进行连接操作时,可能不想使用自动连接,怎么关闭呢?
修改方案:导航栏 =>视图->视觉帮助->常规->对齐、粘附去掉勾选。这个自动连接功能,大部分情况下还是比较有用的,特殊操作结束后,记得恢复设置哦!
水平/垂直线
场景:如下图所示。
问题场景 | 拖为垂直线 | 拖为左45° | 拖为右45° |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
- 当连接线长度够、超长、倾斜
- 某个链接线曾经被Shift+方向键进行过微调,再次对它进行长度伸缩时,由于网格节点的自动捕获,讲不能调到垂直。
解决办法:
选中要操作的线段,然后按住Shift键,同时用鼠标拖拽线段的端点(如图1),只要鼠标位置不超过垂直方向45°角,这条线段将会被修正到完全垂直的状态,若在45°左右,则线段被修正为精确的45度,若鼠标位置更偏水平方向,则线段被修正为完全水平。(该方法,无关链接线的类型是直线还是折线,但最好是直线类型属性)。
复制到Word时出现空白的原因
在Word中现象-
更多形状->软件和数据库->软件->内存和对象->[堆栈或堆]控件,发现只要使用了各玩意,就会出现“复制到word中的VISIO图表底部莫名其妙有空白的情况”如上右图。更多形状->软件和数据库->软件->COM和OLE->[Vtable]控件,在使用过程中有同样的现象。
新建VISIO图时,最好不要基于空模块来创建,一般的可以选择基本流程图模板,因为空模板中绘制的连接线甚至都没有箭头!
有时候,我们想从图1的样子变成图3的样子,如果不接触连接线两端的连接,就会出现图2的样子,着实烦人!我们可以采用这样的方法,选中图1中的连接线,不要动鼠标,然后执行CtrlX和CtrlV操作,然后选中连接线和底部的控件一起移动就好!
泳道流程图
这里讲的不是UML活动图,而是流程图范畴的泳道图,使用VISIO绘制,此处记录些使用技巧。下边以垂直泳道的绘制进行说明,在VISIO中,泳道是可以自动拼接的。
上图。
工具比较
比较下两种绘图工具
https://www.edrawsoft.cn/uml-collaboration-symbols/
在EA中也可以绘制 但是不如这个俊呢感觉–
https://www.onlinedown.net/soft/56007.htm 软件下载
https://www.edrawsoft.cn/order/max_buy.html
Enterprise Architect优点与主要用途总结,它是建模,可视化,构建和管理企业,业务,工程和技术解决方案的终极协作平台。利用这一领先工具的强大功能,简化您的工作方式,统一跨学科团队,创建执行工作的模型,跨程序和项目利用和重用资产等等。
设计图参考
状态图绘制
https://blog.csdn.net/craftsman1970/article/details/78276479
常见的UML图
https://www.cnblogs.com/jiangds/p/6596595.html
另外,该博文还应该记录那些典型的UML图或其他的设计视图,这些图具有较高的参考价值。