技术开发 频道

基于达梦数据库的流程设计理解面向对象

  【IT168 文档】面向对象已经是程序设计中很基本的一个概念了。一提到面向对象,一些专有名词就会自然的在开发人员脑海中出现,类、对象、继承、多态、抽象、封装等等。至于面向对象的精准定义是什么,也是众说纷纭,开发角度的、哲学角度的。这里并不是对面向对象本质的思考。本文是在先完成一次系统设计后,反过来用面向对象的思想分析进行分析,以期为以后的设计开拓思路。在本文中,首先对所构造的系统作简要介绍。而后再从面向对象的角度来分析这次设计。

  下面是该流程设计的功能需求:

  1、可以定义一个处理流程,指定处理流程中每个步骤的可以进行操作的操作者范围,并指定该操作者进行操作的页面,以完成特定的业务操作。当流程达到某个跳转条件时,流程进行步骤跳转。

  2、实例化一个流程,从操作者范围中指定每步的参与人,流程起动。

  3、在流程的每一步,相应的操作者可以进行相关业务操作,同一步中可以有不同的业务操作界面。

  4、根据操作者的操作结果决定流程的跳转状况,流程跳转可以实现从第m步跳到第n步,其中1<=m<=s, 1<=n<=s,s为流程总步数。

  而后就是对该功能需求进行系统分析,数据库设计,编码实现。这是一个很普通的基于数据库的应用系统,数据库表的建立对于该系统实现至关重要。数据库表的结构如图一所示。

图一

  数据库表设计好后,将每个表映射生成实体类,然后再用代码生成器生成相应的增、删查、改数据库访问类及基本的页面调用,编码添加实现业务类及业务方法,再在页面上对业务进行组合,该系统的开发流程总体是这个样子。面向对象的机制能使代码达到良好的封装,复用性很高,这点也使代码的自动生成更容易实现。

  以上所说的开发过程并不是本文的重点,而在图一中表的设计及该设计与面向对象的关系才是需要讨论的。

  现在通过对每张表的说明来介绍该系统的运转过程。本次设计选取的数据库是达梦数据库,版本是5.0。

  在功能需求的中的第1步,定义流程的功能主要是由FlowType,FlowStep,FlowPage,Business,StepUser五张表构成。

  FlowType包含流程类型的基本信息,包括id(流程自增标识)、name(流程名称)、description(流程描述)。

  FlowStep包含某个流程类型的具有的流程步骤信息,包括id(流程步自增标识)、flowID(所属流程类型id,关联FlowType的id)、pageID(流程步所在流程页的id,关联流程页的id,流程页是某个流程步中,操作者进行操作的页面)、step(该流程步所在流程的流程步骤数,在一个处理步骤中,有可能存在多个用户在不同的操作页面,故这里一个step中可能对就不同的FlowStep)、ennterType(流程跳转条件,包括所有人已操作跳转、有人操作即跳转、永不跳转,在具体的业务处理中还可以自己强行跳转)。

0
相关文章