APP下载

一个基于WebForm的工作流系统的设计与实现

2009-01-06刘彦姝李志勇

数字技术与应用 2009年11期
关键词:系统设计

刘彦姝 李志勇 易 灿

[摘 要]基于WebForm的工作流系统是采用MVC设计模式,数据存储介质为SQL Server2000和XML文件,在DOTNET环境下开发的B/S系统,从软件工程的角度对系统的设计和实现进行介绍。

[关键词]WebForm 业务流 系统设计

[中图分类号]TP309[文献标识码]A[文章编号]1007-9416(2009)11-0023-03

1 系统功能与结构分析

作为一个完整的基于WebForm的工作流系统,主要包含以下几个功能模块:表单管理、流程管理、工作管理和人员管理。其中,表单管理主要负责工作流表单的维护和更新以及多个模板的设计;流程管理主要负责工作流过程定义和流程变更的维护工作;人员管理主要负责公司组织机构的信息维护,包括单位信息、部门信息、角色权限、员工信息等;工作管理主要负责工作的创建、办理、查询、监控等。系统功能结构图如图1所示。

在图1中,系统的四个功能模块,包括子模块是相互协作来工作的。

在角色层,最重要的是设置每种角色在工作流系统中的参与权限,以方便系统管理和权责明确,本系统定义了严格细致的权限。通过人员管理,流程定义便可根据具体需要选取流程监控角色和活动执行角色。

2 系统用例分析

本系统的参与者主要有四种:高级管理员、管理人员、工作人员和工作流引擎。高级管理员主要负责系统设置以及管理人员、工作人员的权限分配;管理人员主要负责各个流程工作环境的搭建和资源配给,按照不同的权限可分为信息管理员、表单管理员、流程管理员和工作管理员;工作人员按照具体的流程操作权限共同协作来完成各项具体工作;流程引擎负责流程的启动和路由,协同工作人员工作。系统的用例图如图2所示。

3 系统组织结构与类描述

DOTNET提出了用户控件的概念,在系统开发过程中,可以把一些通用的页面模板做成用户控件,使用时只需引用到主页面即可。用户控件的引入,不但大大提高了软件开发效率和代码的复用性,也大大方便了系统功能的扩展。

在系统中,用户界面层套用框架和用户控件;业务逻辑层按照系统功能模块进行打包,向外提供各类操作接口;数据访问层按照面向对象的思想组织实体,与数据库和XML文件进行合理的映射。系统的组织结构图如图3所示。

从图3可以看到,当一个页面请求到来时,首先被事件监测器捕获,事件监测器根据请求类型和内容调用相应的业务逻辑接口,最后对页面请求作出应答。各个层次的具体类实现如图4所示。

从图4中可以清楚地看到系统的模块划分,每个模块都是高内聚低耦合的。在DOTNET机制下,页面请求业务逻辑必须经由控制器(事件监测器)。每个模块的逻辑实现类对外提供访问接口,图中仅列出了部分类方法。逻辑实现类与数据存储媒体之间的交互必须通过数据访问类,数据访问类调用统一的数据访问接口,在这里可以处理所有的SQL语句、存储过程和事务等。通过数据访问类进行数据查询时,返回的不是数据集,而是实体对象,同样,外部传递给数据访问类的参数也是实体对象。实体与数据存储媒体或流程控制信息存在映射关系,比如流程处理过程中,活动对应Action实体,数据域对应Field实体;实体之间也存在相互映射关系。

4 本系统的评议与改进

本系统是一个基于WebForm的工作流系统,它整合了Web智能表单设计器和流程定义工具,可以很方便地设计表单和定义流程。由于这两个部件是相对独立的,所以可以很方便地重用到其他相关系统中,比如,Web智能表单设计器可以集成到办公软件中,让办公人员自己来设计业务表单。由于过程定义工具采用可视化的流程定义,并且自动生成的过程定义文件遵循WFMC制定的XPDL规范,所以可以方便地与一些遵循WFMC规范的工作流系统进行集成,生成的过程定义文档也具有很强的通用性,最可贵的是,它是纯Web方式的,不需要用户安装任何插件即可轻松完成流程定义。

当然,本系统不可避免的具有一些局限性和不完备性。主要表现在以下方面:

(1)本系统是基于WebForm的,它的主要操作对象是WebForm,并没有提供访问外部资源的接口;

(2)目前Web智能表单设计器只提供单行文本框、多行文本框、单选框和下拉列表四种客户端控件,虽然足以满足一般业务表单的需求,但是由于没有提供特定用途的控件,往往对用户输入的信息格式需要进行复杂的有效性校验,比如日期的输入等,所以设计器有必要对客户端控件类型进行扩充;

(3)在过程定义工具中,设定转移条件只能根据表单字段的输入值,而不能通过时间触发或事件触发的方式来驱动转移。

[参考文献]

[1] 李维.面向对象实践之路(C#版),电子工业出版社,2005-03-01.

[2] Christian Thilmany [译]张晓昆,汤涛,谭立平.NET模式:架构、设计与过程,中国电力出版社,2005.6.

[3] [美] Eric Bell,Hao"Howard"Feng,Edward L.W.Soong等?[译]夏江,用.NET和XML构建WEB应用程序,清华大学出版社,2003.9.

[4] 曾月,范玉顺.工作流管理技术Web客户端的设计与实现[J].计算机工程与应用,2002,38(2):130-133

[作者简介]

刘彦姝(1976-) 湖南大众传媒职业技术学院,副教授。

[基金项目]

湖南省教育厅科学研究项目,基于Web表单的工作流关键技术研究。

猜你喜欢

系统设计
基于UML技术的高校贫困生管理系统建模分析