前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >UML工具:EA(Enterprise Architect)

UML工具:EA(Enterprise Architect)

作者头像
全栈程序员站长
发布于 2022-09-14 02:46:58
发布于 2022-09-14 02:46:58
3.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

EA跟Rational Rose一样都仅仅是一个UML建模软件,随着对EA的熟悉发现EA的功能太强大了。EA跟Rational Rose大不一样,Rational Rose只是实现对软件的建模即构建系统的UML模型,而EA却不仅仅是实现这些功能。对于一个软件设计者来说,从需求分析到概要设计、详细设计、数据库设计到测试、发布、部署等一系列软件设计必须的操作都可以在EA中完成。可以说只需要一个EA就可以完成一个软件的设计。

【背景】

之前就用过EA去画UML图了。

现在又需要去用到EA画UML图了。

所以去安装EA。

【折腾过程】

1.去安装9.3版本的

easetupfull.exe

2.开始安装:

3.安装好后,桌面就出现了EA的图标:

双击,运行。

此软件是需要注册,需要对应的key才可以运行:

4.此处,用的是之前别人弄好的,share key,共享的注册码

注:上述其实选择的是对应的那个

R:\EnterpriseArchitectKeyStore\sskeys.dat

但是此处只是显示出对应的路径而已。

5.然后选择:

EA Corporate Edition

6.然后可以看到对应的shared key了:

然后就可以去关闭窗口,去运行程序了:

8.然后会给你一些引导,帮你首次配置EA:

9.然后对于已有的一些类型,都截图看看:

最后选择是的complete:

10.再去选择workspace,直接next:

11.然后默认都选active technologies:

12.第一次启动,会问你是否打开EA的一些例子,供你参考:

打开后,效果如图:

EA功能的强悍也不是一天两天就能学完的,这次开发过程中主要学习了一下EA中创建工程及在E-A中构建用例图、类图、时序图、包图、数据库等,这次就总结一下创建工程及EA使用的最基本设置。 创建工程

首先打开E-A,点击文件—新建项目-命名项目并选择项目保存目的地。完成上述操作后会弹出一个对话框“选择项目模型”

图中几个模型的意思分别是:

Business Process 业务流程模型

Requirements 需求分析模型

Use Case 用例模型

Domain Model 领域模型

Class 类设计模型

Database 数据库设计模型

Component 组件模型

Deployment 部署模型

Testing 测试模型

Maintenance 维护模型

Project Management 项目管理模型

User Interface 用户接口模型

对于现阶段我们能用到的最多的就是类设计模型、数据库设计模型、用例设计模型、组件模型和部署模型。我们可以根据自己的需要选择所要创建的模型,当然如果不选或选错了在后期还可以进行更改所以这一步是无关紧要的。 设置默认代码环境

在EA中选择工具—选项-代码工程,在窗口的右边的代码工程的默认语言的下拉菜单中选择自己所需要的语言。

设置默认数据库

在EA中选择工具—选项-代码工程-代码编辑器,在右侧窗口中的默认数据库的下拉列表中选择自己所需要的数据库类型

创建类设计模型及如何在EA中设计类模型

右击项目浏览器中的“模型“,选择”使用向导添加新模型“,在弹出的对话框中选择class模型。

完成上述操作后,在右侧的项目浏览器中就会出现一个类模型模块,展开类模块双击Logical图表的class model进入类设计器。在类设计窗体中左侧会出现工具框,工具箱中的元素及意义如下所示:

Class Elements

Package 包

Class 类

Interface 接口

Enumeration 枚举

Table 表

Sigle 对象通信信号的描述

Association 关联

Class Relationships

Associate 实现

Generallize 泛化

Compose 组成

Associate Class 关联类

Assembly 程序集

Realize 实现

Nesting 嵌套

Package Merge 包的合并

Package Import 包的导入

Common

Note 注释

Constraint 约束条件

Document 文档,附加文档

Artifact 人工,表示任意的系统任意的信息块

Requirement 需求描述

Issue 问题描述

Change 变化描述

Boundary 分界线

Realize 实现

Trace 追踪

Information Flow 数据流

Note Link 注释链接 创建类及向类中添加方法和属性

拖拽Class到设计窗口中,双击或右击选择属性,在弹出的对话框中的常规选项卡中添加信息。其中名称为类名,构造类型可以选择此类是窗体类还是边界类还是业务类、实体类等等。可见性为类的可见性分别可设为public、private、protected。阶段和版本号根据自己的需要设置。备注为给该类添加的备注说明。选择编译的语言以方便生成源代码。点击详细信息选项卡,可以向类中添加属性、方法及方法的参数和相关说明。

生成源代码

类设计好后右击该类选择生成代码,即可将uml类图转化为代码。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158001.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
牛顿迭代法与二分法计算平方根
因为不是科班出身,所以即使编程一段时间也时常感觉自身基础知识非常不扎实,于是在最近开始补习算法和计算机理论的基础知识。
Originalee
2018/08/30
1.8K0
牛顿迭代法与二分法计算平方根
【源码】二分法的matlab实现「建议收藏」
本篇是在课程学习中自己编程实现的二分法计算非线性方程或者超越方程近似根的算法,写一下,后边便于复习和期末课程设计引用。
全栈程序员站长
2022/07/26
1.3K0
【源码】二分法的matlab实现「建议收藏」
二分法其实很简单,为什么老是写不对!!
相信很多人对二分法是又爱又恨,爱是在于它思想简单,效率确实高, 恨是恨在为什么总是写不对呢
代码随想录
2020/06/11
9890
二分法的左右边界
二分法用起来还是挺好用的,就是每次我总是纠结边界条件到底如何确定,用小于号还是小于等于号,满足条件后left是mid还是mid+1,为此专门做了两道简单题,整理了下思路。
伯约同学
2022/03/02
4410
二分法:一看就会,一写就废
题目链接:https://leetcode-cn.com/problems/binary-search/
代码随想录
2021/04/23
8130
VBA: 最优化算法(二分法、黄金分割法、循环迭代法)的代码实现
文章背景:在工程计算中,经常会遇到求解一元非线性方程的问题,如给定一个区间,求解非线性方程的根,或者求最值(最大值或最小值)。下面介绍三种比较简单的算法。
Exploring
2022/09/20
2.4K0
VBA:  最优化算法(二分法、黄金分割法、循环迭代法)的代码实现
【数值计算方法】非线性方程(组)和最优化问题的计算方法:非线性方程式求根的二分法、迭代法、Newton 迭代法及其Python实现
非线性方程式求根是一个重要的数值计算问题,常用的方法包括二分法、迭代法和牛顿迭代法。
Qomolangma
2024/07/30
3620
【数值计算方法】非线性方程(组)和最优化问题的计算方法:非线性方程式求根的二分法、迭代法、Newton 迭代法及其Python实现
机器学习|二分法迭代求零点
01 — 二分法求解 对于区间 [a,b] 上单调连续,且 f(a)· f(b)< 0 的函数 y = f(x),通过不断地把函数 f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点(1
double
2018/04/02
2K0
机器学习|二分法迭代求零点
数组:每次遇到二分法,都是一看就会,一写就废
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
代码随想录
2020/08/27
5880
数组:每次遇到二分法,都是一看就会,一写就废
【算法】二分法 ② ( 排序数组中查找目标值 | 二分法的经典写法 | 在排序数组中查找元素的最后一个位置 | 二分法的通用模板 )
https://leetcode.cn/problems/binary-search/
韩曙亮
2023/03/30
7830
二分法查找有序数组中对应数据的索引
在有序(升序或降序)的数组中查找对应数据的索引时,通常采取循环暴力求解:遍历数组中全部数据,直到数据等于目标值时,返回目标值的索引。但是,当数组中的数据足够多时,暴力求解会占用大量的时间。那么,该如何减少查找过程中所花费的时间呢?
算法与编程之美
2023/08/22
2030
二分法查找有序数组中对应数据的索引
二分法还需要练习练习
力扣题目链接:https://leetcode-cn.com/problems/search-insert-position/
代码随想录
2021/10/20
4200
《算法图解》NOTE 1-算法的渐近表示法以及二分法1 .渐近表示法2.二分法
这是《算法图解》的第一篇读书笔记,内容关于表示算法复杂度的渐近表示法以及一个简单但高效的算法:二分法。 1 .渐近表示法 1.1定义 算法的运行需要时间,这就需要衡量算法运行时间即时间复杂度的方式。这个衡量方式就被成为渐近表示法(大O表示法)。 渐近表示法用于描述算法在最糟糕情况下的运行时间,同时也表示了算法运行时间随问题规模扩大而增长的幅度。 1.2如何使用渐近表示法确定时间复杂度 一般而言,算法复杂度可用一个函数进行表示。之后,仅保留函数中增长幅度最大的一项,而这一项就可用于衡量该算法的时间复杂度。
billyang916
2018/07/06
7100
二分法题型小结
在刷题的过程中,二分法用的还是挺多的,有时候超时了往往是你没有用上二分法,今天我就来稍微总结下用的最多的三种二分法搜索。
帅地
2019/10/30
4680
python 递归和二分法
  4. type() 返回类型    ord()  输入字符找字符编码的位置     chr()  输入位置找出对应的字符    ascii()判断给出的信息是否是ascii 
py3study
2020/02/10
3850
漫画:二分法深度剖析(第二讲)
今天是小浩算法“365刷题计划”第67天。继续为大家分享二分法系列篇的内容,看一道比较简单的题目。
程序员小浩
2020/03/30
6220
漫画:二分法深度剖析(第二讲)
图解算法-读后感-二分法
算法产生的背景个人感觉其实与西方经济学核心的理念是一致的。资源的稀缺性和人类无尽的欲望之间的矛盾。如果资源是无限供给的,也就不存在市场,价格,供求矛盾了。
吴文周
2022/04/15
4690
图解算法-读后感-二分法
python-初识二分法(一)
目录 二分法 1、二分法核心图 2、二分法算法应用实例 二分法 1、二分法核心图 2、二分法算法应用实例 二分法是一种搜索效率比较高的算法,每次搜索会把范围缩小一半,最终获取到想要的结果 二分法基础运用,实例1如下: import random # 获取100以内的随机数 start_num =0 end_num = 100 while True: real_num = random.randint(0,100) num = int(input('please input yo
HammerZe
2022/03/25
2580
python-初识二分法(一)
【算法】二分法 ① ( 二分法基本原理简介 | 二分法与哈希表对比 | 常见算法对应的时间复杂度 )
数组 中的元素 是 已经 排序好的 , 由于 元素 是有序的 , 因此在 查询目标值 的时候 , 可以更加高效 的查询 其所在数组的索引 ;
韩曙亮
2023/03/30
1.9K0
经典面试题:如何快速求解根号2?
回到正题,这个肯定不是想问你应该调用哪个函数,而是想问如何自己去实现一个这样的开方函数。
小K算法
2022/06/09
1.1K0
经典面试题:如何快速求解根号2?
推荐阅读
相关推荐
牛顿迭代法与二分法计算平方根
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档