S3-3.1
顺序图的组成。
顺序图(时序图 Sequence Diagram)二维结构与核心元素
必记- 二维坐标含义:强调消息的时间先后顺序——水平方向排列参与交互的各个对象,垂直方向(自上而下)表示时间的流逝。
- 四大组成元素:① 对象/角色(顶部矩形框
<u>对象名:类名</u>或小人);② 生命线(Lifeline)(对象下方垂直延伸的虚线,表示对象存在的时间段);③ 激活期/控制焦点(Activation)(生命线上的窄长条矩形,表示对象正在执行某项操作);④ 消息(Message)(连接生命线的水平带箭头连线)。
随堂自测(3 题 · 共 165 道关联题)展开作答
()是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。
激活表示在这一时间段内对象正在完成此项任务。
时序图可以显示出在协作图中难于描述的事件序列,但不能显示并发进程和激活。()
S3-3.2
顺序图中的消息类型。
顺序图三大消息类型与箭头符号对照(必背)
必记| 消息类型 | UML 箭头样式 | 交互语义 |
|---|---|---|
| 同步消息(Synchronous) | 实线 + 实心三角箭头 | 发送者发出消息后必须阻塞等待接收者处理完毕并返回后,才继续往下执行 |
| 异步消息(Asynchronous) | 实线 + 开放线形箭头(->) | 发送者发出消息后不等待返回,立即继续执行后续操作 |
| 返回消息(Reply / Return) | 虚线 + 开放线形箭头(<--) | 表示同步调用执行结束,向调用方返回处理结果 |
随堂自测(3 题 · 共 48 道关联题)展开作答
操作的调用是一种典型的____。
———是指被调用对象向调用者返回一个值。
异步消息是使用普通实线箭头表示。
S3-3.3
绘制顺序图。
绘制顺序图的步骤与组合片段(alt / opt / loop)
必记- 绘制步骤:① 确定交互上下文与参与对象(从左到右常按:参与者 → 边界类/界面 → 控制类 → 实体类排列);② 沿时间轴自上而下依次画出请求消息、自调用消息与返回消息。
- 常用组合片段框:
opt(可选单分支,相当if)、alt(多分支互斥,相当if-else)、loop(循环重复执行)、par(并行执行)。
随堂自测(2 题 · 共 2 道关联题)展开作答
所有的UML 图都不依赖于元素符号的大小和位置。正确 错误
S 公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S 公司计划为注册的商家提供商品(Commodity)促销 (Promotion)功能。商品的分类(Category) 不同,促销的方式和内容也会有所不同。 注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某·具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。 商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销活动,并选择具体的促销商品,输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统—确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。 系统采用面向对象方法开发,系统的动态行为采用 UML 序列图表示,图 1 是发布促销的顺序图。请根据可选消息列表补全顺序图。 如下是可选消息列表: | 功能描述 | 方法名 | | --- | --- | | 向促销订单中添加所选的商品 | buyCommodities | | 向促销中添加要促销的商品 | addCommodities | | 查找某个促销的所有促销订单信息列表 | getPromotionOrders | | 生成商品信息 | createCommodity | | 查找某个分类中某商家的所有商品信息列表 | getCommodities | | 生成促销信息 | createPromotion | | 生成促销订单信息 | createPOrder | | 查找某个分类的所有促销信息列表 | getCategoryPromodtion | | 查找某商家所销售的所有分类列表 | getCategories | | 查找某个促销所涉及的所有商品信息列表 | getPromtionCommodities |