5. 顺序 图 ( Sequence Diagram )

22
5. 顺顺顺 Sequence Diagram 顺顺 2 顺 11331412 顺顺顺 11331321 顺顺顺 11331423 顺顺顺 11331362 顺顺顺

description

5. 顺序 图 ( Sequence Diagram ). 数媒 2 班 11331412 赵延霞 11331321 吴湧霖 11331423 郑鑫伟 11331362 姚毅华. 顺序图?时序图?序列图?. 是一种 UML 行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。. 组成元素. 角色 对象 生命线 激活期 消息. 1 、角色( Actor ). 系统角色,可以是人或者其他系统,子系统。. - PowerPoint PPT Presentation

Transcript of 5. 顺序 图 ( Sequence Diagram )

Page 1: 5.  顺序 图 ( Sequence Diagram )

5. 顺序图( Sequence Diagram) 数媒 2班

11331412 赵延霞 11331321 吴湧霖 11331423 郑鑫伟 11331362 姚毅华

Page 2: 5.  顺序 图 ( Sequence Diagram )

顺序图?时序图?序列图?

• 是一种 UML 行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

Page 3: 5.  顺序 图 ( Sequence Diagram )

组成元素

• 角色• 对象• 生命线• 激活期• 消息

Page 4: 5.  顺序 图 ( Sequence Diagram )

1 、角色( Actor )

• 系统角色,可以是人或者其他系统,子系统。

Page 5: 5.  顺序 图 ( Sequence Diagram )

2 、对象 (Object)

• 对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。

• 对象一般包含以下三种命名方式:– 第一种方式包含对象名和类名。– 第二种方式只显示类名不显示对象名,

即为一个匿名对象。– 第三种方式只显示对象名不显示类名。

Page 6: 5.  顺序 图 ( Sequence Diagram )

3 、生命线 (Lifeline)

• 生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。

Page 7: 5.  顺序 图 ( Sequence Diagram )

4 、激活期 (Activation)

• 激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成 C 语言语义中一对花括号“ {}” 中的内容。

Page 8: 5.  顺序 图 ( Sequence Diagram )

5 、消息 (Message)

• 消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。

Page 9: 5.  顺序 图 ( Sequence Diagram )

UML 三种消息

• 同步消息:发送者等待接收者。• 异步消息:消息发送后,发送者继续操作,不等待接受者响应,常用于并发。• 返回消息:表示消息的返回。一般同步(过程调用)的返回不需要画出,直接

隐含,而异步返回则可用它。(注:如果异步消息有返回消息,必须明确表示出来)

Page 10: 5.  顺序 图 ( Sequence Diagram )

消息的语法格式

• 必须先发生的消息列表。• 条件,在一个方括号中的布尔表达式,表示只有在条件满足

时才能发送该消息。• 消息顺序号,可能有多个消息顺序项。

Page 11: 5.  顺序 图 ( Sequence Diagram )

其他。。

• 图框• Page 168

图框操作符 含义alt 选择性的片段,用于表示保护信息所

表达的交互条件逻辑loop 用于表示保护信息为真的循环片段。

也可以写为 loop(n) 以指明循环的次数。这样能够增强规格说明,用以表示 FOR的循环,例如 loop(i,1,10)

opt 当保护信息为真时执行的可选片段par 并行执行的片段region 只能执行一个线程的临界片段

Page 12: 5.  顺序 图 ( Sequence Diagram )

5. 顺序图( Sequence Diagram )

• 1. 小孙从“淘宝网”某商家卖了一部手机,感觉不合适自己决定退货。请仔细研究“淘宝网”的退货业务规程,请将“客户”、“淘宝网”、“商家”三个对象作为主 要参与者,使用系统顺序图描述“淘宝网”退货的业务的系统功能与业务 实现的基本过程。

• http://service.taobao.com/support/knowledge-1119776.htm

Page 13: 5.  顺序 图 ( Sequence Diagram )

交易进行中买家申请退货退款操作流程

• 如买家有进行中的交易需要退货退款 , 操作流程如下 :

• 1 、申请退款,选择服务类型 - 退货• 3 、退货:

– 提交退款,等待卖家处理– 卖家同意退货,填写退货凭证– 等待卖家确认收货,退款成功

Page 14: 5.  顺序 图 ( Sequence Diagram )

选择交易点击“退款 \ 退货”选择“退货”服务类型

填写退货请求

填写退货凭证

Page 15: 5.  顺序 图 ( Sequence Diagram )

5. 顺序图( Sequence Diagram )

• 2. 在某网上商城系统中,客户可以通过购物车中商品创建订单。请研究从购物车,到提交订单的业务过程,识别以下内容:2.1 记录过程中使用的页面( UI )2.2 从页面中识别业务实体(如,用户收件地址,订单)2.3 假设,系统中有一个订单生成控制器的软件对象,它控制页面流转,处理业务实体信息,保持流程工作状态请用顺序图表示 Actor - UIs - Controller - Entities 之间协作完成创建订单任务的过程。

Page 16: 5.  顺序 图 ( Sequence Diagram )

5. 顺序图( Sequence Diagram )

• 2. 在某网上商城系统中,客户可以通过购物车中商品创建订单。请研究从购物车,到提交订单的业务过程,识别以下内容:2.1 记录过程中使用的页面( UI )2.2 从页面中识别业务实体(如,用户收件地址,订单)2.3 假设,系统中有一个订单生成控制器的软件对象,它控制页面流转,处理业务实体信息,保持流程工作状态请用顺序图表示 Actor - UIs - Controller - Entities 之间协作完成创建订单任务的过程。

Page 17: 5.  顺序 图 ( Sequence Diagram )

BCE ( boundary-control-entity patterns )模式

• 边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要通过边界类来实现。所以,参与者对象只能跟边界对象互动,不能直接发送消息给控制对象或实体对象。

• 控制类:一个用例会生成一个控制类。用来控制用例执行期间的复杂运算或者业务逻辑。主要用来保存问题领域中的重要信息,封装了跟数据结构和数据存储有关的变化。

· 实体类:系统内部的对象。

Page 18: 5.  顺序 图 ( Sequence Diagram )

BCE ( boundary-control-entity patterns )模式

• 针对每一个用例,可以对应生成一个控制类。• 参与者对象只能跟边界对象互动。• 实体对象不能发送消息给边界对象和控制对象。 • 比较特别的是,如果只是单纯对数据表进行增加、删除、修改、查询的话,可

以不设置控制对象,让边界对象直接发送消息给实体对象,以提高整个序列图的执行速度。

Page 19: 5.  顺序 图 ( Sequence Diagram )

业务实体?

• 业务实体是业务角色在进行业务活动时使用或产生的事物,在表现形式上可以是一个文档,或者是一个物品的一部分。

• 比如在技术评审管理流程中,评审申请人将提交评审申请材料,专家将对评审材料提出评审意见,因此我们可确定的业务实体是“评审申请”和“评审意见”。每个业务实体通常具有特定的属性,比如“评审申请”业务实体具有的属性包括:申请人、评审类型、评审材料等信息。

• http://www.uml.org.cn/oobject/201105301.asp

Page 20: 5.  顺序 图 ( Sequence Diagram )

• UIs– 购物车页面– 收件人信息页面– 订单页面

• 控制器• 业务实体

– 订单– 用户收件地址– 商品详情

Page 21: 5.  顺序 图 ( Sequence Diagram )

开始

选择商品

结算

确认用户收件地址

其他步骤

Page 22: 5.  顺序 图 ( Sequence Diagram )

THANKS