如何使用 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),它将支撑系统开发的全过 ...
随机推荐
- IM进化论:腾讯也难逃被颠覆掉的命运
在一定程度上,腾讯代表了中国IM领域的过去和未来.但有句俗话,后来推前浪,前浪被拍死在沙滩上,"生死腾讯"也总会变为生和死,因为腾讯很可能会有被颠覆掉的一天.腾讯的IM接口是个庞然 ...
- Mybatis概述
mybatis概述 1 mybatis产生的意义 传统的jdbc, 及其存在的问题 package cn.rodge.jdbc;import java.sql.Connection;import ja ...
- 如何在js或者jquery中操作EL表达式的一个List集合
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先说明此篇博客看明白了可以干嘛: 就是在js或者jquery中操作一个EL表达式的一个list集合或者复杂类型 ...
- 一次数组越界的bug经历
数组和指针都是C里面的好东西,但是一旦使用不当,真的会让人抓狂. 下面是写程序时遇到的一次数组越界的经历,感觉对以后写程序有点启发,所以记录下来. 起因: 我想用OLED动态显示一组浮点数,而且浮点数 ...
- tkinter做一个简单的登陆页面
做一个简单的登陆页面 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("900x3 ...
- 解决openfire中发送某些特殊字符会断开xmpp连接的问题
在openfire中,如果发送某些特殊的字符(例如一些表情符合),会断开xmpp的连接,经查,是由以下的代码问题引起的: src\java\org\jivesoftware\openfire\net\ ...
- ranker.go
package { start = utils.MinInt(options.OutputOffset, len(outputDocs)) end = ...
- java equals和tostring
Object类概述 是所有类中的父类,最大的超类,所有的类都继承他. equals方法 比较2个对象是否相同,其实他是在比较两个对象的地址是否相同,在equals方法中我们用==来判断 但是比较2个地 ...
- 【NOI赛前训练】——专项测试1·网络流
T1: 题目大意: 传送门 给一个长度为$n(n<=200)$的数列$h$,再给$m$个可以无限使用的操作,第$i$个操作为给长度为花费$c_i$的价值给长度为$l_i$的数列子序列+1或-1, ...
- xamarin android网络请求总结
xamarin android中网络请求的框架非常多,在项目中使用的是第三方的一个网络请求框架restsharp,应该是github上.net网络请求最多star的框架,没有之一.这里就简单汇总了其他 ...
