顺序图
顺序图
一、概念
Ⅰ. 基本语法
- 角色:角色还可以表示对象,表示格式为:[对象名]:类名
- 声明线(Lifeline):角色或对象下面的那条虚线
- 激活框(Activation Box):激活框也叫会话,依次会话表示一次交互
- 消息(Message):表示指出角色对被指向角色做了什么事情
- 返回值(Return Value):通常表示为响应消息后反馈某个东西给对方
Ⅱ. 简单概念
- 任何复杂的交互其实都是可以分解为自己与自己、自己与别人、别人与别人的对各简单交互。
- 顺序图其实就是以图形的方式将复杂的交互按时间顺序分解。
- 顺序图基本语法很简单,有角色(对象)、生命线、激活框、消息、返回值。
- 顺序图的读法是由上到下、由左到右。
二、业务流程
Ⅰ. 点餐顺序图
顾客向服务员点菜后,服务员向厨师下单,初始做好菜后,服务员取菜给顾客。
Ⅱ. 练习
继续画出“指示买单”和“付款”者两个事情背后的故事
Ⅲ. 用顺序图发掘业务流程的建议
- 分析出什么角色参与到这个流程。
- 分析各角色在这流程中担当的职责、各角色的专业特色。
- 将流程分解为角色与角色之间的交互,想清楚各角色之间的“接口”是怎样实现的。
- 用顺序图按时间顺序将这些“交互”组织起来。
- 在上述过程中,不断思考业务流程的合理性,是否可以优化和重组?
三、体会顺序图的粒度控制
【练习】请你用顺序图描述出你通过ATM取款的过程,不需要考虑ATM背后的故事,也不需要考虑异常情况
左图:详细记录了每个步骤,几乎是事物大小全部都记录下来
右图:记录的内容比较简单和概括
在实际工作中,业务分析要抓住核心问题、重点内容、难点内容,我们希望能真正理解核心业务流程,打通各种理解难点,顺序图要用到刀刃上。
四、顺序图的循环和分支
Ⅰ. frame的使用
- 嵌套层次达到两层以上时,很难画出来,就算画出来也难读懂。
- 没有嵌套情况是比较容易画的,如果有特殊流程可以用注解(Note)说明,或者另外画一个顺序图来说明,这样表达其实会更加清晰易懂。
Ⅱ. 循环与分支结构的用法:
- 先用顺序图画出主要流程,用注解或文字说明特殊流程。
- 如果特殊流程也很重要,那么我会在用一个顺序图来表达。
- 分支很多并且都比较重要时,我会首选活动图而不是顺序图。
Ⅲ. 【练习】提款机
- 插入卡,输入密码。
- 密码正确,进入下一步菜单。
- 密码不正确,提示再次输入密码。
- 三次输入不正确,吞卡。
第一种
第二种
五、购买地铁票——活动图与顺序图的比较
Ⅰ. 【练习】购买地铁票
- 你需要先问地铁服务员到目的站的价钱。
- 你没有隐蔽,而地铁售票机只接受硬币,你需要赵服务员换硬币。
- 得到硬币后,你到售票机购买车票。
活动图
顺序图
Ⅱ. 顺序图和带泳道的活动图的业务场景
- 没有说明特殊流程或需要强盗主干流程时,偏好用顺序图。
- 发唔知比较多,或者需要强调各种特殊情况时,我会使用活动图。
- 有时候不知道用哪种图合适时,我会同时使用两种图来表达同一个事情,仔细考虑再做取舍。
- 有时候为了从不同角度表达清楚,我会同时用两种图表达同一个事情,互为补充。
六、流程分析三剑客
Ⅰ. 顺序图的特点:
- 情调角色之间的交互,信息传递很明确。
- 强调按时间顺序分别发生了什么事情。
- 不太适合表达复杂的特殊流程(循环分支、条件分支、可选分支).
Ⅱ. 活动图的特点:
- 强调每个角色做了什么事情,这些事情的先后关系。
- 适合表达各种特殊流程,如分支、并发等。
Ⅲ. 状态机图的特点:
- 事情围绕某东西开展。
- 该东西有不同的状态,状态会因为发生了一些二事情而变化。
Ⅳ. 实际工作中如何在活动图、状态机图、顺序图中取舍呢?
- 如果事情是围绕某个东西开展的,可以考虑用状态机图。
- 如果事情不是围绕某个东西开始的,状态机图的能不适合,可考虑用顺序图或者活动图。
- 如果没有复制的特殊流程,可考虑顺序图。
- 如果有较复制的特殊流程,可考虑活动图。
- 不要限制自己只能用一种图,可同时使用两种甚至三种图,从多个角度来分析问题,稍后再适当取舍。
七、通信图——顺序图的另外一种表示方式
八、练习
【1-1】一级审批,不考录异常流程 【1-2】多级审批(二级),不考虑异常流程
【1-3】多级审批(二级),考虑异常流程
【3】将“多级审批,不考虑异常流程”转换为通信图