事项审批设计过程

一、流程的变更



1、5月5日,需求分析人员根据前期工作,流程画出的流程图,提交客户确认。
需求人员询问:“请领导审核一下,特别是:1、审批不同意后的处理流程。2、问号处的流程处理。”


2、5月25日客户回复需要修改,分管领导和财务分管领导不同意之后不流转到主要领导,而是财务科长直接通知大队。另外,问号处的问题依旧没有得到明确答复。



由流程变更的过程可以看到,因为对业务领域的理解、时间问题、单位结构等诸多因素,和客户交流可能是一件效率非常低的事情。如以上例子,20日只确定了一件事情。而我们在此之间设计、代码、测试只能等吗?未必。这就要通过抽象业务,直接捕获用户的本质需求,方能实现收敛的迭代开发。

二、收敛的迭代开发——抽象的捕获本质需求
引用百度“抽象”词条:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。



具体本例,从图中找出反复出现的因素,得出的共性有:1、蓝色方框可以归纳为“审批操作”;2、箭头归纳为“跳转”;3、“审批操作”基本上又可以归纳为“某某人”进行“审批操作”;4、根据箭头“跳转”又可以得出单条件、双条件、三条件跳转。
……
好了,根据目前情况,我们起码能确认的是——系统关乎于“审批”、“审批操作”、“跳转”等概念。经过一轮抽象之后,得出的产物基本上很稳定,下一轮新的需求,新的抽象,新的产物出现后,起码不会推倒之前的劳动成果,而只是局部细节的稍微改动,这样就能实现收敛的迭代过程。
最后,贴出根据实际业务规则,“丰满”后的设计类图。


这个案例很好,这是一个与时间有关的流式系统,可以用工作流之类概念。

抽象时要注意时间与空间的区别。动与静结合。