一. 简介
生命周期软件设计方案——Enterprise Architect是以目标为导向的软件系统。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。
为整个团队提供高级的UML 2.0建模工具。
EA为用户提供一个高性能、直观的工作界面,联合UML 2.0最新规范,为桌面电脑工作人员、开发和应用团队打造先进的软件建模方案。该产品不仅特性丰富,而且性价比极高,可以用来配备您的整个工作团队,包括分析人员、测试人员、项目经理、品质控制和部署人员等。
丰富系统设计
Enterprise Architect是一个完全的UML分析和设计工具,它能完成从需求收集经步骤分析、模型设计到测试和维护的整个软件开发过程。它基于多用户 Windows平台的图形工具可以帮助您设计健全可维护的软件。除此,它还包含特性灵活的高品质文档输出。用户指南可以在线获取。
快速、稳定、高性能
统一建模语言能够以一致方式构建强健和可跟踪的软件系统模型,而EA为该构建过程提供了一个易于使用和快速灵活的工作环境。
端到端跟踪
Enterprise Architect提供了从需求分析、软件设计一直到执行和部署整个过程的全面可跟踪性。结合内置的任务和资源分配,项目管理人员和QA团队能够及时获取他们需要的信息,以便使项目按计划进行。
在UML 2.0上构建
通过UML(统一建模语言),您可以构建严格的可追踪的软件系统模型。EA为UML构建软件模型提供了一个快速便捷的应用环境,它支持OMG定义的新UML2.0标准。
Enterprise Architect的基础构建于UML 2.0规范之上,不仅如此,使用UML Profile还可以扩展建模范围,与此同时,模型验证将确保其完整性。产品含有免费的extensions for BPMN 和 Eriksson-Penker profile,能够将业务程序、信息和工作流程联合到一个模型内。
利用EA,设计人员可以充分利用13 UML 2.0图表的功能——EA支持全部13种 UML 2.0图表和相关的图表元素;
包括:
结构图表:类、对象、合成元素、包、组件、布局;
行为图表:使用案例、通信、序列、交互概述、行为、状态、时序;
扩展:分析(简单行为)、定制(需求、变动和UI设计)。
EA提供使用工具,能够跟踪依赖关系、支持大型模型,帮助您管理大型复杂的工程;含有CVS或SCC提供工具,以时间快照为基线,通过比较来跟踪模型变动,从而实现版本控制;含有类似explorer的项目视窗,为您提供直观高性能的工作界面。
EA还含有一个所见即所得形式的模板编辑器,提供强大的文档生成和报告工具,能够生成复杂详细的报告,报告可以按照公司或客户要求的格式提供所需信息。
EA具备源代码的前向和反向工程能力,支持多种通用语言,包括C++, C#, Java, Delphi, VB.Net, Visual Basic和PHP,除此,还可以获取免费的CORBA和Python附加组件。EA提供一个内置的源代码编辑器,含语法突出功能,确保能够在一致的工作环境中快速导航和查找您的模型源代码。对于Eclipse或Visual Studio.Net工作人员,Sparx Systems还提供到这些IDE的轻量链接工具,您可以在EA中进行建模,而后直接跳转到自己偏爱的编辑器中进行源代码的进一步开发。代码生成模板还允许您对生成的源代码进行定制,使之同公司规范相符。
EA还提供对大多数软件开发语言和数据库架构的逆向工程支持,令您的应用程序可视化,从源代码、Java.jar文件甚至是.Net二进制汇编语言中获取完整框架。通过导入框架和库代码,实现对您已有投资重复利用的最大化。
EA还提供变换模板,编辑和开发均非常简单,支持先进的模型驱动结构体系(MDA)。通过内置的DDL, C#, Java, EJB 和 XSD变换,您可以从简单的“平台独立模型”开始来构建复杂的解决方案,并定位于“平台专门模型”(PSM)。一个PIM可以用来生成并同步多个PSM,使工作效率得到显著提高。
主要特性
UML设计和构建;
使用案例,逻辑,动态和物理模型;
定制进程模型的扩展或其他;
高品质的MS Word 兼容文档;
应用直观方便;
低许可费;
数据建模,前向DDL数据库工程,反向ODBC数据库工程;
多用户(Professional 和 Corporate Edition);
前向或逆向代码工 程(Professional 和 Corporate Edition)——支持Java, C#, C++, VB.Net, Delphi, Visual Basic 和 PHP;
XML导入/导出容易;
拼写检查;
产品新增特性
RTF所见即所得模板编辑器和报告生成器——EA 增强了其企业版和专业版中RTF文档生成功能,采用一个模板驱动方式生成RTF文档,允许用户在模型的元素层面上对其文档的外观、内容等进行定制。
l 版本控制改进——对版本控件作了明显改进,支持对嵌套软件包的控制,这样,在导入基版本控制软件包时,就不会再覆盖嵌套软件包了。大型文件加载时间显著缩短,同时对AccuRev和Perforce的支持也得到改进。
l 基线支持——企业版提供新的基线函数,在当前模型中,允许用户将一个完整的软件包分支保存为一个压缩的XMI文件。通过该基线函数,用户可以对当前软件包和存储的基线软件包进行比较。
l MDA风格转换——EA专业版和企业版中提供MDA风格转换功能。MDA转换通过一个模板驱动方法将PIM(平台独立模型)元素转换为PSM(平台相关模型)元素。
比较工具(Diff)——专业版和企业版提供该功能,允许用户对模型结构体系和保存的XMI进行对照比较。包括以下比较内容:基线函数创建的基线、保存在硬盘上的EA XMI文件、由EA XMI控制的版本。
l 导入二进制模块——EA专业版和企业版允许对Java Archive (.jar), . NET PE Files* (.exe, .dll)和Intermediate Language (.il)二进制模块进行反向工程。
l 构建和运行——EA Professional 和 Corporate版本支持该功能,为开发人员提供集成工具,将UML开发和建模同源代码开发和编译相集成。能够使用MDA变换从源类中生成nUnit和 jUnit测试类,并将测试过程直接集成到EA IDE中,如今还可以将UML和建模集成到构建/测试/运行/部署程序中。
l MOF——在MOF 1.3和1.4标准下,允许向XMI导出包。向包中分配固定类型的元模型,可以创建MOF模型。MOF模型还可以输出为MOF 1.3或1.4 XMI文件规范。
l 工程商讨论坛——确保整个团队始终处于最新状态。使用商讨论坛可以讨论您工程的开发和进度,同时为了讨论方便,还可以将工程内容进行分类,并制定标题。用户可以针对某个标题发出消息线程或响应消息线程。在论坛消息板中,您可以链接到图表的不同元素。在当前模型下还可以使用其他模型的商讨论坛。
l Web服务——支持对W3C Web服务定义语言(WSDL)的前向和反向工程。支持对WSDL文件的建模、生成、输入操作。
l XML架构(XSD)——支持对W3C XML架构(WSDL)的前向和反向工程。支持对XML架构的建模、生成、输入操作。
The Corporate Edition定位于大规模开发组。它支持Desktop和 Professional版本的所有功能,如连接到SQL服务器、MySQL, Oracle9i, PostgreSQL, MSDE,Adaptive Server Anywhere 和 MS Access backends以实现知识库共享。它还支持用户安全、用户注册、用户组、复制和元素的用户级同步。该版本还包含对MDG技术的支持,而且用户还也可以获得更多的资源。
The Professional Edition定位于工作组和开发人员。它支持通过复制和网络文件实现项目共享。专业版还含有ActiveX接口,可以查询EA项目、以XMI格式提取信息。它完全支持代码导入/导出,模型元素和源代码的同步以及对 SQL Server, MySQL, Oracle9i的逆向工程,而且包含对MDG技术的支持。
The Desktop Edition是为个体用户准备的,可以生成UML分析和设计模型。除代码工程(源代码和DLL导入/导出) 、Active-X接口和多用户模型共享之外,它可以实现专业版的所有功能。
二. 创建工程
依次点击“File->New Project->命名保存->在“Select model”中选择需要创建的类型(如图-1)->单击“OK”确认,得到界面如图-2所示
图-1
Business Process |
业务流程 |
Requirements |
需求分析 |
Use Case |
用例 |
Domain Model |
领域模型 |
Class |
类设计 |
Database |
数据库设计 |
Component |
组件 |
Deployment |
部署 |
Testing |
测试 |
Maintenance |
维护 |
Project Management |
项目管理 |
User Interface |
用户接口 |
表-1
图-2
三. 一些基本的通用设置
3.1 设置默认代码环境
依次点击:“Tool->Options-Source Code Engineering->Default Language For Code Generation->C#”如图3所示:
图-3
单击“Close”确认退出。
3.2 设置默认数据库
依次点击:“Tool->Options- Code Editors->Default Database->SQL Server 2005”
如图4所示:
图-4
四. Class模型
4.1.创建“Class”模型
依次点击“File->New Project->命名保存->在“Select model”中勾选“Class”(如图-5)
图-5
最后单击“确定”进入设计界面。
在设计界面的左边是工具箱(如图6)
图-6
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.2.为模型中创建的“Class”对象使用别名
首先在工具箱中点选 ,然后在合适的位置左键单击确定,之后弹出属性窗口(如图7所示)
图-7
在“Name”栏中输入Class 的名称“Test”,然后在“Alias”中输入一个别名“测试”。其他相应设置好之后,确定退出属性窗口。
我们发现,在默认情况下“Class”所显示的名称是Test,但如果我们需要显示别名的时候,我们需要进行以下设置;
在类Test所在的包中找到class diagram,点击右键然后选择“Propreties…”进入如图8所示的窗口;
图-8
选择“Diagram”,进入如图9所示的窗口;
图-9
勾选“Use Alias if Available”,别名的显示即设置完成。
五. 代码的生成
5.1. 把整个包的设计类生成C#格式代码
依次单击“Project->Source Code Engineering->Generate Package Source Code…(如图10所示)”
图-10
进入如图11所示界面:
图-11
点击“Generate”,将包中所有的类成批转换为C#文件。
5.2.单个自动生成C#代码
右键单击需要转换为C#文件的“Class”,在菜单中选择“Generate Code…”或者使用快捷键“F11”,弹出如图12所示菜单:
图-12
单击图中1的位置,选择将要生成文件的存储路径,然后在2的位置选择要生成什么语言的文件(在此我们点击下拉菜单选择C#),最后点击3位置的“Generate”生成。
六. 设计模型与生成的代码同步
当生成了C#代码之后,接下来我们就将设计模型和生成的代码同步,步骤如下:
鼠标右键单击需要进行代码同步的对象,选择“Synchronize Model With Code…”或者使用快捷键“F7”,弹出如图13所示的对话框:
图-13
单击“是”,则我们就完成了生成的代码与设计模型进行了同步。
七. 数据库模型,需求模型,组件,部署
7.1. 建立数据表;
依次点击“File->New Project…->输入一个名称后保存->在右边选中Database(如图-14所示)”
图-14
最后点击“OK”确认进入设计界面, “工程窗口”如图15所示:
图-15
工具栏及工具栏中的工具如图6及表2所示.
7.2.建立数据表
在“工具箱”中单击 ,然后将鼠标移入工作区域,此时鼠标变成 状,单击鼠标,出现如图16所示的窗口.
图-16
在进行一些表基本的设置(如表的命名“Name”等等)后,单击“Table Detail”进入表字段的设计(图17),
图-17
单击图14中红圈标识的“Columns/Attributes”进入表字段的设置。如图18所示。
图-18
设置表字段名称“Name”,数据类型“Data Type”,及主键“Primary Key”,是否为空“Not Null”,等等,单击“Save”保存,然后单击“New”新建一个,就这样逐个设置表的字段。
八. 文档的生成
8.1.Text文档的生成
依次单击“Project->Documentation->Rich Text Format(RTF) Report…(如图19)”或直接使用快捷键“F8”
图-19
在“Output to file”后面单击,选择Text文档的生成路径,而后即可。
8.2.Html文档的生成
依次单击“Project->Documentation->HTML Report…(如图16)”或直接使用快捷键“Shift+F8”,弹出图20所示窗口;
图-20
相关设置后,点击“Generate”生成即可。
九. 将包导入成XML形式
依次单击“Project->XML Schema->Import XML Schema”如图21所示
图-21
在“Filename”后面单击确定生成的XML文档的名称及路径,然后单击“Import”即可
十. 画图的线的弯曲,自动布局,改变线的连接点的方法
首先在“活动图”中对“实线”点击右键(必须是实线,虚线不起作用),然后点击“Set Line Style”,而后“Bezier”,拖动中间的点调整线的弯曲。
Auto Routing(自动布局的方式)
Direct(改变线的连接点)
十一. 活动图及时序图的绘制
11.1.活动图的绘制
在已建立的“Package”上右键单击->New…->New Diagram…->在弹出的窗口左边选择“UML Behavioral”(如图22所示)
图22
在“New Diagram”的右边“Diagram Types”窗口中选择“Activity”,最后单击OK保存退出。
此时,我们发现“Project Browser”窗口中增加了一个如图23所示的对象“Class Medel”。
图-23
在左边的“Toolbox”中我们看到相关的工具。(如图24及表3所示)
图-24
Activity | |
Activity |
活动状态 |
Structured Activity |
嵌套活动 |
Action |
动作 |
Partition |
分区 |
Object |
对象 |
Central Buffer Node |
中央缓冲节点 |
Datastore |
数据存储 |
Decision |
判断 |
Merge |
合并 |
Send |
发送 |
Initial |
最初的 |
Final |
最终的 |
Flow Final |
流结束 |
Region |
区域 |
Exception |
异常 |
Fork/Join |
并发 |
Fork/Join |
并发 |
Activity Relation… | |
Control Flow |
控制流 |
Object Flow |
对象流 |
Interrupt Flow |
中断流 |
Common | |
Note |
注释 |
Constraint |
约束条件 |
Document |
文档:附加文档附件 |
Artifact |
人工:表示任意的系统任意的信息块 |
Requirement |
需求描述 |
Issue |
问题描述 |
Change |
变化描述 |
Boundary |
分界线 |
Dependency |
依赖关系 |
Realize |
实现 |
Trace |
追踪 |
Information Flow |
数据流 |
Note Link |
注释链接 |
表-3
11.2.时序图的绘制
在已建立的“Package”上右键单击->New…->New Diagram…->在弹出的窗口左边选择“UML Behavioral”(如图25所示)
图-25
在“New Diagram”的右边“Diagram Types”窗口中选择“Sequence”,最后单击OK保存退出。此时,我们发现“Project Browser”窗口中增加了一个如图26所示的对象“Class Medel”。
图-26
在左边的“Toolbox”中我们看到相关的工具。(如图27及表4所示)
图-27
Interaction Elements | |
Actor |
角色 |
Lifeline |
生命线 |
Boundary |
|
Control |
控制 |
Entity |
实体 |
Fragment |
片段 |
Endpoint |
端点 |
Diagram Gate |
|
State/Continuation |
延时状态 |
Interaction Relationships | |
Message |
消息 |
Self-Message |
安全消息 |
Call |
呼叫 |
Recursion |
递归 |
Common | |
Note |
注释 |
Constraint |
约束条件 |
Document |
文档:附加文档附件 |
Artifact |
人工:表示任意的系统任意的信息块 |
Requirement |
需求描述 |
Issue |
问题描述 |
Change |
变化描述 |
Boundary |
分界线 |
Dependency |
依赖关系 |
Realize |
实现 |
Trace |
追踪 |
Information Flow |
数据流 |
Note Link |
注释链接 |
表-4
11.3.如何添加注释
在Toolbox中点击 图标,然后在Workspace中左键单击你所需要添加注释的方位。弹出如图-28所示的窗口;
图-28
在空白区域填入注释内容,然后左键单击“OK”返回到如图-29所示的效果即可。
图-29
11.4.设置图中的字体样式
当我们在图中建立好元素后,使用下列方式对元素进行样式改变。图-30是在11.2的时序图的基础上增加了几个元素。
图-30
下面我们就来改变注释中的字体样式。
鼠标选中注释对象,下图是选中注释对象的前后对比;
图-31
图-32
11.5.将一个图的元素重新复制一份新的到其它图
首先新建一个图,然后在Project Browser中使用鼠标左键点中需要复制的元素不放指导拖到新建的图中即可。