一、Enterprise Architect简介
1.EA(EnterpriseArchitect)是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。可以让系统开发中各个角色都获得最好的开发效率。
2.生命周期软件设计方案——Enterprise Architect是以目标为导向的软件系统。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。
3.EA的特性:快速、稳定、高性能
4.包括:
结构图表:类、对象、合成元素、包、组件、布局;
行为图表:使用案例、通信、序列、交互概述、行为、状态、时序;
扩展:分析(简单行为)、定制(需求、变动和UI设计)。
二、下载
目前我使用的版本是11。在网上可以搜索的到。直接下载按照提示安装就可以了。
三、使用介绍
在一般软件项目中,以下的几个时间点可以利用活动图来进行表示:
- 项目起始阶段,需求分析人员可以通过活动图和领域专家针对项目相关的企业活动流程进行流程设计
- 项目上线阶段可以利用起始阶段的活动图作为集成测试的蓝图
- 项目维护阶段,企业管理相关人员可以通过活动图了解企业现行的流程及未来可以改善的方向
活动图的设计需要注意以下几个原则:
- 活动图的目的在表达“流程完整性”而非活动细节
- 活动图中的元素(主要是活动)不要考虑复用的议题
- 如果在活动图中绘制了“分叉点”,则一定要有一个“会合点”与其相对应
- 活动图中尽量不要表达“文件”或“数据”
活动图中的几个元素(Elements):
- 起始点指的是一连串活动的开始点,在一张活动图中,必须是有且只能够有一个是起点
- 结束点指的是一连串活动的终结点,在一张活动图中,可以有多个终结点
- 活动是活动图中最重要的一个元素。一般来说,所谓的活动是指人或系统的一连串的执行细节。
- 转移代表着流程控制权(Flow Control)的转移。当某一个活动结束后,流程的控制权通过Transition表达出其转移给另一个活动
- 分支则代表一个判断的准则
- 分叉(Fork)和回合(Join)主要代表后续活动的同步处理。当某个活动结束后,需要同时进行两个以上的活动,此时必须利用"分叉"来加以表达;而当某个活动必须要等待前置的多个活动结束后方可进行,此时则利用“会合”来表达
- 分区在整个活动表达上,是一个非常重要的概念。我们可以利用分区来将活动分配给对应的角色。
1.新建活动图(粗略)
2.工具其他功能使用
依次点击“File->New Project->命名保存->在“Select model”中选择需要创建的类型(如图1)->单击“OK”确认,得到界面如图2所示
【图2】
Business Process | 业务流程 |
Requirements | 需求分析 |
Use Case | 用例 |
Domain Model | 领域模型 |
Class | 类设计 |
Database | 数据库设计 |
Component | 组件 |
Deployment | 部署 |
Testing | 测试 |
Maintenance | 维护 |
Project Management | 项目管理 |
User Interface | 用户接口 |
表-1
3.创建“Class”模型
【图3】
Class Elements | |
Package | 包 |
Class | 类 |
Interface | 接口 |
Enumeration | 枚举 |
Table | 表 |
Signal | 对象通信信号的描述 |
Association | 关联 |
Class Relationships | |
Associate | 实现 |
Generalize | 泛化 |
Compose | 组成 |
Associate Class | 关联类 |
Assembly | 程序集 |
Realize | 实现 |
Nesting | 嵌套 |
Package Merge | 包的合并 |
Package Import | 包的导入 |
Common | |
Note | 注释 |
Constraint | 约束条件 |
Document | 文档:附加文档附件 |
Artifact | 人工:表示任意的系统任意的信息块 |
Requirement | 需求描述 |
Issue | 问题描述 |
Change | 变化描述 |
Boundary | 分界线 |
Dependency | 依赖关系 |
Realize | 实现 |
Trace | 追踪 |
Information Flow | 数据流 |
Note Link | 注释链接 |
表-2
4.EA软件配置
我们发现,在默认情况下“Class”所显示的名称是Test,但如果我们需要显示别名的时候,我们需要进行以下设置:
【图4】
【图5】
在生成类后,我们可以加入一些变量(在类元件上右键“变量”),变量主要将保存类本身的一些数据,如同人的性别,年龄等数据特征一样。比如我们注册类,也有数据链接的变量(它需要知道自己是和哪个数据库打交道的),还可能有着每IP单日注册数量限制的数据变量等等。
【图6】
【图7】
【图8】
三、其他图形的使用
【图9】
对象图(Object),这是类图的一种补充,主要是演示了系统中各个类,在不同的场景中,实例化之后所做的不同事情。
交互图(interaction),协作图(communication)和时序图(Timing),他们都是体现了系统中一些实体之间的互相交互的行为。协作图是侧重与表达实体之间的协作交互,在新版的UML中,协作图也叫通讯图,更能体现了实体之间是以通讯的方式来进行协作的原理。而时序图是强调了各个实体件进行交互的前后顺序。例如发送注册成功的提示邮件,那么是发生在注册类检验输入数据之后,而不能是之前。
另外,还有一些其他的图形,比如状态图(State),部署图(Deployment),组件图(component),活动图(Activity),这些请参考相关文档。同时EA支持的图形有非常的多,其中思维图(表达和辅助了思维的思考过程),WEB模型图(表现了网站上部署的模型结构)是最近几个版本中才出现的。
六、数据建模
在数据模型图(Data Modeling)中,EA支持13种不同型号的数据库建模,可直接生成建表SQL语句,同时也可以通过ODBC,导入已存在的数据表结构。
【图10】
下例我们建立一个学生宿舍人员组成的数据表,表类型使用的是SQL。首先是建立了一个数据表元件,然后设置它的属性。
【图11】
【图12】
生成建表SQL,点击数据模型的上级包,然后选择“项目”–《“数据建模”》– “生成SQL代码”,打开生成SQL的对话框。
【图13】
设置好了后,点击生成,就可以生成了一个完整的SQL建表语句了。
下面是代码生成的效果。
- <strong><span style="font-family:KaiTi_GB2312;font-size:18px;">-
- create database newssystem
- --建立类别表
- create table register
- (
- id int identity(1,1)primary key,
- name varchar(20)not null
- )</span></strong>
后续整理......