关闭

关闭

关闭

封号提示

内容

首页 Enterprise_Architect教程

Enterprise_Architect教程.pdf

Enterprise_Architect教程

焦爷 2011-10-10 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Enterprise_Architect教程pdf》,可适用于IT/计算机领域,主题内容包含生命周期软件设计方案EnterpriseArchitect是以目标为导向的软件系统。它覆盖了系统开发的整个周期除了开发类模型之外还包括事务进程分析使符等。

生命周期软件设计方案EnterpriseArchitect是以目标为导向的软件系统。它覆盖了系统开发的整个周期除了开发类模型之外还包括事务进程分析使用案例需求动态模型组件和布局系统管理非功能需求用户界面设计测试和维护等。快速、稳定、高性能利用EA设计人员可以充分利用UML图表的功能EA支持全部种UML图表和相关的图表元素包括:结构图表:类、对象、合成元素、包、组件、布局行为图表:使用案例、通信、序列、交互概述、行为、状态、时序扩展:分析(简单行为)、定制(需求、变动和UI设计)。二.创建工程依次点击“File>NewProject>命名保存>在“Selectmodel”中选择需要创建的类型(如图)>单击“OK”确认得到界面如图所示图BusinessProcess业务流程Requirements需求分析UseCase用例DomainModel领域模型Class类设计Database数据库设计Component组件Deployment部署Testing测试Maintenance维护ProjectManagement项目管理UserInterface用户接口表创建“Class”模型ClassElementsPackage包Class类Interface接口Enumeration枚举Table表Signal对象通信信号的描述Association关联ClassRelationshipsAssociate实现Generalize泛化Compose组成AssociateClass关联类Assembly程序集Realize实现Nesting嵌套PackageMerge包的合并PackageImport包的导入CommonNote注释Constraint约束条件Document文档:附加文档附件Artifact人工:表示任意的系统任意的信息块Requirement需求描述Issue问题描述Change变化描述Boundary分界线Dependency依赖关系Realize实现Trace追踪InformationFlow数据流NoteLink注释链接表我们发现在默认情况下“Class”所显示的名称是Test但如果我们需要显示别名的时候我们需要进行以下设置八.文档的生成Text文档的生成依次单击“Project>Documentation>RichTextFormat(RTF)Report…(如图)”或直接使用快捷键“F”图在“Outputtofile”后面单击选择Text文档的生成路径而后即可。Html文档的生成依次单击“Project>Documentation>HTMLReport…(如图)”或直接使用快捷键“ShiftF”弹出图所示窗口图相关设置后点击“Generate”生成即可。九.将包导入成XML形式依次单击“Project>XMLSchema>ImportXMLSchema”如图所示图在“Filename”后面单击确定生成的XML文档的名称及路径然后单击“Import”即可十.画图的线的弯曲自动布局改变线的连接点的方法首先在“活动图”中对“实线”点击右键(必须是实线虚线不起作用)然后点击“SetLineStyle”而后“Bezier”拖动中间的点调整线的弯曲。AutoRouting(自动布局的方式)Direct(改变线的连接点)十一.活动图及时序图的绘制活动图的绘制在已建立的“Package”上右键单击>New…>NewDiagram…>在弹出的窗口左边选择“UMLBehavioral”(如图所示)图在“NewDiagram”的右边“DiagramTypes”窗口中选择“Activity”最后单击OK保存退出。此时我们发现“ProjectBrowser”窗口中增加了一个如图所示的对象“ClassMedel”。图在左边的“Toolbox”中我们看到相关的工具。(如图及表所示)图ActivityActivity活动状态StructuredActivity嵌套活动Action动作Partition分区Object对象CentralBufferNode中央缓冲节点Datastore数据存储Decision判断Merge合并Send发送Initial最初的Final最终的FlowFinal流结束Region区域Exception异常ForkJoin并发ForkJoin并发ActivityRelation…ControlFlow控制流ObjectFlow对象流InterruptFlow中断流CommonNote注释Constraint约束条件Document文档:附加文档附件Artifact人工:表示任意的系统任意的信息块Requirement需求描述Issue问题描述Change变化描述Boundary分界线Dependency依赖关系Realize实现Trace追踪InformationFlow数据流NoteLink注释链接表时序图的绘制在已建立的“Package”上右键单击>New…>NewDiagram…>在弹出的窗口左边选择“UMLBehavioral”(如图所示)图在“NewDiagram”的右边“DiagramTypes”窗口中选择“Sequence”最后单击OK保存退出。此时我们发现“ProjectBrowser”窗口中增加了一个如图所示的对象“ClassMedel”。图在左边的“Toolbox”中我们看到相关的工具。(如图及表所示)图InteractionElementsActor角色Lifeline生命线BoundaryControl控制Entity实体Fragment片段Endpoint端点DiagramGateStateContinuation延时状态InteractionRelationshipsMessage消息SelfMessage安全消息Call呼叫Recursion递归CommonNote注释Constraint约束条件Document文档:附加文档附件Artifact人工:表示任意的系统任意的信息块Requirement需求描述Issue问题描述Change变化描述Boundary分界线Dependency依赖关系Realize实现Trace追踪InformationFlow数据流NoteLink注释链接表如何添加注释在Toolbox中点击图标然后在Workspace中左键单击你所需要添加注释的方位。弹出如图所示的窗口图在空白区域填入注释内容然后左键单击“OK”返回到如图所示的效果即可。图设置图中的字体样式当我们在图中建立好元素后使用下列方式对元素进行样式改变。图是在的时序图的基础上增加了几个元素。图下面我们就来改变注释中的字体样式。鼠标选中注释对象下图是选中注释对象的前后对比图图将一个图的元素重新复制一份新的到其它图首先新建一个图然后在ProjectBrowser中使用鼠标左键点中需要复制的元素不放指导拖到新建的图中即可。   一、EnterpriseArchitect简介EnterpriseArchitect是一个对于软件系统开发有着极好支持的CASE软件(ComputerAidedSoftwareEngineering)。EA不同于普通的UML画图工具(如VISIO)它将支撑系统开发的全过程。在需求分析阶段系统分析与设计阶段系统开发及部署等方面有着强大的支持同时加上对种编程语言的正反向工程项目管理文档生成数据建模等方面。可以让系统开发中各个角色都获得最好的开发效率。二、创建新项目安装好了EA汉化版后启动软件。点击“创建新的项目”打开创建新项目对话框。【图】这里可以选择各种的初始的模板包。【图】我们选择了其中几个然后确定打开了项目浏览器。我们的项目将从这里开始了。【图】三、EA软件配置在使用软件之前我们先来对它进行配置。打开“工具”–>“选项”。【图】常规配置中比较重要的是作者这项。因为在EA项目的团队协作中作者是每个人的身份标识。在代码工程中最好把文件编码设置成或者是GB中文。其他方面的配置因为都是中文的也比较容易理解。有些不明的地方可以多琢磨。另外对于最下面的十种编程语言可以根据自己的需要进行一些配置。比如PHP可以配置PHP或者是PHP那么生成的代码也是有些不同的。还可以隐藏其他没有用到的语言。四、用例图类图的使用用例图(usecase)用例图是我们做系统分析的通常第一步是非常重要的。毕竟大部分的开发流程都将需求分析作为首要步骤也是必要步骤。将系统需求化作图型表达出来。首先是在项目浏览器中右键“添加”–>“新建图表”。【图】然后可以加入一些角色和用例在每次在工具箱里面拉出一个元件都将打开这个元件的设置对话框在对话框内填入元件的名称等信息。现在我们是表达一个用户注册和登录的场景:【图】加入关联用例图中最常用的关联是“使用use”当然也经常会用到“包含include”“扩展extend”。这两者的区别是“包含”是主用例没有包含其他的辅助用例就不能独立执行但是主用例可以在没有“扩展”其他辅助用例的情况也可以执行。比如说注册是“包含”了检查验证码但是不一定会“扩展”发送通知邮件这个用例。角色是用例图的行为基础。虽然角色可以是某种职位的人或是数据库或是外部系统交互接口但是每个用例图都是以角色为开始的。角色可以有类属关系。比如说注册用户同时也是网站访问者注册用户可以做一切访问者可以做的事情但是注册用户还拥有一些网站访问者没有涉及的功能比如登录发文章之类。【图】类图(Class)类图是代码工程的基础同时也是系统设计部分的主体工作。类图主要体现了系统详细的实现架构。首先我们来制作一个实现用户注册功能的注册业务类。【图】在生成类后我们可以加入一些变量(在类元件上右键“变量”)变量主要将保存类本身的一些数据如同人的性别年龄等数据特征一样。比如我们注册类也有数据链接的变量(它需要知道自己是和哪个数据库打交道的)还可能有着每IP单日注册数量限制的数据变量等等。【图】类还需要加入方法(在类元件上右键“方法”)比如说注册类中需要检查输入的验证码需要进行数据操作需要检查单日注册数量等等。在类的方法里面我们还可以设置每个方法的参数参数类型还有参数的备注这将在代码工程内直接作为参数和方法的注释生成到代码文件内。【图】各个类之间可能存在着一些关系那么我们使用关联来表达这些关系。常用的有继承关系(Generalize或者叫派生类)。例如注册的时候我们可能有些特殊的注册方式比如接收了VIP卡号的人员注册。VIP注册比普通注册多了一些步骤比如验证VIP卡号有效性等。这个VIP注册类就继承于注册类拥有了全部普通注册的功能但是又有一些自己特有的功能这样就能体现了代码的可重用性。同时在代码生成的时候会加上“extends”这个关键字来标识他们的关系。【图】五、其他图形的使用【图】对象图(Object)这是类图的一种补充主要是演示了系统中各个类在不同的场景中实例化之后所做的不同事情。交互图(interaction)协作图(communication)和时序图(Timing)他们都是体现了系统中一些实体之间的互相交互的行为。协作图是侧重与表达实体之间的协作交互在新版的UML中协作图也叫通讯图更能体现了实体之间是以通讯的方式来进行协作的原理。而时序图是强调了各个实体件进行交互的前后顺序。例如发送注册成功的提示邮件那么是发生在注册类检验输入数据之后而不能是之前。另外还有一些其他的图形比如状态图(State)部署图(Deployment)组件图(component)活动图(Activity)这些请参考相关文档。同时EA支持的图形有非常的多其中思维图(表达和辅助了思维的思考过程)WEB模型图(表现了网站上部署的模型结构)是最近几个版本中才出现的。六、数据建模在数据模型图(DataModeling)中EA支持种不同型号的数据库建模可直接生成建表SQL语句同时也可以通过ODBC导入已存在的数据表结构。【图】下例我们建立一个学生宿舍人员组成的数据表表类型使用的是MySQL。首先是建立了一个数据表元件然后设置它的属性。【图】加入字段(表元件上右键“变量”)设置字段的数据类型长度设成主键等。这里可以使用中文作为字段名在“别名”处才写上英文字段名在生成SQL的时候选择“使用可用的别名”就可以生成英文名称的字段名。【图】生成建表SQL点击数据模型的上级包然后选择“项目”–》“数据建模”–》“生成SQL代码”打开生成SQL的对话框。【图】设置好了后点击生成就可以生成了一个完整的SQL建表语句了。【图】七、代码工程代码工程就是将已经画好的类图使用EA来生成相应的代码结构之所以说是代码结构是因为生成的代码中仅有初始的类结构和一些预设的值类方法内部的代码还是需要手动去写的。另外如果你在类的设置里或者是变量方法还有方法的参数里加上了备注那么代码工具将会帮助你把这些备注全部生成工整的代码注释。使用之前的一个PHP类选中右键“生成代码”。然后弹出生成代码的对话框。【图】设置后点击生成就可以生成了代码结构了。【图】其他语言的代码生成过程也是大同小异的。代码工程(正向工程)产生的代码格式可以在“设置”–>“代码工程模板”里面进行自定义的模板修改。八、反向工程反向工程是将原有的类库代码使用EA进入导入类结构直接生成类图。这在系统重构或者是基于旧项目类库制作新项目的时候比较有用。在项目浏览器你要导入反向工程类图的位置右键“代码工程”–>“导入源文件目录”打开反向工程对话框:【图】设置好后点击导入。一小段时间就能将一个类库导入了。以下演示的是导入SpeedPHP框架版本的类图。【图】九、项目管理在EA中不仅能对整个软件开发生命周期的支持还提供了项目管理例如人员的管理进度管理风险管理等。菜单“查看”–>“项目管理”【图】这里你可以分别管理“(人力)资源”“工作”“风险”“度量”等几个方面。十、文档生成EA可以生成非常多种类型的文档以方便针对不同情况和不同阅读对象生成不同侧重的文档。还可以有RTF格式和HTML格式的选择。在项目浏览器中选择一个模型节点。然后右键“文档”–>“RTF文档”打开生成文档对话框。【图】这里可以生成多种类型的文档。点击“生成”。然后就会生成了一个RTF文件。【图】默认生成的文档里面有大部分的英文。当然你可以将他们在RTF文件中改写成中文。另外还可以使用生成文档对话框中的“词语翻译”来进行对应的翻译再生成新的翻译后的文档。同时你也可以直接修改EA中的文档模板这样也可以产生自定义的文档。十一、其他功能EA还提供了针对EA项目本身的版本控制(包括SVN,VSS等)一个小型的交流论坛还有许多很有用的功能。这里不一一详述了有问题或EA开发交流请进入wwweaumlcom。   二、使用EnterpriseArchitectv(以下简称EA)EA是比较适合与PHPer的一个UML建模工具至少它可以生成PHP代码。而且在下面大家可以看到用EA来开发FleaPHP框架的PHP应用是件愉快的事情。三、开发简单留言本的过程首先我们来看看最终的项目结构图可以看到我们有三个根模型:用例模型、数据模型、架构模型。我们主要的开发工作其实就是完善三个根模型里面的东东。第一步我们做需求获取工作–用例图完善用例模型。我们需要想想该程序使用的人是谁然后我们得出我们的程序的使用者–用Actor来显示在本程序中我们只有一个使用者也就是我们的访问者。先在用例图中方上一个小人符号(Actor)表示我们的主角(访问者)。然后我们就想想我们的主角打算怎么使用我们的程序呢?然后我们就可以想到:主角(访问者)只有【访问留言页】和【增加留言】两个事情可以做。那么我们就放上【访问留言页】和【增加留言】两个用例用>>use<<的箭头从主角指向两个用例表示这是主角做的事情。(这图中use箭头不明显忘记了怎么把箭头调出来。呵呵。。。)另外:大家可以发现这也对应了我们FleaPHP的Controller里面的操作。第二步我们来建数据表也就是完善数据模型。用EA建数据表也是很方便的也就是构造名为table的特殊类。相当于这个特殊类的属性就是我们数据表的列名它的方法就是我们的表管理或者primaryKey的表示。我们完全可以把它当做phpMyAdmin里面的建表一样用。我们会发现其实它跟建一个普通类没有分别。但是我们的EA建表是很好处的哦:它可以直接生成建表的SQL语句。第三步我们导入FleaPHP本身的文件。在根模型–构造模型上点右键然后按照图中选择。再选择到我们的FLEA文件夹所在。导入就是了。我们就可以看到有一个FLEA的文件夹(包)在构造模型下了。里面有FLEA的所有类。(题外话:EAv在导入FLEAPHP的带例子那个版本好像导入不完整有提示出错。导入runtime的那版本可以导入完整但是也提示有错。)第四步我们根据用例图写ControllerDefault类的内容其实就是填写好ControllerDefault类的所有方法和属性。而且ControllerDefault类都是继承FLEAContrllerAction的我们把FLEAContrllerAction类从已经导入的FLEA文件夹中直接拉到Contrller包的类图里。让我们的ControllerDefault可以继承它。另外上图中在ControllerDefault的一些方法里我们可以先初始化一些代码进去–老实说这样做我们都不用再写其他代码了。。如果是其他的项目我们需要继续完成其他的Controller类的方法和属性。本例就只有一个。第五步我们根据数据表图写ModelGB的内容也就是填写好ModelGB的属性和方法FleaPHP的方便在这里就可以看到了:每一张数据表对应一个Model类(好好体会哦!)。我们可以非常简单按照这个思路来设计。而且同样我们也在tableName和primaryKey两个属性里写上我们的初始化代码那么最后生成的Model类PHP文件根本就不用再写代码了。第六步我们可以开始做系统了。先由数据模型生成SQL建表语句然后再导入到phpMyAdmin就行。效果是:第七步我们生成ControllerDefault代码请注意路径和文件名(那个文件名是Defaultphp里面的类名是ControllerDefault)效果是:我们很高兴发现基本上在ControllerDefault里面要写的都写好了。我们只要改requireonce成Flea的LoadClass就可以。也就是按照FleaPHP就一些方式去改一点点就OK了。第八步我们生成ModelGB代码也要注意路径和文件名(文件名是GBphp里面的类名是ModelGB)效果是:同ControllerDefault我们的ModelGB也要小改一下然后我们的ModelGB也可以了。到这里整个留言本应用基本上已经差不多了。另外看看我们生成的代码也可以直接到EA里面去编辑。那会更方便。编辑ControllerDefault代码编辑ModelGB代码本文地址:http:wwweaumlcompostea‐guestbook‐fleaphphtml      一、概述 用例试图描概括了用例中角色和系统之间的关系描述了系统功能需求角色和系统的交互以及系统的反应。会员具有浏览商品类别、根据关键字产讯商品和选择商品加入购物车的功能。二、术语解释 、Extends用例扩展关系扩展关系一般用来描述一个元素延伸为另外一种行为。UseCase中的扩展表示一个UC有可能扩展到另外一个UC的功能。UseCase中的扩展通常暗示一个选择性流程。、Include用例包含关系包行关系表示源元素包行目标元素的行为UC中的包含关系就是一个UC中包行另外一个UC的行为功能。用包行关系可以防止在多个UC中同时定义共同的功能模块有些像委托delegation、角色(Actor)系统中的用户根据系统分为多个角色每个角色都会与系统有交互。一个用户可以具有一个或者多个角色。系统中用到的角色如果细分可以分为主要角色和辅助角色比如:在电子商务网站中主要角色有供应商、前台会员、系统管理员等等辅助角色有EmailSender、物流系统、金流系统等等。三、如何画UseCase用例视图 Note:设计工具是EA(EnterpriseArchitect)假设目前的功能需求是:A、供应商需要填写Form表单提报商品B、供应商通过导入CSV文档提报商品C、商品开发人员需要对供应商提报的是商品进行审核、新建工程【File】>【NewProject】>填写工程名称:Exampleeap、新建UseCaseView用例视图右击上面新建的Project>选择【NewView】>弹出对话框选择【UseCse】如下图单击【OK】在Model工程下这样就新建了一个Package。右击Package【商品提报上架】>选择【Add】>选择【AddDiagram】如下图所示弹出如下对话框:选择【UMLBehavioral】>UseCase,单击【OK】这样一个空的UseCase新建完成。接下来我们需要向空的UseCase添加内容。、根据业务需求画UseCase视图Note:从左侧的ToolBox工具栏中选择一些UseCase的元素直接拖曳左边的Element到右边的工作区就可以把Element放到咱们的UseCase试图中。A、拖曳两个Actor元素到工作区分别命名为“供应商”“商品开发人员”B、拖曳三个UseCase元素到工作区分别命名为“商品提报”“CSV档导入商品”“商品审核”如下图所示:C、通过关联关系链接角色与系统功能如下图:至此商品提报场景的UseCase图已经画完。一个UseCase视图会对应一个或者多个UseCase用例。关于什么是UseCase请参照《需求阶段如何书写UseCase》四、UseCase在实际项目中的组织结构  这是一个使用UC描述的系统需求功能目录图每一个UC描述了Actor使用使系统时与系统的交互行为。五、总结 用例试图描概括了用例中角色和系统之间的关系描述了系统功能需求角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式也是后续功能迭代的依据和方向。本文地址:http:wwweaumlcompostumlebbbaeaaebbeaebdebbeaebebebbeuse‐case‐diagramhtml 一、简介 类是对象的集合展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态如果属性被保存到数据库此称之为“持久化”方法代表对象的操作行为类具有继承关系可以继承于父类也可以与其他的Class进行交互。类图展示了系统的逻辑结构类和接口的关系。二、类的构成类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等商品的方法有:计算税率获得商品的评价等等。如下图三、类之间的关系(Relationship) 关联(Association)两个相对独立的对象当一个对象的实例与另外一个对象的特定实例存在固定关系时这两个对象之间就存在关联关系。、单向关联A>A:表示A认识AA知道A的存在A可以调用A中的方法和属性场景:订单和商品订单中包括商品但是商品并不了解订单的存在。类与类之间的单向关联图:C#代码:PublicclassOrder{PublicList<Product>orderPublicvoidAddOrder(Productproduct){orderAdd(product)}}PublicClassProduct{}代码表现为:Order(A)中有Product(A)的变量或者引用、双向关联BB:表示B认识BB知道B的存在B可以调用B中的方法和属性同样B也知道B的存在B也可以调用B的方法和属性。场景:订单和客户订单属于客户客户拥有一些特定的订单类与类之间的双向关联图C#代码PublicclassUser{PublicList<Order>GetOrder(){}returnnewList<Order>()}PublicClassOrder{PublicUserGetUserByOrderID(stringOrderId){ReturnnewUser()}}、自身关联同一个类对象之间的关联类与类之间自身关联图、多维关联(NaryAssociation)多个对象之间存在关联场景:公司雇用员工同时公司需要支付工资给员工类与类之间的多维关联图:、泛化(Generalization)类与类的继承关系类与接口的实现关系。场景:父与子、动物与人、植物与树、系统使用者与BC会员和BE会员的关系类与类之间的泛化图:系统的使用者包括:BC会员、BB会员和BE会员。接口的实现动物都有吃的行为而人是动物的一个具体实例,实现具体Eat的动作、依赖(Dependency)类A要完成某个功能必须引用类B则A与B存在依赖关系依赖关系是弱的关联关系。C#不建议双相依赖也就是相互引用场景:本来人与电脑没有关系的但由于偶然的机会人需要用电脑写程序这时候人就依赖于电脑。类与类的依赖关系图在程序中一般为using引用。、聚合(Aggregation)当对象A被加入到对象B中成为对象B的组成部分时对象B和对象A之间为聚合关系。聚合是关联关系的一种是较强的关联关系强调的是整体与部分之间的关系。场景:商品和他的规格、样式就是聚合关系。类与类的聚合关系图、组合(Composite)对象A包含对象B对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手手离开人的躯体就失去了它应有的作用。场景:Window窗体由滑动条slider、头部Header和工作区Panel组合而成。类与类的组合关系图四、总结 本文针对类之间常用的关系进行了简单的描述主要有:关联关系、泛化、依赖、聚合和组合。 本文地址:http:wwweaumlcompostumlebbbaeaaebbeaebdebbeaebebebbeuse‐case‐diagram‐html 一、为什么要学习UML UML是UnifiedModelingLanguage(统一建模语言)的简称。UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品{Artifact}是指软件开发过程中产生的各种各样的产物如模型、源代码、测试用例等。UML建模可以达到以下目的:使用模型可以更好地理解问题使用模型可以加强人员之间的沟通使用模型可以更早地发现错误或疏漏的地方使用模型可以获得设计结果模型为最后的代码提供依据二、UML的历史 年OMG组织(ObjectManagementGroup对象管理组织)发布了统一建模语言(UnifiedModelingLanguageUML)。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML这些人员能够阅读和交流系统架构和设计规划–就像建筑工人多年来所使用的建筑设计图一样。年UML已经获得了业界的认同。在所见过的专业人员的简历中都声称具备UML的知识。然而在同绝大多数求职人员面谈之后可以明显地看出他们并不真正了解UML。通常地他们将UML用作一个术语或对UML一知半解。大家对UML缺乏理解的这种状况促进我撰写这篇关于UML的快速入门文章。当阅读完本文时您还不具备足够的知识可以在简历上声称自己掌握了UML但是您已具有了进一步钻研该语言的良好起点。三、UML的特点 UML的主要特点包括:统一的标准面向对象。UML是支持面向对象软件开发的建模语言。可视化、表现能力强独立于过程UML不依赖于特定的软件开发过程。概念明确建模表示法简洁图形结构清晰容易掌握和使用。四、UML中的视图 UML中的视图包括用例视图(UseCaseView)、逻辑视图(LogicalView)、实现视图(ImplementationView)、进程视图(ProcessView)、部署视图(DeploymentView)等这个视图被称作””视图如下图所示:逻辑视图。逻辑视图关注功能不仅包括用户可见的功能还包括为实现用户功能而必须提供的"辅助功能模块"它们可能是逻辑层、功能模块等。开发视图。开发视图关注程序包不仅包括要编写的源程序还包括可以直接使用的第三方SDK和现成框架、类库以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。处理视图。处理视图关注进程、线程、对象等运行时概念以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系而这些程序运行起来之后会表现为对象、线程、进程处理视图比较关注的正是这些运行时单元的交互问题。物理视图。物理视图关注"目标程序及其依赖的运行库和系统软件"最终如何安装或部署到物理机器以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况而物理视图重视目标程序的静态位置问题物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。五、UML建模工具 市面上UML建模工具很多比较流行的有RationalRoseMicrosoftVisio、EnterpriseArchitect、VisualUML等。《UML建模面向对象设计》系列文章使用的UML建模工具是EnterpriseArchitect此工具还是比较好用的。六、UML的应用领域 UML具有很广泛的应用领域其中最常用的是为软件系统建模主要领域有:企业信息系统、银行金融系统、电信、交通、国防、航空、零售领域、科学计算、分布式的基于Web的服务。UML还可以用来描述其他非软件系统比如一个机构的组成和机构的工作流程等等。七、UML的构成 《UML建模面向对象设计》系列文章描述了常见的一些UML图主要包括了用例图(UseCaseDiagram)、类图(ClassDiagram)、活动图(ActivityDiagram)、时序图(SequenceDiagram)、状态图(StatechartMachineDiagram)、部署图(DeploymentDiagram)、业务处理模型(BusinessProcessModel)、数据建模(DataModelingDiagram)等等。、需求阶段如何书写UseCase用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现。是后期时序图和实际开发的重要依据。也可以对作为项目估算的依据以及根据UC复杂度和开发周期来衡量开发人员的工作效率。因此UC的书写规范及其重要就工作用的一些经验比如书写格式、书写内容及其注意事项与大家分享。、设计阶段如何画用例图(UseCaseDiagram)例试图描概括了用例中角色和系统之间的关系描述了系统功能需求角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式也是后续功能迭代的依据和方向。、类与类之间的关系图(ClassDiagram,UML图)本文针对类之间常用的关系进行了简单的描述主要有:关联关系、泛化、依赖、聚合和组合。、UML建模之活动图介绍(ActivityDiagram)活动图描述的是对象活动的顺序关系所遵循的规则它着重表现的是系统的行为而非系统的处理过程。活动图能够表示并发活动的情形活动图是面向对象的。、UML建模之状态图(StatechartDiagram)状态图重点在于描述对象的状态及其状态之间的转移状态图的基本元素主要有:状态、转移、动作、自身转移、组合状态、进入节点、退出节点、历史状态、并发区域等状态中的事件分为调用事件(Call)、变化事件(Change)、时间事件(Time)和信号事件(Singal)。最后以实例对状态对进行了分析。、UML建模之时序图(SequenceDiagram)时序图(SequenceDiagram)是显示对象之间交互的图这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focusofcontrol)、消息(Message)等等。最后以课程创建功能演示一时序图实例。、UML建模之业务处理模型(BusinessProcessModel,BPM)业务处理模型是一组活动的集合描述了活动从开始到结束在时间或者空间上的顺序以及输入和输出。业务处理模型最终输出要能够满足业务需要。包括输入、输出、资源、消息和目标等元素。最后以实例进一步说明了业务逻辑模型。、UML建模之数据建模(DataModelDiagram)主要介绍了数据库建模所涉及建模元素主要包括模式Schema、主键Primary、外键Foreignkey、关系Relationship、约束constraint、索引Index、触发器Trigger、存储过程StoredProcedure、视图View等等并配以实例加以说明。八、总结 至此《UML建模面向对象设计》系列文章已经写完UML建模也就告一段落在整理这些文中的过程中参考了许多国内外有价值的文章在此对这些文章的作者表示感谢。在写这些文章的过程中也得到园子里朋友的鼓励和支持是你们的支持和鼓励使的我写文章更加有士气和信心在此表示感谢。希望《UML建模面向对象设计》系列文章对园子里的朋友有帮助并希望园子里的朋友批评指正。后续还会发布一些《Net设计模式》系列的文章主要是以设计原理,实例,源码的方式说明各个设计模式请大家关注再此感谢。最后以一本UML书中的一个例子结束:如果以建造房子比喻那么学习UML的过程就是学习如何从建筑工人成长为建筑师的过程。一个软件工程师不能简单地只是掌握堆砌砖瓦的技术还应该有设计高楼大厦的能力。本文地址:http:wwweaumlcompostumlebbbaeaaebbbeeeabaebbebbhtml         一、部署图简介(Deployment Diagram Introduction)        部署图描述的是系统运行时的结构展示了硬件的配置及其软件如何部署到网络结构中。一个系统模型只有一个部署图部署图通常用来帮助理解分布式系统。   二、部署图元素(Deployment Diagram Elements) 、结点(Node)    结点是存在与运行时的代表计算机资源的物理元素可以是硬件也可以是运行其上的软件系统比如主机、Windows server 操作系统、防火墙等。结点用三维盒装表示如下图:     、结点实例(NodeInstance)    结点实例名称格式如下        Node Instance : node    与结点的区别在于名称有下划线和结点类型前面有冒号冒号前面可以有示例名称也可以没有示例名称如下图  、结点类型(NodeStereotypes)    结点类型有:cdrom, cd‐rom, computer, disk array, pc, pc client, pc server, secure, server, storage, unix server, user pc并在结点的右上角用不同的图标表示如下图  、物件(Artifact)    物件是软件开发过程中的产物包括过程模型(比如用例图、设计图等等)、源代码、可执行程序、设计文档、测试报告、需求原型、用户手册等等。物件表示如下带有关键字artifact和文档图标    、连接(Association)    结点之间的连线表示系统之间进行交互的通信路径这个通信路径称为连接(Association)如下图所示连接中有网络协议。    、结点容器(NodeasContainer)    一个结点可以包括其他的结点比如组件或者物件则称此结点为结点容器(Node as Container)。如下图所示结点(Node)包容了物件(Artifact)。        三、部署图项目示例(Deployment Diagram Example)   分析: 、WebServer服务器一台Web服务器预装个操作系统及其之上的个IIS由于客户访问量大个用来部署BC Web, 个用来部署BBBE Web 、Web访问量分流设备       根据网站流量自动定位客户访问流量小的服务器。 、FTPServerAndSessionServer服务器       网站所有的图片都统一上传到FTP服务器上同时BCWeb下的Session统一转移到此服务器上。 、DBServer服务器       数据库服务器 、AppServer服务器       定时执行排程(控制台程序)的服务器用于與倉庫系統交互。 、FrieWall防火墙       所有对服务器的操作通过防火墙过滤。 、UserClient       用户个人PC预装有浏览器。   四、总结         本文介绍了部署图的概念及其一些设计元素并配实例说明。部署图在描述较复杂系统的物理拓扑结构时很有用。  本文地址:http:wwweaumlcompostumlebbbaeaaebbeaebdbebbeefbcdeployment‐diagramefbchtml 一、业务处理模型简介(Brief introduction) 业务处理模型是一组活动的集合描述了活动从开始到结束在时间或者空间上的顺序以及输入和输出。业务处理模型最终输出要能够满足业务需要。业务处理模型一般包括:、目标(Goal)

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/41
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料