软件工程序列图.ppt_第1页
软件工程序列图.ppt_第2页
软件工程序列图.ppt_第3页
软件工程序列图.ppt_第4页
软件工程序列图.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第10章 序列图,10.1序列图的基本概念 10.2序列图的组成 10.3 序列图的高级概念 10.4序列图的创建概述 10.5序列图的创建示例,用例图和类图及对象图是对静态结构的描述,期间没有考虑系统各个环节之间的相互关系以及静态结构要素之间的动态变化。 系统的动态模型作为一种交互视图,它描述执行系统功能的各个角色之间相互传递消息的顺序关系。通过这种动态视图实现了对静态视图结构的补充和完善,还可以改善系统的静态结构。 交互视图显示了跨越多个对象的系统控制流程,交互视图可用两种图来表示:序列图和协作图,交互图概念,10.1 序列图的基本概念,序列图是对对象之间传递消息的时间顺序的可视化表示。从

2、一定程度上更加详细的描述了用例表达的需求,将用例图转化为进一步、更加正式层次的精细表达(用例常常被细化为一个或者更多的序列图 )。序列图的目的在于描述系统中各个对象按照时间顺序的交互过程。 交互:是指在具体语境中为实现某个目标的一组对象之间进行交流的一组消息构成的行为及过程。,10.1.1序列图的定义,10.1 序列图的基本概念,UML的交互机制 系统动态行为建模:描述一组关联的相互作用的对象间的动作序列和配合过程,包括这些对象间传递、接受的消息描述系统某组行为动态; 系统控制过程建模:针对一个用例、业务过程、系统过程或者是整个系统,描述消息在系统内是如何按照时间顺序被发送、接受和处理的。,1

3、0.1 序列图的基本概念,序列图的主要目的是定义事件序列,产生一些希望的输出。重点不是消息本身,而是消息产生的顺序。 大多数序列图会表示一个系统的对象之间传递的什么消息,以及它们发生的顺序。 序列图按照水平和垂直的维度传递信息: 垂直维度从上而下表示消息/调用发生的时间序列 水平维度从左到右表示消息发送到的对象实例。,10.1 序列图的基本概念,序列图的示例,10.1 序列图的基本概念,10.1.2序列图的作用,序列图与类图相似,开发者一般认为序列图只对他们有意义。然而,一个组织的业务人员会发现,序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务

4、级的序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。,10.1 序列图的基本概念,10.1.2序列图的作用,在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的序列图。 组织的技术人员能发现,序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用图,挖掘出系统对象间的交互,这样充实整个系统设计。,10.1 序列图的基本概念,序列图的作用体现在一下几个方面: 确认和丰富一个使用语境的逻辑表达; 有效描述如何分配各个类的职责以及各个类具有相应职责的原因 把用例表达的需求,转化为进一步、

5、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图;,10.2 序列图的组成,序列图的示例,10.2 序列图的组成,序列图的包含内容 对象 生命线 激活 消息,10.2 序列图的组成,10.2.1 对象,10.2 序列图的组成,序列图使用对象的方式 使用生命线来建立类与对象行为的模型。但是,一条生命线通常表示某个类的所有对象; 可以不指定对象的类。通常,可以先用对象创建序列图,随后再指定它们所属的类; 给出对象命名,但如果要区分同一个类的不同对象,则应给对象命名,同一序列图中的几条生命线可以表示同一个类的不同对象;应当给对象命名,以便区分不同的两个对象; 表示类的生命线可以与表示该类

6、对象的生命线平行存在。可以将表示类的生命线对象名设置为类的名称。,10.2 序列图的组成,主角(主动对象): 作为交互的发起者,主角实例通常由序列图中的第一条(最左侧)生命线来表示。如果在同一序列图中有多个主角实例,就应尽量使它们位于最左侧或最右侧的生命线 。,10.2 序列图的组成,10.2.2 生命线 生命线是表示序列图中对象在一段时间内的存在,它是一条时间线,出序列图的顶部延伸到底部,所用时间取决于交互时间的长短 对象的存在时段包含对象在拥有控制线程时或被动对象在控制线程通过时存在。当对象拥有控制线程时,对象被激活;被动对象在线程通过时,被调用,称为活动,10.2 序列图的组成,10.2

7、.3 激活 当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。,10.2 序列图的组成,10.2.4 消息 消息是对象之间的通信,它在传达信息的同时期望活动随之发生; 在序列图中,消息被表示为从一个对象的生命线到另一个对象的生命线的水平实线箭头。如果消息从一个对象发向该对象自身,箭头的开始位置和结束位置就可能位于同一条生命线上。箭头通过消息名称及消息参数来标记。为了显示消息在整个交互中的顺序,还可以用顺序号来标记消息箭头。序列图中通常会省略顺序号,此时用箭头的物理位置来表示相对顺序。,10.2 序列图的组成,消息的3个部分 消息发送者:发出消息的类元角色; 消息接

8、受者:接受消息的类元角色; 操作方法实现,接受信号被激活,活动结束后调用者收回控制权,并可能接受返回值 对主动对象而言,操作调用导致调用事件,并触发状态机转换 活动:是调用、信号、发生者的局部操作或原始活动,(创建或销毁)。,10.2 序列图的组成,对象之间普通消息传递 对象自身消息传递 返回消息 对象之间过程调用 对象之间异步消息,发送消息后不管消息是否被 接受,继续进行下一步处理,10.2 序列图的组成,同步消息:表示发送者发出消息后等待接收者响应这个消息。 异步消息:在这种消息中,发送者把控制权转交给接收者,但不等待操作完成。,10.2 序列图的组成,三种表示消息的方法 消息线本身 消息

9、线加消息编号 消息线加消息编号加消息名,案例分析-汽车和车钥匙,遥控锁车和开锁的钥匙-你可以用它打开后备箱。如果你有这样一把锁,但你按下“锁车”按钮时,会发生什么情况。汽车自动上锁,闪动一下车灯并发出一声峰鸣,告诉你它已经把车门上锁了。请先描述其类图,再绘制其顺序图。,案例分析-汽车和车钥匙,案例分析-汽车和车钥匙,案例分析-饮料销售机,假设饮料销售机有3个部分:前端(front)、钱币记录仪(register)(它负责收集顾客投的钱币)以及分配器(dispenser)。 (1)前端负责: 接受顾客的选购和现钞; 显示诸如Out of selection(所选饮料已售完)和Use correc

10、t change(使用合适零钱)的信息; 从记录仪接收找回的零钱并返还给顾客; 返还现钞; 从分配器接收一罐饮料并把它交给顾客。,案例分析-饮料销售机,(2)钱币记录仪将负责: 从前端获取顾客输入信息(即选购的饮料种类和现钞); 更新现钞存储; 找零钱。 (3)分配器将负责: 检查选购的饮料是否还有货; 分发一罐饮料。 请先描述其类图,再绘制其顺序图。,案例分析-饮料销售机,买到饮料,案例分析-饮料销售机,售完,案例分析-饮料销售机,零钱数量不对,案例分析-饮料销售机,没有使用合适的零钱找不开,案例分析-在线股票经纪人系统,John Doe登录。 系统建立安全的通信。 系统显示投资组合信息。

11、John Doe输入买入订单,按市场价购买100份GE的股票。 系统验证购买资金是否充足。 系统显示带有估算成本的确认窗口。 John Doe确认买入。 系统下订单给证券交易所。 系统显示交易合同号。 John Doe注销。 系统建立非安全的通信。 系统显示再见窗口。 证券交易所报告交易结果。,案例分析-产品入库,仓库管理员处理产品入库的工作流程: 仓库管理员通过库存管理子系统将生产的产品处理入库; 仓库管理员通过库存管理子系统中的产品入库界面获取产品信息; 产品入库界面根据产品的编号将产品类实例化并请求该类产品信息; 产品类实例化对象根据产品的编号加载产品信息并提供给产品入库界面; 仓库管理

12、员通过产品入库界面增加产品数目; 产品入库界面通过产品类实例化对象修改产品信息; 产品类实例化对象向产品入库界面返回修改信息; 产品入库界面向仓库管理员显示添加成功的信息。,10.3 序列图的高级概念,10.3.1 创建与销毁对象,图中的对象并不一定需要在序列图的整个交互期间存活,对象可以根据传递进来的消息创建或销毁。,创建:发送者发送一个实例化消息后实例化对象,创建对象的操作中指定参数进行实例化;,销毁:将对象销毁并回收其拥有的资源,销毁一个对象将导致对象的所有组成部分,而与之关联或聚集的对象不会被销毁,但是其关联和聚集等关系被随之销毁,10.3 序列图的高级概念,10.3.2 分支与从属流,有两种方式来修改顺序图的控制流:使用分支和使用从属流。控制流的改变是由于不同的条件导致控制流走向不同的道路:,从属流是指从一个点发出多个消息指向同一个对象不同的生命线。,分支允许控制流由一个点发出消息,走向不同的对象。,10.4 序列图的创建概述,10.4.1 创建序列图,创建注释 将注释链接到序列图相关模型(对象),创建序列图中的

温馨提示

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

评论

0/150

提交评论