业务分析与流程设计

如果单纯的做一个画面,其实是不需要什么业务知识的,因为知道长什么样子就好了。而事实上,当一个程序完成的时候,任何画面都不是孤立的,和其他画面有若干联系。理清楚画面之间的联系,就是流程分析的内容。

而设计流程,则需要了解业务逻辑。

业务逻辑的分析,可以从业务概念入手。理清楚业务概念之间的联系就是业务分析。当然业务模型是不断的进化的,业务概念也会随着不断的演进。

一个产品,市场上可能很多人都在做。除了价格和成本外,差异化是有效的竞争手段。而差异化会给产品带来丰富的特性,这就是为什么同样是理财产品,每家都有不同的展示方式。差异化为不同的产品带来丰富的特性,这些特性形成了业务上的概念(一些名词)。

PM 通过分析和数据计算,设计自己的产品,在通用的基本业务概念上,扩展自己的内涵。这样我们的产品模型会独一无二。而且随着行情的变化,会做出不同的调整。因此,产品是日日新,业务是日日新,设计是日日新。

设计和业务是共同进化的。

那么,产品的进化: 产品属性 --> 市场考验 --> 差异化属性 --> 市场考验 --> 差异化属性 --> .... 注意这里的差异化,不仅仅是加法,还可能是减法

为了支持产品的进化: 业务概念 --> 衍生新概念
业务概念 --> 分拆概念 业务概念 --> 合并概念

业务概念变化了,业务流程会衍生很多的分支或者根本性的调整。因为业务流程是基于业务概念的。

为了支持业务流程的进化: 业务概念不是孤立的,和其他业务概念有千丝万缕的联系,和程序代码对应起来: 业务概念 --> 数据对象 - 数据结构 - 数据结构隐含行为 - 与其他数据结构的链接 - 考虑到前端,数据结构的表现形式

组装数据对象就是一个画面,组合不同的画面就是流程设计。

业务概念组成了业务流程。当我们描述业务流程的时候,常常说,当XXX的时候就xxxx样。业务流程的驱动离不开一些业务概念。

一个画面不仅包含一个的数据对象,还有此数据对象链接到得一些对象,有了这些对象,画面内容丰富起来。当我们描述页面流程的时候,常常说,当点击某个按钮,或者查询的数据是某个值的时候,就xxxx样。画面的驱动,离不开UI的交互和数据状态。

对应到数据对象,当某个数据对象发生了某个行为,或者其某个属性是某个值的时候,可以做某些行为(比如说,按钮可以点击);而当触发此行为的时候,又会引起此数据对象,或者另外一个数据对象的某个属性的变更。行为发生以后,需要记录此行为发生的影响,那么需要改变某个数据对象的属性。因此程序运转的本质是,数据对象的在不同的状态之间来回的转换。状态就是数据对象某刻的属性集合,这些属性发生变化的时候,就说状态在不停的变化。

当我们做流程设计的时候,梳理画面之间的跳转关系,其出发点就是画面包含的数据对象的状态。对与前端来说,数据对象的比较小,可以对应到某一个模块,画面包含多个模块,所以接口可以选择性的组合不同的数据对象。

如果数据对象的设计和业务概念对接补上,当业务调整的时候,就需要大规模的重构,甚至推导重来。这中间会浪费掉大量的时间。这就是接口设计的重要性,和业务分析的重要性。打补丁式的重构,只能解一时的痛,最终会将整个程序推上不归之路。

想清楚整个的运作过程,再看如何进行业务分析和流程设计,就很清楚啦。业务分析要理解业务概念,并理清楚业务概念之间的关系。流程设计要做好业务概念和数据对象之间的映射。

转载于:https://my.oschina.net/honchy/blog/524581

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值