I第九章-面向对象模型与Powerdesigner实现课件_第1页
I第九章-面向对象模型与Powerdesigner实现课件_第2页
I第九章-面向对象模型与Powerdesigner实现课件_第3页
I第九章-面向对象模型与Powerdesigner实现课件_第4页
I第九章-面向对象模型与Powerdesigner实现课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章面向对象模型及PowerdDesigner实现(教学:4学时,上机:4学时)应用软件系统部署图DeploymentDiagram组件图ComponentDiagram交互纵览图InteractionOverviewDiagarm状态图StateChartDiagram活动图ActivityDiagram通信图CommunicationDiagram时序图SequenceDiagram包图PackageDiagram组合结构图CompositeStructureDiagram对象图ObjectDiagram类图ClassDiagram用例图UseCaseDiagram面向对象模型应用程序代码9.1面向对象模型概述

图形类型图形名称图形类型图形名称用例图Usecasediagram(用例图)动态图Communicationdiagram(通信图)结构图Classdiagram(类图)Sequencediagram(时序图)Compositestructurediagram(组合结构图)Statechartdiagram(状态图)Objectdiagram(对象图)Activitydiagram(活动图)Packagediagram(包图)Interactionoverviewdiagram(交互纵览图)实现图Componentdiagram(组件图)Deploymentdiagram(部署图)PowerDesigner支持的12种UML图形9.1面向对象模型概述

9.2.1类和对象9.2.2继承9.2.3封装和接口9.2.4多态性9.2.5消息传递9.2.6关联9.2.7聚合和组合9.2面向对象的主要概念参与者和用例模型对象之间的关系

9.3功能模型的设计

9.3功能模型的设计

9.4结构模型的设计组合结构图包图1.类的特性

2.泛型

3.组合类与内部类9.4.1类组合类元内部类元组合类元的类图Browser窗口中的组合类元组合类与内部类元显示在同一层Innerlink4.为数据类型附加类元5.关联和继承的迁移9.4.1类类Employee和Company的关联及类Employee生成的代码publicclassEmployee{publicstringname;publicstringdepartment;publiccompany[]hires;}类Developer和Employee间的继承关系每个包中可以包含一组模型元素、图形和包。包中的模型元素名称必须唯一。引用包中的模型元素格式:“包名:包中的元素”,如Tools:Hammer包之间的依赖关系表示两个包中的模型元素之间至少存在一种依赖,并不表示每对元素都有依赖关系。

9.4.2包接口是一组类的外部可视操作的集合。接口Designated通过类Employee实现。9.4.3接口9.4.4对象b)a)c)Liftreciever:Caller:ReceiverRingingtonea)通信图中的对象b)对象图中的对象c)时序图中的对象如果对象不是某个类的实例,它仅只有名称;如果对象是一个类的实例,但实际代表的是该类的所有实例,那么它有分类但没有名称(匿名对象);如果对象是类的一个实例,它既有名称,又有分类。

9.4.5部件和端口部件只能在类或组件的内部产生,通过连接器与其它部件或端口相连。端口建立在类的表面,表示类与其所在环境或类与其内部部件之间的不同交互点。组件结构图中类通过端口和内部部件交互组件图中使用端口描述部件之间的连接关系属性描述了类或接口的特征,类的属性名称必须互不相同,接口中的属性必须是静态的(Static)和不可变的(Frozen)。标识符(Identifier)是类中能够唯一标识每个实例的一个或几个属性的集合,每个类至少应该有一个标识符。操作(Operations)是类能够执行的动作,拥有一个名称和参数列表。9.4.7属性、标识符、操作

类Car关联用来描述类之间或类和接口之间的连接关系。二元关联和自反关联

聚合组合关联类9.4.10关联二元关联和自反关联二元关联多重性角色名自反关联Hires0..10..*0..1manages0..*ismanagedCompanyEmployeeSupervise聚合关联组合关联关联类具有普遍性的模型对象与具有特殊性的模型对象之间存在泛化关系。依赖描述两个模型元素之间的依存关系,一个模型元素(提供者)的变化将影响另一个模型元素(客户)的变化,用带箭头的虚线表示,箭头的方向指向提供者。版型(Stereotype),能够表达不同的依赖关系。

9.4.11泛化与依赖类间与组件间的泛化关系版型含义语义说明<<Access>>访问一个包能够访问另一个包<<Bind>>绑定为模板参数指定一个值,以生成一个新的模型元素<<Call>>调用一个类的方法调用其它类的操作<<Derive>>派生一个实例可以从另一个实例通过计算得到<<Instantiate>>实例化表明一个类创建另一个类的实例<<Refine>>精化目标对象比源对象更加精细<<Trace>>跟踪在历史上,源对象和目标对象之间存在连接<<Use>>使用一个模型元素使用另一个模型元素,包括调用、实例化等依赖的常见版型及含义

需求链接把类或组件与接口连接起来,用一端带有圆弧的线段表示。实现关系在类或组件中说明接口中方法的实现细节,用带闭合三角形箭头的虚线表示,箭头指向接口。9.4.14需求连接与实现组件图中的需求链接和实现关系需求链接实现关系接口实现关系装配连接器(AssemblyConnector)描述类中内部部件之间的通信路径,反映部件之间提出请求并提供服务的关系。委托连接器(DelegationConnector)描述类中部件(Part)与类表面的端口之间的通信路径,反映部件与端口之间提出请求并提供服务的关系。9.4.15装配连接器和委托连接器组件图中装配连接器和委托连接器委托连接器装配连接器对象图中的实例链接由类图中的关联转换而来,用两个对象之间的一条实线表示,也可以表示聚合或组合。通信图中的实例链接上附有多个消息,序号说明在对象之间相互交换的消息的顺序。

9.4.16实例链接通信图中的实例链接实例链接动态模型描述软件的动态行为。通信图(CommunicationDiagram)时序图(SequenceDiagram)活动图(ActivityDiagram)状态图(StatechartDiagram)交互纵览图(InteractionOverviewDiagram)9.5动态模型的设计1.通信图

通信图可以是用例的一个场景、一个操作的执行过程和类间的简单交互。重点描述对象间的静态链接关系,消息的序号表示时间顺序。建立通信图的重点是找到系统中的对象,并描述用例的活动步骤。边界对象:可能是窗口、对话框或菜单。实体对象:表示存储的数据。控制对象:表示信息的传递。9.5动态模型的设计打电话过程的通信图2.时序图

时序图描述若干对象之间的动态协作关系,说明对象之间发送消息(Message)的先后顺序,系统执行过程中,在某一具体位置将会发生什么事件。主要用途:表示用例中的行为顺序。9.5动态模型的设计打印文件的时序图Client处理订单时序图。时序图用于展示场景,可以说明可选的或并行的场景,描述多个相关的交互的时间顺序

时序图示例9.5动态模型的设计通信图与时序图比较:通信图着重体现交互对象间的静态链接关系。时序图着重体现交互的时间顺序。通信图时序图9.5动态模型的设计3.活动图

活动图用来描述用例、包、类等模型元素的动态行为,强调活动或动作执行以后所触发的转换。一个起点几个可能的终点

可以使用条件分支9.5动态模型的设计手动档汽车发动过程的活动图表示开始点表示结束点表示活动表示对象节点表示流表示判断表示同步表示泳道

组合活动(Compositeactivity)判断(Decision)输入/输出参数同步(Synchronization)系统登录的活动图9.5动态模型的设计4.状态图

状态图用于描述一个类或组件所有可能的状态及状态之间的转换情况。同一个类可以创建多个状态图,每个状态图描述各自状态及转换情况。状态图可以为每一个状态指定一个类、组件或用例,并与之关联。9.5动态模型的设计围棋博弈过程的状态图5.交互纵览图

交互纵览图可以看作多种动态模型图的综合视图,它可以包含时序图、通信图、活动图和状态图等。它用来描述动态图形之间的相互关系。9.5动态模型的设计表示开始点表示结束点表示交互活动,表示判断表示同步

交互纵览图示例消息是对象之间进行通信的唯一途径,由发送者、接受者和行为三部分组成。消息可以是同步的、异步的,也可以是递归消息。在时序图和通信图中,可以重用同一个消息。通信图中,消息和一个实例连接相关联。时序图中的消息能够表示对象(或参与者)之间的控制流,还能定义消息等待的语义。9.5.1消息通信图中的消息消息的属性属性说明Sequencenumber表示消息的序列号Stereotype表示消息版型Sender表示消息发送者Receiver表示消息接收者Action消息动作的类型,包括:Create、Destroy、Self-Destroy三种类型。Controlflow消息发送模式,包括:Asynchronous、ProcedureCall、Return、Undefined等四种类型。Operation表示消息与一个类的操作的连接。Arguments操作的参数Returnvalue操作的返回值Predecessorlist由紧跟着“/“的序列号列表组成,表示当前消息发送之前哪些消息必须交换。Condition附在消息上的条件,用布尔表达式定义。Begintime、Endtime开始或结束的时间别名,用来定义时间约束。Supportdelay定义消息延迟。9.5.1消息控制流

Return控制流,让动作返回到发送者,显示精确返回时间以及为发送者返回一个值,以增加时序图的易读性。

9.5.1消息消息的发送和返回Contrlflow和Action的关系9.5.1消息创建Create消息和Destroy消息

9.5.1消息Create消息Destroy消息Self-Destroy消息创建递归消息

9.5.1消息递归消息带激活器的递归消息消息和门(gate)

9.5.1消息交互框架中的输入门和输出门

CheckOrder订单校验的时序图消息的序号

时序图中的序号可由设计者任意指定通信图中的序号由系统自动生成:新产生消息的序号=上一个序号的尾数+1通信图中,修改、插入、增大减小消息序号,可引起的消息序号变化9.5.1消息a)b)c)消息序号变化规则a)最大序号改小规则b)中间序号改小规则c)中间序号改大规则时序图中,使用表示一个动作执行所需的时间,在对象的生命线上用一个矩形框表示。通信图中,同一个激活期中的消息用子序号表示。9.5.2激活期激活期(Activation)带有附加消息的激活期重叠的激活期激活期上下移动的范围具有倾斜角的消息在时序图中创建交互引用(InteractionReference)在交互纵览图中创建交互活动(InteractionActivity)在同一个图中可以创建多个交互引用。不能在另一个图中复制或重用交互引用。9.5.3交互引用和交互活动交互引用示例交互片段(InteractionFragment):在时序图中对相关的消息进行分组,用来表示替换、并行消息或者循环。9.5.3交互引用和交互活动可替换的交互片段活动(Activity)是指系统中人工或自动的动作,当获得控制权后,开始执行动作,根据动作的结果,通过控制流转换或传递到另一个活动。

9.5.5活动活动图示例原子活动(AtuomicActivity)分解活动(DecomposedActivity)

可以把活动图转换成分解活动,在另一个活动图中使用。浏览器中的分解活动9.5.5活动活动的特性9.5.5活动活动的参数

活动之间的信息传送是通过活动参数实现的。活动参数分为输入参数和输出参数,用活动图形符号边缘上的一个小方块表示。

活动的参数传递9.5.5活动活动的动作类型

9.5.5活动流(Flow):是两个活动间的连接,是活动间传输信息的路径。根据流上定义的条件对流进行控制,若条件为真,则向下传递。活动到对象节点的流:活动的执行使对象处于一种特定的状态。当发生特定的事件或满足条件时,控制流从活动传递到对象节点。对象节点到活动的流:活动在执行过程中使用对象的特定状态。流用带箭头的线段表示。两个对象之间的流

9.5.6流两个对象之间建立流

9.5.6流转换(Transition):表示状态间的有向连接,包括相关事件、条件以及要执行的动作

。对象之间建立转换情况

9.5.7转换状态间的转换示例起始点(Start):表示整个过程的开始结束点(End)

:表示整个过程的终止在活动图、状态图和交互纵览图中只允许有一个起始点,但可以有多个结束点。

9.5.8起始点与结束点结束点示例判断(Decision):在活动图、交互纵览图中可以有多个输入和多个输出,每个输出根据守护条件选择不同的路径。

条件分支(ConditionalBranch)合并(Merge)9.5.9判断条件分支条件分解合并示例同步(Synchronization):在活动图、交互纵览图中能实现两个或多个并发动作的分解或同步控制。分叉(Fork)结合(Join)9.5.10同步同步的类型组织单元(OrganizationUnit):在活动图中强调哪个组织单元对活动负责。组织单元泳道上可附加或分离活动。

委员会活动(CommitteeActivity)

组织单元泳道的管理:可移动、调整、删除、复制和粘贴,也可改变显示方式。

9.5.11组织单元委员会活动的显示对象节点:在活动图中代表特定状态的对象。活动——>对象节点:表示活动的执行使对象达到某个特定的状态,对象节点表示活动的结果;对象节点——>活动:表示活动在执行时使用对象的特定状态。活动——>对象节点——>活动,表示两个活动之间交换数据。9.5.12对象节点通过对象节点数据交换状态(State):表示对象在其生命期中所处的一种状况,对象处于某种状态需要满足一定的条件,或执行某种活动,或等待某种事件。原子状态分解状态可以把一个状态图转换成分解状态9.5.13状态浏览器中的分解状态事件(Event):在状态图中引起状态变化,通过参数向特定的状态传递信息。形参(Argument)实参(EventParameter)

9.5.14事件事件示例动作(Action):在状态图中可以为活动定义一系列动作,用双轮符号表示。每个动作应包含触发事件(TriggerEvent),预定义entry、do、exit。动作可定义附加条件9.5.15动作浏览器窗口显示的动作动作的条件在状态上可以附加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论