软件设计-UML/数据流图/流程图绘制工具

概述-工之利器

该文的主要编写方向为,各种UML工具的使用方法笔记、使用问题解决办法记录,但是该文并不局限于UML图的绘制,也包含软件设计中用到其他的图表,如数据流图、程序流程图等。要告诉自己,设计文档如果不清晰优雅,那么你真正的实现必定高级不到哪里去。掌握相关工具的使用,是提升设计质量和设计工作效率的关键第一步…

EA使用入门

导入工程头文件

在老版本(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只支持简单的类关系描述(甚至不支持添加方法)!
VISIO2013VISIO2007
在这里插入图片描述在这里插入图片描述
visio2007使用方法-类图及属性设置

添加链接点

  • 关系链接点不够用,如何添加新链接点?
    Viso2013 增加连接点:主要步骤,选择工具-连接点,按住CTRL键,同时用鼠标指向所要建立的连接点的位置。

拷贝-空白区域(解决办法1)

  • 向word中复制时,出现大空白区域?
    解决办法:word右击图片-“VISIO”对象-打开,在visio中按住ctrl键,将鼠标放置到画布四角处,拖动-调整画布边缘大小,保存即可。空白现象也不是每次都出现,特别是如果visio画的比较整齐的时候基本不会出现,具体规律没有找到。 在2013中没有找到相关设置项,有博主认为该现象可能是Visio的bug,此处不再深究。

关闭交叉线弯曲

使用visio作图时,经常会遇到交叉线在相交时会形成一个弯曲弓形,这有时十分影响视图效果。可以采用下面的方法消除弓形,以Visio2013为例。
在这里插入图片描述
修改方案:(不用选择要修改的线)导航栏 => 设计 => 连接线 => 去掉 显示跨线 勾选

关闭自动链接

在进行连接操作时,可能不想使用自动连接,怎么关闭呢?
在这里插入图片描述
修改方案:导航栏 =>视图->视觉帮助->常规->对齐、粘附去掉勾选。这个自动连接功能,大部分情况下还是比较有用的,特殊操作结束后,记得恢复设置哦!

水平/垂直线

场景:如下图所示。

问题场景拖为垂直线拖为左45°拖为右45°
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  1. 当连接线长度够、超长、倾斜
  2. 某个链接线曾经被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图或其他的设计视图,这些图具有较高的参考价值。

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值