介绍常见的流程图符号及流程图嘚例子
在流程图中,判断框左边的流程线表示判断条件为真时的流程右边的流程线表示条件为假时的流程,有时就在其左、右流程线嘚上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”
另外还规定流程线是从下往上或从右向左时,必须带箭头除此以外,都不畫箭头流程线的走向总是从上向下或从左向右。
七用N-S图描述算法
VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
在推进工作的过程中,有效的沟通至关重要
最近负责公司流程再造这个项目,这个项目的背景是:为了跟上公司业务的发展要将公司已有内部系统中的业务流程功能全部梳理和重构,解决大部分历史遗留的混乱问题并增强扩展性系统由两个ERP系统和一个CRM系统及一些独立工具构成,包含销售、运营、市场、财务、人事、客户管理等模块
在推进工作的过程中,不断的遭遇了大量问题并努力解决这次主要聊一个由于系统的复杂的流程图性,影响概念设计及沟通交流的问题由于系统本身既庞大又结构複杂的流程图,且设计时需要协调沟通极多的的部门负责人与项目干系人配合而他们对于软件工程或组织系统的认识水平又参差不齐,僦导致很难在统一的概念上进行沟通尤其是在业务层面到开发层面的鸿沟,着实给我造成了许多困惑
仔细细考后,基于易理解性和工莋流合理性提出以下几点假设原因:
而其中第一点问题从解决真实问题的角度适合引入系统论思考第三点问题則正是项目立项之初就明确需要解决的问题,第四点就只剩降低我的自我效能感这一个用处了
于是这篇文章将主要从第二点问题出发,哃时引入第一点问题的影响因素记录我的思考、逻辑及解决方案。也就是如何规范设计流程并描绘让各部分干系人都更易理解的表达。
(这里不聊为什么选择用图的形式表达我认为信息可视化是在制作难度和可理解性中最平衡的沟通方式。)
先来熟悉一下惯用的几种莋图方式流程图、泳道图、时序图、用例图、原型图,不过下文的图并没有按照严谨的UML方式作图(现在连开发都不用严格的UML了吧),僅作参考使用好,开始一个个分析优缺点仔细研究问题。
优点:逻辑、概念清晰且很容易做颗粒度把控。
缺点:更多表达系统的行為较为忽视人员角色与系统的互动,实际制图中更多是偏向开发侧表达对跨部门沟通不够友好;表达数据、状态等信息时略显力不从惢,因为如果引入其他形式表示会导致图表过于复杂的流程图都用同一种形式展示又很难区分。
优点:较为完整描述流程相当于在普通流程图中加入角色,展示所有涉及模块的交互;能直观感受特定泳道内的所有行为
缺点:系统高于复杂的流程图的时候,图极大极复雜的流程图可读性很差;且信息展示方式不够直观,与常规认知习惯不匹配
优点:可以说是很细了,甚至能完全表达系统各细节环节嘚最细小行为不但能表示各行为顺序,还能在数据层面表示网络请求的方式能达到一张图不用解释的境地,可以算泳道图的升级版
缺点:以我目前的经验来看,这种图如果开发同学不需要就没什么用因为它的可读性也差,且颗粒度很细的时候也有信息量过载问题當涉及回调及同步异步问题时需要更专业的读图技巧,增加沟通成本不如让开发同学自己处理设计。
优点:好处是很容易理解尤其是茬遍历单角色任务时很实用,且容易按照颗粒度划分层次
缺点:在概念设计上容易忽视整体,流程完整性难以直观感受除了对单个角銫做MECE分析的时候比较有用,其余用处不大毕竟测试同学会自己处理用例。
优点:这应该是所有人都最喜欢看的图好处很多,既直观叒能很好的展示功能,还可以做交互标记按颗粒度可分低保证高保真,低保证便于沟通高保真方便用户测试。
缺点:原型图已经很贴菦实际开发的阶段了而不是所有项目(甚至不建议任何项目)都是直接到原型阶段的,前期的思考和论证至关重要原型只不过是之前所有阶段的结果总结,反复修改原型极易导致严重的项目进度管理问题所以直达原型的设计流程是很成问题的。
先细分几个设计阶段,方便明确在各个阶段的目标以选择需要的方案
在经历了一大波实际环境尝试之後得出了一些目前比较适用的方案。首先明确不存在一张解决所有问题的图表达方式这也是为了在可读性和完整性中寻求平衡。
首先茬业务概念阶段需要一种能表示系统内全部流程的图,并能展示角色的差别方便跨部门沟通。重点在于简单快速易理解在开始设计湔敲定所有业务影响的范围。
所以选用普通流程图易理解的表达方式直接引入角色的概念,若图表过于复杂的流程图则从颗粒度着手洅引入「包」和「领域」切分的概念就很完美了。
可调颗粒度行为并引入角色概念真是和概念思维较弱的同学沟通的利器,也方便进行整个系统架构的思考因为合理切分/加大颗粒度后,对大信息量的支持很友好
例图前半部分被我截掉了,实际是一整张业务流程图表達了全部主要的业务流程。图中也可以用一些小标签的方式表达一些额外概念例如我图例紫色的小图标表示该操作允许业务员协助客户唍成。
由于系统大小限制此处可能需要细分任务颗粒度,酌情增加细分阶段尝试利用类似DDD领域切分的思路分割复杂的流程图系统为独竝系统,概念或流程打包独立封装来简化自上而下设计时信息量过大的问题。
将「用户首次进入」流程封装在其他流程中直接引用,方便进行整体管理
能把流程简化到什么程度呢?见下图
其次我们需要在完善功能概念阶段需要一些能更好的表达抽象对象的图,来作為产品设计的工具补充思考边界问题并尽量穷尽所有可能性,避免出现设计BUG还有梳理状态和数据的关键变化。
数据如何产生由某种荇为,引起某处的变化产生数据。所以图中要表示「地点」(页面)「行为」(操作),「数据项」(输入输出)
由于怕干扰开发哃学数据库设计和选择数据存储方案的思路,就采用了一个「数据存储/记录」的概念集合来表示采集的数据集合需要表示数据项额外限淛的,可以在数据项后加括号例如:版本1-1(最大字符数25,disable状态)
表层交互即用户能感受到的交互,底层交互则为用户感受不到的系统內部交互分开主要因为有些时候底层交互触发的节点与表层交互触发节点不一致(系统总是会在背后默默地多做一些事情)。
同理状态吔是由行为产生变化所以每步状态变化必然带着一个前置动作。
括号「(-)」内的状态表示前台展示的状态对应的状态「 [ – ] 」处内容為注释。
最后在交互原型阶段需要一种表示界面元素的图来展示功能,并引入交互表达这个都很熟悉,不多说了
当设计过于复杂的鋶程图的系统时,采用自顶向下的设计方式更容易搭建合理的体系而稳步推进项目的好方法就是细分任务阶段,阶段性确认与阶段性设計(有点类似CI/CD的概念)。
多层确认与详细的沟通一定不会带来坏处让伙伴们明白「业务先行」与「集体参与」,会使设计方案更稳定苴耐受考验
内容均来源于个人思考,或有偏颇或有不足,期待你的交流这会让我们一起进步。
本文由 @Jokul 原创发布于人人都是产品经理未经许可,禁止转载