如何使用 Enterprise Architect 画 UML
本文同时发布于 http://fantasylion.github.io/Tools/2019-01-17-How-to-use-EA/
重识 EA (Enterprise Architect)
公司使用的 OMS 是从外面买过来后进行二次开发的,而对方给到的技术文档不够全面,有很大部分的业务细节需要自己看代码梳理。想起来之前 IBM Developer 看过一篇关于Tomcat 原理的文章,文章里面用到了很多建模语言(UML)去描述代码逻辑结构。这不仅看起来高大上而且逻辑清晰易懂,就想着将上学那会学的 UML 重新捡起来,学着用 UML 去梳理代码逻辑。
记得上学那会写 UML 的工具叫 EA ,这两天我就给扒拉出来重新装上又学了一遍。下面就讲下 EA 的使用
EA 简介
EA 的英文全称叫 Enterprise Architect,是由澳大利亚公司 Sparx Systems 开发的一款基于 OMG UML 的可视化模型与设计工具,提供了对软件系统的设计和构建、业务流程建模和基于领域建模的支持,被企业和组织不仅应用于对系统的建模,还用于推进模型在整个应用程序开发周期中实现。不是我们玩游戏的那个 EA 哦!在官网的文档中还有看到 EA 可以跟 Eclipse 做无缝的对接,很可惜的是没有找到有跟 IDEA 相关的。
EA 安装下载
安装 EA 其实很简单,Windows 系统在官网下载下来后直接下一步下一步即可。但是 EA 是需要付费的,当然你也可以选择教学版的或者免费试用30天,这里我给大家提供一个密钥:
834735814236
这个 Key 目前本人在使用,我的 EA 版本是 14.0.1422。
我之前安装的时候被我不小心跳过了输入密钥的环节,因为英文不好后来找输入密钥的窗口找了很久,这里记录下方便遇到跟我一样问题的朋友参考。
点击左上角Start –> Help –> Register and Manage Your License Keys –> 在输入框中输入 key。


在弹出的输入框中输入key,我这里窗口 title 显示 Upgrade Key 应该是因为我已经注册过 key 的原因

EA 的使用
既然 EA 是 UML 的可视化模型与设计工具,当然是支持 UML 常见的模型,但是目前我也是刚开始使用 UML 这里只记录下怎么画用例模型中的时序图。
常见 UML 模型
- 业务过程模型
- 用例模型
- 动态模型
- 逻辑模型
- 组件模型
- 物理模型
在 EA 安装完成后运行 EA,首先看到的应该是一张 Start Page。


如上图所示,正常打开后分这么几个区域,最上方显示的是各种功能选项下方一般有多个区域可以通过拖动自定义摆放位置。 图中最左边的 Toolbox 是模型的工具栏主要放置当前编辑模型的组件,中间大块的是编辑区以选项卡的方式呈现可以在最下方点击不同选项卡切换编辑区,右边数来第二个区域显示了三个模块 Diagram Properties 、 Resources 、 Project Browser 也是通过选项卡的方式呈现,最后一个 Portals 可以显示指南书、学习、状态查询……
创建一个项目
点击编辑区 Start Page 选项卡中的 New File 选项,在选择项目目录输入文件名点击保存。或者在最上方区域的左上角点击 EA 图标后点击 New Project 创建一个新的项目。
在项目创建成功后开始创建 Model ,点击最上方区域右下角栅格式的图标 -> 点击 Add Model 后 -> 在编辑区选择 UML 并选择相应模型(这演示我选择的是时序图 Sequence Diagrams -> Starter Sequence Diagram) -> 点击 Create Pattern(s)
步骤如下图所示 :


下图为编辑区操作,这里 Create Pattern(s) 按钮在图的左下角忘记圈出来了


创建 Model 成功后在 Project Browser 中可以看到已经成功创建了一个 Model (Starter Sequence Diagram),第三级的为当前包含的组件,点击下图中画红圈选项在编辑区中将会打开 Starter Sequence Diagram 开始编辑


编辑区如下图所示


如何编辑设计模型
将 ToolBox 中的相应的组件拖拽到编辑区中即可生成,在编辑区双击相应的主键将会弹出组件的属性框,在属性框可以修改组件名称、类型、结构等属性,这里就不做详细的记录。
如何将编辑完的模型导出图片
点击最上方区域的 Publish 选项 -> Image -> Save to File 写好图片名和格式保存到相应目录中,或者选择 Save to clipboard 保存到粘贴板中。
如下图:

最后展示下最终的成果

如何使用 Enterprise Architect 画 UML的更多相关文章
- Enterprise Architect UML建模
UML建模 前言 UML建模资料已经很多了,有人想用有人不用,有人会用也有人不会用,本文只是作者的一篇UML建模总结,不想去写太细,因为真正的你去用下,去画下就基本都会了.工具毕竟是工具,设计和思想才 ...
- Enterprise Architect UML 建模之活动图
EA(Enterprise Architect) UML 建模之活动图 一.活动图的概念作用 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流. 活动图的作用:描述 ...
- UML之Enterprise Architect使用
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:UML之Enterprise Architect使用 本文地址:http://tech ...
- 用Enterprise Architect从源码自动生成类图
http://blog.csdn.net/zhouyong0/article/details/8281192 /*references:感谢资源分享者.info:简单记录如何通过工具从源码生成类图,便 ...
- Enterprise Architect使用教程
一.Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engine ...
- 论证与测试 + 用EA画uml
论证与测试,谁才是真正的不二法门 第十三次作业的时候,我们开始使用Junit对代码进行测试,主要是测试代码的覆盖率,以及分支的覆盖率.(主要是检查JSF写的是否是符合规范,……). 这里我给出我测试的 ...
- Enterprise Architect的共享Respository设置,postgresql数据库
Enterprise Architect有一个很实用的共享,在设计UML图的时候,可以连接到一个数据库服务器,将所有的画图数据共享在上面,所有连到这个server的人,都可以看到 别人的图,图中的元素 ...
- PowerDesigner Vs Enterprise Architect
注: 以下文中PD表示PowerDesigner,EA表示Enterprise Architect 最近一直在做设计方面的事情,之前一直在用PD.有个阿里过来的同事说阿里都是用EA,我就抽空小研究了一 ...
- Enterprise Architect
Enterprise Architect 是一款计算机辅助软件工程,这款软件用于设计和构建软件系统.业务流程建模及更多通用的建模.EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过 ...
随机推荐
- 网站开发中使用javascript获取浏览器滚动条宽度
在网站开发中,有时候需要获取浏览器滚动条的宽度,在武汉蚂蹄软件服务中心的技术人员指导之下,我实现了该需求.记录如下: 首先说明一下原理: ①生成一个div,设置滚动条不可见,记录其宽度: ②将上面的d ...
- 根据appId匹配项目名称
有时候后端返回的接口中也许没有我们想要的字段,可以通过下面的方式拿到想要的字段 代码如下: //获取项目名称 getBizName(appId) { let proNameList = this.$s ...
- PAT1133:Splitting A Linked List
1133. Splitting A Linked List (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...
- 关于Linux虚拟化技术KVM的科普 科普二(KVM虚拟机代码揭秘)
代码分析文章<KVM虚拟机代码揭秘--QEMU代码结构分析>.<KVM虚拟机代码揭秘--中断虚拟化>.<KVM虚拟机代码揭秘--设备IO虚拟化>.<KVM虚拟 ...
- Containerd 简介
我们可以把 docker 抽象为下图所示的结构(此图来自互联网): 从图中可以看出,docker 对容器的管理和操作基本都是通过 containerd 完成的. 那么,containerd 是什么呢? ...
- JavaScript prototype详解
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了, ...
- yii2.0 集成/引入第三方sdk
首先下载自己要使用的sdk包放到vendor文件夹下面:我以接入ping++为例子如下: 然后在入口文件出引入文件的配置文件: 下面就是在控制器使用了: 下面就可以根据自己要使用的的文件以及方法正常调 ...
- phantomjs Can not connect to the Service phantomjs错误
尝试方法一: 打开hosts文件配置 cat /etc/hosts 添加 127.0.0.1 localhost 重新运行 尝试方法二: 1,抛开服务,直接调用phantomjs定位问题 由于我是从服 ...
- CString 转化成 const char* 类型
写程序的时候经常会遇到无法将“CString”转换为“const char *”的错误,这里我找到了一个解决办法,与大家分享下: CString cs = _T("); ) * ; char ...
- C++11标准中常用到的各种算法汇总.
在C++11标准中定义了很多算法,这些算法可以让我们很方便的操作各种容器和数组,这里要注意一下,这些算法操作的并非容器,而是迭代器,然后通过迭代器来操作容器中的数据,算法本身并不会关注容器中保存的数据 ...
