第08章UML基础-3.ppt

上传人:s****8 文档编号:67244949 上传时间:2022-12-24 格式:PPT 页数:68 大小:419KB
返回 下载 相关 举报
第08章UML基础-3.ppt_第1页
第1页 / 共68页
第08章UML基础-3.ppt_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《第08章UML基础-3.ppt》由会员分享,可在线阅读,更多相关《第08章UML基础-3.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8 8章章 UMLUML基础基础徐 天 宇8.5活动图8.58.5.1 1 概概 述述l活动(活动(A Ac ctivitytivity)是非原子的执行是非原子的执行过程过程。l活动图对逻辑进行建模,活动图可以模拟活动图对逻辑进行建模,活动图可以模拟任何层次上的逻辑。从用例到算法。任何层次上的逻辑。从用例到算法。活动图8.5.2 活动图的基本元素l活动图的大部分符号都借鉴来自流程图,活动图的大部分符号都借鉴来自流程图,但是它增加了并发性以支持许多现代的应但是它增加了并发性以支持许多现代的应用。用。l活动图主要包含的元素有:活动图主要包含的元素有:l活动活动l决策决策l转移转移l对象对象1.

2、活动l活动用带有圆形边线的矩形表示,它含有活动用带有圆形边线的矩形表示,它含有活动的描述。活动的描述。活动图2.转移l当一个活动结束时,控制流立刻会传递并开始当一个活动结束时,控制流立刻会传递并开始下一个活动。下一个活动。l通常用转移说明这个流,显示从一个活动到下通常用转移说明这个流,显示从一个活动到下一个活动的路径。一个活动的路径。l转移用一条箭头表示。转移用一条箭头表示。3.泳道l泳道(泳道(SwimlanceSwimlance)把活动图中的活动划分把活动图中的活动划分为若干组,每组是一个泳道,将对象名置为若干组,每组是一个泳道,将对象名置于泳道顶部,表示泳道中的活动有该对象于泳道顶部,表

3、示泳道中的活动有该对象负责负责l泳道关心的是对象的职责泳道关心的是对象的职责活动图中的泳道l活动图中的泳道用垂直实线划出,垂直线分隔活动图中的泳道用垂直实线划出,垂直线分隔的区域就是泳道。的区域就是泳道。l在泳道上方给出泳道的名称或对象名称,该对在泳道上方给出泳道的名称或对象名称,该对象负责泳道内的全部活动。象负责泳道内的全部活动。l每一个活动只能属于一个泳道。每一个活动只能属于一个泳道。l泳道没有顺序,不同泳道中的活动可以是顺序泳道没有顺序,不同泳道中的活动可以是顺序进行的,也可以是并发进行的,允许转移跨越进行的,也可以是并发进行的,允许转移跨越泳道分隔线。泳道分隔线。例:泳道 生产 装运

4、客户4.分叉与汇合分叉与汇合l分叉指一个源活动分为两个或两个以上的分叉指一个源活动分为两个或两个以上的目标活动,目标活动,l汇合则指两个以上的源活动连接为一个目汇合则指两个以上的源活动连接为一个目标活动。标活动。l活动图中的一条粗短实线称为同步条,同活动图中的一条粗短实线称为同步条,同步条可视化地定义了并发工作流的分叉与步条可视化地定义了并发工作流的分叉与汇合。汇合。例:分叉与汇合分叉与汇合5.对象流对象流 l对象流(对象流(Object Flow)用于活动与对象)用于活动与对象之间的关系。之间的关系。l活动图中的对象流用虚箭线表示。活动图中的对象流用虚箭线表示。l如果虚箭线是从活动出发指向对

5、象,表示如果虚箭线是从活动出发指向对象,表示该活动创建或更新了对象流所指向的对象,该活动创建或更新了对象流所指向的对象,则此对象是活动的输出。则此对象是活动的输出。l如果虚箭线是从对象出发指向活动,表示如果虚箭线是从对象出发指向活动,表示该活动使用了该对象,则此对象是活动的该活动使用了该对象,则此对象是活动的输入。输入。例:对象8.5.3建立活动图的步骤l确定活动图的任务;确定活动图的任务;l找出进行活动的对象;找出进行活动的对象;l确定活动图的初态和终态;确定活动图的初态和终态;l添加活动;添加活动;l添加动作之间的转移;添加动作之间的转移;l添加判断点;添加判断点;l添加分支与同步结构;添

6、加分支与同步结构;图 6-活动图8.5.4活动图的用途 l一般活动图可以对系统的业务过程建模,一般活动图可以对系统的业务过程建模,l可以对具体的操作建模,用于描述计算过可以对具体的操作建模,用于描述计算过程的细节。程的细节。生产 装运 客户用于描述业务过程 用于描述用例 分支用于描述算法 8.6交互图l交互图(交互图(Interaction DiagramInteraction Diagram)描述描述系统中系统中对象之对象之间的交互,由对象与对象之间的关系组成,包间的交互,由对象与对象之间的关系组成,包含它们之间可能传递的消息。含它们之间可能传递的消息。l交互图被用于为系统的动态方面建模。交

7、互图被用于为系统的动态方面建模。交互图有两种类型l两种类型:顺序图(两种类型:顺序图(Sequence DiagramSequence Diagram)和协和协作图(作图(Collaboration DiagramCollaboration Diagram)。)。l顺序图和协作图包含了共同的模型元素:对顺序图和协作图包含了共同的模型元素:对象、消息,以及链接等。象、消息,以及链接等。l它们都是用于对系统的行为建模。它们都是用于对系统的行为建模。l顺序图着重描述对象按照时间顺序的消息交顺序图着重描述对象按照时间顺序的消息交换,换,l协作图着重描述系统成分如何协同工作。协作图着重描述系统成分如何协

8、同工作。典型顺序图与协作图UML定义的几种消息。l简单简单消息(消息(Simple Message)Simple Message):表示普通的控制流,表示普通的控制流,它仅它仅表示表示控制是如何从一个对象传给另一个对控制是如何从一个对象传给另一个对象。象。简单简单消息消息同步消息l同步消息:典型情况下表示操作的调用。同步消息:典型情况下表示操作的调用。l调用者发出消息后必须等待消息返回,只有当调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可以继处理消息的操作执行完毕后,调用者才可以继续执行自己的操作。续执行自己的操作。同步消息异步消息l异步消息:表示异步控制流,发送

9、者发出消息异步消息:表示异步控制流,发送者发出消息后不用等待消息处理完即可继续执行自己的操后不用等待消息处理完即可继续执行自己的操作。作。异步消息返回消息l返回消息是将信息返给发送者的消息,一返回消息是将信息返给发送者的消息,一般发生在执行动作之后。返回信息不执行般发生在执行动作之后。返回信息不执行动作,仅返回信息动作,仅返回信息 过程调用及返回消息内容标签的语法格式l序号序号触发条件触发条件*重复次数重复次数返回值返回值表:表:=操作名(参数表)操作名(参数表)lhasgoods:=verify(goods,amount)lhasgoods=.T.calculate(goods,amount

10、)l*i:=1.10msg2()书写消息内容标签的格式为:l序号为消息在整个交互中的顺序号,可用正整数或十进序号为消息在整个交互中的顺序号,可用正整数或十进制数表示,如制数表示,如l l、2 2、3 3或或1.21.2、2.12.1等。等。l触发条件:是一个布尔条件表达式。触发条件:是一个布尔条件表达式。l重复次数:规定了该消息发送的重复次数。重复次数:规定了该消息发送的重复次数。l返回值表:是一个以逗号分隔的名称列表。返回值表:是一个以逗号分隔的名称列表。l操作名:应是接收该消息的对象中的一个操作名。操作名:应是接收该消息的对象中的一个操作名。l参数表:准备传递给接收该消息的对象中的一个参数

11、表:准备传递给接收该消息的对象中的一个操作(方法)的参数(实参)操作(方法)的参数(实参)例:顺序号 8.6.1顺序图l顺序图用来描述对象之间动态的交互关系,顺序图用来描述对象之间动态的交互关系,着重描述对象间消息传递的时间顺序。着重描述对象间消息传递的时间顺序。顺序图l一个顺序图由下列图形元素构成:对象、生命一个顺序图由下列图形元素构成:对象、生命线、激活和消息。线、激活和消息。例:典型顺序图1.对象l顺序图中的对象指参与交互的对象。顺序图中的对象指参与交互的对象。在顺序图中,对象用矩形框图标表示,它在顺序图中,对象用矩形框图标表示,它们代表参与交互的对象。们代表参与交互的对象。l对象的矩形

12、框图标一般位于顺序图的顶部,对象的矩形框图标一般位于顺序图的顶部,通常应把交互频繁的对象尽可能地靠拢,通常应把交互频繁的对象尽可能地靠拢,把初始化整个交互活动的对象放置在最左把初始化整个交互活动的对象放置在最左边。边。l在交互过程中产生的对象的矩形框图标应在交互过程中产生的对象的矩形框图标应放置在产生该对象的时间点处。放置在产生该对象的时间点处。生命线l生命线生命线(LifelineLifeline)表示对象存在的时间,在顺序表示对象存在的时间,在顺序图中生命箭线表示为从对象图标向下延伸的一图中生命箭线表示为从对象图标向下延伸的一条虚线。条虚线。l生命线从对象创建时开始到对象销毁时终止,生命线

13、从对象创建时开始到对象销毁时终止,对象存在的时间有多长,表示对象的生命线的对象存在的时间有多长,表示对象的生命线的虚线就有多长。虚线就有多长。激活l激活(激活(ActivationActivation)又称为控制焦点(又称为控制焦点(Focus of Focus of controlcontrol),),表示对象执行一个动作的持续时间,表示对象执行一个动作的持续时间,也即对象激活的时间段。也即对象激活的时间段。l在顺序图中,激活由位于生命线上的一个窄矩形在顺序图中,激活由位于生命线上的一个窄矩形条表示。激活期窄矩形条的上端与动作的开始时条表示。激活期窄矩形条的上端与动作的开始时间齐平,下端与动

14、作的完成时间齐平。间齐平,下端与动作的完成时间齐平。消息l消息(消息(MessageMessage)表示对象间的通信。表示对象间的通信。l在面向对象的编程中,两个对象之间的交互在面向对象的编程中,两个对象之间的交互表现为一个对象给另一个对象发送一个消息。表现为一个对象给另一个对象发送一个消息。建立顺序图的步骤l确定交互的场景。确定交互的场景。l确定与场景有关的对象参与者;确定与场景有关的对象参与者;l根据场景确定事件流;根据场景确定事件流;l绘制顺序图绘制顺序图;l从初始化交互开始,自顶向下在对象的生命线从初始化交互开始,自顶向下在对象的生命线之间安置消息。之间安置消息。典型顺序图8.6.2协

15、作图l协作图用于描述系统的行为是如何由系统的成协作图用于描述系统的行为是如何由系统的成分合作实现的。分合作实现的。顺序图和协作图l顺序图和协作图都描述交互,但顺序图强调时顺序图和协作图都描述交互,但顺序图强调时间,而协作图强调空间。间,而协作图强调空间。l顺序图和协作图都可以表示各对象间的交互关顺序图和协作图都可以表示各对象间的交互关系,但它们的侧重点不同。系,但它们的侧重点不同。图-典型协作图1.协作图的组成l一个协作图由下列图形元素构成。一个协作图由下列图形元素构成。l对象对象l在协作图中的对象的含义和表示法与顺序图中在协作图中的对象的含义和表示法与顺序图中的相同。的相同。l链接链接l在协

16、作图中,有交互关系的对象用实线表示链在协作图中,有交互关系的对象用实线表示链接线。接线。消息l协作图中的消息的含义和表示法与顺序图中的协作图中的消息的含义和表示法与顺序图中的相同。相同。l在协作图中消息用置于链接线旁的一条箭线表在协作图中消息用置于链接线旁的一条箭线表示,其上有消息内容标签。消息内容标签在链示,其上有消息内容标签。消息内容标签在链接线旁的消息箭线上。接线旁的消息箭线上。l协作图与顺序图不同,协作图中的消息必须标协作图与顺序图不同,协作图中的消息必须标有顺序号,以表示消息的时间顺序。有顺序号,以表示消息的时间顺序。例:协作图8.7包图l8.7.18.7.1包包l包(包(Packa

17、gePackage)是用于把模型元素组织成组的通是用于把模型元素组织成组的通用机制。用机制。l包本身是包本身是UMLUML的一种模型元素。的一种模型元素。l包是纯概念性的,只存在与软件系统的开发阶包是纯概念性的,只存在与软件系统的开发阶段。段。8.7.1包l包可以拥有其他模型元素。一个包可以拥有一包可以拥有其他模型元素。一个包可以拥有一个或多个模型元素,包括类、接口、构件、用个或多个模型元素,包括类、接口、构件、用例、包等。例、包等。l包可以拥有其他的包,根包可以拥有子包,子包可以拥有其他的包,根包可以拥有子包,子包又可以拥有自己的子包,这样可以构成一个包又可以拥有自己的子包,这样可以构成一个

18、系统的嵌套结构,以表达系统模型元素的静态系统的嵌套结构,以表达系统模型元素的静态结构关系。结构关系。l包可以用于组织一个系统模型。包可以用于组织一个系统模型。l但是在建立模型时包的嵌套不宜过深,包的嵌但是在建立模型时包的嵌套不宜过深,包的嵌套层数一般以套层数一般以2-32-3层为宜。层为宜。包的图标l包的图标是一个大矩形(内容框)的左上角带包的图标是一个大矩形(内容框)的左上角带一个小矩形(名称框)。一个小矩形(名称框)。包的名称l每个包都必需有一个与其他包相区别的名称。每个包都必需有一个与其他包相区别的名称。l不同包的模型元素可以同名,但在同一个包不同包的模型元素可以同名,但在同一个包中的模

19、型元素不能同名中的模型元素不能同名包名称的位置可见性标记l在包的模型元素名前可以标上可见性标记,在包的模型元素名前可以标上可见性标记,其表示方法与类中的属性和操作的可见性其表示方法与类中的属性和操作的可见性表示方法相同。表示方法相同。l标有标有“”的模型元素,对于输入该包的的模型元素,对于输入该包的任何包的元素是可视的;任何包的元素是可视的;l标有标有“”的模型元素,只能对其子包的的模型元素,只能对其子包的元素是可视的。元素是可视的。l标有标有“”的模型元素,对于外包是不可的模型元素,对于外包是不可视的。视的。8.7.2 包的关系l包之间的关系主要有两种:依赖(尤其是输入包之间的关系主要有两种

20、:依赖(尤其是输入依赖)和泛化关系。依赖)和泛化关系。l1.1.依赖关系依赖关系l包之间的依赖关系实际上概述了包中元素包之间的依赖关系实际上概述了包中元素的依赖关系,即如果在两个包中的任何两的依赖关系,即如果在两个包中的任何两个元素之间存在着依赖关系,则这两个包个元素之间存在着依赖关系,则这两个包之间也存在着依赖关系。之间也存在着依赖关系。l在图形中,包间的依赖关系是用一条从依在图形中,包间的依赖关系是用一条从依赖包指向独立包的虚箭线表示。赖包指向独立包的虚箭线表示。包的依赖输入依赖l输入依赖(输入依赖(import Dependencyimport Dependency),是包与包之间的是包

21、与包之间的一种存取依赖关系。一种存取依赖关系。l输入是指允许一个包中的元素存取另一个包中输入是指允许一个包中的元素存取另一个包中的元素。输入依赖是单向的。的元素。输入依赖是单向的。l输入依赖的表示方法是在虚箭线上标有构造型输入依赖的表示方法是在虚箭线上标有构造型,箭头从输入方的包指向输出方的箭头从输入方的包指向输出方的包。包。2.泛化关系l包间的泛化关系与类间的泛化关系十分相似,类间的包间的泛化关系与类间的泛化关系十分相似,类间的泛化的概念和表示法在包间大多可以使用。泛化的概念和表示法在包间大多可以使用。l与类的继承相同,特殊包从一般包继承其所含的公共与类的继承相同,特殊包从一般包继承其所含的

22、公共类。特殊包可以代替一般包,用在一般包使用的任何类。特殊包可以代替一般包,用在一般包使用的任何地方。地方。包间泛化8.7.3包图建立 l包图由包和包间关系构成。包图的图形节点是包图由包和包间关系构成。包图的图形节点是包,节点之间用弧(依赖或泛化)连接。包,节点之间用弧(依赖或泛化)连接。包的划分包的划分l按构造型组合包按构造型组合包l按功能组合包按功能组合包l综合组合综合组合8.7.3包图建立l如果开发的是一个大型的复杂的系统,常需要如果开发的是一个大型的复杂的系统,常需要使用包图,把系统设计模型中的大量的模型元使用包图,把系统设计模型中的大量的模型元素组织成包和子系统(子系统是特殊的包),

23、素组织成包和子系统(子系统是特殊的包),给出它们之间的关系,以方便理解和处理整个给出它们之间的关系,以方便理解和处理整个模型。模型。l有些专家建议,如果一个类图在一张有些专家建议,如果一个类图在一张A4A4尺寸的尺寸的纸张上画不下,就可以采用包图。纸张上画不下,就可以采用包图。建立包图的一般的步骤l分析系统模型元素分析系统模型元素为包中的各个模型为包中的各个模型元素的标出可见性;元素的标出可见性;l确定包间的依赖关系,特别是输入依赖;确定包间的依赖关系,特别是输入依赖;l确定包间的泛化关系;确定包间的泛化关系;l绘制出包图;绘制出包图;l对包图进行优化处理。对包图进行优化处理。包图示例 END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁