当前位置:文档之家› 工作流管理系统客户端功能需求设计论文

工作流管理系统客户端功能需求设计论文

工作流管理系统的客户端功能需求分析与设计摘要:在群体协同工作的环境下,数据通信技术的发展为工作流技术提供了基础,软件工程研究的深入以及软件技术的发展为工作流技术的产生提供了直接动力。

工作流管理系统软件通过提供业务处理程序上的自动控制来管理一系列实际的工作活动以及相关人员、资源、信息技术资料,通过计算机软件来定义、管理和执行工作流程。

abstract: the development of data communications technology has provided basis for the workflow technology under the multi-group cooperative work, the deepened researches on software engineering and the development of software technology have injected direct vitalities to the arising of workflow technology. the workflow management system software tends to manage a series of actual work activities and related persons, resources and information technology information by automated control of the business processing procedure, define, manage and execute the workflow by the computer software.关键词:工作流;管理系统客户端;需求分析key words: workflow;management system client;demand analysis中图分类号:tp31文献标识码:a 文章编号:1006-4311(2012)32-0211-021 工作流管理系统概述工作流是指根据既定的规则集,部分或全部实现一个流程的自动化。

在这个过程中,文档、信息、或者任务在参与者之间传递。

工作流管理系统就是定义、创建和管理工作流执行的系统。

在工作流建立阶段,通过使用一种或多种系统分析、建模和定义工具,把一个业务流程从现实世界转化为一个形式化的、计算机可以处理的流程模型或者叫流程模板,也可以称为过程定义[1];在运行阶段,流程控制功能相当于现实世界与模型世界的桥梁。

它解释已经定义好的模型,也就是说根据模型来调度一个流程中不同的任务并且激活相应的人或应用程序。

这种流程控制功能实际上是由称为引擎的模块来完成的。

2 工作流管理系统功能分析工作流管理系统能够提供建造、运行控制、运行交互等三个方面的功能支持[2]。

yumaflow是一个拥有多种特性的工作流系统,借助j2ee平台的优势、ejb容器提供的各项强大服务,使用j2ee 平台下的各项技术实现了一个标准工作流管理系统[3]。

工作流管理系统作为一个系统,首先提供系统管理功能,主要包括设置或查看引擎数据库信息、增删用户或角色、查看或者修改成员信息等[4]。

其次,工作流管理系统要定义、创建和管理工作流,就应该提供流程设计和业务管理的功能[5]。

最后是用户部分,包括查看和启动被授权的流程、查看运行中或者已完成的活动列表、查看工作列表以及进行个人信息的设置等。

角色可以划分为系统管理员、流程设计者、业务管理员、用户等四种。

首先,具有不同角色的用户登录到系统会有不同的访问权限,同一个用户可以同时具备多个角色。

这一部分都是在系统管理模块进行设置。

在工作流管理中,具有流程设计者角色的用户首先使用流程编辑器(proed)进行可视化地设计流程模型,或者导入已有的流程模型文件(.xpdl)。

流程设计者默认成为该流程的用户,可以设置该流程的用户。

而普通用户只能查看被授权的流程以及工作列表,执行待完成的活动。

此时,具备业务管理员角色的用户则能够查看系统中的流程模型以及对流程模型进行监控,查看流程实例的运行情况,这些都记录在日志、跟踪或历史中。

2.1 角色权限分配系统将采用基于j2ee的安全认证,使用基于表单登录的认证。

使用表单认证,发生以下的操作:①用户请求访问系统。

②如果用户尚没有认证,服务器将用户重定向到登录页面。

③用户输入用户名和密码,向服务器提供登录表单。

④如果登录成功,服务器会根据用户角色的不同来提供不同的权限;如果登录失败,服务器返回错误页面。

此外,系统中设置四种基本的角色jiapadministrator、jiapdesigner、jiapoperator、jiapuser,通过将不同的角色组合赋予给不同的用户来管理用户的权限。

2.2 系统管理系统管理主要包括设置或查看当前所用数据库配置信息、用户管理以及定制配置。

数据库的配置信息包括数据库名称、描述、url、jdbc driver、用户名、密码以及映射等。

系统管理员可以通过查看安全域的描述以及该安全域中的用户列表、添加用户到安全域或者删除安全域中的用户、更改用户的权限和密码来进行用户管理。

定制配置是通过插入一个指向具体文件的url来完成的。

这个文件的内容应该提供html标签来显示页面的头部和尾部框架,css或是xsl定义文件。

保存配置后,可以通过刷新控制台查看所做的修改。

2.3 流程设计流程设计主要包括查看导入到系统中的流程模型、进行流程的设计和定义、导入已有的流程文件(*.xpdl)。

被赋予jiapdesigner角色的用户可以查看系统中流程模型的详细信息,包括名称、版本、状态、创建者、创建日期、用户、角色。

流程设计是通过启动工作流编辑器(proed)来进行可视化地设计和定义工作流模型。

proed(process editor),是一个用于定义工作流模型的java 程序。

proed提供的工具有助于创建和更新工作流流程,并使其可视化。

proed基于图形的工具允许用户使用标准的bpmn(事务过程模型符号)图形符号可视化地描述工作流流程。

工作流中所有的元素都能够显示出来,例如活动,转换,循环等等。

如果必要的话,参与者、映射、触发器等等的值可以被设置为流程或者活动的级别。

最后,工作流过程可以使用标准的xpdl符号保存。

proed支持工作流过程的版本控制。

每个工作流过程包含一个继承的属性描述它的版本。

生成的xpdl文件保存在本地计算机工作站或文件库中。

文件库提供一个在服务器上的共享的工作流存储区。

2.4 业务管理在工作流管理系统中,只有被赋予业务管理员角色jiapoperator的用户才能进行业务管理。

业务管理则主要负责管理流程模型、流程实例、流程任务以及监控流程。

管理流程模型包括查看特定的流程模型信息以及启动、部署、解除部署流程模型、添加/禁用角色使用者、添加/修改/禁用角色映射。

其中,流程模型信息包括实例名称、版本、状态、创建者、创建日期、用户、角色等。

当一个xpdl流程定义文件被导入到yuma引擎中时,该流程的状态自动成为已部署的,这意味着用户可以启动这个流程模型。

部署操作使得终端用户能够启动一个流程实例。

解除部署操作与部署操作逻辑相关,将会阻止终端用户启动新的流程实例。

此时,业务管理员能够修改流程,例如添加/修改角色映射、添加/禁用角色使用者等。

当流程模型的信息被解除部署后,对该流程所做的修改将适用于新的流程实例。

而在解除部署操作之前创建的实例继续使用该流程模型修改前的定义。

管理流程实例包括查看实例列表、查看实例列表中特定实例的详细信息以及终止或删除一个流程实例。

业务管理员能够查看所有的流程实例以及根据条件(状态、创建者、用户、角色、变量)过滤某些流程实例[6]。

每个流程实例都具有名称、版本、状态、创建者、创建日期、用户和角色属性。

还可以终止或删除流程实例,只有当该流程实例中没有处于“ready”或者“executing”状态的活动时,才能成功地终止一个流程实例;反之,该实例不能被终止。

管理流程任务包括查看任务列表、查看任务列表中特定任务的详细信息、修改/删除任务的指定承担者、启动/取消/终止流程任务。

赋予jiapoperator角色的用户能够查看当前可用的所有流程任务以及根据条件(状态、执行者、承担者、流程)过滤流程任务。

每个流程任务都包含任务名称、流程名称、版本、状态、描述、开始日期、最终期限、完成日期、执行者的信息。

只有当任务处于“ready”状态时才能够启动一个流程实例。

监控流程指监控流程的执行的情况,包括日志、跟踪、历史。

业务管理员可以查看流程运行的历史记录,其中包括执行完毕的所有流程实例以及流程实例中每个活动结点的详细信息。

跟踪日志负责记录流程执行过程中发生的错误信息。

而日志则是记录流程实例的创建和运行以及启动流程实例中的活动的详细情况。

跟踪和日志分别在不同的级别对流程的运行进行监控。

2.5 用户用户模块包括查看和启动被授权的流程、查看运行中或者已完成的活动列表、查看工作列表以及个人信息的设置。

其中,运行中的活动列表显示所有处于运行状态的流程实例的详细信息,包括实例名称、版本、状态、当前活动、角色、承担者等信息。

工作列表中显示所有待执行的活动的信息,包括流程名称、版本号、创建者、任务名称以及操作。

3 接口与数据结构设计3.1 接口设计工作流管理系统客户端包括角色权限分配、系统管理、流程设计、业务管理、用户等五个模块[7]。

所有功能都将使用封装引擎接口的类,调用引擎接口实现。

关键的封装类为bonitaconnector,类中所有的方法都统一按照以下形式实现:查找home接口;由接口生成home对象;使用home对象调用引擎接口中的方法。

bonitaconnector封装了引擎接口来实现客户端的显示功能,是连接客户端与引擎的桥梁,方便客户端的调用。

主要提供以下功能的接口:用户管理;角色管理;流程模型;流程实例中的活动;记录流程的执行情况,即监控。

3.2 数据结构设计工作流管理系统客户端用到4张数据表,jiapconfig、jiapprofilerole、jiapuser、jiapuser_jiap profilerole。

其中jiapconfig表存储工作流管理系统数据源的配置信息;jiapprofilerole表存储系统的角色信息;jiapuser表存储系统中的用户信息;jiapuser_jiapprofilerole表存储用户与角色的多对多的对应关系,jiapprofilerole_id和jiapuser_id作为复合主键。

参考文献:[1]张翼英,张翼飞.工作流管理系统的结构与应用[j].沈阳工程学院学报:社会科学版,2004,3:46-47.[2]杨玥,张祎.基于uml用例图的工作流管理系统的分析[j].价值工程,2010,10:201-201.[3]郝帅,蔡宗慧.基于web的工作流管理系统的研究[j].煤炭技术,2012,6:271-273.[4]饶志敏,余阳,李长森.基于web portal的工作流客户端的研究与设计[j].计算机应用研究,2007,4:212-213.[5]黎海生.工作流管理系统体系结构的设计[j].科技广场,2005,3:81-83.[6]汪家常,徐昶,季小明,计勇.基于工作流的高校学费管理系统研究[j].计算机应用与软件,2012,6:294-297.[7]张宇,蒋玉明.基于用户权限和业务流程的信息系统设计与实现[j].计算机与现代化,2009,2:78-81.。

相关主题