探索流程的奥秘之三, 如何梳理业务流程
探索流程的奥秘之三,如何梳理业务流程
软件开发的难点之一是如何了解客户的需求,现实工作中,开发者们就像瞎子摸象一样从用户的根枝末节来勾画需求,而这一方面耗时巨大,另一方面很难获得完整的需求,于是就有频繁的变更,搞得甲乙双方都痛苦不堪。
于是有了面向对象的“敏捷”开发方法,其特点是利用用例图、类图(对象建模图)、序列图、活动图等各种图示来力图系统性地展示客户需求。这种方法明显比传统的需求析方法进步了很多,对于开发者来说可以更方便的找出需求后面的内在数据联系,但很可惜的是这种方法体系对于客户来说就像“天书符号”,对于初级的项目成员,掌握这种技术也非常困难,很多团队往往因为“道行不够”而陷入困境。
有没有更好的办法使用户和开发者都能很快协调一致呢,答案是需要二者有相同的“语言”来沟通,即应该找到一种二者都能很好理解的需求梳理方法,通过业务流程的描述来进行梳理应该是一个非常好的途径,这是二者能够找到共同的思考点。
但是如何梳理这个业务流程呢? 用户眼中并没有一个流程图的清晰框架,他只知道谁干了什么事,会有什么结果,那么开发者就需要帮助用户对业务流程进行系统化的梳理。我们用如下图示先来看看业务流程的数据内在联系。
这个示意图展示了需求与业务流程的联系,业务在进行中会与各种提交物打交道,而流程的流转是通过操作或者叫任务进行的,这里就可以看到一个业务流程的业务流转过程的大致关系,即提交物、执行人和操作。现实开发中,不论传统的流程图也好还是UML图也好,主要关注的是操作,以及操作间的关系,并都是以操作来确立开发内容,而用户关注的主要是需求与提交物(即操作的结果),因此很难找到交集。
我们是不是可以从其他角度思考问题呢。假设我们从业务发现了一个需求,从需求确立符合需求的操作,并根据操作来确立提交物及执行者,同时基于操作,我们会发现新的操作条件、内容等需求,进而不断深入完整的构建出整个业务流程体系,不就可以在用户和开发者之间找到一个共同语言了吗。 同样,在提交物、执行着方面都会有需求提出,也会不断丰富整个业务流程体系。
业务流程体系的建立不仅对软件开发有帮助,对业务流程的管理也很有帮助,他会帮我们找到业务流程的漏洞,进而找到业务弥补漏洞的可行方法。另外,我们在办理业务时往往被要求提交很多完全没有用处的表格,这可能是原来曾经有相应的操作与需求,后来取消了,但提交物还保留,给我们的客户体验带来很大麻烦,有了这个体系,就可以帮助我们发现那些不再有意义的提交物了。
现实工作中,往往需求很笼统,于是在细化过程中,需求往往被细化为若干子需求,当某个需求完整的被其下所有子需求所描述时,该需求就变成了一个分组的标识而已,这时,在需求细化子需求的过程中,需求的操作也可能被细化,乃至迁移到子需求中。这样就有助于我们精细的梳理业务流程及需求体系了。
再发散一下,对比看上图与UML的关系吧:
- ·用例图自然描述的是操作执行者的操作及操作关系,是以执行者的视角看问题的结果。
- ·状态图顾名思义就是以提交物状态视角看问题了;
- ·活动图或者传统的流程图试图把操作定义个先后顺序(这里面有味道呦,大家可以仔细品味一下,以后再说说这个顺序的缺陷问题),
- ·对于用途最大,也是最有意义的类图(对象建模图),他貌似与提交物有关系,但又似是而非,实际则展示的是另一种关系- 业务间关联,如果我们可以把业务划分为若干子业务,就会发现子业务之间的联系就是这种对象关联,比如考勤业务、休假业务与职员业务之间也是存在着一对多/多对多的关联的。
- ·UML并没有对提交物有什么作为,所以用户很难理解对象的概念,它里面有些数据与提交物有关,但分散在各处的提交物又可能都指向同一字段。所以他在架构设计体系中是存在短板的。
针对这种业务流程梳理模式,我们开发了一款应用构建产品,其采用面向业务开发模式及网状业务流程,相关的文章见博文《面向业务开发应用》
转载于:https://www.cnblogs.com/louisding/archive/2012/11/07/2758121.html
探索流程的奥秘之三, 如何梳理业务流程相关推荐
- 我们为什么要探索人脑的奥秘?
来源:脑科学与智能技术卓越创新中心 4月5日21:30,4月11日9:00,CCTV-2央视财经频道<中国经济大讲堂>特邀中国科学院脑科学与智能技术卓越创新中心学术主任蒲慕明院士深度解读 ...
- camunda流程定义表无数据_BPM - 业务流程管理
1.BPM定义 BPM起源于,20世纪90年代,Michael Hammer和James Champy的成名之作<公司再造>,当时在全美公司领域引发了一股有关业务流程改进的汹涌浪潮.BPM ...
- Python分析10万条基金数据,探索基金定投的奥秘
基金定投这个名词大家都不陌生,喜欢理财的朋友可能都尝试过,今天我想给大家分享是,用python模拟基金定投和普通投的过程,并进行简单比较,探索基金定投的奥秘. 1.分析单支基金定投收益情况 基金数据已 ...
- 探索神经网络的奥秘:如何优化模型和提高训练速度
探索神经网络的奥秘:如何优化模型和提高训练速度 本文将阐述如何优化神经网络模型以提高训练速度,内容分为以下七个章节: 章节 1: 神经网络优化方法概述 章节 2: 调整学习率 章节 3: 网络架构改进 ...
- 探索密码的奥秘_探索神秘的编程语言的奥秘世界
探索密码的奥秘 神秘的编程语言是一种旨在挑战语言设计规范的编程语言. 它是一种旨在表达观点的语言 . 重点可能是什么:挑战本身就是创造一些不寻常的东西,开一个精心的玩笑,创造一种语言作为艺术表达,测试 ...
- C++编程指挥官:探索IDE的奥秘(C++ Commander- Unraveling the My
C++编程指挥官:探索IDE的奥秘(C++ Commander: Unraveling the Mysteries of IDE) 一.引言(Introduction) C++集成开发环境(IDE)简 ...
- 蒲慕明院士:我们为什么要探索人脑的奥秘
来源:学习时报 作者简介 蒲慕明,1948年出生,中国科学院院士,美国科学院外籍院士,现任中国科学院脑科学与智能技术卓越创新中心学术主任,上海脑科学与类脑研究中心主任.他是国际著名的神经生物学家和生物 ...
- 深度计算5大挑战 探索生命的奥秘
生命的奥秘是无穷的,在探索生命的过程中,强大的高性能计算机(HPC)也是必不可少的.随着基于基因.蛋白质和DNA的微观生命科学研究越深入.应用面越广,计算机和信息技术的作用也越大,许多最大规模的超级计 ...
- 老焦专栏 | 用 RACI 模式梳理业务流程,提高业务发布的效率
转载本文需注明出处:微信公众号EAWorld,违者必究. 最近经常在不同场合说,技术发展已经进入深水区.IT 技术发展已经越来越成熟了,尤其在金融行业,以前是解决从无到有的问题,现在该有的系统都有了, ...
最新文章
- python 调用c++ 回调函数
- python爬虫入门代码-Python爬虫入门(一) 网络爬虫之规则
- MySQL-通过MaxScale实现读写分离初探
- 软件工程第四周作业之四则运算-C#实现
- android jni 调用java_Android JNI开发系列(九)JNI调用Java的静态方法实例方法
- mysql 报错3534_win7下安装MYSQL报错:MYSQL 服务无法启动的3534问题
- 99乘法表(java版)
- php 大型网站内链,网站SEO关键词优化如何做好站内链接即网站内链?
- 学习template算法(template matching)以及改进(二)
- linux搭建java开发环境_Linux搭建Java开发环境
- AEJoy —— 表达式之通过 sampleImage() 营造遮蔽效果【JS】
- Dex.top新手使用教程
- 神仙打架!清华公布2020特奖候选人名单,有人三篇顶会一作,还有人...
- plc与计算机怎么网络连接 图,PLC与输入/输出设备的连接图解
- 回忆2012-入坑OpenStreetMap10年纪
- U盘插上后在“安全删除硬件”中不显示的解决方案
- 这6款软件,让你的工作效率提升90%!
- SpringCloud的实用篇
- C语言中字符串用strcmp和==比较的问题
- Socket 【网络通信 - Socket】
热门文章
- Debian Linux下的Python学习——入门
- Javascript中操作cookie
- encoder decoder模型_3分钟|聊一聊 Decoder 模块
- python读excel字体颜色_python操作excel之设置字体颜色及格式
- vuejs页面跳转_【Vue 学习】 VueJS 生命周期
- 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
- 纯python好找工作吗_Python现在好找工作么?
- 数据科学入门与实战:玩转pandas之六时间序列
- mysql 事件计划_mysql 事件计划
- python第五章课后作业_python 入门到实践第五章课后练习