工作流需求说明书1 前言为构架完整EDM产品,更好满足特定用户需求,需要进行项目管理和工作流管理模块的开发。
此需求计划由公司内部提出,在需求讨论和编写过程中,总结PDM组在“863”项目中开发工作流原型的经验,吸收部分企业对工作流的需求意见,参照国内外同类产品的现有系统,确定了我公司开发的要求和目标。
此工作流需求说明书作为项目组内部开发指导文件。
1.1 目的开发项目管理和工作流模块,所有的过程逻辑控制在工作流中实现,并通过项目管理进行任务分发、任务提交、过程跟踪等。
工作流系统中的服务模块(如工作流引擎)基于DCOM实现,作为组件提供给系统使用。
本文档的预期读者为项目组开发人员、质量保证人员、市场销售人员及公司领导层。
1.2 范围实现的项目管理(ProjectManage)和工作流管理(WorkflowManage)作为CEDM的两个模块,不单独包装为产品。
工作流管理实现WfMC定义的基本功能:工作流引擎、图形化定义工具、工作流客户端、工作流管理平台。
但实现的功能为WfMC定义功能的子集,不考虑异构工作流系统间的交互,不考虑数据对象在工作流上的传递,不考虑工作流结点上脚本的实现。
项目管理以工作流管理为核心。
项目加载工作流模板后,对任务进行描述,包括设定项目承担人、任务截止日期、任务优先级等,进行工作流的启动、流转、操作。
项目管理不包括对设备等其他非人力资源的调度,不负责对项目进度排程的优化和组合。
1.3 定义、缩写词、略语WfMC(Workflow Management Coalition)工作流管理委员会,有关工作流的国际标准化组织。
DCOM(Distributed Component Object Model)。
微软的分布式计算平台。
1.4 参考资料1.罗海滨.工作流技术综述.软件学报.2000(11),7:899-9072.范玉顺.基于工作流的CIMS应用集成支持系统研究.计算机工程与应用.2000,2:9-103.范玉顺.工作流管理技术基础.清华大学出版社.2001.44.Wil.M.P. Van Der Aalst. Verification of Workflow Task Ttructures: aPetri-net-based approach information systems. Vol.25 No.1 pp.43-695.Ellis C.A. Null. G.J..Modeling and Enactment of Workflow System Applicationand Theory of Petri Net Lecture Notes in Computer Science 691,Berlin Springer-Verlag,1993 1-166.卢正鼎.面向并行工程的产品设计过程管理的抽象模型.计算机辅助设计与图形学学报. 2000,Vol12. No.2:123-1247.刘铁铭.基于工作流的企业过程建模与仿真. 清华大学学报. 2000 ,Vol.40No.1:109-110……参考的应用系统1.SmartTeam4.0 以色列Smart Solution公司2.开目PDM 武汉开目公司3.大恒PDM2.0 北京大恒公司4.LOTUS workflow 美国IBM5.workflo 上海新视界2 项目概述2.1 产品描述系统要求实现项目管理和工作流管理两部分,重点是工作流管理,项目管理的调度通过调用工作流系统中的方法来实现。
图1 项目管理/工作流管理功能整合示意图项目管理完成项目定义、项目分解等工作,项目任务的流程设定、过程管理、过程监控完全由工作流系统承担,在系统中,项目管理更多的作用是作为一个集成的操作界面。
项目管理和工作流管理的应用模式与CEDM系统一致,在软、硬件平台的要求上等同于CEDM系统。
2.2 产品功能项目管理的功能比较简单,在此不再陈述。
工作流管理系统实现的功能如下:图2 工作系统结构图1.图形化定义工具流程设计通过图形化的界面表达出来,清楚直观,易于理解。
●新建活动节点、条件节点●设置活动(条件)名称、类型、内容、执行角色、前后条件、处理时间、逻辑判断规则设定●绘图功能:对齐、分布、移动、网格等2.工作流管理●过程模型初始化:提交定义好的流程模板,设定运行参数、相关人员和处理时间●工作流维护:修改属性、活动、角色、流转条件、执行顺序●过程监控,跟踪活动状态●评审和统计3.工作流引擎●解释工作流模板●控制过程实例的创建、激活、挂起、终止等●控制活动实例间的转换,包括串行或并行的操作●提供支持用户操作的接口●维护工作流控制数据和工作流相关数据,在应用或用户间传递工作流相关数据●提过控制、管理和监督工作流过程实例执行情况的功能4.客户端应用●启动/终止工作流过程实例●任务列表/任务项处理(完成、终止)●过程状态查询●获取/返回工作流相关的数据5.人员组织管理利用EDM现有的组织管理模式2.3 用户特点项目管理和工作流管理的用户与CEDM的用户群一致,面向制造企业的设计、规划等相关部门。
2.4项目规范为保证本次系统的开发顺利进行,特明确以下规范。
质量要求1.质量控制。
软件开发的过程严格遵守公司的软件开发规范,包括重要过程的评审和审查。
2.文档规范。
参照研发中心发布的文档格式,保证文档的正确性和严谨性。
3.编码规范。
编码规范和界面风格遵守项目组制定的有关标准。
4.辅助工具。
软件设计、开发过程引入CASE工具,在各阶段提交相应的UML模型,如需求阶段提供Use Case图。
开发环境1.应用代码的开发采用NetBeans 6.0。
2.数据库采用SQL 92标准的Derby。
3.采用SUN公司的JEE平台。
3 具体需求3.1 项目管理项目管理实现任务分发、处理、监控等功能,同时它把工作流客户端上的很多应用集成起来,为个人提供有关项目处理的工作平台。
3.1.1 功能要求项目管理树在CEDM系统中,项目管理和产品结构管理以产品为中心将同时展开。
一方面,在产品结构树页面中进行产品结构的创建和维护,另一方面,在项目管理页面中对同一产品进行项目展开,完成任务的分解和下达。
在项目管理中,项目维护同样以树的形式存在,并把它实现为可以和产品结构树切换的页面。
项目树维护在项目管理树中通过树上每一个结点对应的右键功能菜单完成项目树的创建、修改、删除等操作。
一个项目的根结点对应于产品结构树中的一个产品结点,通过在项目结点下创建子项目的方式逐级创建。
过程监控提供一个任务列表查询的界面,用户登录到系统后,点击任务列表查看按钮,可以看到当前任务的提示,包括任务来源、任务说明、任务重要级别、完成期限、任务当前状态等信息的显示。
任务列表的管理是由工作流引擎处理的,在这里,只提供任务列表显示功能。
流程设定工作流模板只表示了项目中各任务结点执行时的逻辑关系,没有具体任务、任务承担人等具体信息的描述。
这时要在项目树中进行工作过程模型初始化的工作,类似于对象的实例化,初始化的过程即是确定项目任务、责任人、任务完成日期、任务优先级等属性的过程。
过程模型初始化后,应允许用户进行修改和调整,即工作流过程模型的维护功能,包括修改工作流实例各个结点上的属性、活动、角色、流转条件等。
对工作流模板及其实例的所有操作方法由工作流引擎作为服务方提供,项目管理中的流程设定只作为与用户交互的客户端存在。
过程管理工作过程模型初始化后,进入对工作流程的过程控制,包括启动/终止工作流,任务处理和内部邮件管理。
启动工作流用来激活一个工作流实例,工作流引擎即对激活的工作流实例进行自动调度。
终止工作流可以停止一个工作流实例的执行。
任务管理是一个任务结点在客户端的处理过程,主要是处理结果的提交,给出处理意见,处理结果作为工作流中下一步流向的判断条件,处理意见传递给流程中的下一个结点。
邮件管理提供内部邮件的收发功能,系统为用户提供收件箱,用于接收消息和邮件,发送邮件在发送消息的时候,可以把文档作为附件一起发送。
收发邮件的服务由工作流引擎提供,客户端进调用。
3.1.2 交互界面本部分描述系统与用户交互的界面,这些交互的界面全部集中在CEDM客户端。
项目管理树图3 系统窗口布局产品结构树与项目管理树做成可以切换的TAB方式,产品结构树保留原有方式,点击项目管理树TAB按钮,左边区域切换到项目管理树视图。
两个视图中的数据分别独立维护,不需要对数据的交互和同步进行处理。
项目树维护项目树管理类似产品结构树的管理,项目树组织如下:图4 项目管理树结构项目管理树的建立逐级进行。
在项目树的每个结点上,对应如下的右键功能菜单。
图5 项目结点上的右键功能菜单项目分解通过“创建下级项目”实现,“修改项目属性”、“删除项目”完成对项目树的维护。
在CEDM系统菜单中,增加“任务列表”、“收邮件”、“发邮件”三个菜单项。
对系统的每一个用户,都可以点击任务列表查看自己当前的任务。
任务列表任务列表向每位用户显示当前需要处理的工作,任务列表起到提示的作用,不需要编辑处理,数据从工作流引擎中得到。
任务列表的显示形式如下:表1 任务列表工作流程初始化在工作流程的图形化定义工具中,只定义了工作流模板,描述了工作流程执行的先后顺序,具体信息的设定需要在工作流程初始化的时候完成。
工作流程初始化首先是加载工作流模板,在模板的列表中选择一个需要初始化的对象。
选择“模板初始化”,提供图形化的界面用来设置工作结点上的初始信息。
图6 工作流初始操作选中一个结点,可以定义如下信息:图7 工作流结点对应的描述信息信息类型分成四大类:基本信息、人员分配。
用TAB页面分开表示。
基本信息是对结点的通用信息描述,包括结点类型、结点名称、任务描述、重要级别、完成期限等。
其中结点类型、结点名称是继承模板中的信息,结点类型包括是工作结点和控制结点,结点名称与模板中的结点名称一致。
人员分配,指定此工作结点的任务承担人,并确定有关策略。
任务承担人可以是一个人或多个人,或者是一个角色代表的一个工作组。
策略是指一个工作结点上任务承担人合作方式,如明确是由一个人完成还是由所有人完成。
图8 人员分配对话框工作流维护工作流维护是把初始化后的工作流调出来修改,如更改基本属性信息,重新进行人员分配等。
在这里也可以删除一个执行完毕的工作流。
处理界面类同工作流初始化,不再详述。
注意:一个工作流一旦启动,在运行的过程中不能进行工作流的维护。
(如果要求这种动态维护,实现起来就太麻烦了。
)启动/终止工作流界面简洁。
在工作流实例列表中选择操作对象,选择启动,后台的工作流引擎开始对此流程调度;选择终止,结束对流程的调度。
任务处理任务是否完成需要由任务完成人自己提交,用户选择一项任务,点击通过、不通过、返回起点等按纽进行处理。