精华内容
下载资源
问答
  • 探索流程的奥秘之三,如何梳理业务流程 软件开发的难点之一是如何了解客户的需求,现实工作中,开发者们就像瞎子摸象一样从用户的根枝末节来勾画需求,而这一方面耗时巨大,另一方面很难获得完整的需求,于是就有...

    探索流程的奥秘之三,如何梳理业务流程

            软件开发的难点之一是如何了解客户的需求,现实工作中,开发者们就像瞎子摸象一样从用户的根枝末节来勾画需求,而这一方面耗时巨大,另一方面很难获得完整的需求,于是就有频繁的变更,搞得甲乙双方都痛苦不堪。

            于是有了面向对象的“敏捷”开发方法,其特点是利用用例图、类图(对象建模图)、序列图、活动图等各种图示来力图系统性地展示客户需求。这种方法明显比传统的需求析方法进步了很多,对于开发者来说可以更方便的找出需求后面的内在数据联系,但很可惜的是这种方法体系对于客户来说就像“天书符号”,对于初级的项目成员,掌握这种技术也非常困难,很多团队往往因为“道行不够”而陷入困境。

           有没有更好的办法使用户和开发者都能很快协调一致呢,答案是需要二者有相同的“语言”来沟通,即应该找到一种二者都能很好理解的需求梳理方法,通过业务流程的描述来进行梳理应该是一个非常好的途径,这是二者能够找到共同的思考点。

            但是如何梳理这个业务流程呢? 用户眼中并没有一个流程图的清晰框架,他只知道谁干了什么事,会有什么结果,那么开发者就需要帮助用户对业务流程进行系统化的梳理。我们用如下图示先来看看业务流程的数据内在联系。

     

     

            这个示意图展示了需求与业务流程的联系,业务在进行中会与各种提交物打交道,而流程的流转是通过操作或者叫任务进行的,这里就可以看到一个业务流程的业务流转过程的大致关系,即提交物、执行人和操作。现实开发中,不论传统的流程图也好还是UML图也好,主要关注的是操作,以及操作间的关系,并都是以操作来确立开发内容,而用户关注的主要是需求与提交物(即操作的结果),因此很难找到交集。

             我们是不是可以从其他角度思考问题呢。假设我们从业务发现了一个需求,从需求确立符合需求的操作,并根据操作来确立提交物及执行者,同时基于操作,我们会发现新的操作条件、内容等需求,进而不断深入完整的构建出整个业务流程体系,不就可以在用户和开发者之间找到一个共同语言了吗。 同样,在提交物、执行着方面都会有需求提出,也会不断丰富整个业务流程体系。

            业务流程体系的建立不仅对软件开发有帮助,对业务流程的管理也很有帮助,他会帮我们找到业务流程的漏洞,进而找到业务弥补漏洞的可行方法。另外,我们在办理业务时往往被要求提交很多完全没有用处的表格,这可能是原来曾经有相应的操作与需求,后来取消了,但提交物还保留,给我们的客户体验带来很大麻烦,有了这个体系,就可以帮助我们发现那些不再有意义的提交物了。

            现实工作中,往往需求很笼统,于是在细化过程中,需求往往被细化为若干子需求,当某个需求完整的被其下所有子需求所描述时,该需求就变成了一个分组的标识而已,这时,在需求细化子需求的过程中,需求的操作也可能被细化,乃至迁移到子需求中。这样就有助于我们精细的梳理业务流程及需求体系了。

    再发散一下,对比看上图与UML的关系吧:

    • ·用例图自然描述的是操作执行者的操作及操作关系,是以执行者的视角看问题的结果。
    • ·状态图顾名思义就是以提交物状态视角看问题了;
    • ·活动图或者传统的流程图试图把操作定义个先后顺序(这里面有味道呦,大家可以仔细品味一下,以后再说说这个顺序的缺陷问题),
    • ·对于用途最大,也是最有意义的类图(对象建模图),他貌似与提交物有关系,但又似是而非,实际则展示的是另一种关系- 业务间关联,如果我们可以把业务划分为若干子业务,就会发现子业务之间的联系就是这种对象关联,比如考勤业务、休假业务与职员业务之间也是存在着一对多/多对多的关联的。
    • ·UML并没有对提交物有什么作为,所以用户很难理解对象的概念,它里面有些数据与提交物有关,但分散在各处的提交物又可能都指向同一字段。所以他在架构设计体系中是存在短板的。

           针对这种业务流程梳理模式,我们开发了一款应用构建产品,其采用面向业务开发模式及网状业务流程,相关的文章见博文《面向业务开发应用》

    转载于:https://www.cnblogs.com/louisding/archive/2012/11/07/2758121.html

    展开全文
  • *状态机图VS业务流程图1、概念上的区别2、节点内容的区别3、关注点的区别4、适用场景的区别1.2 应用【举例】自动售货机1.3 画图要素的表示:要素的命名:设计:2)实例训练2.1 外卖订单的简单状态机图2.2 电商订单...


    1)什么是状态机?

    状态机(State Machine)是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型

    简单来说,状态机其实就是状态转换图,可以很清晰地表达整个状态的流转。

    • 如果流程围绕某个事物的状态变化进行,就该用到状态机图。
    • 一个状态机图中只描述一个事物,该事物有多个状态,不同的动作作用到状态上导致状态的转换

    从PM的角度:状态机用来表示业务实体的全部状态以及相互间如何转移。

    • 其中,业务实体是指客观上可以相互区分的事物,比如订单、优惠券、商品、活动……

    1.1 四个要素

    • 状态(state):

      一个状态机至少要包含两个状态。
      • 例如,自动门有 open 和 closed 两个状态。
    • 事件(event):

      事件就是执行某个操作的触发条件或者口令。
      • 例如,对于自动门,“按下开门按钮”就是一个事件。
    • 动作(Action):

      事件发生以后要执行动作。
      • 例如事件是“按开门按钮”,动作是“开门”。
      • 编程的时候,一个 Action 一般就对应一个函数。
    • 变换(transaction):

      从一个状态变化为另一个状态。
      • 例如,“开门过程”就是一个变换。

    从PM的角度:状态机可归纳为4个要素,即现态、条件、动作、次态。

    • 现态:是指当前所处的状态。
    • 条件:又称为“事件”。
      • 当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。
    • 动作:条件满足后执行的动作,动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。
      • 动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。
    • 次态:条件满足后要迁往的新状态。
      • “次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

    这样的归纳,主要是出于对状态机的内在因果关系的考虑。

    • “现态”和“条件”是因
    • “动作”和“次态”是果

    *状态机图VS业务流程图

    1、概念上的区别

    • 流程图:用于表示完成某件事情中的各个活动过程

      • 其中最重要的部分是处理(process)单元

    • 状态图:描述一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态之间的转移

      • 其最主要的就是程序目前的状态,每一个状态总结记录程序由开始到目前所有接到的输入。

    2、节点内容的区别

    • 流程图的节点为动作,状态机的节点为状态。

    3、关注点的区别

    • 流程图更在意动作是如何完成的,状态图更重视动作的完成,相较不在意是哪一个程序完成的。
      • 因此,当状态图中某一个状态下少考虑了哪一个输入事件,我们可以很快地检查出来,但如果在流程图上,我们就无法分辨了。

    4、适用场景的区别

    • 因此,状态图比较适合对象导向的程序,流程图则比较适合描述程序导向或是数据处理的程序。

    1.2 应用

    可以应用到各个层面上,例如硬件设计,编译器设计,以及编程实现各种具体业务逻辑的时候。

    【举例】自动售货机

    做一下简化,假设这是一台只卖2元一瓶的汽水的售货机,只接受五毛和一块的硬币。

    • 初始状态是”未付款“,中间状态有”已付款5毛“,”已付款1块“,”已付款1.5块“,”已足额付款“,四个状态。
    • 状态切换的触发条件是”投一块硬币“和”投5毛硬币“两种,”到达足额付款“状态。
    • 还要进行余额清零和弹出汽水操作

    所以如果画出一张完整的状态转换图,也会是比较复杂的一张图了。

    • 而实际中的售货机对应的状态机就会更加复杂了。

    1.3 画图

    要素的表示:

    • 开始:一般用实心黑圆点表示,代表状态图的起始位置。
    • 结尾:一般用实心黑圆点外包一个圆圈表示,是一个状态的终止点。
    • 状态:使用圆角矩形表示。
    • 条件:使用有向线条上的文字表示,比如系统怎么样,或者用户执行xx动作。
    • 状态迁移:用有向线条表示。

    在这里插入图片描述

    要素的命名:

    • 状态:建议以”已+动词”的结构来命名,比如已付款、已发货。
    • 条件:建议以”动作+结果”的动宾结构或者”表达式”来命名,以明确状态迁移的具体条件。
      • 比如支付失败、下单时间>72小时。
    • 注意命名一般站在用户立场,尽量命名标准化。

    设计:

    • 理解业务实体有多少种状态
      • 不需要的状态尽量去除
      • 注意不要遗漏状态
      • 明确只有一个初始状态,终止状态可能有多个
    • 考虑每一个状态因为什么条件而变化
      • 合理实现各个状态之间的切换
    • 将状态和状态之间用条件有向连接
    • 形成状态机图
      • 方便扩展,状态有可能会增加,有可能会有子状态机

    注意:不要搞混动作和状态的区别,命名本身就不一样。而本质上动作是不稳定的,一旦执行完毕就结束了;而状态是稳定的,只要没有外部条件触发。



    2)实例训练

    2.1 外卖订单的简单状态机图

    外卖app为例:制作了一个订单的简单的状态机图,以订单的状态变更推动。

    1、确定包含哪些状态:

    • 待付款
    • 订单关闭
    • 待接单
    • 待配送
    • 待评价
    • 待退款

    2、相关的条件:

    • 付款
    • 超时
    • 取消
    • 商家接单与否
    • 配送成功与否
    • 退款成功与否

    在这里插入图片描述

    2.2 电商订单状态图

    1、状态:

    • 待付款
    • 已付款
    • 订单关闭
    • 待发货
    • 待收货
    • 申请退货
    • 待退款
    • 待评价

    2、条件:

    • 是否付款
    • 是否发货
    • 是否退货
    • 退款成功与否
    • 退货同意与否

    在这里插入图片描述

    测试点梳理:

    1、正常场景:

    • 选择商品创建订单,订单状态更改为:待付款状态
    • 待付款订单进行支付,订单状态更改为:待发货状态
    • 后台选择待发货状态的订单填写快递公司、快递单号进行发货,订单状态更改为:待收货状态
    • 前台点击确认收货,订单状态更改为:待评价状态
    • 前台提交评价,订单状态更改为:已完成状态

    2、异常场景:

    • 待支付的订单超过三天未支付,订单状态更改为:已取消状态
    • 待支付状态的订单后台操作取消订单,订单状态更改为:已取消状态
    • 待支付状态的订单前台操作取消订单,订单状态更改为:已取消状态
    • 待支付状态的订单前台修改订单信息,修改成功
    • 待支付状态的订单后台修改订单信息,修改成功
    • 待发货状态的订单后台操作取消订单,订单状态更改为:待退款状态
    • 待发货状态的订单前台操作取消订单,订单状态更改为:待退款状态
    • 待发货状态的订单前台修改订单信息,修改成功
    • 待发货状态的订单后台修改订单信息,修改成功
    • 待收货状态的订单超过15天未确认收货,订单状态更改为:待评价状态
    • 待评价的订单超过七天未评价,默认好评,订单状态更改为:已完成状态
    • 待收货状态的订单操作退还货,生成退还货单
    • 待评价状态的订单操作退还货,生成退还货单

    3、安全性:订单信息的篡改等

    4、兼容性:web、app

    5、性能:

    • 多用户并发下单
    • 提交订单、取消订单、申请退款、申请退货的响应时间

    6、可靠性:

    • 多用户长时间运行多次提交订单等功能

    7、模块关联:

    • 优惠券
    • 库存
    • 物流
    • 第三方平台支付


    【部分内容参考自】

    • 什么是状态机?:https://zhuanlan.zhihu.com/p/47434856
    • 流程图、顺序图、状态图他们三者分别解决什么样的问题?:https://www.zhihu.com/question/23356888
    • 如何绘画状态机来描述业务的变化:http://www.woshipm.com/pd/594751.html?winzoom=1
    • 电商项目订单状态变更的测试点:https://blog.csdn.net/qq_33180069/article/details/113338577
    展开全文
  • RACI这种方式就是我说的业务抽象,把流程的开发与流程梳理紧密结合起来, 提高业务发布的效率。当然,提高业务发布效率的手段还有很多,我会陆续分享。 我用这个示例来解释深水区,未来遇到的问题,往往不够明确、...
        

    640?wx_fmt=jpeg

    转载本文需注明出处:微信公众号EAWorld,违者必究。


    最近经常在不同场合说,技术发展已经进入深水区。IT 技术发展已经越来越成熟了,尤其在金融行业,以前是解决从无到有的问题,现在该有的系统都有了,是解决进一步发展的问题。所谓深水区就是用原来单纯技术突破的方式不行了。例如有些企业,早年用流程系统解决了无纸化办公的问题,可下一个阶段做什么呢?


    类似问题,在很多客户那里都存在,他们希望IT公司能帮助他们面向未来,找到新的发展方向。但是,由于他们自身已经进入深水区,近年来涌现的很多技术,对他们的帮助并不是很直接,很难像当年一样,某项技术能立竿见影解决问题了。这里我来比较一下:当年,使用关系数据库立刻解决了大规模数据存储问题,别的不用想,研究好Oracle/DB2/Sybase/Informix就够了,而现在懂 Hadoop 的体系结构不够,你要知道客户的数据在哪里、业务如何优化,如何支持决策,这些连客户自己也说不清;再如,当年使用应用服务器立刻解决了C/S架构客户端难以维护的问题,业务可以更好的通过互联网发布了,价值清晰可见,但现在微服务/分布式的一系列技术,都是希望用来解决高并发、易维护的问题,做起来却不是立竿见影产生效果的,一来很多模式需要仔细推敲、设计(比如应用如何拆分等等,设计不好起不到效果),对人的要求高;二来做了类似良好设计后会发现,原来的技术也是可以做到的,用了新的技术好在哪里。


    究其原因,进入深水区后,这些问题会变得离散化、隐形化,解决起来不再立竿见影,而是牵一发动全身、进退两难。在我看来,虽然问题更复杂了,但 IT 提高业务效能、适应业务灵活变化、提供决策依据、提高开发效率、提高软件质量、提高发布效率这些要求并没有变,这就需要我们更加深入分析问题,提高对业务的抽象能力,从问题中抽象出解决方案。我写的一些东西也都是类似的一些抽象,希望能从业务中抽象出若干模式,用这些模式解决深水区遇到的问题。


    举一个流程业务抽象模式的例子,希望能够缩短流程类业务的上线周期。金融业务多是以流程为表现形式,以往我们对流程的设计就是一个接一个环节,顺序执行下去,这种方式更多是技术语言、编码方式,业务和技术的沟通成本很高,信息传递上经常有缺失,导致流程上线效率不高。


    RACI,就是在流程应用中抽象出的业务模式。这个词学过 PMP 的同学都知道,是用来明确组织过程中各个角色及其相关责任的方法,其中:


    • 谁负责(R = Responsible),即负责执行任务的角色,他/她具体负责操控项目、解决问题。

    • 谁批准(A = Accountable),即对任务负全责的角色,只有经他/她同意或签署之后,项目才能得以进行。

    • 咨询谁(C = Consulted),拥有完成项目所需的信息或能力的人员。

    • 通知谁 (I =Informed),即拥有特权、应及时被通知结果的人员,却不必向他/她咨询、征求意见。


    看一个请假流程,这个流程中 R 可以当作提交申请单的人,各级审批就是 A,行政部门就是 I,C这个类型有点不好理解,其实就是能够帮助 R、A 完成工作的人,例如审批的时候我可以咨询一下人事部门某人。


    640?wx_fmt=png


    在这一个操作流程中,分清楚R、A、C、I,就可以用一个表格来表示流程,而这个表格是可以生成一个技术上的流程定义:


    640?wx_fmt=png


    上述流程,用一张表就可以表述出来,这种方式更容易与业务方进行沟通。如果我们分析一下目前企业的操作流程会发现,绝大多数可以用 RACI 表格模式体现出来,如果是这样,我们以后可以不再画上面那样技术的流程,直接用这种表格方式与用户沟通需求。


    这样做的好处是:


    1. 在大型企业中,这样的方式业务更容易理解,因为岗位职责清晰,便于确定需求、优化流程、方便审计。本来大企业的流程管理就是用类似的思维在考虑问题,尤其是审计/风控部门,他们就是关注 RACI 和条件的,更加一目了然,沟通需求的时间会大大缩短,可以想象一下,把所有流程都写成 Excel 进行讨论、审批,而不是用一张张流程图,效率会有多高,想达到每天一支甚至多支流程,就是要用这种流程集中梳理讨论的方式;

    2. 这个表格可以生成技术流程的定义,而不是程序员再画,这样就可以把一些处理模式固化到翻译的流程中,提高适应变化的能力。例如上图中,行政部门归档是 I,归档方式可能是数据库插一条记录,也可能是邮件通知,这都是可以变成 I 处理的固定模式。


    RACI这种方式就是我说的业务抽象,把流程的开发与流程的梳理紧密结合起来,提高业务发布的效率。当然,提高业务发布效率的手段还有很多,我会陆续分享。


    我用这个示例来解释深水区,未来遇到的问题,往往不够明确、直接,需要根据业务进行抽象,转换为简化的技术实现手段,而不是说直接根据业务需求翻译成技术实现。如果从单纯技术编码的角度看,这种方式漏洞百出,但从业务视角看,他却是丰满的,所以最后要说一下,实在不能满足的情况,我们还有编码这样一个退路,不要求全责备。


    往期专栏文章


    分布式架构中数据一致性常见的几个问题

    区块链技术的本质是分布式数据库

    老焦专栏 | 如何做一个有说服力的方案?


    640?wx_fmt=png关于作者焦烈焱,普元信息CTO,致力于技术创新和金融创新解决方案研究。专注于企业技术架构领域,对分布式环境的企业计算、 企业信息架构的规划与实践有着丰厚经验,带领普元技术团队相继在云计算、大数据及移动开发领域取得多项突破,并主持中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。


    640?wx_fmt=jpeg关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。长按二维码关注!


    5月24日(本周五)下午14:30,普元主任架构师顾伟将为大家带来《普元DevOps 5.3 GA 线上发布会》,敬请期待。


    640?wx_fmt=jpeg

    展开全文
  • 程序员基本操作指南1- 转载于:https://www.cnblogs.com/difs/p/9246328.html

    程序员基本操作指南1-

    转载于:https://www.cnblogs.com/difs/p/9246328.html

    展开全文
  • 5W2H,帮助你梳理产品业务流程

    千次阅读 2018-06-30 10:52:29
    大家好,我是IT修真院深圳分院第8期的学员,一枚正直纯洁善良的PM,今天给大家分享以下知识点是修真院pm任务十一中的关于分析业务流程的小技巧设计过程主要分为以下五个阶段:梳理业务流程:主要运用5W2H的方法获取...
  • 业务流程梳理

    2019-11-11 17:29:11
    根据参数生成json文件 { "content":[ { "reader":{ "name":"mysqlreader", "parameter":{ ...
  • IBM业务流程梳理培训

    2013-08-20 10:10:24
    IBM业务流程梳理培训,内容绝对实用,写的非常好,希望大家能够有所收获。
  • 这一款新营销系统业务流程梳理项目专为客户需求而设计,随着内外环境变化而变化,欢迎大家下载新营销系统...该文档为新营销系统业务流程梳理项目,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 国内某咨询公司业务流程梳理报告以持续提高组织业绩为目的,只为给你最适合、最想要国内某咨询公司业务流...该文档为国内某咨询公司业务流程梳理报告,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载...
  • 俗话说流程决定绩效,而这一款整理发布的XX建筑设计院关键业务流程梳理报告定能给你最好的流程...该文档为XX建筑设计院关键业务流程梳理报告,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 俗话说流程决定绩效,而这一款整理发布的国内某咨询公司业务流程梳理报告PDF定能给你最好的流...该文档为国内某咨询公司业务流程梳理报告PDF,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 俗话说流程决定绩效,而这一款整理发布的建筑设计研究所关键业务流程梳理报告PPT定能给你最好...该文档为建筑设计研究所关键业务流程梳理报告PPT,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • XX建筑标准设计研究所业务流程梳理报告以持续提高组织业绩为目的,只为给你最适合、最想要XX建筑标准设计...该文档为XX建筑标准设计研究所业务流程梳理报告,是一份很不错的参考资料,具有较高参考价值,感兴趣的...
  • 以前看到过一个流程梳理工具,还没有细研究,但感觉还行,推荐给大家梳理...Sam是主要由炎黄盈动开发和维护的一款业务流程梳理建模工具软件,可以永久性的免费使用和不以盈利为目的的分发这个工具。Sam为梳理业务...
  • XX电力公司人力资源管理业务流程梳理项目建议书PPT以规范化构造端到端的卓越业务流程为中心,致力于打造...该文档为XX电力公司人力资源管理业务流程梳理项目建议书PPT,是一份很不错的参考资料,具有较高参考价值,...
  • 整理发布的国内某咨询公司业务流程梳理报告(用ARIS建模)以实现多、快、好、省为目标,欢迎大...该文档为国内某咨询公司业务流程梳理报告(用ARIS建模),是一份很不错的参考资料,具有较高参考价值,感兴趣的可以...
  • 人力资源管理业务流程梳理项目建议书,PPT写得还可以。
  • 一般而言,对于一个业务系统的开发过程,可以划分成:需求、设计、...流程设计建模主要是对流程需求进行梳理,要使用可操作的技术来描述业务流程场景。业务需求建模是否合理,直接影响到流程的技术实现,在流程设计过程
  • 这是早前实习期间做的一个登录注册流程的优化,主要是关于登录注册的业务流程图(Transaction Flow Diagram)梳理,包括短信验证码登录、账号密码登录、第三方登录、忘记密码、图形验证码等以及注意的一些情况。...
  • XX公司ERP业务流程梳理和改进措施报告;汇报内容;1.1 总体思路;1.2 工作过程回顾;汇报内容;2.1 基础数据管理;2.2 研发;2.3 销售;2.4 计划(总体;目前多级计划说明;1工厂;2工厂;工具备件;采购计划;2.5 生产组织(车间...
  • 流程梳理

    万次阅读 2014-04-15 11:06:43
    因为CIO们在推进IT项目时候,不理解业务流程、企业业务流程不清晰、业务流程和IT功能怎么结合使用,这些问题给IT项目的推进带来了很大的阻碍,所以希望我能分享一些经验。一、流程的本质流程是什么?是岗位和岗位、...
  • 调用支付接口-->校验参数、签名-->生成订单信息返回给页面-->返回给客户对应的收银台页面url-->客户跳转到url-->页面进行支付-->系统真正支付接口(重新校验,防止二次篡改) ...
  • ;汇报内容;1.1 总体思路;1.2 工作过程回顾;汇报内容;2.1 基础数据管理;2.2 研发;2.3 销售;2.4 计划(总体;目前多级计划说明;1工厂;2工厂;工具备件;...可借鉴的敏捷制造系统关键业务流程;流程优化目标
  • 是一个国内著名某咨询公司做的企业业务流程梳理报告,该报告可以作为企业业务流程梳理、建模、仿真的样例模板。
  • 导读:本文是阿里云RPA(机器人流程自动化)干货系列之五,详细介绍了在开发阿里云RPA机器人应用之前对客户的业务流程进行详细、全面地梳理,并识别出流程中的关键点和换位思考点,为后续应用开发打好基础。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,353
精华内容 541
关键字:

梳理业务流程