正在设计一个简单的MIS系统,客户有不高的流程更改需求,于是对工作流就在用与不用之间摇摆了。
实际业务:
1.有流程更改的需求,但是这样的流程变动是不多的,而且变动不会很大
2.有些是不走流程的。比如说一个材料录入,可能在处理整个业务过程中都要有。
3.权限控制比较复杂。比如说一个流程中,后面的步骤一般是不能修改前面的环节录入的信息,但是又有相当一部分要求可以录入(如审批人),还有说定案前与定案后权限分配又不同了。
4.要能表现已经录入步骤的数据。一般说,表现时与录入时是一致的,方便以后的人员调动对系统的学习。
5.流程处理要灵活。有些步骤可以分开来处理,也可以方便地合在一起处理。
而工作流:
1.能灵活控制流程。
2.有比较规则化的权限控制。
3.要用于比较规则化的流程(相对于像材料录入那样的流程)。
要达到实际业务的要求,工作流在与应用结合方面就要做很多的特例处理。问题是做了这些特例处理后,工作流已经失去了那种纯粹性和通用性了。如果要更改一个流程,那么涉及到这些特例处理的,肯定就要更改代码,用与不用效果是一样的,反而工作流导致了系统更复杂,更改与控制更难。
考照了一些网上的系统,大部分都基于Web,而且基本上对我上面说的四个实际系统考虑不全,需要“将就”去用的。
暂时还是决定不全面的使用工作流,而是把它的部分观点应用于系统控制与调度中。