电子商务系统分析与设计0306-UML-时序图-序列图.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子商务系统分析与设计0306-UML-时序图-序列图.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商务 系统分析 设计 0306 UML 时序 序列
- 资源描述:
-
1、UML Unified Modeling Language13:052目标目标知识目标知识目标掌握时序图的基本元掌握时序图的基本元素素熟悉绘制时序图的步熟悉绘制时序图的步骤和方法骤和方法能力目标能力目标具有根据项目实际具有根据项目实际情况利用时序图建模情况利用时序图建模的能力的能力素质目标:培养学生动手、解决问题、逻辑分析的能力素质目标:培养学生动手、解决问题、逻辑分析的能力13:053内容内容 时序图案例案例及练习时序图案例案例及练习4.时序图元素时序图元素2.时序图绘制步骤及方法时序图绘制步骤及方法3.时序图概述时序图概述1.13:054p系统或对象的系统或对象的动态模型动态模型主要包括主
2、要包括13:0551 时序图概述时序图概述活动图状态图协作图顺序图顺序图13:0561 时序图概述时序图概述描述了与用例相关的多个对象及其之间的动态描述了与用例相关的多个对象及其之间的动态交互关系,通常用于解释系统用例的实现过程。交互关系,通常用于解释系统用例的实现过程。用例常常被细化为一个或多个时序图。用例常常被细化为一个或多个时序图。主要用来描述对象之间信息交换时的时间顺序。主要用来描述对象之间信息交换时的时间顺序。可以有效地帮助人们观察和理解系统的动态行可以有效地帮助人们观察和理解系统的动态行为。为。13:0571 时序图概述时序图概述 例如:用户登录例如:用户登录p登录登录n(1)用户
3、将用户名和密码提交给)用户将用户名和密码提交给LoginActionn(2)由由LoginAction调用调用UserManagern(3)UserManager到用户数据库到用户数据库User Server中查找用户对中查找用户对 象并返回象并返回n(4)由由UserManager判断用户名是否为空、密码是否正确判断用户名是否为空、密码是否正确n(5)然后将然后将User对象返回对象返回n(6)返回后台登录主界面。)返回后台登录主界面。13:05813:059活动者(活动者(actor)或者)或者 对象(对象(object)生命线(生命线(lifeline)激活激活(activation)/
4、控制焦点(控制焦点(focus of control)消息(消息(message)13:05102 时序图的组成元素时序图的组成元素当执行一个用例行为时,顺序图中的每条消息对应了一个类操作当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。或状态机中引起转换的事件。13:0511p活动者活动者n活动者和对象按照从左到右的顺序排列活动者和对象按照从左到右的顺序排列n一般最多两个活动者,他们分列两端。启动这个用例的活动者一般最多两个活动者,他们分列两端。启动这个用例的活动者往往排在最左边;接收消息的活动者则排在最右端;往往排在最左边;接收消息的活动者则排在最右端;n对
5、象从左到右按照重要性排列或按照消息先后顺序排列。对象从左到右按照重要性排列或按照消息先后顺序排列。13:0512p对象对象n对象的命名方式有三种:对象的命名方式有三种:n包括对象名和类名包括对象名和类名n类名(匿名对象)类名(匿名对象)n对象名(不关心类)对象名(不关心类)13:0513p生命线(生命线(Lifeline):):n每个对象都有自己的生命线,用来表示在每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在,该用例中一个对象在一段时间内的存在,垂直的虚线表示。垂直的虚线表示。n如果对象生命期结束,则用注销符号表示如果对象生命期结束,则用注销符号表示n对象默认的位置在
6、图顶部,表示对象在交对象默认的位置在图顶部,表示对象在交互之前已经存在互之前已经存在n如果是在交互过程中由另外的对象所创建,如果是在交互过程中由另外的对象所创建,则位于图的中间某处。则位于图的中间某处。13:0514p激活激活n当一条消息被传递给对象的时候,它当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说会触发该对象的某个行为,这时就说该对象被激活了。该对象被激活了。n在在UML中,激活用一个在生命线上的中,激活用一个在生命线上的细长矩形框表示。细长矩形框表示。n矩形本身被称为对象的激活期或控制矩形本身被称为对象的激活期或控制期,对象就是在激活期顶端被激活的。期,对象就是在激
7、活期顶端被激活的。n激活期说明对象正在执行某个动作。激活期说明对象正在执行某个动作。当动作完成后,伴随着一个消息箭头当动作完成后,伴随着一个消息箭头离开对象的生命线,此时对象的一个离开对象的生命线,此时对象的一个激活期也宣告结束。激活期也宣告结束。13:0515p消息消息p向哪个对象发消息实际上就是调用它的类中的操作,就向哪个对象发消息实际上就是调用它的类中的操作,就是调用箭头指向的对象所在类的一个是调用箭头指向的对象所在类的一个operation。p顺序图中消息编号可显示,也可不显示。顺序图中消息编号可显示,也可不显示。订单类发消息给客户类调用客户类中订单类发消息给客户类调用客户类中的的“验
8、证客户验证客户”操作操作13:0516p当进行时序图建模时,所用到的消息主要包括以下几种当进行时序图建模时,所用到的消息主要包括以下几种类型:类型:n简单消息(简单消息(Simple Message)n调用消息(调用消息(Call Message)n返回消息(返回消息(Return Message)n异步消息(异步消息(Asynchronous Message)13:051713:0518ObjectAObjectB1:Message3:Message2:Message:ActorObject1Object22:Message3:Message4:Message1:Message5:Messa
9、gep简单消息简单消息n简单消息是在同步和异步之间没有区别的消息。简单消息是在同步和异步之间没有区别的消息。n使用简单消息是因为有时消息是同步还是异步无关紧要,或者使用简单消息是因为有时消息是同步还是异步无关紧要,或者在不知道消息的类型的情况下就需要用到简单消息。在不知道消息的类型的情况下就需要用到简单消息。n在对系统进行时序图建模时,可以对所有的消息都使用简单消在对系统进行时序图建模时,可以对所有的消息都使用简单消息进行表示,然后再根据情况确定消息的类型。息进行表示,然后再根据情况确定消息的类型。13:0519p调用消息调用消息n调用消息最常见的情况是调用,即消息发送者对象在它的一个调用消息
10、最常见的情况是调用,即消息发送者对象在它的一个操作执行时调用接收者对象的一个操作,此时消息名称通常就操作执行时调用接收者对象的一个操作,此时消息名称通常就是被调用的操作名称。是被调用的操作名称。n当消息被处理完后,可以回送一个简单消息,或者是隐含的返当消息被处理完后,可以回送一个简单消息,或者是隐含的返回。回。13:0520p返回消息返回消息p调用消息中的操作完成后,由接收对象返回给发送对象调用消息中的操作完成后,由接收对象返回给发送对象的说明执行结果的回应。一个调用消息通常对应一个返的说明执行结果的回应。一个调用消息通常对应一个返回消息。回消息。13:0521p异步消息异步消息p是一种不需要
11、等待返回消息的特殊调用消息。发送对象是一种不需要等待返回消息的特殊调用消息。发送对象发送消息后可以立刻进行下一步操作,无需一直等待回发送消息后可以立刻进行下一步操作,无需一直等待回复。复。13:0522p 组合组合片段片段p组合片段组合片段 用来解决交互执行的条件及方式。用来解决交互执行的条件及方式。它允许在序它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和的应用区域,为任何生命线的任何部分定义特殊条件和子进程。子进程。13:0523片段类型名称说明Opt选项包含一个可能发生或可能不发生的
12、序列。可以在临界中指定序列发生的条件。Alt抉择包含一个片段列表,这些片段包含备选消息序列。在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为True时应运行的片段。如果所有临界都为False并且没有else,则不执行任何片段。Loop循环片段重复一定次数。可以在临界中指示片段重复的条件。Loop组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。默认值是无限制。Break中断如果执行此片段,则放弃序列的其余部分。可以使用临界来指示发生中断的条件。Par并行并行处理。片段中的事件可以交错。Criti
13、cal关键用在Par或Seq片段中。指示此片段中的消息不得与其他消息交错。Seq弱顺序有两个或更多操作数片段。涉及同一生命线的消息必须以片段的顺序发生。如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。Strict强顺序有两个或更多操作数片段。这些片段必须按给定顺序发生。pa.抉择抉择(Alt)n抉择在任何场合下只发生一个序列。抉择在任何场合下只发生一个序列。可以在每个片段中设置一可以在每个片段中设置一个临界来指示该片段可以运行的条件。个临界来指示该片段可以运行的条件。else 的临界指示其他的临界指示其他任何临界都不为任何临界都不为 True 时应运行的片段。时应运行的片段。如果所
14、有临界都为如果所有临界都为 False 并且没有并且没有 else,则不执行任何片段。,则不执行任何片段。13:052513:0526pb.:选项选项(Opt)包含一个可能发生或不发生的序列13:0527pc.循环循环(Loop)片段重复一定次数。)片段重复一定次数。可以在临界中指示可以在临界中指示片段重复的条件。片段重复的条件。13:0528pd.并行并行(Par)13:0529p对系统动态行为建模的过程中,当强调按时间展开信息对系统动态行为建模的过程中,当强调按时间展开信息的传送时,一般使用时序图建模技术。的传送时,一般使用时序图建模技术。p一个单独的时序图只能显示一个控制流。一个单独的时
15、序图只能显示一个控制流。p一般情况下,一个完整的控制流是非常复杂的,要描述一般情况下,一个完整的控制流是非常复杂的,要描述它需要创建很多交互图(包括时序图和协作图),一些它需要创建很多交互图(包括时序图和协作图),一些图是主要的,另一些图用来描述可选择的路径和一些例图是主要的,另一些图用来描述可选择的路径和一些例外,再用一个包对它们进行统一的管理。外,再用一个包对它们进行统一的管理。13:05303 时序图绘制步骤及方法时序图绘制步骤及方法p时序图建立步骤时序图建立步骤31设置消息设置消息4.设置对象生命线开始和结束设置对象生命线开始和结束3.识别参与交互的对象和活动者识别参与交互的对象和活动
16、者2.确定交互的范围确定交互的范围1.细化消息细化消息5.13:0532设置交互的设置交互的语境语境,这些语境可以是系这些语境可以是系统、子系统、类、统、子系统、类、用例和协作的一个用例和协作的一个脚本。脚本。识别识别对象对象在交互语境在交互语境中所扮演的中所扮演的角色角色,根,根据对象的重要性及相据对象的重要性及相互关系,将其从左至互关系,将其从左至右放置在时序图的顶右放置在时序图的顶部。部。设置每个对象的设置每个对象的生命生命线线。通常情况下,对。通常情况下,对象存在于整个交互过象存在于整个交互过程中,但它们也可以程中,但它们也可以在交互过程中创建和在交互过程中创建和撤销撤销从引发某个从引
17、发某个消息消息的信的信息开始,在生命线之息开始,在生命线之间画出从顶到底依次间画出从顶到底依次展开的展开的消息消息,显示每,显示每个消息的内容标识。个消息的内容标识。设置对象的设置对象的激活期激活期,可视化消息的嵌,可视化消息的嵌套或可视化实际计套或可视化实际计算发生时的时间点算发生时的时间点。如果需要设置时间或空如果需要设置时间或空间的间的约束约束,可以为每个,可以为每个消息附上合适的时间和消息附上合适的时间和空间约束。如果需要形空间约束。如果需要形式化的说明某控制流,式化的说明某控制流,可以为每个消息附上可以为每个消息附上前前置和后置条件置和后置条件。p下面将以下面将以“教师查看学生成绩教
18、师查看学生成绩”为例,介绍如何去创建为例,介绍如何去创建系统的序列图系统的序列图13:0533名称名称教师查看学生成绩教师查看学生成绩标识标识UC 011描述描述教师查看学生关于某门课程的成绩前提前提学生为在校学生,拥有学号结果结果显示学生的成绩或空扩展扩展N/A包含包含N/A继承继承N/A13:0534p可以通过更加具体的描述来确定工作流程,基本的工作流程可以通过更加具体的描述来确定工作流程,基本的工作流程如下:如下:李老师希望通过系统查询某名学生的学科成绩。李老师希望通过系统查询某名学生的学科成绩。李老师通过用户界面录入学生的学号。李老师通过用户界面录入学生的学号。用户界面根据学生的学号向
19、数据库访问层请求学生信息。用户界面根据学生的学号向数据库访问层请求学生信息。数据库访问层根据学生的学号加载学生信息。数据库访问层根据学生的学号加载学生信息。数据库访问层根据学生信息和学科科目获取该名学生的分数信息。数据库访问层根据学生信息和学科科目获取该名学生的分数信息。数据库访问层将学生信息和分数信息提供给用户界面。数据库访问层将学生信息和分数信息提供给用户界面。用户界面将学生信息和分数信息显示出来。用户界面将学生信息和分数信息显示出来。13:0535p在这些基本的工作流程中还存在分支,可使用备选过程在这些基本的工作流程中还存在分支,可使用备选过程来描述。来描述。p备选过程备选过程A:该名学
20、生没有学科成绩。:该名学生没有学科成绩。n 数据访问层返回学科成绩为空。数据访问层返回学科成绩为空。n 系统提示李老师没有该学生的成绩。系统提示李老师没有该学生的成绩。p备选过程备选过程B:系统没有该学生的信息。:系统没有该学生的信息。n 数据访问层返回学生信息为空。数据访问层返回学生信息为空。n 系统提示李老师该学生不存在。系统提示李老师该学生不存在。13:053613:053713:053813:0539p请绘制读者借阅图书的时序图请绘制读者借阅图书的时序图13:0540练习练习13:05414 时序图建模案例及练习时序图建模案例及练习 p添加借阅者的过程为:添加借阅者的过程为:系统管理员
21、选择菜单项系统管理员选择菜单项“添添加借阅者加借阅者”,弹出,弹出AddBorrowerDialog对话框。系对话框。系统管理员可以在该对话框中输入借阅者的信息并提统管理员可以在该对话框中输入借阅者的信息并提交,随后系统对管理员所提交的借阅者信息进行验交,随后系统对管理员所提交的借阅者信息进行验证,查看输入的借阅证号是否已经存在于系统中,证,查看输入的借阅证号是否已经存在于系统中,若不存在,则为借阅者创建一个账户,并存储借阅若不存在,则为借阅者创建一个账户,并存储借阅者信息。者信息。:Administrator:ManagerWindow:AddBorrowerDialog:Borrower1
22、:AddBorrower()2:CreateDialog()3:AddBorrower()4:FindBorrower()5:NewBorrower()6:Write()p修改借阅者的过程为:修改借阅者的过程为:系统管理员选择菜系统管理员选择菜单项单项“修改借阅者修改借阅者”,弹出,弹出UpdateBorrow erDialog对话框。系统管对话框。系统管理员可以在该对话框中输入借阅者的借阅理员可以在该对话框中输入借阅者的借阅证号,随后系统查询数据库并显示相关的证号,随后系统查询数据库并显示相关的借阅者信息(如果输入的借阅者信息不存借阅者信息(如果输入的借阅者信息不存在,则显示提示信息,结束修
展开阅读全文