该文的主要编写方向为,各种UML工具的使用方法笔记、使用问题解决办法记录,但是该文并不局限于UML图的绘制,也包含软件设计中用到其他的图表,如数据流图、程序流程图等。要告诉自己,设计文档如果不清晰优雅,那么你真正的实现必定高级不到哪里去。掌握相关工具的使用,是提升设计质量和设计工作效率的关键第一步…
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树根上右键-增加- 使用向导添加新模型,都会弹出这厮 |
类图-跨包的类元素自动显示包域信息 |
Microsoft Office 帮助中心,Visio 可将信息转换为图形关系图,帮助你直观地进行工作。Visio提供数百个模板(包括流程图、时间线、平面布置图等)创建图表。 添加形状、文本和图片,并将它们连接起来,以显示数据中的关系。可在绘图中连接来自 Excel、Access 或 SharePoint 等其他来源的数据。其实若用Visual Studio作开发工具,可以直接用其生成UML类图。
VISIO2013 | VISIO2007 |
---|---|
visio2007使用方法-类图及属性设置 |
使用visio作图时,经常会遇到交叉线在相交时会形成一个弯曲弓形,这有时十分影响视图效果。可以采用下面的方法消除弓形,以Visio2013为例。
修改方案:(不用选择要修改的线)导航栏 => 设计 => 连接线 => 去掉 显示跨线 勾选
在进行连接操作时,可能不想使用自动连接,怎么关闭呢?
修改方案:导航栏 =>视图->视觉帮助->常规->对齐、粘附去掉勾选。这个自动连接功能,大部分情况下还是比较有用的,特殊操作结束后,记得恢复设置哦!
场景:如下图所示。
问题场景 | 拖为垂直线 | 拖为左45° | 拖为右45° |
---|---|---|---|
解决办法:
选中要操作的线段,然后按住Shift键,同时用鼠标拖拽线段的端点(如图1),只要鼠标位置不超过垂直方向45°角,这条线段将会被修正到完全垂直的状态,若在45°左右,则线段被修正为精确的45度,若鼠标位置更偏水平方向,则线段被修正为完全水平。(该方法,无关链接线的类型是直线还是折线,但最好是直线类型属性)。
这里讲的不是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图或其他的设计视图,这些图具有较高的参考价值。