07-UML-时序图-序列图.pptx
《07-UML-时序图-序列图.pptx》由会员分享,可在线阅读,更多相关《07-UML-时序图-序列图.pptx(82页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 UML UML统一建模语言统一建模语言 时序图时序图 /顺序图顺序图UML Unified Modeling Language16:4416:442目标目标知识目标知识目标掌握时序图的基本元掌握时序图的基本元素素熟悉绘制时序图的步熟悉绘制时序图的步骤和方法骤和方法能力目标能力目标具有根据项目实际具有根据项目实际情况利用时序图建模情况利用时序图建模的能力的能力素质目标:培养学生动手、解决问题、逻辑分析的能力素质目标:培养学生动手、解决问题、逻辑分析的能力16:4416:443内容内容 时序图案例案例及练习时序图案例案例及练习4.时序图元素时序图元素2.时序图绘制步骤及方法时序图绘制步骤及方法3
2、.时序图概述时序图概述1.16:4416:444p系统或对象的系统或对象的动态模型动态模型主要包括主要包括16:4416:4451 序列序列(顺序顺序/时序时序sequence)图概述图概述状状态模型模型交互模型交互模型活动图状态图协作图顺序序图16:4416:4461 时序图时序图(Sequence Diagram)概述概述描述了与用例相关的多个对象及其之间的动态描述了与用例相关的多个对象及其之间的动态交互关系,通常用于解释系统用例的实现过程。交互关系,通常用于解释系统用例的实现过程。用例常常被细化为一个或多个时序图。用例常常被细化为一个或多个时序图。主要用来描述对象之间信息交换时的时间顺序
3、。主要用来描述对象之间信息交换时的时间顺序。可以有效地帮助人们观察和理解系统的动态行可以有效地帮助人们观察和理解系统的动态行为。为。16:4416:4471 时序图概述时序图概述 例如:用户登录例如:用户登录p登录登录n (1)用户将用户名和密码提交给)用户将用户名和密码提交给LoginActionn(2)由由LoginAction调用调用UserManagern(3)UserManager到用户数据库到用户数据库User Server中查找用户对中查找用户对 象并返回象并返回n (4)由由UserManager判断用户名是否为空、密码是否正确判断用户名是否为空、密码是否正确n (5)然后将然
4、后将User对象返回对象返回n (6)返回后台登录主界面。)返回后台登录主界面。16:4416:44816:4416:449活动者(活动者(actor)或者)或者 对象(对象(object)生命线(生命线(lifeline)激活激活(activation)/控制焦点(控制焦点(focus of control)消息(消息(message)16:4416:44102 时序图的组成元素时序图的组成元素当当执行一个用例行行一个用例行为时,顺序序图中的每条消息中的每条消息对应了一个了一个类操作或操作或状状态机中引起机中引起转换的事件。的事件。16:4416:4411p活动者活动者n活动者和对象按照从左
5、到右的顺序排列活动者和对象按照从左到右的顺序排列n一般最多两个活动者,他们分列两端。启动这个用例的活动者一般最多两个活动者,他们分列两端。启动这个用例的活动者往往排在最左边;接收消息的活动者则排在最右端;往往排在最左边;接收消息的活动者则排在最右端;n对象从左到右按照重要性排列或按照消息先后顺序排列。对象从左到右按照重要性排列或按照消息先后顺序排列。16:4416:4412p对象对象n对象的命名方式有三种:对象的命名方式有三种:n包括对象名和类名包括对象名和类名n类名(匿名对象)类名(匿名对象)n对象名(不关心类)对象名(不关心类)16:4416:4413p生命线(生命线(Lifeline):
6、):n每个对象都有自己的生命线,用来表示在该每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在,垂直用例中一个对象在一段时间内的存在,垂直的虚线表示。的虚线表示。n如果对象生命期结束,则用注销符号表示如果对象生命期结束,则用注销符号表示n对象默认的位置在图顶部,表示对象在交互对象默认的位置在图顶部,表示对象在交互之前已经存在之前已经存在n如果是在交互过程中由另外的对象所创建,如果是在交互过程中由另外的对象所创建,则位于图的中间某处。则位于图的中间某处。16:4416:4414p激活激活n当一条消息被传递给对象的时候,它当一条消息被传递给对象的时候,它会触发该对象的某个行为,
7、这时就说会触发该对象的某个行为,这时就说该对象被激活了。该对象被激活了。n在在UML中,激活用一个在生命线上的中,激活用一个在生命线上的细长矩形框表示。细长矩形框表示。n矩形本身被称为对象的激活期或控制矩形本身被称为对象的激活期或控制期,对象就是在激活期顶端被激活的。期,对象就是在激活期顶端被激活的。n激活期说明对象正在执行某个动作。激活期说明对象正在执行某个动作。当动作完成后,伴随着一个消息箭头当动作完成后,伴随着一个消息箭头离开对象的生命线,此时对象的一个离开对象的生命线,此时对象的一个激活期也宣告结束。激活期也宣告结束。16:4416:4415p消息消息p向哪个对象发消息实际上就是调用它
8、的类中的操作,就是向哪个对象发消息实际上就是调用它的类中的操作,就是调用箭头指向的对象所在类的一个调用箭头指向的对象所在类的一个operation。p顺序图中消息编号可显示,也可不显示。顺序图中消息编号可显示,也可不显示。订单类发消息给客户类调用客户类中订单类发消息给客户类调用客户类中的的“验证客户验证客户”操作操作16:4416:4416p当进行时序图建模时,所用到的消息主要包括以下几种类当进行时序图建模时,所用到的消息主要包括以下几种类型:型:n简单消息(简单消息(Simple Message)n调用消息(调用消息(Call Message)n返回消息(返回消息(Return Messag
9、e)n异步消息(异步消息(Asynchronous Message)16:4416:441716:4416:4418p简单消息简单消息n简单消息是在同步和异步之间没有区别的消息。简单消息是在同步和异步之间没有区别的消息。n使用简单消息是因为有时消息是同步还是异步无关紧要,或者使用简单消息是因为有时消息是同步还是异步无关紧要,或者在不知道消息的类型的情况下就需要用到简单消息。在不知道消息的类型的情况下就需要用到简单消息。n在对系统进行时序图建模时,可以对所有的消息都使用简单消在对系统进行时序图建模时,可以对所有的消息都使用简单消息进行表示,然后再根据情况确定消息的类型。息进行表示,然后再根据情况
10、确定消息的类型。16:4416:4419p调用消息调用消息n调用消息最常见的情况是调用,即消息发送者对象在它的一个调用消息最常见的情况是调用,即消息发送者对象在它的一个操作执行时调用接收者对象的一个操作,此时消息名称通常就操作执行时调用接收者对象的一个操作,此时消息名称通常就是被调用的操作名称。是被调用的操作名称。n当消息被处理完后,可以回送一个简单消息,或者是隐含的返当消息被处理完后,可以回送一个简单消息,或者是隐含的返回。回。16:4416:4420p返回消息返回消息p调用消息中的操作完成后,由接收对象返回给发送对象的调用消息中的操作完成后,由接收对象返回给发送对象的说明执行结果的回应。一
11、个调用消息通常对应一个返回消说明执行结果的回应。一个调用消息通常对应一个返回消息。息。16:4416:4421p异步消息异步消息p是一种不需要等待返回消息的特殊调用消息。发送对象发是一种不需要等待返回消息的特殊调用消息。发送对象发送消息后可以立刻进行下一步操作,无需一直等待回复。送消息后可以立刻进行下一步操作,无需一直等待回复。16:4416:4422p 组合片段组合片段p组合片段组合片段 用来解决交互执行的条件及方式。用来解决交互执行的条件及方式。它允许在序它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任
12、何部分定义特殊条件和子进应用区域,为任何生命线的任何部分定义特殊条件和子进程。程。16:4416:4423片段类型名称说明Opt选项包含一个可能发生或可能不发生的序列。可以在临界中指定序列发生的条件。Alt抉择包含一个片段列表,这些片段包含备选消息序列。在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为True时应运行的片段。如果所有临界都为False并且没有else,则不执行任何片段。Loop循环片段重复一定次数。可以在临界中指示片段重复的条件。Loop组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最
13、大次数。默认值是无限制。Break中断如果执行此片段,则放弃序列的其余部分。可以使用临界来指示发生中断的条件。Par并行并行处理。片段中的事件可以交错。Critical关键用在Par或Seq片段中。指示此片段中的消息不得与其他消息交错。Seq弱顺序有两个或更多操作数片段。涉及同一生命线的消息必须以片段的顺序发生。如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。Strict强顺序有两个或更多操作数片段。这些片段必须按给定顺序发生。pa.抉择(抉择(Alt)n抉择在任何场合下只发生一个序列。抉择在任何场合下只发生一个序列。可以在每个片段中设置一可以在每个片段中设置一个临界来指示该片段可
14、以运行的条件。个临界来指示该片段可以运行的条件。else 的临界指示其他的临界指示其他任何临界都不为任何临界都不为 True 时应运行的片段。时应运行的片段。如果所有临界都为如果所有临界都为 False 并且没有并且没有 else,则不执行任何片段。,则不执行任何片段。16:4416:442516:4416:4426pb.:选项(选项(Opt)包含一个可能发生或不发生的序列16:4416:4427pc.循环(循环(Loop)片段重复一定次数。)片段重复一定次数。可以在临界中指可以在临界中指示片段重复的条件。示片段重复的条件。16:4416:4428pd.并行(并行(Par)16:4416:44
15、29p对系统动态行为建模的过程中,当强调按时间展开信息的对系统动态行为建模的过程中,当强调按时间展开信息的传送时,一般使用时序图建模技术。传送时,一般使用时序图建模技术。p一个单独的时序图只能显示一个控制流。一个单独的时序图只能显示一个控制流。p一般情况下,一个完整的控制流是非常复杂的,要描述它一般情况下,一个完整的控制流是非常复杂的,要描述它需要创建很多交互图(包括时序图和协作图),一些图是需要创建很多交互图(包括时序图和协作图),一些图是主要的,另一些图用来描述可选择的路径和一些例外,再主要的,另一些图用来描述可选择的路径和一些例外,再用一个包对它们进行统一的管理。用一个包对它们进行统一的
16、管理。16:4416:44303 时序图绘制步骤及方法时序图绘制步骤及方法p时序图建立步骤时序图建立步骤31设置消息设置消息4.设置对象生命线开始和结束设置对象生命线开始和结束3.识别参与交互的对象和活动者识别参与交互的对象和活动者2.确定交互的范围确定交互的范围1.细化消息细化消息5.16:4416:4432设置交互的设置交互的语境语境,这些语境可以是系这些语境可以是系统、子系统、类、统、子系统、类、用例和协作的一个用例和协作的一个脚本。脚本。识别识别对象对象在交互语境在交互语境中所扮演的中所扮演的角色角色,根,根据对象的重要性及相据对象的重要性及相互关系,将其从左至互关系,将其从左至右放置
17、在时序图的顶右放置在时序图的顶部。部。设置每个对象的设置每个对象的生命生命线线。通常情况下,对。通常情况下,对象存在于整个交互过象存在于整个交互过程中,但它们也可以程中,但它们也可以在交互过程中创建和在交互过程中创建和撤销撤销从引发某个从引发某个消息消息的信的信息开始,在生命线之息开始,在生命线之间画出从顶到底依次间画出从顶到底依次展开的展开的消息消息,显示每,显示每个消息的内容标识。个消息的内容标识。设置对象的设置对象的激活期激活期,可视化消息的嵌套可视化消息的嵌套或可视化实际计算或可视化实际计算发生时的时间点。发生时的时间点。如果需要设置时间或空如果需要设置时间或空间的间的约束约束,可以为
18、每个,可以为每个消息附上合适的时间和消息附上合适的时间和空间约束。如果需要形空间约束。如果需要形式化的说明某控制流,式化的说明某控制流,可以为每个消息附上可以为每个消息附上前前置和后置条件置和后置条件。时时序序序序图图交交交交互互互互建建建建模模模模策策策策略略略略p下面将以下面将以“教师查看学生成绩教师查看学生成绩”为例,介绍如何去创建系为例,介绍如何去创建系统的序列图统的序列图16:4416:4433名称名称教教师查看学生成看学生成绩标识UC 011描述描述教师查看学生关于某门课程的成绩前提前提学生为在校学生,拥有学号结果果显示学生的成绩或空扩展展N/A包含包含N/A继承承N/A16:44
19、16:4434p可以通过更加具体的描述来确定工作流程,基本的工作流程可以通过更加具体的描述来确定工作流程,基本的工作流程如下:如下:李老师希望通过系统查询某名学生的学科成绩。李老师希望通过系统查询某名学生的学科成绩。李老师通过用户界面录入学生的学号。李老师通过用户界面录入学生的学号。用户界面根据学生的学号向数据库访问层请求学生信息。用户界面根据学生的学号向数据库访问层请求学生信息。数据库访问层根据学生的学号加载学生信息。数据库访问层根据学生的学号加载学生信息。数据库访问层根据学生信息和学科科目获取该名学生的分数信息。数据库访问层根据学生信息和学科科目获取该名学生的分数信息。数据库访问层将学生信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 UML 时序 序列
限制150内