第5章系统动态分析与交互模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序列图的基本概念
定义:
序列图是用于描述对象之间基于时间顺序的动态交互,并 将交互建模成对象之间消息交换的图形。
序列图的基本概念
UML表示:
在UML的表示中,序列图将交互关系表示为一个二维图。 其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表 了在交互中各独立的对象。
序列图的基本概念
序列图的基本概念
第5章 系统动态分析与交互模型
概述
需求捕获——用例图
静态分析——类图、对象图
动态分析——序列图等
…
概述
为什么要进行动态分析
➢ 用例模型中对系统的功能(用例)进行了描述,但所关注
的重点是:系统能做什么(What) 问题:怎么做(How)才能实现系统的每一种功能?
➢ 在静态模型中,确定了所有构成系统的类,并且确定了 类之间的关系以及类的属性、方法。 问题:对象之间通过哪些交互完成功能需求?
序列图的基本概念
序列图元素
序列图元素
序列图中包括:角色、对象、生命线、激活和消息。 1.角色(Actor) 系统角色可以是人或者其他系统、子系统。
2.对象(Object) 对象代表时序图中的对象在交互中所扮演的角色,位
于时序图顶部和对象代表对象实例。
序列图元素
3.生命线(Lifeline) 生命线代表时序图中的对象在一段时期内的存在。
序列图元素
5. 消息(Message) 消息是从一个对象(发送者)向另一个或其他几个
对象(接收者)发送信号或由一个对象(发送者或调用 者)调用另一个对象(接收者)的操作。
StartUML中的消息
创建(CREATE) 同步调用(CALL) 异步调用(SEND) 自调用(CALL) 返回(RETURN) 销毁(DESTROY)
备选过程C:该借阅者有超期的借阅信息 1)获取借阅者的所有借阅信息。 2)查询数据库以获取借阅信息的日期、且系统验证借阅期限。 3)显示超期的图书信息。 4)创建一个“MessageBox”对象以提示借书借阅超期的错误。
实例(借阅图基书本)工作流的序列图
实例(借阅图备书选)过程A的序列图
实例(借阅图备书选)过程B的序列图
时序图中每个对象和底部中心都有一条垂直的虚线,这 就是对象的生命线,对象间 的消息存在于两条虚线间。
序列图元素
4.激活(Activation) 对象生命线上的窄矩形条被称为激活,激活表示该对
象正在执行某个操作。激活条的长短表示操作的时间。一 个被激活的对象要么执行自己的代码,要么等待另一个对 象的返回结果。
seq
弱顺序 须以片段的顺序发生。 如果消息涉及的生命线不同
,来自不同片段的消息可能会并行交错。
alt
选择
包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。
opt
选项
包含一个可能发生或可能不发生的序列。 可以在临 界中指定序列发生的条件。
break
中断
如果执行此片段,则放弃序列的其余部分。 可以使 用临界来指示发生中断的条件。
概述
动态分析模型包括下列模型图:
➢ 序列图 ➢ 协作图 ➢ 状态图 ➢ 活动图
概述
➢ 序列图:注重表达交互作用的时间顺序,没有明确表示对 象间的关系。
(对象之间的交互或对象外部的交互行为) ➢ 协作图:协作图注重表示对象间的关系,时间顺序可以wk.baidu.com
从消息的序号中获得。 ➢ 状态图:状态图主要描述系统行为的结果。 (表示对象内部的状态变化) ➢ 活动图:活动图主要描述系统动态行为的过程。
序列图创建
序列图创建
实例(借阅图书)
实例(借阅图书)
用例名称 标识符 用例描述 参与者 前置条件 后置条件
借阅图书用例的描述
借阅图书 UC0001 图书管理员代理借阅者办理借阅手续 图书管理员 图书管理员已经登录系统 在系统中存储借阅记录
实例(借阅图书)
基本工作流: 1)图书管理员输入借阅证信息。 2)系统验证借阅证的有效性。 3)图书管理员输入图书信息。 4)添加新的借阅记录。 5)显示借阅后的借阅信息。
par
并行
并行处理。 片段中的事件可以交错。
strict
强顺序
有两个或更多操作数片段,这些片段必须按给定顺序 发生。
loop
循环
片段重复一定次数。
组合片段(Combined Fragment)
分支片段 ➢ 先选择Combined Fragment,将Interaction Operator设置
为alt ➢ 在Combined Fragment 中加入Interaction Operator,并写
概述
动态分析的任务
➢ 用于对系统中一组对象群体的行为建模 ➢ 主要用来表达对象之间的动作协作关系 ➢ 通常用来描述用例的行为实现 ➢ 显示用例实现/类操作(方法)涉及的对象和对象间的消
息传递情况
概述
动态分析模型描述系统的动态行为,显示对象在系统 运行期间不同时刻的动态交互,主要是建立系统的交互图 和行为图。
备选过程A:所借图书数量超过规定 1)获取借阅者的借书数量。 2)系统验证借书数量。 3)创建一个“MessageBox”对象以提示借书数量超过规定的错误。
实例(借阅图书)
备选过程B:借阅者的借阅证失效 1)借阅者实例化对象返回借阅者信息错误。 2)创建一个“MessageBox”对象以提示借书借阅证失效的错误。
概述
➢ 交互图——对象之间的合作在UML里被称作交互。 ➢ 交互体现了对象之间的作用、对象之间的联系。
• 序列(顺序、时序)图(Sequence Diagram)
• 协作图(Collabboration Diagram)
概述
➢ 行为图——主要用来设计程序的行为。 • 状态图(Statechart Diagram) • 活动图(Activity Diagram)
实例(借阅图书)
序列图元素
除常用的元素之外,还包括: ➢ 组合片段(Combined Fragment) ➢ 交互操作符(Interaction Operator) ➢ 框图(Frame)
StarUML 组合片段(Combined Fragment)
交互操作类型 名称
说明
有两个或更多操作数片段,涉及同一生命线的消息必
入条件。
组合片段(Combined Fragment)
选项片段 ➢ 先选择Combined Fragment,将Interaction Operator设置