340 likes | 1.58k Views
5. 顺序 图 ( Sequence Diagram ). 数媒 2 班 11331412 赵延霞 11331321 吴湧霖 11331423 郑鑫伟 11331362 姚毅华. 顺序图?时序图?序列图?. 是一种 UML 行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。. 组成元素. 角色 对象 生命线 激活期 消息. 1 、角色( Actor ). 系统角色,可以是人或者其他系统,子系统。.
E N D
5. 顺序图(Sequence Diagram) 数媒2班 11331412 赵延霞 11331321 吴湧霖 11331423 郑鑫伟 11331362 姚毅华
顺序图?时序图?序列图? • 是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
组成元素 • 角色 • 对象 • 生命线 • 激活期 • 消息
1、角色(Actor) • 系统角色,可以是人或者其他系统,子系统。
2、对象(Object) • 对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。 • 对象一般包含以下三种命名方式: • 第一种方式包含对象名和类名。 • 第二种方式只显示类名不显示对象名, 即为一个匿名对象。 • 第三种方式只显示对象名不显示类名。
3、生命线(Lifeline) • 生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。
4、激活期(Activation) • 激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。
5、消息(Message) • 消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。
UML三种消息 • 同步消息:发送者等待接收者。 • 异步消息:消息发送后,发送者继续操作,不等待接受者响应,常用于并发。 • 返回消息:表示消息的返回。一般同步(过程调用)的返回不需要画出,直接隐含,而异步返回则可用它。(注:如果异步消息有返回消息,必须明确表示出来)
消息的语法格式 • 必须先发生的消息列表。 • 条件,在一个方括号中的布尔表达式,表示只有在条件满足时才能发送该消息。 • 消息顺序号,可能有多个消息顺序项。
其他。。 • 图框 • Page 168
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 • 购物车页面 • 收件人信息页面 • 订单页面 • 控制器 • 业务实体 • 订单 • 用户收件地址 • 商品详情
开始 选择商品 结算 确认用户收件地址 其他步骤