流程|讲案例谈体会,教你3步画好时序图( 二 )
实践中,并不需要具体到实例,对象名可以不写。我的做法是,直接写一类对象的名称,如某某系统、某某部门。
2. 生命线每个对象下有一条垂直的虚线,这就是对象的生命线,从上往下,代表时间的先后顺序。
3. 会话会话,也叫激活框,它代表在对象生命线上某个阶段执行的操作,以一个偏窄的矩形表示。
每一次会话,表示一次相对完整的交互过程。不过,怎样算一次会话,实践中有点难区分,需要多练习体会。
我常按照操作的完整度来画,有时甚至不画,有些专业的 UML 工具还能自动生成会话。
4. 消息消息,表示对象之间发送的信息或做的事情。消息,有的分为三种:同步消息、异步消息、返回消息。
从产品层面,并不需要规定技术的实现方式,是同步还是异步,这交给开发人员设计,会更为合理。
因此,我基本只用两种消息来表达:简单消息、返回消息。
1)简单消息
简单消息,用箭头实线,表示一个对象,向另一个对象发的信息,或做的事情。它不强调消息的类型,只表示交互,足以满足大部分情况。
2)返回消息
返回消息,用箭头虚线,表示一个对象,收到另一个对象的信息后,再向其返回的信息,或做的事情。
消息线上方的文字,则是注明传递的消息或执行的动作,一般用动宾短语。
这些对象间的交互消息,画在两个对象的生命线之间。对象自身做的事情,则画在自己的生命线上。
5. 组合框现实业务、系统流程中,总会有特殊情况,不可能完全按时间顺序、一条线走完。
这时,就需要用到组合框(frame)来表示常见的特殊情况,如分支、循环、并行等。
遇到这些特殊情况时,就可以把相应的交互流程放入这个框中。
文章插图
时序图三种常用的特殊结构
三、时序图的画法下面,还是以之前的 「 手机话费充值 APP 」 为例(案例详见《用例图这样画,3步让你做需求分析有理有据》),来了解时序图如何用。
常用的画图工具,有 Visio、ProcessOn ,现在很多在线文档也支持 UML ,如腾讯文档、飞书云文档。
时序图的画法也很简单,一句话就能说完,可是要灵活掌握,还得多加练习。
首先,选定要展开分析的用例或目标;接着,分析都有哪些对象、角色参与了实现过程;然后,将它们在实现目标过程中,彼此之间的交互动作,按照时间轴的顺序列出来。
再简单点,就是定目标、找对象、列消息三步走。
1. 定目标画时序图,与活动图一样,要指定某个用例,或目标展开。这些动态视图,是用来描述在静态视图(如用例图)定义的结构下对象的行为。
本质上,它们都是在描述谁如何参与完成业务目标。
明确了用例或目标,才能保证绘制的流程,边界清晰,过程完整,不会越画越乱。
比如,我们用时序图来分析案例中「 充值话费 」用例的实现过程。这时,就别把「 支付金额 」用例的交互也画进去,把它们画在一起,会增加阅读难度,不利于沟通表达。
文章插图
案例中「 充值 APP」 的系统用例图
2. 找对象之前的文章已经分析出,案例中,充值得有手机运营商支持;支付得对接微信支付、支付宝;协助用户处理未到账,还需要有运营人员介入。
整个充值 APP ,还应包括管理后台系统 ,才能完成相关的管理操作。
因此,先将它们列出来,每一竖列,表示一个对象或角色,每个对象有一条生命线。
为方便阅读,可将流程中最先发起消息的对象放在最左边;再将交互多的对象摆在附近,别隔太多对象,这样画出来的图会更清晰简洁。
- 抖音|合肥恒泽冠雨讲坛:具备什么样的内容是抖音喜欢的
- “生态微距摄影”讲座在贵州科技馆圆满举办
- Java|合肥恒泽冠雨讲坛:哪些方法能够快速输出抖音视频内容?
- 世界智能大会|数字化时代,品牌如何讲好故事?
- InnoDB|一加10 Pro长测:从不将就到不讲究
- 软件|天猫和淘宝哪里不同呢?荆州启中来讲解
- 卢伟冰不讲“武德”,跑分75万+38分钟满电+OIS防抖,12G+256G仅售2364元
- 7月降至|小米发布长文讲述小米摄影光学发展
- 替换函数Replace、Substitute应用技巧案例解读,收藏备用!
- 首席执行官|企业网站的制作流程是什么? 设计和制作一个网站需要多长时间?
