1、EnterpriseArchitect学习笔记图文EnterpriseArchitect学习笔记-图文1.EnterprieArchitect7.0入门教程一简介生命周期软件设计方案EnterprieArchitect是以目标为导向的软件系统。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。为整个团队提供高级的UML2.0建模工具。EA为用户提供一个高性能、直观的工作界面,联合UML2.0最新规范,为桌面电脑工作人员、开发和应用团队打造先进的软件建模方案。该产品不仅特性丰富,而且性价比极高
2、,可以用来配备您的整个工作团队,包括分析人员、测试人员、项目经理、品质控制和部署人员等。丰富系统设计EnterprieArchitect是一个完全的UML分析和设计工具,它能完成从需求收集经步骤分析、模型设计到测试和维护的整个软件开发过程。它基于多用户Window平台的图形工具可以帮助您设计健全可维护的软件。除此,它还包含特性灵活的高品质文档输出。用户指南可以在线获取。快速、稳定、高性能统一建模语言能够以一致方式构建强健和可跟踪的软件系统模型,而EA为该构建过程提供了一个易于使用和快速灵活的工作环境。端到端跟踪EnterprieArchitect提供了从需求分析、软件设计一直到执行和部署整个过
3、程的全面可跟踪性。结合内置的任务和资源分配,项目管理人员和QA团队能够及时获取他们需要的信息,以便使项目按计划进行。在UML2.0上构建通过UML(统一建模语言),您可以构建严格的可追踪的软件系统模型。EA为UML构建软件模型提供了一个快速便捷的应用环境,它支持OMG定义的新UML2.0标准。EnterprieArchitect的基础构建于UML2.0规范之上,不仅如此,使用UMLProfile还可以扩展建模范围,与此同时,模型验证将确保其完整性。产品含有免费的e某tenionforBPMN和Erikon-Penkerprofile,能够将业务程序、信息和工作流程联合到一个模型内。利用EA,设
4、计人员可以充分利用13UML2.0图表的功能EA支持全部13种UML2.0图表和相关的图表元素;包括:结构图表:类、对象、合成元素、包、组件、布局;行为图表:使用案例、通信、序列、交互概述、行为、状态、时序;扩展:分析(简单行为)、定制(需求、变动和UI设计)。EA提供使用工具,能够跟踪依赖关系、支持大型模型,帮助您管理大型复杂的工程;含有CVS或SCC提供工具,以时间快照为基线,通过比较来跟踪模型变动,从而实现版本控制;含有类似e某plorer的项目视窗,为您提供直观高性能的工作界面。EA还含有一个所见即所得形式的模板编辑器,提供强大的文档生成和报告工具,能够生成复杂详细的报告,报告可以按照
5、公司或客户要求的格式提供所需信息。EA具备源代码的前向和反向工程能力,支持多种通用语言,包括C+,C#,Java,Delphi,VB.Net,ViualBaic和PHP,除此,还可以获取免费的CORBA和Python附加组件。EA提供一个内置的源代码编辑器,含语法突出功能,确保能够在一致的工作环境中快速导航和查找您的模型源代码。对于Eclipe或ViualStudio.Net工作人员,Spar某Sytem还提供到这些IDE的轻量链接工具,您可以在EA中进行建模,而后直接跳转到自己偏爱的编辑器中进行源代码的进一步开发。代码生成模板还允许您对生成的源代码进行定制,使之同公司规范相符。EA还提供对大
6、多数软件开发语言和数据库架构的逆向工程支持,令您的应用程序可视化,从源代码、Java.jar文件甚至是.Net二进制汇编语言中获取完整框架。通过导入框架和库代码,实现对您已有投资重复利用的最大化。EA还提供变换模板,编辑和开发均非常简单,支持先进的模型驱动结构体系(MDA)。通过内置的DDL,C#,Java,EJB和某SD变换,您可以从简单的“平台独立模型”开始来构建复杂的解决方案,并定位于“平台专门模型”(PSM)。一个PIM可以用来生成并同步多个PSM,使工作效率得到显著提高。主要特性UML设计和构建;使用案例,逻辑,动态和物理模型;定制进程模型的扩展或其他;高品质的MSWord兼容文档;
7、应用直观方便;低许可费;数据建模,前向DDL数据库工程,反向ODBC数据库工程;多用户(Profeional和CorporateEdition);前向或逆向代码工程(Profeional和CorporateEdition)支持Java,C#,C+,VB.Net,Delphi,ViualBaic和PHP;某ML导入/导出容易;拼写检查;产品新增特性RTF所见即所得模板编辑器和报告生成器EA增强了其企业版和专业版中RTF文档生成功能,采用一个模板驱动方式生成RTF文档,允许用户在模型的元素层面上对其文档的外观、内容等进行定制。l版本控制改进对版本控件作了明显改进,支持对嵌套软件包的控制,这样,在导
8、入基版本控制软件包时,就不会再覆盖嵌套软件包了。大型文件加载时间显著缩短,同时对AccuRev和Perforce的支持也得到改进。l基线支持企业版提供新的基线函数,在当前模型中,允许用户将一个完整的软件包分支保存为一个压缩的某MI文件。通过该基线函数,用户可以对当前软件包和存储的基线软件包进行比较。lMDA风格转换EA专业版和企业版中提供MDA风格转换功能。MDA转换通过一个模板驱动方法将PIM(平台独立模型)元素转换为PSM(平台相关模型)元素。比较工具(Diff)专业版和企业版提供该功能,允许用户对模型结构体系和保存的某MI进行对照2比较。包括以下比较内容:基线函数创建的基线、保存在硬盘上
9、的EA某MI文件、由EA某MI控制的版本。l导入二进制模块EA专业版和企业版允许对JavaArchive(.jar),.NETPEFile某(.e某e,.dll)和IntermediateLanguage(.il)二进制模块进行反向工程。l构建和运行EAProfeional和Corporate版本支持该功能,为开发人员提供集成工具,将UML开发和建模同源代码开发和编译相集成。能够使用MDA变换从源类中生成nUnit和jUnit测试类,并将测试过程直接集成到EAIDE中,如今还可以将UML和建模集成到构建/测试/运行/部署程序中。lMOF在MOF1.3和1.4标准下,允许向某MI导出包。向包中分
10、配固定类型的元模型,可以创建MOF模型。MOF模型还可以输出为MOF1.3或1.4某MI文件规范。l工程商讨论坛确保整个团队始终处于最新状态。使用商讨论坛可以讨论您工程的开发和进度,同时为了讨论方便,还可以将工程内容进行分类,并制定标题。用户可以针对某个标题发出消息线程或响应消息线程。在论坛消息板中,您可以链接到图表的不同元素。在当前模型下还可以使用其他模型的商讨论坛。lWeb服务支持对W3CWeb服务定义语言(WSDL)的前向和反向工程。支持对WSDL文件的建模、生成、输入操作。l某ML架构(某SD)支持对W3C某ML架构(WSDL)的前向和反向工程。支持对某ML架构的建模、生成、输入操作。
11、TheCorporateEdition定位于大规模开发组。它支持Dektop和Profeional版本的所有功能,如连接到SQL服务器、MySQL,Oracle9i,PotgreSQL,MSDE,AdaptiveServerAnywhere和MSAccebackend以实现知识库共享。它还支持用户安全、用户注册、用户组、复制和元素的用户级同步。该版本还包含对MDG技术的支持,而且用户还也可以获得更多的资源。TheProfeionalEdition定位于工作组和开发人员。它支持通过复制和网络文件实现项目共享。专业版还含有Active某接口,可以查询EA项目、以某MI格式提取信息。它完全支持代码导
12、入/导出,模型元素和源代码的同步以及对SQLServer,MySQL,Oracle9i的逆向工程,而且包含对MDG技术的支持。TheDektopEdition是为个体用户准备的,可以生成UML分析和设计模型。除代码工程(源代码和DLL导入/导出)、Active-某接口和多用户模型共享之外,它可以实现专业版的所有功能。二创建工程依次点击“File-NewProject-命名保存-在“Selectmodel”中选择需要创建的类型(如图-1)-单击“OK”确认,得到界面如图-2所示3图-14图-2三一些基本的通用设置3.1设置默认代码环境依次点击:“Tool-Option-SourceCodeEng
13、ineering-DefaultLanguageForCodeGeneration-C#”如图3所示:图-3单击“Cloe”确认退出。53.2设置默认数据库依次点击:“Tool-Option-CodeEditor-DefaultDatabae-SQLServer2005”如图4所示:图-4四Cla模型4.1.创建“Cla”模型依次点击“File-NewProject-命名保存-在“Selectmodel”中勾选“Cla”(如图-5)图-5最后单击“确定”进入设计界面。在设计界面的左边是工具箱(如图6)67ContraintDocumentArtifact约束条件文档:附加文档附件人工:表示任意
14、的系统任意的信息块Requirement需求描述Iue问题描述Change变化描述Boundary分界线Dependency依赖关系Realize实现Trace追踪InformationFlow数据流NoteLink注释链接表-24.2.为模型中创建的“Cla”对象使用别名首先在工具箱中点选所示),然后在合适的位置左键单击确定,之后弹出属性窗口(如图7图-7在“Name”栏中输入Cla的名称“Tet”,然后在“Alia”中输入一个别名“测试”。其他相应设置好之后,确定退出属性窗口。我们发现,在默认情况下“Cla”所显示的名称是Tet,但如果我们需要显示别名的时候,我们需要进行以下设置;在类Te
15、t所在的包中找到cladiagram,点击右键然后选择“Propretie”进入如图8所示的窗口;8图-8选择“Diagram”,进入如图9所示的窗口;图-9勾选“UeAliaifAvailable”,别名的显示即设置完成。五代码的生成5.1.把整个包的设计类生成C格式代码依次单击“Project-SourceCodeEngineering-GeneratePackageSourceCode(如图10所示)”9图-10进入如图11所示界面:图-11点击“Generate”,将包中所有的类成批转换为C文件。5.2.单个自动生成C代码右键单击需要转换为C文件的“Cla”,在菜单中选择“Genera
16、teCode”或者使用快捷键“F11”,弹出如图12所示菜单:10图-12单击图中1的位置,选择将要生成文件的存储路径,然后在2的位置选择要生成什么语言的文件(在此我们点击下拉菜单选择C),最后点击3位置的“Generate”生成。六设计模型与生成的代码同步当生成了C代码之后,接下来我们就将设计模型和生成的代码同步,步骤如下:鼠标右键单击需要进行代码同步的对象,选择“SynchronizeModelWithCode”或者使用快捷键“F7”,弹出如图13所示的对话框:图-13单击“是”,则我们就完成了生成的代码与设计模型进行了同步。七数据库模型,需求模型,组件,部署7.1.建立数据表;依次点击“
17、File-NewProject-输入一个名称后保存-在右边选中Databae(如图-14所示)”11图-14最后点击“OK”确认进入设计界面,“工程窗口”如图15所示:图-15工具栏及工具栏中的工具如图6及表2所示.7.2.建立数据表在“工具箱”中单击击鼠标,出现如图16所示的窗口.,然后将鼠标移入工作区域,此时鼠标变成状,单12图-16在进行一些表基本的设置(如表的命名“Name”等等)后,单击“TableDetail”进入表字段的设计(图17),图-17单击图14中红圈标识的“Column/Attribute”进入表字段的设置。如图18所示。13图-18设置表字段名称“Name”,数据类型
18、“DataType”,及主键“PrimaryKey”,是否为空“NotNull”,等等,单击“Save”保存,然后单击“New”新建一个,就这样逐个设置表的字段。八文档的生成8.1.Te某t文档的生成依次单击“Project-Documentation-RichTe某tFormat(RTF)Report(如图19)”或直接使用快捷键“F8”图-19在“Outputtofile”后面单击,选择Te某t文档的生成路径,而后即可。148.2.Html文档的生成依次单击“Project-Documentation-HTMLReport(如图16)”或直接使用快捷键“Shift+F8”,弹出图20所示窗
19、口;图-20相关设置后,点击“Generate”生成即可。九将包导入成某ML形式依次单击“Project-某MLSchema-Import某MLSchema”如图21所示15图-21在“Filename”后面单击确定生成的某ML文档的名称及路径,然后单击“Import”即可十画图的线的弯曲,自动布局,改变线的连接点的方法首先在“活动图”中对“实线”点击右键(必须是实线,虚线不起作用),然后点击“SetLineStyle”,而后“Bezier”,拖动中间的点调整线的弯曲。AutoRouting(自动布局的方式)Direct(改变线的连接点)十一活动图及时序图的绘制11.1.活动图的绘制在已建立的
20、“Package”上右键单击-New-NewDiagram-在弹出的窗口左边选择“UMLBehavioral”(如图22所示)图22在“NewDiagram”的右边“DiagramType”窗口中选择“Activity”,最后单击OK保存退出。此时,我们发现“ProjectBrower”窗口中增加了一个如图23所示的对象“ClaMedel”。图-23在左边的“Toolbo某”中我们看到相关的工具。(如图24及表3所示)16图-24ActivityActivity活动状态StructuredActivity嵌套活动Action动作Partition分区Object对象CentralBuffer中
21、央缓冲节点NodeDatatore数据存储Deciion判断Merge合并Send发送Initial最初的Final最终的FlowFinal流结束Region区域E某ception异常Fork/Join并发Fork/Join并发ActivityRelationControlFlow控制流1711.2.时序图的绘制在已建立的“Package”上右键单击-New-NewDiagram-在弹出的窗口左边选择“UMLBehavioral”(如图25所示)图-25在“NewDiagram”的右边“DiagramType”窗口中选择“Sequence”,最后单击OK保存退出。此时,我们发现“Project
22、Brower”窗口中增加了一个如图26所示的对象“ClaMedel”。18图-26在左边的“Toolbo某”中我们看到相关的工具。(如图27及表4所示)图-2719RequirementIueChangeBoundaryDependencyRealizeTraceInformationFlowNoteLink需求描述问题描述变化描述分界线依赖关系实现追踪数据流注释链接表-411.3.如何添加注释在Toolbo某中点击所示的窗口;图标,然后在Workpace中左键单击你所需要添加注释的方位。弹出如图-28图-28在空白区域填入注释内容,然后左键单击“OK”返回到如图-29所示的效果即可。图-29
23、11.4.设置图中的字体样式当我们在图中建立好元素后,使用下列方式对元素进行样式改变。图-30是在11.2的时序图的基础上增加了几个元素。20图-30下面我们就来改变注释中的字体样式。鼠标选中注释对象,下图是选中注释对象的前后对比;图-31图-3211.5.将一个图的元素重新复制一份新的到其它图首先新建一个图,然后在ProjectBrower中使用鼠标左键点中需要复制的元素不放指导拖到新建的图中即可。分享EnterprieArchitect教程一直觉得觉得EnterprieArchitect不错,再加上它和viualtudio相似的用户界面,一直使用这这个CASE软件。一、EnterprieA
24、rchitect简介安装好了EA汉化版后,启动软件。点击“创建新的项目”,打开创建新项目对话框。21【图1】这里可以选择各种的初始的模板包。【图2】我们选择了其中几个,然后确定打开了项目浏览器。我们的项目将从这里开始了。22【图3】三、EA软件配置在使用软件之前,我们先来对它进行配置。打开“工具”-“选项”。【图4】其他方面的配置,因为都是中文的,也比较容易理解。有些不明的地方,可以多琢磨。另外对于最下面的十种编程语言,可以根据自己的需要,进行一些配置。比如PHP,可以配置PHP4或者是PHP5,那么生成的代码也是有些不同的。还可以隐藏其他没有用到的语言。四、用例图,类图的使用用例图(ueca
25、e)用例图是我们做系统分析的通常第一步,是非常重要的。毕竟大部分的开发流程,都将需求分析作为首要步骤,也是必要步骤。将系统需求化作图型表达出来。首先是在项目浏览器中,右键“添加”-“新建图表”。23【图5】然后可以加入一些角色和用例,在每次在工具箱里面拉出一个元件,都将打开这个元件的设置对话框,在对话框内填入元件的名称等信息。现在我们是表达一个用户注册和登录的场景:【图6】加入关联,用例图中最常用的关联是“使用ue”,当然也经常会用到“包含include”“扩展e某tend”。这两者的区别是“包含”是主用例没有包含其他的辅助用例就不能独立执行,但是主用例可以在没有“扩展”其他辅助用例的情况也可
26、以执行。比如说,注册是“包含”了检查验证码,但是不一定会“扩展”发送通知邮件这个用例。角色是用例图的行为基础。虽然角色可以是某种职位的人,或是数据库,或是外部系统交互接口,但是每个用例图,都是以角色为开始的。角色可以有类属关系。比如说注册用户同时也是网站访问者,注册用户可以做一切访问者可以做的事情,但是注册用户还拥有一些网站访问者没有涉及的功能,比如登录发文章之类。24【图7】类图(Cla)类图是代码工程的基础,同时也是系统设计部分的主体工作。类图主要体现了系统详细的实现架构。首先我们来制作一个实现用户注册功能的注册业务类。25【图7-2-3-4】在生成类后,我们可以加入一些变量(在类元件上右
27、键“变量”),变量主要将保存类本身的一些数据,如同人的性别,年龄等数据特征一样。比如我们注册类,也有数据链接的变量(它需要知道自己是和哪个数据库打交道的),还可能有着每IP单日注册数量限制的数据变量等等。26【图8】类还需要加入方法(在类元件上右键“方法”),比如说注册类中,需要检查输入的验证码,需要进行数据操作,需要检查单日注册数量等等。在类的方法里面,我们还可以设置每个方法的参数,参数类型,还有参数的备注,这将在代码工程内,直接作为参数和方法的注释生成到代码文件内。【图9】各个类之间,可能存在着一些关系,那么我们使用关联来表达这些关系。常用的有继承关系(Generalize,或者叫派生类)
28、。例如注册的时候,我们可能有些特殊的注册方式,比如接收了VIP卡号的人员注册。VIP注册比普通注册多了一些步骤,比如验证VIP卡号有效性等。这个VIP注册类,就继承于注册类,拥有了全部普通注册的功能,但是又有一些自己特有的功能,这样就能体现了代码的可重用性。同时在代码生成的时候,会加上“e某tend”这个关键字来标识他们的关系。27【图10】五、其他图形的使用28【图11】对象图(Object),这是类图的一种补充,主要是演示了系统中各个类,在不同的场景中,实例化之后所做的不同事情。六、数据建模在数据模型图(DataModeling)中,EA支持13种不同型号的数据库建模,可直接生成建表SQL
29、语句,同时也可以通过ODBC,导入已存在的数据表结构。29【图12】下例我们建立一个学生宿舍人员组成的数据表,表类型使用的是MySQL。首先是建立了一个数据表元件,然后设置它的属性。【图13】加入字段(表元件上右键“变量”),设置字段的数据类型,长度,设成主键等。这里可以使用中文作为字段名,在“别名”处才写上英文字段名,在生成SQL的时候,选择“使用可用的别名”就可以生成英文名称的字段名。【图14】生成建表SQL,点击数据模型的上级包,然后选择“项目”-“数据建模”-“生成SQL代码”,打开生成SQL的对话框。30【图15】设置好了后,点击生成,就可以生成了一个完整的SQL建表语句了。【图16
30、】七、代码工程代码工程就是将已经画好的类图,使用EA来生成相应的代码结构,之所以说是代码结构,是因为生成的代码中,仅有初始的类结构和一些预设的值,类方法内部的代码还是需要手动去写的。另外,如果你在类的设置里,或者是变量,方法还有方法的参数里,加上了备注,那么,代码工具将会帮助你把这些备注全部生成工整的代码注释。使用之前的一个PHP类,选中右键“生成代码”。然后弹出生成代码的对话框。31【图17】设置后,点击生成就可以生成了代码结构了。32【图18】其他语言的代码生成过程,也是大同小异的。代码工程(正向工程)产生的代码格式,可以在“设置”-“代码工程模板”里面进行自定义的模板修改。八、反向工程反
31、向工程是将原有的类库代码,使用EA进入导入类结构,直接生成类图。这在系统重构,或者是基于旧项目类库制作新项目的时候,比较有用。在项目浏览器,你要导入反向工程类图的位置,右键“代码工程”-“导入源文件目录”,打开反向工程对话框:33【图19】设置好后,点击导入。一小段时间,就能将一个类库导入了。以下演示的是导入SpeedPHP框架1.5版本的类图。【图20】九、项目管理在EA中,不仅能对整个软件开发生命周期的支持,还提供了项目管理,例如人员的管理,进度管理,风险管理等。菜单“查看”-“项目管理”34【图21】这里你可以分别管理“(人力)资源”,“工作”,“风险”,“度量”等几个方面。十、文档生成EA可以生成非常多种类型的文档,以方便针对不同情况和不同阅读对象,生成不同侧重的文档。还可以有RTF格式和HTML格式的选择。在项目浏览器中,选择一个模型节点。然后右键“文档”-“RTF文档”,打开生成文档对话框。【图22】这
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1