一、Enterprise Architect简介

Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。可以让系统开发中各个角色都获得最好的开发效率。

二、创建新项目

安装好了EA汉化版后,启动软件。点击“创建新的项目”,打开创建新项目对话框。


【图1】

这里可以选择各种的初始的模板包。


【图2】

我们选择了其中几个,然后确定打开了项目浏览器。我们的项目将从这里开始了。


【图3】

三、EA软件配置

在使用软件之前,我们先来对它进行配置。打开“工具”–>“选项”。

【图4】

常规配置中,比较重要的是作者这项。因为在EA项目的团队协作中,作者是每个人的身份标识。

在代码工程中,最好把文件编码设置成UTF8或者是GB中文。

其他方面的配置,因为都是中文的,也比较容易理解。有些不明的地方,可以多琢磨。

另外对于最下面的十种编程语言,可以根据自己的需要,进行一些配置。比如PHP,可以配置PHP4或者是PHP5,那么生成的代码也是有些不同的。还可以隐藏其他没有用到的语言。

四、用例图,类图的使用

用例图(use case)

用例图是我们做系统分析的通常第一步,是非常重要的。毕竟大部分的开发流程,都将需求分析作为首要步骤,也是必要步骤。将系统需求化作图型表达出来。首先是在项目浏览器中,右键“添加”–>“新建图表”。

【图5】

然后可以加入一些角色和用例,在每次在工具箱里面拉出一个元件,都将打开这个元件的设置对话框,在对话框内填入元件的名称等信息。现在我们是表达一个用户注册和登录的场景:

【图6】

加入关联,用例图中最常用的关联是“使用use”,当然也经常会用到“包含include”“扩展extend”。这两者的区别是“包含”是主用例没有包含其他的辅助用例就不能独立执行,但是主用例可以在没有“扩展”其他辅助用例的情况也可以执行。比如说,注册是“包含”了检查验证码,但是不一定会“扩展”发送通知邮件这个用例。

角色是用例图的行为基础。虽然角色可以是某种职位的人,或是数据库,或是外部系统交互接口,但是每个用例图,都是以角色为开始的。角色可以有类属关系。比如说注册用户同时也是网站访问者,注册用户可以做一切访问者可以做的事情,但是注册用户还拥有一些网站访问者没有涉及的功能,比如登录发文章之类。

【图7】

类图(Class)

类图是代码工程的基础,同时也是系统设计部分的主体工作。类图主要体现了系统详细的实现架构。首先我们来制作一个实现用户注册功能的注册业务类。

【图7】

在生成类后,我们可以加入一些变量(在类元件上右键“变量”),变量主要将保存类本身的一些数据,如同人的性别,年龄等数据特征一样。比如我们注册类,也有数据链接的变量(它需要知道自己是和哪个数据库打交道的),还可能有着每IP单日注册数量限制的数据变量等等。

【图8】

类还需要加入方法(在类元件上右键“方法”),比如说注册类中,需要检查输入的验证码,需要进行数据操作,需要检查单日注册数量等等。在类的方法里面,我们还可以设置每个方法的参数,参数类型,还有参数的备注,这将在代码工程内,直接作为参数和方法的注释生成到代码文件内。

【图9】

各个类之间,可能存在着一些关系,那么我们使用关联来表达这些关系。常用的有继承关系(Generalize,或者叫派生类)。例如注册的时候,我们可能有些特殊的注册方式,比如接收了VIP卡号的人员注册。VIP注册比普通注册多了一些步骤,比如验证VIP卡号有效性等。这个VIP注册类,就继承于注册类,拥有了全部普通注册的功能,但是又有一些自己特有的功能,这样就能体现了代码的可重用性。同时在代码生成的时候,会加上“extends”这个关键字来标识他们的关系。

【图10】

五、其他图形的使用

【图11】

对象图(Object),这是类图的一种补充,主要是演示了系统中各个类,在不同的场景中,实例化之后所做的不同事情。

交互图(interaction),协作图(communication)和时序图(Timing),他们都是体现了系统中一些实体之间的互相交互的行为。协作图是侧重与表达实体之间的协作交互,在新版的UML中,协作图也叫通讯图,更能体现了实体之间是以通讯的方式来进行协作的原理。而时序图是强调了各个实体件进行交互的前后顺序。例如发送注册成功的提示邮件,那么是发生在注册类检验输入数据之后,而不能是之前。

另外,还有一些其他的图形,比如状态图(State),部署图(Deployment),组件图(component),活动图(Activity),这些请参考相关文档。同时EA支持的图形有非常的多,其中思维图(表达和辅助了思维的思考过程),WEB模型图(表现了网站上部署的模型结构)是最近几个版本中才出现的。

六、数据建模

在数据模型图(Data Modeling)中,EA支持13种不同型号的数据库建模,可直接生成建表SQL语句,同时也可以通过ODBC,导入已存在的数据表结构。

【图12】

下例我们建立一个学生宿舍人员组成的数据表,表类型使用的是MySQL。首先是建立了一个数据表元件,然后设置它的属性。

【图13】

加入字段(表元件上右键“变量”),设置字段的数据类型,长度,设成主键等。这里可以使用中文作为字段名,在“别名”处才写上英文字段名,在生成SQL的时候,选择“使用可用的别名”就可以生成英文名称的字段名。

【图14】

生成建表SQL,点击数据模型的上级包,然后选择“项目”–》“数据建模”–》“生成SQL代码”,打开生成SQL的对话框。

【图15】

设置好了后,点击生成,就可以生成了一个完整的SQL建表语句了。


【图16】

七、代码工程

代码工程就是将已经画好的类图,使用EA来生成相应的代码结构,之所以说是代码结构,是因为生成的代码中,仅有初始的类结构和一些预设的值,类方法内部的代码还是需要手动去写的。另外,如果你在类的设置里,或者是变量,方法还有方法的参数里,加上了备注,那么,代码工具将会帮助你把这些备注全部生成工整的代码注释。

使用之前的一个PHP类,选中右键“生成代码”。然后弹出生成代码的对话框。

【图17】

设置后,点击生成就可以生成了代码结构了。

【图18】

其他语言的代码生成过程,也是大同小异的。代码工程(正向工程)产生的代码格式,可以在“设置”–>“代码工程模板”里面进行自定义的模板修改。

八、反向工程

反向工程是将原有的类库代码,使用EA进入导入类结构,直接生成类图。这在系统重构,或者是基于旧项目类库制作新项目的时候,比较有用。

在项目浏览器,你要导入反向工程类图的位置,右键“代码工程”–> “导入源文件目录”,打开反向工程对话框:

【图19】

设置好后,点击导入。一小段时间,就能将一个类库导入了。以下演示的是导入SpeedPHP框架1.5版本的类图。

【图20】

九、项目管理

在EA中,不仅能对整个软件开发生命周期的支持,还提供了项目管理,例如人员的管理,进度管理,风险管理等。

菜单“查看”–>“项目管理”

【图21】

这里你可以分别管理“(人力)资源”,“工作”,“风险”,“度量”等几个方面。

十、文档生成

EA可以生成非常多种类型的文档,以方便针对不同情况和不同阅读对象,生成不同侧重的文档。还可以有RTF格式和HTML格式的选择。

在项目浏览器中,选择一个模型节点。然后右键“文档”–>“RTF文档”,打开生成文档对话框。

【图22】

这里可以生成多种类型的文档。点击“生成”。然后就会生成了一个RTF文件。

【图23】

默认生成的文档,里面有大部分的英文。当然,你可以将他们在RTF文件中改写成中文。另外还可以使用生成文档对话框中的“词语翻译”,来进行对应的翻译,再生成新的翻译后的文档。同时你也可以直接修改EA中的文档模板,这样也可以产生自定义的文档。

Enterprise Architect使用教程的更多相关文章

  1. PowerDesigner 业务处理模型( BPM ) 说明 及Enterprise Architect使用教程

    http://www.cnblogs.com/springside-example/archive/2011/10/17/2529640.html http://wenku.baidu.com/lin ...

  2. Enterprise Architect 生成项目类图

    Enterprise Architect使用教程: https://blog.csdn.net/chenglc1612/article/details/81083151 主要流程 --到此-自动生成完 ...

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

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

  4. 微软职位内部推荐-Enterprise Architect - BDE - BJ

    微软近期Open的职位: Enterprise ArchitectCloud, HTML5, Big Data and Mobile are technology trends driving pro ...

  5. PowerDesigner Vs Enterprise Architect

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

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

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

  7. Enterprise Architect UML 建模之活动图

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

  8. 如何使用 Enterprise Architect 画 UML

    本文同时发布于http://fantasylion.github.io/tools/How-to-use-EA 重识 EA (Enterprise Architect) 公司使用的 OMS 是从外面买 ...

  9. Enterprise Architect

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

随机推荐

  1. Bootstrap_表单_图像

    在Bootstrap框架中对于图像的样式风格提供以下几种风格: 1.img-responsive:响应式图片,主要针对于响应式设计2.img-rounded:圆角图片3.img-circle:圆形图片 ...

  2. 【Linux】常用命令

    一.文件结构     /:       根目录 /bin:    系统所需要的那些命令位于此目录. /boot:   Linux的内核及引导系统程序所需要的文件目录,GRUB或LILO系统引导管理器也 ...

  3. Nginx fastcgi_param解释

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param QUERY_STRI ...

  4. PHP 开启 ssh2

    首先,为PHP安装SSH2扩展需要两个软件包, libssh2和ssh2(php pecl拓展). 两者的最新版本分别为libssh2-1.5.0.tar.gz和ssh2-0.12.tgz,下载地址分 ...

  5. centos下Elasticsearch数据迁移与备份

    ########### ### 共享创建es官方网站就一句话 ########   1.下载 文件共享 .. rpm -i http://mirror.symnds.com/distributions ...

  6. IOS QuartzCore核心动画框架

    IOS QuartzCore核心动画框架 核心动画框架 使用核心动画需要引入的框架:#import CALayer: CoreAnimation CALayer就是UIView上的图层,很多的CALa ...

  7. 用nodejs,express,ejs,mongo,extjs实现了简单了网站后台管理系统

    源代码下载地址:http://download.csdn.net/detail/guoyongrong/6498611 这个系统其实是出于学习nodejs的目的而改写的系统. 原来的系统前端使用了ex ...

  8. 【Linux】 诊断工具-strace

    1,别人家的总结: http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html 2,我自己碰到问题: 暂无. 3,使用场景: 程序 ...

  9. BZOJ 1200 木梳

    Description Input 第一行为整数L,其中4≤L≤100000,且有50%的数据满足L≤104,表示木板下侧直线段的长.第二行为L个正整数A1,A2,…,AL,其中Ai≤108 Outp ...

  10. [BZOJ 1874] [BeiJing2009 WinterCamp] 取石子游戏 【博弈论 | SG函数】

    题目链接:BZOJ - 1874 题目分析 这个是一种组合游戏,是许多单个SG游戏的和. 就是指,总的游戏由许多单个SG游戏组合而成,每个SG游戏(也就是每一堆石子)之间互不干扰,每次从所有的单个游戏 ...