流程引擎设计之二

来源:互联网 发布:java io流读取文件 编辑:程序博客网 时间:2024/05/15 08:22

1 逻辑设计

逻辑设计的目的是说明了流程引擎的设计中住基础的设计部分,我们把它分成3部分,分别是“原料工厂”、“组装工厂”、“使用工厂”,这3个部分分别从不同的资源层次阐述了设计流程引擎的关键点,下面我们就这3个部分分别加以说明。

1.1 原料工厂

原料工厂的主要内容就是系统中可能的流程类型,以及每种类型可能的步骤,这不是一个固定的内容,二次开发可以在这列做文章,如果你希望你的系统在二次开发提供流程的自定义,那么最主要的接口就在这里。我们假设这是一个大的工厂,里面就是所有的需要的流程类型,所有的步骤,所有的步骤的属性,所有的控制参数,你需要用很多的精力来分析你的需求,以便对付这一模块,但是一旦这一模块的任务有些明确,那么你的工作会如此的轻松。我们用一个图形加以说明这一模块希望达到的效果:(参考图1

(参考图1

这象是一个奇怪的东西,其实他是一个步骤的原型,输入客输出以及控制信息是您定义的,从数量到数据类型都是您自己做决定的,为了在后期能统一管理和便于二次开发,您需要文档化这些设计。下面是另外一个图形说明一个类别的原型;(参考图2

(参考图2

打个比方吧,一个发文流程可能有:拟稿、校对、部门领导审核、YY级别领导签字、YY1领导会签、YY2领导会签、TT领导签发。那么这些步骤就是(参考图2)的元素了图形,您要关注的是每个步骤可能的出入和协调问题。做成一个整体(对象)看待,这样对你的设计很有好处。

1.1.1 业务流程类别管理

仔细的分析你的系统可能存在的流程类别,比如说收文、发文、车辆审批、出入库、报销……,这些是你的系统要解决的业务主题,他们都可能是有流程。有的流程是“活”的,有的流程是“死”的,如何设计一个模板库存放这些不同的类别流程资料,这也是你要考虑的问题,因为你要把业务上分开的东西经过你的分析,得出他们的共性和个性,以便在后面的设计中会使用到这些特性。

通过类别对基础资源加以有效的管理是设计的一个难题,使用Rose设计过程中,不时的需要回到前面的设计中看内容才能继续进行下去.

步骤技术的复制(复用),这是设计过程中一个特点,也就是当你设计了一个完整的类型之后,其他类型可能可以使用复制的方式实现设计,特别是特性相同的流程资源,比如收文和发文.

1.1.2 可以随时删除、修改

这是针对后面的流程而言的,流程使用这些基础资源是一次性死的使用,一旦使用了某个类别的资源,那么这些资源就被复制到流程的数据库里,而在原料工厂的同样的资料是否在以后存在或是修改了都不会对已建立的流程产生影响,流程的操作有流程的管理模块来完成,我们会在后面的内容加以描述.

原创粉丝点击