一个工作流系统开发文档(含调研、需求分析、设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
开场白 (2)
工作流技术调研: (2)
工作流的概念 (2)
工作流相关术语 (2)
工作流系统功能概述 (3)
工作流运行的模式列举 (5)
业内工作流产品调研 (6)
Mocha BPM产品 (6)
中软工作流产品调研 (7)
天翔myApps工作流产品调研 (8)
我们的需求分析 (10)
系统模块划分 (11)
工单系统的功能性需求列表 (11)
需求变更总结 (14)
设计方案 (16)
数据库设计 (16)
关于hibernate实现持久层和session的管理 (18)
自定义表单的设计 (19)
自定义流程的设计 (20)
消息模块的设计 (22)
后记 (23)
开场白
我告诉自己要有专业精神,可是。。。。我真的好业余。。。
以前我不知道,我到底适不适合学计算机,如今我有了答案,以前我不知道我能在这个行业取得多大的成就,如今我仍然没有答案,只是当我有一天我发觉枪毙一个毫无常理可言的可以称为意识流的bug 的时候,我觉得这种感觉仿佛是自己成为了侦探小说里的主角一般,故事的结局是聪明才智让迷离的云雾消散,那一刹那的欢喜就像是一个你坚持了很久的英雄梦想霎那间以一种最满意的方式开出花来。
也许很少有人能理解这宗近乎疯狂的感觉,而对于一个每天对着计算机将近9个小时的IT者来说,我的确需要这样的近乎自恋的情感变化或者说异样的愉悦体验。
情也抒了,于是该变身回一个真正的IT者,紧以此贴记录在过去的半年里我所从事的高尚职业,如果你要问我我从事的什么高尚职业,它为何高尚,那我会告诉你原因就是我装逼,自恋,而又认为有体会到了一些与众不同的感觉。
首先自量底牌,我只是一个普通的大四学生,通过自己的努力保研成功,大四之后经常浪迹在javaEye中,此贴可称为处女贴。本贴的意义在于自我终结,顺便带着抛砖引入的使命,再顺便让我打破万事开头难的俗套,一边督促自己常常自我总结,自我提高。
关键词:工作流jbpm 动态流程可定制表单。
本文就以我在过去三个月开发的一个完整流程系统为背景,总结在我知识所及范围里的工作流系统开发经验,贻笑大方想来是不可避免的,还望各位牛人指正,俺只是一个放低了姿态的学生。
工作流技术调研:
工作流的概念
●工作流是一类能够完全或部分自动执行的经营过程,它根据一列过程规则,文档、
信息或任务能够在不同的执行者之间进行传递与执行(WfMC)
●工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中
预先定义好的工作流逻辑推进工作流实例的执行(WfMC)
●工作流起源于办公自动化领域,我们可以把工作流系统比作生产流水线,不同的部
门和加色根据权限的划分执行相应的任务。
工作流相关术语
●Activity
定义:
在一个进程中,形成一个逻辑步骤的一次工作。包括manual activity和automated
activity
用法:
一个进程可以由多个对整个商业进程的可行性有帮助的有逻辑顺序关系的
activity组成;每个activity一般都是流程引擎的最小工作单元
●Process Instance
定义:
一个单独制订的进程的表现
用法:
由工作流管理系统管理或创建每个进程实例表现了一个单独制定的实例,使用
它自己的进程实例数据,并可独立控制或检查完成或终止
●Participant
定义:
它是一个资源,执行由一个工作流活动实例表达的工作.这个工作一般都是指定
到工作流参与者的一个或多个工作条目
用法:
通常是指人力资源,但不能简单概念的包括智能代理(intelligent agent)之类的机
器资源,一个工作流参与者可以在商业进程中直接定义,或者由组织或角色实
体定义
●Task
定义:
在一个进程实例中的一次活动的一次工作
用法:
一个活动代表性的都产生一个或多个工作条目,这些工作条目组成了用户着
手的任务
工作流系统功能概述
●流程定制工具
提供了一个流程建模的可视化开发环境,让用户能够使用图形化拖拽的方式,方
便、直观、有效地设计、修改和维护企业业务流程,并且所见即所得,极大地提
高了易用性(如下图)
●管理监控工具
提供可视化的平台查看流程历史,对流程任务进行查询等工作。(如下图)
●工作流客户端与应用
我们工作流提供了一个客户端的应用,提供了用户任务列表、签收任务、完成任务等等,但是在具体的项目中,可以根据用户的需求需要重新做一个应用,核心接口已经提供了,只需做一个用户需要的展现形式
●工作流引擎
引擎支持多种流程运行模式,运行时对流程和活动进行有效管理,根据流程向参与者分配任务,并对管理和监控功能提供有效支持。引擎通过接口与工作流工具、外部应用和第三方工作流引擎进行交互,向系统提供工作流执行服务。(如开源的jbpm流程引擎)
工作流运行的模式列举
●顺序(Sequence )-- 顺序执行任务;;
●并行分叉(Parallel Split)-- 并行执行任务;
●同步(Synchronization)-- 同步两个并行执行的线程;
●排它选择(Exclusive Choice)-- 从多个路径种选择一个执行;
●简单合并(Simple Merge)-- 合并两个可选执行路径
●任意循环(Arbitrary Cycles)-- 执行工作流图时无任何环路限制;
●绝对终止(Implicit Termination)-- 若无事可做时则终止。
给出一个简单的流程建模图: