基于SQLServer的业务流程管理系统的设计与实现_第1页
基于SQLServer的业务流程管理系统的设计与实现_第2页
基于SQLServer的业务流程管理系统的设计与实现_第3页
基于SQLServer的业务流程管理系统的设计与实现_第4页
基于SQLServer的业务流程管理系统的设计与实现_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学 号 密 级_基于SQLServer的业务流程管理系统的设计与实现The Design and Accomplish of Business Process Management System Based on SQLServer学生姓名:所在学院:所在专业:指导教师:职称:所在单位:论文提交日期:论文答辩日期:学位授予单位:基于SQLServer的业务流程管理系统的设计与实现摘要目前企业中已经广泛使用的信息系统种类繁多,这些都是企业中常见的信息办公系统,并且已经发展相对比业务流程管理成熟。但是这些传统的信息办公系统都只是针对完成某一特定任务,而业务流程管理加入了流程的因素,使得企业整个业务

2、流程能够实现自动执行或流转。开发实施工作流管理系统,可帮助企业事业单位实现信息资源的共享;增强员工协同工作的能力;强化领导的监控管理;有效管理企业资源。业务流程管理是办公自动化的核心,也是其关键的组成部分。本文首先针对业务流程管理的发展,分析国内外发展的差异情况,结合业务流程的发展方向,并说明了本文将实现的业务流程管理系统的概念与内容。最后,针对业务流程管理系统中的重要功能模块,如业务建模工具,流程引擎等,重点论述了详细的设计方案,并分析了实现的方法。本文的主要完成了基于.net平台,利用xml、Ajax等技术,实现一款基于关系数据库的业务流程管理软件。关键字:办公自动化;业务建模;业务流程管

3、理;流程引擎 ABSTRACTCurrently the enterprise information systems have been widely used in a wide range, such as office automation systems, transaction processing systems and decision support systems, which are common in the enterprise. Although these information systems have developed more mature than Bu

4、siness Process Management, these systems are only for the completion of a specific business task. Business Process Management is different from those traditional information systems, it joined the factors the process, which making the whole enterprise business processes can be automatically executed

5、.Development and implementation of Business Process Management Systems can help companies realize the sharing of information resources, enhance the ability of employees to work together; strengthen the leadership of monitoring and management; effective management of corporate resources; achieve docu

6、ment flowing, auditing, issuing and other administrative matters automatic processing, help promoting the information flow of organization be standardized and in seamless integration. Business Process Management is the core of office automation, as well as its key component. Under the theoretical gu

7、idance, a business process management system based on the database has been designed and accomplished.Keywords: automatic office; business modeling; business process management; process engineV基于SQLServer的业务流程管理系统的设计与实现目录第1章 绪论11.1 课题研究背景11.2 国内外研究现状11.3 论文的主要内容31.4 论文的组织结构3第2章 系统需求分析与相关技术52.1 系统需求概

8、述52.2 系统业务需求62.3 系统用户需求82.3.1 系统使用人员82.3.2 系统角色对系统的需求82.4 本章小结10第3章 业务流程管理系统的概要设计113.1 业务流程管理系统的设计原则113.2 系统的总体架构123.2.1 系统架构设计123.2.2 分层设计思想133.3 系统的功能设计143.3.1 功能架构143.3.2 子系统模块功能143.4 数据库设计163.4.1 概念设计163.4.2 逻辑设计173.4.3 物理设计183.5 本章小结23第4章 业务流程管理系统的详细设计与实现244.1 系统模块设计244.2 业务模型管理子系统的详细设计与实现254.2

9、.1 业务流程模型元素254.2.2 业务流程建模274.2.3 模型管理304.2.4 模型测试304.3 组织结构管理子系统的详细设计与实现314.3.1 组织模型314.3.2 组织模型与业务流程模型324.3.3 组织结构管理334.4 业务流程实例管理子系统的详细设计与实现334.4.1 工作流引擎344.4.2 业务流程模型实例的新建364.4.3 业务流程实例的流转394.4.4 业务流程实例的管理394.5 本章小节40结论41参考文献45攻读学士学位期间发表的论文和取得的科研成果47致谢48Error! No text of specified style in docume

10、nt.第1章 绪论1.1 课题研究背景目前经济发展的节奏越来越快,企业因此对自身业务的决策、执行等系列活动也要求提高效率。随着管理理论与实践的不断发展,另外大量现代的信息技术的进步,给企业管理带来的可想象的利用前景。业务流程管理技术就是其中一种,其利用现代信息技术,已经成为一种成熟企业管理技术 1-5。业务流程管理系统(Business Process Management System , BPMS)是一种基于工作流(Workflow)及企业应用集成技术的全新管理信息系统开发技术。在继承了企业内部和外部资源的基础上,利用以流程为中心的开发模式,整合、构建新型管理信息系统10-11。虽然业务流

11、程管理已经发展多年,并逐渐形成了成熟的产品,国外公司也广泛实施了业务流程管理系统,利用这种管理方法解决公司的业务目标,但是在国内的发展仍然还不成熟,相对滞后。在大多数企业中,业务流程管理只是作为一种新技术被应用于企业的业务,而公司的管理体系本身与业务流程管理理论的结合还不深16。这就导致业务流程管理这种管理形式并没有给企业带来明显的业务效率提升,这当中存在很多因素。业务流程管理理论是从外国引进的一种管理理论,中国的经济类型主要以制造业等人口密集型的产业为主,还处于信息化管理和部分流程化管理阶段,与其他发达国家的经济类型存在巨大差异1718。这也就导致这种引进的先进管理理论先天的水土不服,无法适

12、应国内的企业管理和发展需求。局限于目前国内的企业现状,业务流程管理的发展也受到了很大的障碍。国内大多数企业仍保留着金字塔式的集权管理,企业业务没有形成完整的业务流程,绝大多数的企业业务依然按职能部门运转而不是按业务流运转19。这些因素使得业务流程管理的本地化进程变得非常缓慢。同时这些问题也使得利用业务流程管理系统建立业务模型时存在困难。如今中国企业的业务流程发展得越来越复杂,企业内部和企业间存在大量繁杂的业务流程交叉,有相当数量的公司表现出了对业务流程管理的兴趣并已开始实施,因此可见业务流程管理在国内具有广阔的应用前景。在国内,虽然企业在实施业务流程管理有较好的基础条件,但在实施层面存在诸多挑

13、战。1.2 国内外研究现状国内大部分业务流程应用目前还是停留在企业内部工作流系统层次上,业务主要服务于人与人之间交流用的审批流程。部分业务流程系统只是简单将原有的纸质办公电子化,并未实现业务流程的真正作用。国内目前大多数业务流程软件处于自成体系的阶段,各自的自定义流程数据基本无法被其他系统识别,数据格式和对外借口不统一,导致不同产品间无法交流流程数据,跨平台整合困难20。少数开发商虽然采用先进的思想和技术开发了相关的业务流程管理系统,但是这些系统大部分还处于试验阶段,只能提供简单的管理框架,尚未形成完整的商业解决方案,在实际生产环境中,这些系统并不能适应生成需求,这也导致业务流程管理发展受阻。

14、国内的主要相关公司有金蝶,普元等,而Joinwork Process Studio是其中支持BPMN2.0 (Business Process Model and Notation, 业务流程建模与标注 )标准的系统21-23。Primeton BPS流程平台是遵从WfMC参考模型、BPMN1.1规范而又具备中国特色的流程平台产品,相比国外产品,是一款更加符合中国客户需求的流程平台产品。国外的发展相比国内要相对成熟,相关的标准和配套的规范都比较完善。2005年之前,国外的发展情况与现在的国内情况类似,均采用自定义的数据结构,随着BPMN2.0等业务流程管理相关的新标准的完善和推广,并由于网页内

15、容形式的发展和近年的云计算,移动计算等新形式的IT技术的出现,逐渐向标准化,集成化过渡24-26。过去的产品主要致力于解决企业内部的工作流管理,现在则主要集中解决业务整合与服务编排。国外主要的业务流程管理软件均支持业界广泛使用的标准,如前面提到的BPMN标准的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者,BPMN使得业务设计与流程实现之间有了一条标准化路径27。知名的系统有Pegasystems的Smart BPM ,IBM Lombardi ,Cordys ,Oracle BPM Suite ,BizAgi。IBM Lombardi是一

16、款IBM公司的BPM产品,Lombardi引入了共享流程模型(Shared Model)、版本控制(Snapshot)、集成开发环境(Authoring Environment)、回放(Playback)、流程工具包(Toolkit)等功能。在国内大多数正在或已经实施业务流程管理的公司中,IT部门是实施该管理体系的主要推动者。而企业内部IT部门与业务部门各自为战由来已久,这为流程项目的进一步推进产生了巨大阻力28。在业务流程管理的实施过程中,管理团队的参与度较高,而业务部门的参与度普遍较低,这导致企业流程比较完善,但流程定义不精确,需求不明确,原本花费大量成本实施的系统在实际流转过程中可能会遇

17、到大量问题,系统本身的作用相应也就大打折扣了。各软件商或是公司在开发系统时,为了更好地适应某个公司或是某种业务而针对性地开发系统,导致系统复用率下降,同时维护成本也相应增加。由于各厂商之间缺少采用统一的格式标准,致使各系统间集成或是交流数据存在困难。软件提供商也没有成型的商业解决方案,主要是为客户公司提供组件方的式进行二次开发。二次开发中主要集中于解决如何将公司业务用各种组件重新集成,组成客户需要的系统。这样就使系统的实施周期延长,系统升级成本提高,增大了业务流程管理系统的实施难度。1.3 论文的主要内容本文通过介绍和分析国内企业管理的特点和面临的问题,说明了实施业务流程管理的必要性和实现本文

18、所设计的业务流程管理系统的意义。本文主要目地是设计并实现一款基于SQLServer关系数据库,面向企业或政府机构的业务流程管理软件。主要的研究内容如下:(1) 结合课题背景与实际企业的需求,分析本文业务流程管理系统的业务需求和用户需求。以需求分析为基础,完成业务流程管理系统的架构设计,数据库设计以及系统功能模块的详细设计。(2) 本次系统以Visual Studio 2010和SQLServer 2008为开发平台,并以IIS为服务平台。同时利用xml和Ajax等技术,设计并实现基于关系数据库的工作流业务管理软件。(3) 综合企业的业务实际,以分层设计模式为设计框架,实现系统的业务流程建模,业

19、务流程实例流转。同时为了保证业务流程的流转安全,需要实现基于岗位角色的用户权限控制。当前国内企业的业务普遍自动化程度不高,而且日常业务包含大量的公文审批,评审等需要人工参与的活动。而企业中目前使用比较广泛的信息办公系统并无法满足这种业务需求,往往只是提供资产管理或者简单讲公文电子化的功能。业务流程管理系统能够与这些已经部署的系统整合,利用现有的资源实现大部分企业业务的自动处理,大大提高企业的运营效率。本文重点研究实现让用户更容易的进行业务建模,同时实现基于关系数据库的工作流引擎。业务建模工具与工作流引擎也是本文工作的难点。1.4 论文的组织结构第1章为绪论,概括介绍业务流程管理的主要概念,国内

20、外的发展情况及本文的主要工作。第2章介绍分析系统需求,根据课题要求,分析本次设计实现的业务流程管理系统需要解决的主要问题,确定本文讨论的业务流程管理系统的业务需求、用户需求以及非功能性需求。第3章主要阐述系统的架构设计,从技术架构、功能架构等方面讨论和分析系统的设计方案和实现途径,拟定本文系统采用的实现技术和方法。同时给出系统的数据库设计以及各个模块与数据库的关系。第4章描述了本文系统的详细设计与实现,给出系统的详细设计思路,分析系统主要模块的内部功能结构与实现方法,以及介绍了模块和模块之间的关系。最后在结论中,对本文的工作进行总结,分析系统的不足及需要改进的方面,并明确下一步的研究方向。第2

21、章 系统需求分析与相关技术12.1 系统需求概述业务流程管理系统的主要管理对象是企业的业务流程,业务流程现在被作为一种企业资源,受到企业的重视。业务流程管理系统是基于业务流程提供各种与之相关的服务,所以业务流程管理系统的各种需求都是围绕业务流程产生的。目前在国内企业中,大多数业务是业务审批或类似的业务,需要实现公文的流转、审批、签批等行政事务的自动处理29。这一类的业务要求业务流程管理系统的流程引擎需要有较强的人工交互处理能力,同时业务类型也可以因此划分为自动业务和人工业务。综合课题要求和企业的实际生产需求,本文的业务流程管理系统需要提供以下功能。1.业务流程建模需要为企业的业务设计人员提供业

22、务设计建模的能力。同时系统提供的业务元素需要满足企业的业务设计需求,以便业务人员设计业务流程情况。设计实现业务流程建模工具时,数据格式是一个需要重点考虑的问题。在现代企业中,大多已经实施部署了很多传统的信息管理系统,现实中可能会需要不同系统之间的集成30-31。另外,业务流程图形信息与业务流程进入流转后的流程信息并不同的,业务建模工具完成的业务流程包含大量的流程图形描述信息,图形坐标信息,而这些信息并不是流程引擎可以直接使用进行流程流转的数据信息。所以需要考虑如何将业务人员设计的业务流程图形信息转化为业务流程流转是所需的数据信息。2.业务流转执行业务流程进入流转即业务模型在流程引擎中通过实例化

23、后开始流转。流程引擎是业务流程管理系统的核心功能提供者。事实上,流程引擎并不直接提供任何功能,而是向外提供接口,系统的其他的子模块通过这些接口获得模块所需数据后提供相应的功能。因此,流程引擎是业务流程管理系统中至关重要的部分,需要保证它的安全运行和稳定。流程引擎主要负责业务流程的流转和调度管理。能够按照流程建模是设定的业务规则流转,同时需要相应流转过程中用户的请求,对流程流转状态进行更新维护。3.权限模型管理在业务流程管理系统中,流程引擎的正常运行需要依赖于一个完善的权限模型。流程引擎中流转的业务流程的任务节点需要相关负责处理人员,处理人员可以是岗位或是角色,只有到了节点任务最终处理时刻,处理

24、人员才会定位到某个具体用户。在考虑权限模型与流程引擎结合时,需要进一步划分权限粒度,例如角色,角色组,岗位,部门等权限粒度。4.组织模型管理与权限模型对应的就是组织模型,因为业务流程的节点任务在最终处理时刻需要将任务分配给具体的处理人员,所以需要在权限模型与组织模型之间建立映射。节点任务与具体处理人员通过权限模型建立关联。2.2 系统业务需求业务流程管理系统的管理对象是业务流程,所有的管理方法都是以业务流程为基础。系统提供的服务因此都是围绕业务流程产生,主要包括:业务流程建模、业务模型执行服务、流程实例流转以及流程监控。分析业务流程的生命周期特点,业务流程管理过程如图2.1所示。图2.1 业务

25、流程管理流程图业务流程建模用于流程定义、流程的活动定义等;业务模型执行服务是指解释业务流程模型,实例化模型信息,并控制其流转。同时还要提供业务流程流转过程产生的业务信息,流转情况的存储查询功能,以满足业务流程管理系统在日常使用中的用户交互需求。业务流程管理系统的主要业务模块如下说明:1. 组织机构管理添加、删除、更新企业的组织架构信息;组织机构管理的对象是业务流程管理系统的权限模型和组织模型,这是业务流程正常流转所必须依赖的信息。由于目前国内企业的绝大多数业务都需要人工处理,所以组织模型与权限模型的安全也是业务流程正常流转的保证。为了满足不同企业的组织架构,本文的系统需要提供灵活的组织模型建模

26、能力。组织模型包含的组织元素有企业单位、部门、岗位。2. 用户信息管理需要管理企业员工的添加、更新等操作。用户与企业的组织模型并不存在固定的关联,组织模型不会因为人员的变动而改变,所以用户信息与组织机构可以划分为两个独立的模块进行设计。企业中的每个员工必然有其岗位,但员工的岗位并不是固定不变,所以用户信息管理需要随时根据企业实际的人员变动,而更新用户与组织模型的关联。独立设计的好处就是在这种人员变动时完全不需要改动组织模型,只需要在用户信息里更新其组织关系即可。3. 业务流程建模根据企业的实际业务需求,建立业务模型,同时需要后期对模型升级、更新。图形化的业务流程定制模式能够更加直观地描述用户的

27、业务流程规则,业务信息,达到“所见即所得”的目的。同时采用拖放的方式使得流程定制更为简单,业务设计人员只需了解企业的业务流程就可以轻松的定制出复杂的流程。业务流程模型有活动节点和链接线组成,流程模型中每个节点活动在流程模型实例化后成为任务。节点活动是组成业务流程模型的主要部分,节点活动包含了任务执行时的所有信息:业务,资源,规则。活动节点类型包括开始节点,结束节点,归档节点,活动节点,控制节点。结束节点与开始节点类似,不同的是结束节点的出度为零。控制节点本身不包含需要执行的业务活动,而只是用来设定流程的流转方向。控制节点的判断规则在业务流程建模时预先设定,判断规则类型可以是判断变量、判断公式、

28、取值表等形式。根据实际企业的业务需求,控制节点可以分为或节点和与节点。活动节点是执行实际业务的节点,活动节点有自动节点、人工节点。自动节点根据建模时预先设定的启动条件,由流程引擎自动执行节点业务;人工节点则需要关联任务处理人员提交处理事件,然后流程引擎根据提交事件与业务规则执行业务33。4. 业务流程执行提供用户创建业务实例的服务,并运行业务实例。需要能够处理业务流程执行问题,能够按照用户创建的流程规则运行流程。本文设计实现的业务流程管理系统主要面向企事业单位,实现公文流转、审批、签批等行政事务的处理,包括自动,人工等处理方式。5. 流程管理对运行中或处于其他状态的流程实例进行一些处理,例如中

29、止运行中流程,调整流程中的任务节点,还有流程角色,权限等内容的管理。企业在实际运营中会经常发生一些临时变化,业务流转过程需要能够对这些临时事件做出响应,也就是对业务流程实例动态更改。因为突发的临时事件而需要对正在流转中的业务流程实例的处理一般采用:中止流程流转、调整业务流程信息或重新执行业务流程。通过提供这些应对临时事件的措施可以显著帮助企业降低运营成本,避免有价值的已执行业务信息丢失,同时可以降低业务流程重新建模概率。2.3 系统用户需求122.12.2 2.3.1 系统使用人员经分析,使用系统的人员类型主要有以下几种类型:系统管理员,业务设计人员,一般用户。各个类型用户说明如下:1.系统管

30、理员系统管理员是系统的管理人员,负责维护整个系统。其职责包括:设置系统的基本设置(如数据库连接,系统日志等);维护系统组件及其数据等。系统管理员最重要的职责是维护权限模型与组织模型,随时更新模型数据与实际企业组织架构设置保持一致。2.业务设计人员业务设计人员,熟悉公司的业务过程,负责分析、设计公司日常业务所需的业务模型,即业务流程模型;以及设计企业日常业务所需的表单模板。3.一般用户一般用户是使用系统执行公司日常业务的人员,是业务流程管理系统的最终使用者。2.3.2 系统角色对系统的需求为了保证业务流程的流转过程安全,需要根据系统不同角色的系统需求对用户角色的权限加以控制。本文中的系统角色是根

31、据不同角色的需求上的差异进行划分,实际生产环境中用户可能需要执行多个不同的系统角色的功能需求,因此需要考虑不同的系统角色间的业务需求重叠。一般用户的业务需求是其他类型用户可以共享的功能需求,是最小的需求集合。而业务设计人员与系统管理员各自拥有特定的业务需求。系统的用例图如图2.2所示。图2.2 系统用例图1. 业务设计人员需求(1)“定义业务”的具体需求主要包括定义业务数据、业务表单、任务处理以及业务规则的使用。(2)定制业务流程,主要是设计业务流程的任务节点和流转规则。定义业务流程的流转通过设计流程图来展现。通过图形拖放方式定义流程中处理的活动以及活动之间的关系。在设计流程图的同时需要为每个

32、业务设定业务规则,包括相关表单,数据权限,业务负责人等信息。2. 一般用户的需求用户是最终处理业务流程管理系统中构建的业务的人员。用户的主要需求就是处理业务。用户的业务处理包括:(1)新建业务实例,从业务设计人员设计的业务流程模板库中选择新建业务实例需要的模板,创建本次业务实例。需要为本次实例填写业务所需的业务规则,如业务表单,业务负责人。(2)处理实例任务,主要是根据业务类型,从业务规则中选择提交选项或是编辑业务表单。(3)业务实例查询,是查询与当前用户查询权限内的业务实例流转情况,包括查询业务的处理进度,已完成业务记录查询,一般是业务相关的任务处理记录。(4)业务实例操作,根据用户的需求变

33、化,可能需要对正在运行的业务实例进行操作,例如中止,终止,重新执行或修改任务信息。3. 系统管理员的需求(1)组织结构管理,这是业务流程管理系统正常运行的基础。系统管理为业务流程管理系统新建公司信息,部门信息,并需要根据公司发展情况随时更新组织结构信息。(2)用户管理,业务流程管理系统的各种类型使用人员需要系统管理员审核,添加后,用户才能登陆系统,处理业务。主要包括,系统各类型用户信息添加、更新,用户岗位及权限分配等。(3)系统维护,主要工作是依据实际情况,对系统中正在流转的业务施加影响,改变其原有的流转方式,保证业务流程管理系统正常运行。同时维护系统数据与业务流程管理系统工作正常,保证数据库

34、数据合法。2.4 本章小结本章从总体首先详细地分析本文业务流程管理系统的功能需求,说明了业务流程管理系统几个重要模块的需求,然后分别从系统用户需求和系统业务需求两个角度对系统需求进行阐述。通过对系统的需求分析,对本文将要设计和实现的业务管理系统有了比较全面的认识,为后续的系统架构设计与模块详细设计奠定了坚实的基础。第3章 业务流程管理系统的概要设计23.1 业务流程管理系统的设计原则 本文业务流程管理系统的目标是,面向企事业单位实现信息资源的共享,增强员工的协同工作的能力,实现公文流转、审核、签批等行政事务的自动处理。整个系统将围绕业务流程建模、业务流程实例化、流程实例运行、流程管理等方面构建

35、业务流程管理系统的流程引擎,同时开发配套的应用系统,包括组织管理、用户管理、权限管理等。1.可用性 系统的可用性(Availability)是用来衡量一个软件系统持续提供服务的能力的参考指标,可用性表示系统在给定时间或者系统某一能力的特定环境下能够满意工作的概率。业务流程管理系统在企业中的地位非常重要,常常是一个企业日常业务运行的基础,因此系统的可用性需要保证。本文在业务流程管理系统的设计过程中,考虑系统的多方面需求,以实现系统提供稳定的服务36-37。2.灵活性 业务流程管理系统属于业务系统,但与其他的专有业务系统,例如物资管理系统,OA等系统存在差异。业务流程管理系统不是专门的实现特定的业

36、务功能,它提供通用的业务流程建模与流程运转的服务。由于业务流程管理系统处于基础的位置,在实际生产环境中,业务流程管理系统常常需要与其他业务系统,如前述的一些专有业务系统集成,因此,在业务流程管理系统的设计过程中需要充分考虑系统的灵活性。3.标准化由于考虑到业务流程管理系统需要与其他业务系统的集成需要,所以业务流程管理系统的标准化也是重要的。如果采用标准的数据格式,就会使得业务流程管理系统在与其他业务系统集成的过程变得容易,同时数据格式的标准化也是流程整合与业务编排的基础。业务流程管理系统对标准化的支持同时也是提升系统的可用性程度。4.可维护性因此系统架构清晰能够降低维护成本。为了提高业务流程管

37、理系统的可维护性,需要尽量降低系统的耦合程度,使子系统之间彼此的联系程度降低,或者使子系统之间的接口尽量清晰。3.2 系统的总体架构.1 系统架构设计 本文设计业务流程管理系统采用基于ASP.NET MVC的B/S架构和传统的C/S架构相结合的方式实现。整个系统的技术架构设计如图2.2所示。图3.1 业务流程管理系统架构设计图考虑本文的业务流程管理系统的需求,采用传统C/S架构实现业务流程管理系统中的业务建模子系统。业务建模子系统涉及大量业务信息与流程设计信息,采用C/S架构实现更能够保证这些数据的安全。如果业务建模子系统也采用B/S架构实现,由于B/S的通信方式的特点决定

38、,使得业务信息与流程信息在传递到服务器的过程中存在不确定性。大量的不同性质数据保存会需要频繁的客户端(浏览器)与服务器之间的通信,而通信频率的增加进而导致数据保存的难度提升。C/S架构能够利用两端硬件环境的优势,将任务分配到相应端来实现,与B/S架构相比,能够显著降低因数据保存所带来的通讯开销。同时C/S架构比B/S架构的性能更加稳定,减少B/S因页面刷新或是其他因素导致数据丢失的概率。在业务建模与流程定制过程中,用户只需要定义模板的信息,而不用考虑过多流程流转是所需的数据等信息。业务实例运行、处理,组织结构管理等功能,也就是业务实例管理子系统和组织结构管理子系统则采用B/S架构实现。子系统的

39、设计方案采用目前国际上流行的MVC三层结构系统模型,即数据访问层(DAL),业务逻辑层(BLL)和用户界面层(UI)。采用分层设计的目的是将业务逻辑从界面与数据中分离出来,这样可以降低系统后期的维护成本,提高系统的灵活性和可维护性。业务模型管理子系统提供业务,流程建模功能。设计完成的模型存储到数据库中。业务实例管理子系统的运行是以业务模型管理子系统的模型为基础。它从数据库中的模板库中调取模板,提供子系统的各种服务。3.2.2 分层设计思想MVC全称是Model-View-Controller,分别对应模型-视图-控制器。MVC不同层之间的合作方式如图3.2所示38-40。图3.2 MVC不同层

40、之间合作方式由于业务流程管理系统处理流程实例流转过程中涉及大量的数据模型处理,且存在一定的重复性,而MVC的分层设计思想能够很好的解决这种开发需求。将想数据库访问这样的数据层代码与视图层的代码分离,使系统开发过程能够更加专注各自系统层的功能,提高开发效率,更重要的是使后续对程序的修改和扩展简化。虽然MVC这种分层实际思想具有这些优点,但同时也存在一些不足。例如本文的业务流程管理系统的开发主要集中在模型层,导致模型层相对另外两层显得臃肿。但是这种开发思想会在软件开发后期大大提高效率。综上所述,MVC开发模式不仅实现了系统用户展示与程序逻辑分离,同时提高了系统程序的可维护性,可扩展性和组建的可复用

41、性。3.3 系统的功能设计 功能架构综合课题要求与系统的用户需求分析,本文将业务流程管理系统划分为 3个子系统:业务建模管理子系统、组织结构管理子系统、业务实例管理子系统三个大模块。每个子系统可具体划分成多个功能模块,如图3.3所示。图3.3 业务流程系统功能模块结构这些功能模块根据权限为用户提供相应的服务。业务流程管理系统将根据用户类型与权限为用户组合不同的功能。组织结构管理子系统和业务模型管理子系统是业务实例管理子系统的基础,业务实例管理子系统的正常系统依赖于前两者的数据。3.3.2 子系统模块功能1.业务模型管理模块业务模型管理模块提供业务设计人员进行业务建模的业务需求。

42、该子系统包括业务建模、流程定制、表单建模、流程管理,模型测试等功能。(1)业务建模能够让用户定义:业务基本信息,提交规则,业务表单等内容。使业务设计人员能根据实际情况设计业务模型。(2)流程定制提供对业务流程建模的服务,用户通过图形可视化创建流程模型,包括定义流程处理的业务,业务流程流转方式,流程方式等流程的流转规则。(3)表单建模提供根据业务需求创建表单模板的服务。创建完成的业务表单模板供流程建模时调用。(4)流程管理提供对数据库中的业务模型和流程模型的管理。包括模型的更新,替换,删除。(5)流程测试是在业务设计人员设计完成流程模型后测试模型流转状态的服务。2.业务实例管理模块业务实例管理子

43、系统是系统真正提供业务功能的模块。用户通过业务实例管理模块提供的服务,创建业务实例,处理任务。业务实例管理模块包括,创建业务实例、处理流程任务、业务实例管理等功能。这个模块的功能基本都是基于流程引提供的。(1)创建业务实例:用于用户创建业务实例,用户选择流程模型,添加实际业务流程的业务数据,流程规则等流转信息后提交给工作流引擎正式开始业务流程的流转。(2)流程任务处理:统一管理用户的未处理任务,以列表方式展现给用户,用户根据现实需要,处理任务。(3)业务实例管理:用于用户管理业务流程实例。包括流程管理,实现业务流程名称管理、步骤名称管理、类别管理;流程权限管理,包括节点任务调整、流程角色管理、

44、权限赋予和更新等;流程状态管理,包括流程状态查询、流程中止、终止、重新执行等操作。3.组织结构管理模块考虑到人员组织在企业中的特殊位置,将对人员组织管理职责单独划分到一个独立的子系统中,该子系统向业务流程管理系统提供人员组织管理服务。组织结构管理子系统是业务模型管理和业务实例管理子系统实施依赖,包括组织管理、用户管理、岗位管理、权限管理等功能模块。(1)组织管理:统一管理和维护企业的组织架构。包括更新组织结构,如添加新建部门,更新已有部门信息,为每个部门添加岗位等;(2)用户管理:用于管理使用业务流程管理系统的用户。每个需要使用业务流程管理系统的用户都必须在系统中存储其相关的个人信息,系统维持

45、流程的合法流转需要使用用户的信息;(3)岗位管理:用于建立、维护用户与组织结构的岗位之间关联,为用户赋予岗位职责。(4)权限管理:负责赋予用户使用业务流程管理系统的功能权限,并更新、维护用户的权限信息。3.4 数据库设计数据的价值在如今的大数据时代受到了前所未有的关注与重视,数据愈来愈成为企业日常的决策依据。设计良好的数据库可以节省大量的数据空间,好的数据结构能够保证数据的完整性,方便进行应用程序的开发。本文的业务流程管理系统需要频繁的数据库操作,良好的数据库设计与数据结构显得格外重要。下面从数据库概念设计、逻辑设计以及物理设计三方面说明本次业务流程管理系统的数据库设计方案。3.4.1 概念设

46、计根据在系统功能设计方案中的描述,可以将数据库划分为两个模块:业务流程相关和组织结构相关,两个数据模块的数据库E-R图如图3.5、3.6所示。业务流程相关的数据主要是与业务流程运行有关的数据模型。两个数据模块并不相互独立,业务流程的运行需要依赖组织模型的用户信息。在图3.5的业务流程相关数据库E-R图中的流程节点活动处理人员实体是图3.6组织模型数据库E-R图中的用户属性实体。虽然两个数据模块中数据模型存在联系,但是批次之间的数据不会互相影响,而且组织模型的数据库模块式可以独立存在,不需要依赖其他数据模型。图3.5 业务流程相关数据库E-R图图3.6 组织模型数据库E-R图3.4.2 逻辑设计

47、E-R图的概念模型转化为等价的关系模式及其约束。将E-R图转换为关系模式,关系的码用横线标出。逻辑设计是将概念模型设计成为特定的DBMS的逻辑数据模式。逻辑数据模式成为逻辑模型或数据模型,关系数据库的数据模式是关系模式。关系数据库需要把码标出:业务流程模板(流程模型编号,图形信息,说明)表单模板(表单编号,名称,设计信息,说明)业务流程实例(流程实例编号,模型编号,实例化时间,创建用户,流程实例名称,说明)节点任务(任务编号,实例编号,任务名称,处理人员,开始时间,结束时间,说明,选项)节点路由(路由编号,起点任务编号,目标任务编号,路由选项,路由路径,实例编号)业务流程实例进度(业务流程实例

48、编号,当前任务编号,实例状态,进度编号)组织信息(组织编号,名称,Email,联系电话,地址,说明)部门信息(部门编号,名称,Email,联系电话,地址,说明,上级部门编号)岗位信息(岗位编号,名称,说明,归属部门编号)用户信息(用户编号,姓,名,性别,出生日期,Email,联系电话,住址,备注)角色权限信息(角色编号,名称,备注,权限标识)用户属性(用户编号,组织编号,部门编号,岗位编号,角色编号,备注)系统用户登录信息(用户编号,登录名,密码,备注)登录日志(用户编号,登录名,登录时间,备注)3.4.3 物理设计数据库物理设计是在已确定的逻辑数据结构基础上,设计出在限定应用环境下,具有高效

49、率,可实现的物理数据库结构的过程。物理设计的主要工作就是将逻辑设计中的关系模型转化为关系数据库中的二维数据表。在概念设计与逻辑设计的基础之上,现将系统数据库的表结构设计为各个单表,对各表设计详情如下各表,表中对每张表所涉及的字段名称、存储类型、字段定义进行了详细说明:1.业务流程相关表设计(1) 流程模型表流程模型表(WorkFlowModelObject)记录通过业务流程建模工具设计完成的流程模型信息,XML字段存储了流程模板的全部图形信息,业务建模工具将流程模型图形转化为xml数据格式的数据之后存储到数据库。之后系统可以通过解析XML字段中存储的模型信息,还原业务流程图形。流程引擎在实例化

50、业务流程模型时,解析并读取流程实例化与运行所需的数据信息,丢弃多余的图形位置等一些流程实例流转不需要的数据信息。表结构如表3.1所示表3.1 流程模型表(WorkFlowModelObject)列名数据类型允许空值主键字段描述XMLnvarchar(MAX)F-模型xml数据Rulesnvarchar(MAX)F-流程流转规则Layoutnvarchar(MAX)F-流程输出规则WF_idnvarchar(50)FT流程模型编号(2) 表单模板表表单模型表(FormModel)存储的是业务表单模板的设计信息。与业务流程模型采用相同的存储原理,用户完成表单设计之后,系统将表单的设计信息解析成xm

51、l数据格式保存在表单模板表中。Form_id是表单模板的主键,是表单的唯一标识符。业务流程模型通过Form_id关联相应表单。表3.2中XML字段存储了表单的设计信息,表结构如表3.2所示。表3.2 表单模版表(FormModel)列名数据类型允许空值主键字段描述Form_idnvarchar(50)FT表单编号Namenvarchar(50)F-表单名称XMLnvarchar(MAX)F-表格xml数据Decriptionnvarchar(MAX)T-说明(3) 业务流程实例表业务实例表(BusinessInstance)在业务流程相关的数据表中处于中心位置,节点任务表,节点路由表,节点进度

52、表都通过外键与业务实例表相关联。业务实例表记录的是业务流程模型经流程引擎实例化后的流程实例基本信息,包括流程模板编号,业务实例创建者,创建时间,结束时间等信息,主键是流程编号,是由流程引擎实例化时生成的全局唯一标识符。表结构与字段设置如表3.3所示。表3.3 业务实例表(BusinessInstance)列名数据类型允许空值主键字段描述Instance_idnvarchar(50)FT实例编号Workflowmodel_idnvarchar(50)F-流程模型编号Create_user_idnvarchar(50)F-创建用户编号StartTimedatetimeF-实例创建时间EndTime

53、datetimeT-实例结束时间BusinessNamenvarchar(MAX)F-实例业务名称Descriptionnvarchar(MAX)T-业务说明(4) 业务流程实例节点任务表流程节点表(BusinessTask)记录的是业务流程实例的节点活动信息。业务流程模型实例化时,每一个节点活动都会在流程节点表中新增相应的记录。业务流程实例流转过程中通过修改表中的标志位作为节点活动的执行记录。本文将任务结束时间作为节点任务的标志位,当节点任务尚未被执行时,标志位数据为空。当节点任务已经执行完成,标志位将被填充任务完成时间,以此来表示节点任务的执行情况。表结构和字段信息如表3.4所示。表3.4

54、 流程节点表(BusinessTask)列名数据类型允许空值主键字段描述Task_idnvarchar(50)FT任务编号Instance_idnvarchar(50)F-流程实例编号TaskNamenvarchar(MAX)F-任务名称Duty_user_idnvarchar(50)T-任务负责用户StartTimedatetimeF-任务开始时间EndTimedatetimeT-任务结束时间Descriptionnvarchar(MAX)T-任务说明Choice1nvarchar(50)F-提交选项1Choice2nvarchar(50)T-提交选项2Choice2nvarchar(50)

55、T-提交选项3Choice2nvarchar(50)T-提交选项4SubmitChoicenvarchar(50)T-用户提交选项(5) 业务流程实例节点路由表任务路由表(TaskRoute)记录的是业务流程的节点流转方向。流程引擎执行完某一节点任务后通过查询节点路由表决定下一个将要被执行的节点任务标号,然后通过节点任务编号查询流程实例节点任务表中的任务列表获取当前任务。表结构和字段信息如表3.5所示。表3.5 流程节点路由表(TaskRoute)列名数据类型允许空值主键字段描述Route_idnvarchar(50)FT路由编号FrontTask_idnvarchar(50)F-起点任务编号BehindTask_idnvarchar(50)F-目标任务编号Routenvarchar(50)F-路由选项Namenvarchar(50)F-路由路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论