Posted on 2010-07-16 11:47
delvin 阅读(296)
评论(0) 编辑 收藏 所属分类:
工作流
1.目的和意义
在实现工作流系统过程中,我们发现工作流系统中如何自动产生任务,如何分派,如何完成,如何和其他任务集成是一个复杂的问题。
要想能解决这些复杂的问题,没有一个完整的概念模型,在开发过程中就会出现需要的功能彼此冲突,顾得了这个就顾不了那个,程序员就会处于顾此失彼的状态。而这些问题的解决需要在逻辑层面,也就是概念层面,而不能延迟到实现层面,及编码层面。
有了任务概念模型,我们从模型就可以判断它的处理能力和功能。
2.任务模型需要考虑的层面
从
现实任务分析-工作流系统之一 这篇文章中,我们可以发现,即使一个简单的流程涉及的任务也是很复杂的,需要考虑的方面非常多。我们只有对这些层面进行深入的分析才能设计出一个较好的任务概念模型。
下面我们具体分析任务涉及的各个方面,并提出在模型中如何表达。大体分为:
任务产生
任务传递
任务状态
任务关系
2.1 任务产生
在现实中任务的产生非常复杂。自己可以给自己创建任务,比如,我想去看刚上映的电影,我就给自己周么设定一个任务,去买电影票。还有些任务是从其他人那儿分派来的,有些任务是有其他任务分拆来的。若在软件系统中,有些任务是本软件系统产生(自动或手工),有些任务是有其他系统产生的。在工作流系统中,经常就遇到工作流系统本身产生的任务和从其他系统创建的任务问题,而客户希望在他的任务列表都一样的显示出来,并能处理。
通过上面简单的描述,我们应该能感觉到任务产生的复杂性。为了对任务产生进行抽象,我们引入两个概念,任务来源和任务产生方式。
任务来源用来表达任务是从哪里来的,比如来自工作流系统,来自张三,来自行政部。任务来源不限于就是人。在现实中,我们经常遇到某个部门的人给你下达任务,这个任务虽然是那个具体的人给你下达的,但实际上应该属于那个部门下达的,即使没有他,其他人在那个岗位也会下达,那个人只是一个代理人,毕竟部门不能说话。
任务产生方式表达任务是怎么产生的,这个已经有点考虑到软件系统了。在现实中,没有什么手工和自动产生任务的区分。这种区分是把任务处理引入软件系统以后的事。