软件工程序列图

上传人:san****glu 文档编号:49466211 上传时间:2018-07-28 格式:PPT 页数:42 大小:396.50KB
返回 下载 相关 举报
软件工程序列图_第1页
第1页 / 共42页
软件工程序列图_第2页
第2页 / 共42页
软件工程序列图_第3页
第3页 / 共42页
软件工程序列图_第4页
第4页 / 共42页
软件工程序列图_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《软件工程序列图》由会员分享,可在线阅读,更多相关《软件工程序列图(42页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

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

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

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

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

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

12、产品信息 ;产品类实例化对象向产品入库界面返回修改信息;产品入库界面向仓库管理员显示添加成功的信息。10.3 序列图的高级概念10.3.1 创建与销毁对象图中的对象并不一定需要在序列图的整个交互期间存活,对 象可以根据传递进来的消息创建或销毁。u创建:发送者发送一个实例化消息后实例化对象 ,创建对象的操作中指定参数进行实例化;u销毁:将对象销毁并回收其拥有的资源,销毁一 个对象将导致对象的所有组成部分,而与之关联或 聚集的对象不会被销毁,但是其关联和聚集等关系 被随之销毁10.3 序列图的高级概念10.3.2 分支与从属流有两种方式来修改顺序图的控制流:使用分支和使用从属 流。控制流的改变是由

13、于不同的条件导致控制流走向不同 的道路: 从属流是指从一个点发出多个消息指向同一个对象不 同的生命线。分支允许控制流由一个点发出消息,走向不同的对象。10.4 序列图的创建概述10.4.1 创建序列图创建注释将注释链接到序列图相关模型(对象)创建序列图中的对象创建消息10.4 序列图的创建概述持续的对象静态的对象临时的对象3、设置序列图中对象10.4 序列图的创建概述10.4.2 创建生命线10.4 序列图的创建概述10.4.3 创建消息10.4 序列图的创建概述简单消息 同步消息阻止消息 超时消息过程调用消息 异步消息 返回消息10.5 序列图的创建示例 创建如下序列图10.4 序列图的创建概述 分支备选处理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号