APP下载

一种基于轻量级分布式技术的工作流管理系统设计与实现

2015-05-05陈永宁周燕飞

机械与电子 2015年3期
关键词:数据表管理系统流程

陈永宁,周燕飞

(南京航空航天大学机电学院,江苏 南京210016)

0 引言

实际上产品和服务质量都需要过程或活动来保证,现代质量管理观点认为“所有工作都是通过过程来实现的”,因此ISO9001族标准和GJB9001B[1]质量管理体系审查对其进行了深入的展开。在过程质量控制方面,工作流技术已经成为梳理组织业务和挖掘组织信息系统资源潜能的重要技术。为了适应单位信息化系统的分布性、异构性和自治性的特点,技术上,工作流系统一般采用分布式技术的工作流引擎技术,通过一组布置在分散节点上的工作流引擎来共同完成其系统的运行[2]。其优点是能充分发挥系统节点的处理能力,很多工作可以在客户端处理后再提交给服务器,在高速大数据录入修改的场合能够有效减轻服务器压力。根据实际科研事业单位信息系统的具体布局情况,要求任务实时响应快、局域网内节点单机处理能力较强等特点,设计了一种分布式技术的工作流系统,来实现对科研项目的质量过程控制管理[3],并要求质量管理作业规范和标准化。

1 质量管理系统需求分析

1.1 人员管理

人力资源是企事业单位非常重要的一项资源,设置人员管理模块就是为了提高参与到具体项目内部的人力资源的效率。其主要功能为用户和部门管理,并包含权限管理环节,采用了对参与科研项目内部人员权限角色和安全访问的控制方案。实际工作中,企事业单位内部设置了很多职位,同时为保障系统内部信息的保密性和安全性,不同职能的工作人员在该系统的人员管理模块被赋予不同角色权限。过程质量管理系统采用了基于角色权限的访问控制方案,即用户通过在登录界面中输入用户ID、密码来访问进入系统。此时,系统调用数据库中经过加密后的登录表,查询并核实用户合法性。确定合法后,分析用户身份,查询该用户在角色表中的职位信息,并分配相应的权限。

1.2 过程质量体系管理

过程质量体系管理模块是所设计系统的核心模块,其主要功能是对单位内部的业务项目过程进行建模,并对所建立的过程进行管理,由工作流系统来负责执行过程和监控过程的运行情况。工作流管理系统的执行是一系列流程按照一定的逻辑顺序和转移条件执行的过程,流程之间存在着先后序关系[4]。WFMC定义了4种类型的流程控制结构,即顺序结构、并行结构、选择结构和重复结构[5]。根据科研项目管理的实际特性,工作流管理系统采用了串行顺序结构,就此把活动(即流程中子模块)作为基本单元来完成项目的策划、执行和跟踪等过程,最终完成整个项目的研制开发工作。

1.3 文件档案管理

GJB9001B中明确指出,为确保过程有效策划、运行和控制,必须确定和完成所需的文件(包括记录)。模块设计和链接项目质量管理流程中需要表格来完成上述功能,并通过接口给其他模块传递相关记录和状态信息。文件是质量管理体系中一个不可缺少的要素,管理系统要实现体系的文件化,加以实施和保持,并持续改进其有效性。图1所示的是一套研制产品设计和开发的完整控制流程,根据该产品研制的过程管理流程,文件管理模块允许拥有相应权限的用户对文件进行添加、审核、发布、修改和作废等操作,并能实现对文件的嵌套查询。

2 系统框架设计

图1 工作流系统所采用的完整项目控制流程

工作流标准化组织WFMC发布了工作流管理系统的参考模型,该模型定义了工作流管理系统的6个基本组成模块,并制定了个模块之间的接口标准。在此基础上,根据分布式工作流的需求调整,经过系统模块的灵活设置和对个性化质量管理的需要,将对工作流管理系统参考模型进行相应的扩展和调整。利用B/S模型系统高效的前台性能,设计的分布式工作流模型如图2所示。其改良关键在于将工作流引擎处理服务合理分配给各个内网单机,该设计方案充分依赖于内部局域网的高速通信能力。而系统核心的工作流执行服务依然置放于核心服务器中,用以管理、监控和调度整个业务项目过程,为过程实例的执行提供运行环境。

图2 分布式工作流模型

3 系统设计

3.1 系统建模

将软件系统分为表示层、业务层和数据层3层结构。前台表示层提供应用程序的用户界面,以提供程序与用户进行交互,中间的业务层提供方法访问数据层,将得到的结果返回前台表示层提供显示交互。其具体设计为:

a.UserInterface表示层。该层通过.Designer.cs和.resx页面向用户提供操作界面,用户得以完成日常的增加、删除、修改和查询等操作。根据整个系统的功能模块进行目录结构的划分,不同功能的页面放在对应的目录下,以便于开发和维护。

b.DataBusiness业务层。该层负责整个系统的业务,采用 Model-View-Presenter模式[6]完成 UI界面实现。UML类视图如图3所示。该模型包含3个组件:模型、视图和表示器。DelItemPresenter中包含了所有的业务逻辑,而DelItemWindow中则没有包含任何业务逻辑。DelItemWindow中仅仅包含了UI行为,把所有的业务决策都委托给了表示器。

图3 M-V-P模式实现UI事务

c.DataBase数据层。数据层位于整个系统的最底层,也是系统的核心层,采用了SQL Server 2000作为系统的数据库工具。系统中涉及的存储性信息,分别按类别保存在数据库中的不同数据表。而数据表信息的添加、修改和删除等操作,都是在程序中执行SQL语句来实现。

3.2 系统数据库设计

数据结构的设计任务是针对用户实际情况进行抽象,形成数据库的整体逻辑结构,并建立数据模型。在数据概念模型设计中常用的方法是E-R方法(entity-relationship approach)。E-R方法将事物看成实体与实体之间的联系,并用E-R图[7]来进行描述。这种方法设计的模型易于理解和修改,同时也是各种数据模型转换、生成相应逻辑模式的基础。

系统的主要数据库表包含用户角色信息表(UserRole)、项目工作流表(ItemFlow)、工作流程(WorkFlow)和文档记录表(DocRecord)。图4描述了参与项目工作人员与项目工作流之间多对多的关系,图5则描述了工作流状态与文档记录之间多对多的关系。

图4 人员-项目E-R图

图5 流程-文档E-R图

3.3 数据库数据表设计

根据设计的E-R图,将概念模型转化成相应的数据表。针对不同的功能模块设计了相应的数据表。该系统数据库设计的特点是数据种类庞大,涉及到很多有关科研管理方面的数据。结合科研项目管理文件和单位实际情况,设计了一系列的基础数据表,如项目人员表(tb_UserRole)、项目工作流表(tb_ItemFlow)、工作流程表(tb_ItemFlow)和文档记录表(tb_DocRecord)等。

系统创建和使用的所有数据都持久化在关系数据库中[8],而在系统开发过程中,数据库中需要创建若干个数据表,表与表之间并不是孤立存在的。本系统主要基于数据进行设计,涉及的数据表较为繁多,关系也比较复杂,主要以主键约束来实现表间关联,如第3.2节所述的各数据表的UNIQUE主键:UserID(人员ID)、ItemID(项目ID)、FlowID(流程ID)和DocID(文档ID)等。在SQL Server中,表间基本上都是按“一对多”的关系进行处理的。针对所设计的过程质量管理系统,结合第3.2节的数据表设计描述,设计了图6所示的数据库表间关系,来实现多表格之间的参照数据完整性和关联性。

4 软件系统实现

系统主要部分采用风格统一的界面形式,在浏览器的客户区主要包括横幅、模块显示和数据显示几大部分。其中,模块显示以树型结构显示各模块及它们之间的层次关系(系统左侧侧边栏)。数据显示以列表形式显示选定模块的数据(主要采用net dataGridView绑定DataSet),即采用.Net ADO数据结构,如图7所示。所有操作方式尽量接近于普通的应用程序,以减少软件熟悉学习时间和提升用户交互体验。

4.1 系统人员管理模块

图6 过程管理数据库关系

图7 ADO.NET结构

系统人员管理模块主要负责对系统运行数据库中,项目人员表(tb_UserRole)和部门信息表(tb_Department)的综合显示和管理。部门人员管理功能中,显示了某部门人员工作信息,这些用户都有可能参与与流程操作,在实际运行过程中,需要将每个流程配置及每项任务具体分配给相关部门的指定人员来进行操作,从而保障项目流程的正常运转。另外,该模块将用户分配到具体部门,系统中的部门和角色人员是一对多的关系。

4.2 项目流程管理模块

每一类项目执行的是一种特定的流程,也有可能在实际工作中有多种不同的可选流程,通过工作流设置,使某类项目(业务)按照指定的流程自动流转,完全实现协同办公的自动化。审批者对其流程都有决定性的作用。当发起流程用户和审批流程用户登录系统时,在功能菜单的工作流和工作流转栏目中,只有工作流转栏可见。项目流程与其对应的工作流是密不可分的,项目过程管理系统的工作流有自己的特点和特殊要求。

5 总束语

随着信息化技术的日新月异的发展,以信息化促进质量管理的现代化,是质量管理技术发展趋势,其中基于工作流的质量过程管理系统将成为信息化质量管理系统一个必须的管理平台。针对实际科研单位工作情况,通过对分布式工作流和过程管理的技术分析,完成了系统模型的构架,并实现了基于。NET平台的系统设计和软件结构,开发了过程管理的业务管理系统平台。

[1] GJB 9001B-2009质量管理体系要求[S].中国人民解放军总装备部,2009.

[2] 张朝辉,刘大有,刘伟江.工作流建模技术综述[J].微电子学与计算机,2008,25(10):69-71.

[3] 范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.

[4] 崔鹏.基于工作流的OA公文流转的设计与实现[D].大连:大连理工大学,2009.

[5] 蒋国银.扩展工作流元模型研究[J].科技管理研究,2006(6):204-206.

[6] Martin Robert C,Martin Micah.敏捷软件开发:原则、模式与实践:C#版[M].邓辉,译.北京:人民邮电出版社,2010.

[7] 李时东.面向对象的管理信息系统分析与设计[J].中国科技信息,2006(24):82-83.

[8] 李博.基于Web Service的科研处工作流管理系统研究与实现[D].西安:西北工业大学,2007.

猜你喜欢

数据表管理系统流程
基于James的院内邮件管理系统的实现
吃水果有套“清洗流程”
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
基于LED联动显示的违停管理系统
违反流程 致命误判
海盾压载水管理系统
本刊审稿流程
析OGSA-DAI工作流程
图表