firemail

标题: UML工具:EA(Enterprise Architect) [打印本页]

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



作者: Qter    时间: 2020-10-29 09:30
有很多优秀的软件提供时间范围内的试用,过期后就无法使用。一般来说想继续使用,要么购买正版,要么破解激活注册等,其实还有一种办法就是无限次的延长其试用期~~下面以某国外软件Enterprise Architect为例,简单示范。
Enterprise Architect,Sparx Systems公司出品,是一款优秀的基于OMG UML的可视化模型与设计工具。官方版本提供30天试用。30天后即无法使用。


分析平台:Win 10 CHS
分析工具:Process Monitor v3.52
分析对象:Enterprise Architect v14.1.1429


通过观察Enterprise Architect主程序EA.exe启动过程中对注册表和磁盘文件的访问信息,根据经验找出可疑操作……【此处属于人肉时间】……最后定位到两处可疑操作:
1、磁盘文件:读写 C:\\Users\\你的登录用户名\\AppData\\Roaming\\Sparx Systems\\ea\\tkey.dat
2、注册表:独写 HKEY_CURRENT_USER\\SOFTWARE\\Classes\\Software\\Hiragana


尝试删除任一内容后,重启软件,发现时间限制仍在。


简单分析,该软件的试用记时信息会同时保存在上述两个地方,所以关闭软件后,同时删除上述磁盘文件和注册表项,再次打开软件,时间限制复位,又一轮试用开启~~

PS:Enterprise Architect v14.1.1429之前版本的注册表键值项名是Ikana ,磁盘文件名为:key.dat
作者: Qter    时间: 2020-10-29 09:37
https://blog.csdn.net/Appleyk/article/details/88994356
一、什么是EA?

Enterprise Architect 是Sparx Systems 公司的旗舰产品。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。

                                                                                                                            --  -- 摘自百度百科


比Rose还要强大的UML建模工具,安装后,整体UI风格如下:





二、安装EA
百度网盘链接:https://pan.baidu.com/s/14zk04mge9ihmKPUoqnTWJg提取码:eg37




三、为什么要学会用EA? 我直接用三个反问句吧,直接明了:

1、你还在没经过设计就直接敲代码吗? 设计先行的理念哪去了?

2、你难道不想要有一种工具,可以把你设计的东西直接转换成代码或者sql语句,以减轻你的工作量吗?

3、你想一直都敲代码吗?程序员可不是吃青春饭的,时间久了,就该要好好考虑转变开发角色的事情了。





四、创建EA建模工程

(1)新建工程,命名为test(.eapx)






(2)创建视图




举个例子:





右键选择添加:




案列效果:





从左至右,依次是:工程的目录结构,主视图窗口,属性面板(设置对象的属性值)





五、创建类视图,构建类和接口

我们不使用案列带的Diagrams例子,直接新建一个package,在package下添加我们需要的类



(1)创建一个包,命名为类视图




(2)在构建的包(目录)下面添加一个视图





(3)选择Class(类)





(4)瞅准工具箱(Toolbox,往视图面板上拖类和接口组件)

工具箱的位置:Design-->Toolbox



(5)拖入两个类和一个接口(一个子类,一个抽象超类,一个接口)






(6)给类或接口添加说明(标注)






(7)改变字体大小





(8)废话不多说,直接构建关系,看效果





(9)给QQPlayer类添加属性字段





添加一个name字段:






添加方法playMovies():






调整变量或方法的“出场”顺序:





(10)标识类为抽象类





抽象类的字体是倾斜的,如下:





(11)至此,类和接口的简单使用结束

   难点在于:关系的认知,比如哪根线表示继承,哪根线又表示实现等;如何给类添加字段和方法;如何标识类为抽象类;





六、选中模型目录,自动检出Java代码

(1)改变类视图的目录(包)结构如下(第五步的结果一定要记得保存!!!)




(2)见证奇迹,检出代码





勾选选项(配置一下)如下:




勾选 Include all Child Packages




点击Generate按钮,成功了即可看到如下:





(3)回到桌面,检查上一步自动生成的代码是否OK






目录结构很package,很ok,就是不知道代码是否也ok呢?

(4)检查下代码,看一下QQPlayer类是否继承和实现都体现在代码里了




就连抽象类Mp3也是很ok的







七、趁热打铁,构建数据表视图并检出SQL脚本

(1)创建Data Modeling



点击ok完成后,效果如下:





(2)基于PostGreSql,构建一张表和一个ID自增序列







(3)给User表添加列




添加id、name、age、sex等(简单意思下就行):





(4)最终视图效果如下




(5)自动检出sql脚本(操作和生成代码有点区别)


选中所有元素(对象):




选中后效果如下:





(6)Generate后,桌面验证SQL脚本


查看内容:





(7)PostGreSql数据库验证一下,SQL脚本是否可用





刷新一下,查看构建的user表:




使用下刚才创建的user_id序列:






八、其他UML建模视图不再陈述
test.eapx工程下载地址:
链接:https://pan.baidu.com/s/1ptaaxqgvPhs9XsUEz3J1mg
提取码:azj0






欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3