本文同时发布于 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的更多相关文章

  1. Enterprise Architect UML建模

    UML建模 前言 UML建模资料已经很多了,有人想用有人不用,有人会用也有人不会用,本文只是作者的一篇UML建模总结,不想去写太细,因为真正的你去用下,去画下就基本都会了.工具毕竟是工具,设计和思想才 ...

  2. Enterprise Architect UML 建模之活动图

    EA(Enterprise Architect) UML 建模之活动图   一.活动图的概念作用 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流. 活动图的作用:描述 ...

  3. UML之Enterprise Architect使用

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:UML之Enterprise Architect使用     本文地址:http://tech ...

  4. 用Enterprise Architect从源码自动生成类图

    http://blog.csdn.net/zhouyong0/article/details/8281192 /*references:感谢资源分享者.info:简单记录如何通过工具从源码生成类图,便 ...

  5. Enterprise Architect使用教程

    一.Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engine ...

  6. 论证与测试 + 用EA画uml

    论证与测试,谁才是真正的不二法门 第十三次作业的时候,我们开始使用Junit对代码进行测试,主要是测试代码的覆盖率,以及分支的覆盖率.(主要是检查JSF写的是否是符合规范,……). 这里我给出我测试的 ...

  7. Enterprise Architect的共享Respository设置,postgresql数据库

    Enterprise Architect有一个很实用的共享,在设计UML图的时候,可以连接到一个数据库服务器,将所有的画图数据共享在上面,所有连到这个server的人,都可以看到 别人的图,图中的元素 ...

  8. PowerDesigner Vs Enterprise Architect

    注: 以下文中PD表示PowerDesigner,EA表示Enterprise Architect 最近一直在做设计方面的事情,之前一直在用PD.有个阿里过来的同事说阿里都是用EA,我就抽空小研究了一 ...

  9. Enterprise Architect

    Enterprise Architect 是一款计算机辅助软件工程,这款软件用于设计和构建软件系统.业务流程建模及更多通用的建模.EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过 ...

随机推荐

  1. springboot+mybatis+redis实现分布式缓存

    大家都知道springboot项目都是微服务部署,A服务和B服务分开部署,那么它们如何更新或者获取共有模块的缓存数据,或者给A服务做分布式集群负载,如何确保A服务的所有集群都能同步公共模块的缓存数据, ...

  2. 跨域cors方法(jsonp,document.domain,document.name)及iframe性质

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  3. struct和union的区别

    1)union是几个不同类型的变量共占一段内存(相互覆盖):struct是把不同类型的数据组合成一个整体 2)对齐方式略有区别:union不需要+,只需要拿出对齐后的最长 structure unio ...

  4. Exchanger兄弟线程间数据信息交换

    一.简述 Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据.当线程A调用Exchange对象的exchange()方法后,他会陷入阻塞状态,直到线程B也调用 ...

  5. 全局唯一ID发号器的几个思路

    标识(ID / Identifier)是无处不在的,生成标识的主体是人,那么它就是一个命名过程,如果是计算机,那么它就是一个生成过程.如何保证分布式系统下,并行生成标识的唯一与标识的命名空间有着密不可 ...

  6. Linux时间子系统之(十三):Tick Device layer综述

    专题文档汇总目录 Notes:从概念层次描述了tick-comm.oneshot tick.broadcast tick:重点介绍了tick和tickless概念及其区别,两种tick device: ...

  7. 第九章——运行tensorflow(Up and Running with TensorFlow)

    本章简单介绍了TensorFlow的安装以及使用.一些细节需要在后续的应用中慢慢把握. TensorFlow并不仅仅局限于神经网络和机器学习,它甚至可以用于量子物理仿真. TensorFlow的优势: ...

  8. Ambiguous mapping found

    If you have a single default method (without explicit path mapping), then all requests without a mor ...

  9. JavaScript设计模式 Item 5 --链式调用

    1.什么是链式调用 这个很容易理解,例如: $(this).setStyle('color', 'red').show(); 一般的函数调用和链式调用的区别:调用完方法后,return this返回当 ...

  10. 解决Apache Web Server的几个错误

    一.安装好Apache后服务里没有Apache服务 在命令行进入安装apache的bin目录下,输入命令 httpd.exe -k install -n Apache2.4 二.Apache web ...