网站大量收购独家精品文档,联系QQ:2885784924

第5章-顺序图.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-顺序图

顺序图 顺序图 类图描述了系统中的类以及类间的关系,但是没有详细说明对象的行为,也没有详细说明对象之间如何交互。 交互图用于描述对象间的动态合作关系以及合作过程中的行为次序。包括以下两种图: 一、顺序图及其用途 1.顺序图(sequence diagram)的概述 又称序列图,是一种详细表示对象之间以及对象与参与者之间行为关系的图,由一组协作的对象(或参与者)以及它们之间可发送的消息组成,强调消息之间的顺序。 1.对象(生命线) 2.操作(控制焦点、激活、执行规约) 表示对象执行一个操作的周期,也表示了对象和它的调用者之间的控制关系. 表示方式: 其顶端和操作的开始时刻对齐,末端和操作的结束时刻对齐。 3. 消 息 消息:是对象之间的通信的描述,这样的通信用于传输将发生的动作所需要的信息。 用水平箭线表示消息,在其上表明消息名字/参数/条件表达式,也可有序号。 通常箭头线是水平的 表示发送消息所需持续时间是’原子的’(即相对交互的粒 度而言是短暂的,且在传递消息中间是不能发生任何事情) 用例 顺序图示例1 顺序图示例2 顺序图示例3 顺序图示例4 为“客户”对象李明在ATM取款机上的一次提款业务建立顺序图。ATM取款机包括读卡机和取钱机 二、如何建立顺序图 决定为系统建立哪些顺序图 为完成一项完整的系统功能,发生在系统内部与外部之间,以及发生在系统内部的全部信息交换,可以理解为一次交互。 为完成一项系统功能中的一部分工作,系统内部的几个对象之间进行的消息传递,也可以理解为一次交互。 最简单的情况,两个对象之间传递一个消息 二、如何建立顺序图 确定参加交互的对象和参与者 明确参加交互的参与者 找出与参与者直接交互的对象 找出与参与者有关的全部对象 二、如何建立顺序图 建议一个顺序图只描述一个交互场景,尽量少用迭代和分支。 按照当前交互的意图,详细审阅有关材料(如有关用例),设置交互的场景,其中可能包括需要的对象和参与者。 通过识别对象在交互中扮演的角色,在顺序图中上部列出所选对象,并为其设置生命线,通常把发起交互的对象放在左边。 对在交互期内被创建和撤销的对象,在适当时刻,用消息箭线在其生命线上显式地予以指明。 决定消息将怎样或以什么样的序列在对象之间传递。 二、如何建立顺序图 在各个对象的生命线上,按使用该对象操作的先后次序排列各个代表操作执行的棒形条(激活)。若要简化顺序图,可不画棒形条,或者针对一个对象只用一个棒形条代表其上所有操作的执行。 两个对象的操作执行如果属于同一个控制线程,则消息接收者操作的执行应在消息发送者发出消息之后开始,并在消息发送者结束之前结束。不同控制线程之间的消息有可能在消息接收者的某个操作的执行过程中到达。 如果需要,也可以以注释的形式对对象所执行的操作的功能以及时间或空间约束进行描述。 如果需要,可使用结构化控制。 场景1:“选修一门课程”用例 一个名为Fred的学生成功选修了一门课程,事件流如下: 1.Fred,一名学生,登入SRS。 2.他查看本学期的课程表,决定要选修的课程。 3.Fred申请课程“OO入门”的选修资格,课程代码是OBJ101. 4.系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设学生不允许参加学习计划之外的课程)。 5.系统检查他的成绩单,确保他已经修完了先修课程—如果存在的话。 6.确认该门课程有空余选修名额。 7.这门课程被添加到Fred的课程列表中。 绘制“选修一门课程”用例的顺序图 决定场景1的对象和外部操作者 一个Student对象(Fred) 一个Section对象(名为“OO入门”、课程编号为OBJ101) 一个PlanOfStudy对象,属于Fred所有 一个Transcript对象,属于Fred所有 为了充分表现场景1的细节,我们将课程表(ScheduleOfClasses)加入UML类图。 绘制“选修一门课程”用例的顺序图 调整后的对象和操作者 一个Student对象(Fred) 一个Section对象(名为“OO入门”、课程编号为OBJ101,自身编号为1的课程) 一个PlanOfStudy对象,属于Fred所有 一个Transcript对象,也属于Fred所有 一个ScheduleOfClasses对象 一个Student操作者(又是Fred) 因为这个场景明确地提到了学生用户和系统的交互,我们将Fred这个操作者和Fred对象分离,这样就能表现SRS和外部用户的交互,以及系统内部对象之间的交互。我们把表示一个操作者的抽象的对象称为“边界类(boundary class)”。 准备顺序图 为场景中的每个对象或操作者画一条垂直虚线,即生命线; 在每条生命线的顶端,放上实体图标—即包含

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档