Transcript Document

5. 顺序图
(Sequence Diagram)
数媒2班
11331412 赵延霞
11331321 吴湧霖
11331423 郑鑫伟
11331362 姚毅华
顺序图?时序图?序列图?
• 是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个
对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行
为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触
发事件。
组成元素
•
•
•
•
•
角色
对象
生命线
激活期
消息
1、角色(Actor)
• 系统角色,可以是人或者其他系统,子系统。
2、对象(Object)
• 对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。
• 对象一般包含以下三种命名方式:
– 第一种方式包含对象名和类名。
– 第二种方式只显示类名不显示对象名,
即为一个匿名对象。
– 第三种方式只显示对象名不显示类名。
3、生命线(Lifeline)
• 生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中
心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线
间。
4、激活期(Activation)
• 激活期代表时序图中的对象执行一项
操作的时期,在时序图中每条生命线
上的窄的矩形代表活动期。它可以被
理解成C语言语义中一对花括号“{}”
中的内容。
5、消息(Message)
• 消息是定义交互和协作中交换信息的
类,用于对实体间的通信内容建模,
信息用于在实体间传递信息。允许实
体请求其他的服务,类角色通过发送
和接受信息进行通信。
UML三种消息
• 同步消息:发送者等待接收者。
• 异步消息:消息发送后,发送者继续操作,不等待接受者响应,常用于并发。
• 返回消息:表示消息的返回。一般同步(过程调用)的返回不需要画出,直接
隐含,而异步返回则可用它。(注:如果异步消息有返回消息,必须明确表示
出来)
消息的语法格式
• 必须先发生的消息列表。
• 条件,在一个方括号中的布尔表达式,表示只有在条件满足
时才能发送该消息。
• 消息顺序号,可能有多个消息顺序项。
其他。。
• 图框
图框操作符
• Page 168
含义
alt
选择性的片段,用于表示保护信息所
表达的交互条件逻辑
loop
用于表示保护信息为真的循环片段。
也可以写为loop(n)以指明循环的次数。
这样能够增强规格说明,用以表示FOR
的循环,例如loop(i,1,10)
opt
当保护信息为真时执行的可选片段
par
并行执行的片段
region
只能执行一个线程的临界片段
5. 顺序图(Sequence Diagram)
• 1. 小孙从“淘宝网”某商家卖了一部手机,感觉不合适自己决定退货。请仔细
研究“淘宝网”的退货业务规程,请将“客户”、“淘宝网”、“商家”三个
对象作为主 要参与者,使用系统顺序图描述“淘宝网”退货的业务的系统功能
与业务 实现的基本过程。
• http://service.taobao.com/support/knowledge-1119776.htm
交易进行中买家申请退货退款操作流程
• 如买家有进行中的交易需要退货退款,操作流程如下:
• 1、申请退款,选择服务类型-退货
• 3、退货:
– 提交退款,等待卖家处理
– 卖家同意退货,填写退货凭证
– 等待卖家确认收货,退款成功
选择交易
点击“退款\退货”
选择“退货”服务类型
填写退货请求
填写退货凭证
5. 顺序图(Sequence Diagram)
• 2. 在某网上商城系统中,客户可以通过购物车中商品创建订单。请研究从购物
车,到提交订单的业务过程,识别以下内容:
2.1 记录过程中使用的页面(UI)
2.2 从页面中识别业务实体(如,用户收件地址,订单)
2.3 假设,系统中有一个订单生成控制器的软件对象,它控制页面流转,处理
业务实体信息,保持流程工作状态
请用顺序图表示 Actor - UIs - Controller - Entities 之间协作完成创建订单任务的
过程。
5. 顺序图(Sequence Diagram)
• 2. 在某网上商城系统中,客户可以通过购物车中商品创建订单。请研究从购物
车,到提交订单的业务过程,识别以下内容:
2.1 记录过程中使用的页面(UI)
2.2 从页面中识别业务实体(如,用户收件地址,订单)
2.3 假设,系统中有一个订单生成控制器的软件对象,它控制页面流转,处理
业务实体信息,保持流程工作状态
请用顺序图表示 Actor - UIs - Controller - Entities 之间协作完成创建订单任务的
过程。
BCE(boundary-control-entity patterns)模式
• 边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要
通过边界类来实现。所以,参与者对象只能跟边界对象互动,不能直接发送消息给控制对象或实体对
象。
• 控制类:一个用例会生成一个控制类。用来控制用例执行期间的复杂运算或者业务逻辑。主要用来保
存问题领域中的重要信息,封装了跟数据结构和数据存储有关的变化。
· 实体类:系统内部的
对象。
BCE(boundary-control-entity patterns)模式
• 针对每一个用例,可以对应生成一个控制类。
• 参与者对象只能跟边界对象互动。
• 实体对象不能发送消息给边界对象和控制对象。
• 比较特别的是,如果只是单纯对数据表进行增加、删除、修改、查询的话,可
以不设置控制对象,让边界对象直接发送消息给实体对象,以提高整个序列图
的执行速度。
业务实体?
• 业务实体是业务角色在进行业务活动时使用或产生的事物,在表现形式上可以
是一个文档,或者是一个物品的一部分。
• 比如在技术评审管理流程中,评审申请人将提交评审申请材料,专家将对评审
材料提出评审意见,因此我们可确定的业务实体是“评审申请”和“评审意
见”。每个业务实体通常具有特定的属性,比如“评审申请”业务实体具有的
属性包括:申请人、评审类型、评审材料等信息。
• http://www.uml.org.cn/oobject/201105301.asp
• UIs
– 购物车页面
– 收件人信息页面
– 订单页面
• 控制器
• 业务实体
– 订单
– 用户收件地址
– 商品详情
开始
选择
商品
结算
确认
用户
收件
地址
其他
步骤
THANKS