资源描述
工作流需求阐明书
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. 罗海滨.工作流技术综述.软件学报.(11),7:899-907
2. 范玉顺.基于工作流CIMS应用集成支持系统研究.计算机工程与应用. ,2:9-10
3. 范玉顺.工作流管理技术基本.清华大学出版社..4
4. Wil.M.P. Van Der Aalst. Verification of Workflow Task Ttructures:a Petri-net-based approach information systems. Vol.25 No.1 pp.43-69
5. Ellis C.A. Null. G.J..Modeling and Enactment of Workflow System Application and Theory of Petri Net Lecture Notes in Computer Science 691,Berlin Springer-Verlag,1993 1-16
6. 卢正鼎.面向并行工程产品设计过程管理抽象模型.计算机辅助设计与图形学学报. ,Vol12. No.2:123-124
7. 刘铁铭.基于工作流公司过程建模与仿真. 清华大学学报. ,Vol.40 No.1:109-110
……
参照应用系统
1. SmartTeam4.0 以色列Smart Solution公司
2. 开目PDM 武汉开目公司
3. 大恒PDM2.0 北京大恒公司
4. LOTUS workflow 美国IBM
5. workflo 上海新视界
2 项目概述
2.1 产品描述
系统规定实现项目管理和工作流管理两某些,重点是工作流管理,项目管理调度通过调用工作流系统中办法来实现。
项目管理内容:
项目创立
项目分解
流程设定
过程管理
过程监控
工作流管理:
l 过程模型初始化
l 工作流维护
工作流客户端
l 启动/中断工作流
l 任务项解决
l 收发邮件
工作流客户端
l 任务列表
l 任务执行状态
图1 项目管理/工作流管理功能整合示意图
项目管理完毕项目定义、项目分解等工作,项目任务流程设定、过程管理、过程监控完全由工作流系统承担,在系统中,项目管理更多作用是作为一种集成操作界面。
项目管理和工作流管理应用模式与CEDM系统一致,在软、硬件平台规定上等同于CEDM系统。
2.2 产品功能
项目管理功能比较简朴,在此不再陈述。
工作流管理系统实现功能如下:
工作流系统
图形化定义工具
工作流引擎
工作流管理
客户端应用
人员组织管理
图2 工作系统构造图
1. 图形化定义工具
流程设计通过图形化界面表达出来,清晰直观,易于理解。
l 新建活动节点、条件节点
l 设立活动(条件)名称、类型、内容、执行角色、先后条件、解决时间、逻辑判断规则设定
l 绘图功能:对齐、分布、移动、网格等
2.工作流管理
l 过程模型初始化:提交定义好流程模板,设定运营参数、有关人员和解决时间
l 工作流维护:修改属性、活动、角色、流转条件、执行顺序
l 过程监控,跟踪活动状态
l 评审和记录
3. 工作流引擎
l 解释工作流模板
l 控制过程实例创立、激活、挂起、终结等
l 控制活动实例间转换,涉及串行或并行操作
l 提供支持顾客操作接口
l 维护工作流控制数据和工作流有关数据,在应用或顾客间传递工作流有关数据
l 提过控制、管理和监督工作流过程实例执行状况功能
4. 客户端应用
l 启动/终结工作流过程实例
l 任务列表/任务项解决(完毕、终结)
l 过程状态查询
l 获取/返回工作流有关数据
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 任务列表
工作流程初始化
在工作流程图形化定义工具中,只定义了工作流模板,描述了工作流程执行先后顺序,详细信息设定需要在工作流程初始化时候完毕。
工作流程初始化一方面是加载工作流模板,在模板列表中选取一种需要初始化对象。选取“模板初始化”,提供图形化界面用来设立工作结点上初始信息。
Node1
Node2
Node3
Node4
图6 工作流初始操作
基本信息 人员分派
选中一种结点,可以定义如下信息:
结点名称
结点类型
任务描述
完毕期限
重要级别
图7 工作流结点相应描述信息
信息类型提成四大类:基本信息、人员分派。用TAB页面分开表达。
基本信息是对结点通用信息描述,涉及结点类型、结点名称、任务描述、重要级别、完毕期限等。其中结点类型、结点名称是继承模板中信息,结点类型涉及是工作结点和控制结点,结点名称与模板中结点名称一致。
人员分派,指定此工作结点任务承担人,并拟定关于方略。任务承担人可以是一种人或各种人,或者是一种角色代表一种工作组。方略是指一种工作结点上任务承担人合伙方式,如明确是由一种人完毕还是由所有人完毕。
基本信息 人员分派
人员列表
添加
删除
执行方略 一种 所有
图8 人员分派对话框
工作流维护
工作流维护是把初始化后工作流调出来修改,如更改基本属性信息,重新进行人员分派等。在这里也可以删除一种执行完毕工作流。
解决界面类同工作流初始化,不再详述。
注意:一种工作流一旦启动,在运营过程中不能进行工作流维护。(如果规定这种动态维护,实现起来就太麻烦了。)
启动/终结工作流
界面简洁。在工作流实例列表中选取操作对象,选取启动,后台工作流引擎开始对此流程调度;选取终结,结束对流程调度。
任务解决
任务与否完毕需要由任务完毕人自己提交,顾客选取一项任务,点击通过、不通过、返回起点等按纽进行解决。
任务列表
解决意见
通过
不通过
重做
图9 任务解决对话框
通过,工作流引擎以为此工作结点上任务已经完毕,信息解决按正常流程转移到下一种任务结点。
不通过,信息解决按出错流程转移到工作流中预定结点。
重做,当前工作结点所做工作失效,重新进行解决。
点击这三个按纽,都可以弹出解决意见对话框:
解决意见
附件
拟定
图10 任务解决意见对话框
填写解决意见时,可以粘贴附件。拟定后,解决意见和附件通过邮件系统发送给流程中下一种结点,下一种结点任务承担人可以在收件箱中查看。
收发邮件
在系统内部,实现基本邮件收发功能。
收邮件,给出所有收到邮件,附件可以另存到本地,EDM能支持文献格式可以直接浏览。
发邮件,从系统顾客中选取收件人,可以发送消息和附件。
3.1.3 逻辑解决
在项目管理过程中,逻辑解决提成如下三种:
顾客
创立项目
修改项目
删除项目
项目管理树
图11 项目管理树管理
工作执行
工作执行相应项目普通员工。
顾客
查看任务列表
解决任务
EDM系统
任务提交
工作流流转
工作流引擎
图12 工作流运转流程
工作流管理
工作流管理相应由产品主管或项目主管来完毕。
顾客
工作流初始化
工作实例维护
启动工作流
终结工作流
工作流引擎
工作流引擎端
办法集
图13 工作流维护六流程
邮件功能
顾客
收邮件
发邮件
工作流引擎
工作流引擎端
邮件服务
图14 邮件收发流程
3.2工作流模板定义
采用图形化手段定义工作流基本模板,模板中控制和构造信息可以保存到后台数据库引擎中去,作为工作流引擎进行流程调度根据。
工作流模板定义作为工具集独立存在。
3.2.1功能规定
工作流模板定义通过图形化手段实现,给顾客一种直观印象,以便顾客使用。功能重要实现图形解决、结点解决、模板保存等功能。
图形解决
提供工作流图形化表达一系列工具集,涉及用鼠标拖画流程中结点,结点之间具备方向性连接线。
为提高画图速度,提供网格功能,鼠标自动捕获到近来网格点。
结点移动时,有关联连接线能同步移动,能实现图形显示时消隐解决。
结点解决
工作流模板中结点提成两种类型,工作结点和控制结点。
工作结点相应详细一种工作单元,用来描述结点上所要解决工作。在工作流初始化时,对工作结点进一步描述。
控制结点是模板中一种辅助结点,包括控制流程逻辑判断条件,可以减少流程解决复杂限度。在工作流初始化时,普通不需对控制结点进一步描述。
模板定义保存
图形化模板绘制完毕后,需要把其中控制信息和构造信息保存到工作流引擎相应数据构造中,一方面需要把模板上信息整顿归类,映射到工作流详细数据构造中去,另一方面,需要对整个图形视图序列化保存,以变在需要时候对图形重现。
3.2.2交互界面
工作流图形化定义界面重要体当前工作流模板图形解决上。
整体界面布局
菜单区
绘图区
工具条区
图15 工作流图形化定义主界面
工具条区用形象化图标来表达,这些功能图标相应功能应涉及:画工作结点、画控制结点、结点间划连线、网格显示与关闭等。
确省地系统自动给出开始结点和结束结点。
对结点与连接线编辑通过各自上面右键菜单进行。
结点上附带右键菜单
编辑结点
删除结点
图16 工作流模板中结点相应右键菜单
结点属性编辑框
结点类型 结点名称
结点图标
字体 对齐方式
宽度 高度
图17 结点属性定义界面
结点类型分两种:工作结点和控制结点。
结点名称:由顾客指定,如设计、校核、审定等。
结点图标可以通过选取文献对话框选取一种图标文献。
字体、对齐方式等规范结点名称显示形式。
连接线属性描述框
连线名称 回答类型
字体 线型
风格 线宽
图18 连接线属性编辑框
回答类型有如下几种:接受、回绝、检查。
字体可在系统安装字体库中选取。
线型涉及可供顾客选取实体线、点划线、虚线等类型。
风格分直线、水平线、垂直线几种。
线宽用来设立连接线宽度。
工作流模板图形化示例
开始
设计
工艺审查
原则审查
审定
批准
接受
审定失败
回绝
结束
图19 工作流模板示例
图中,矩形代表工作结点,椭圆代表控制结点,连接线中恢复类型缺省为接受。
顾客
绘制工作流模板
保存
存入工作流引擎相应数据构造
工作流引擎
3.2.3逻辑解决
工作流模板图形化定义逻辑解决相对简朴。
图20 工作流模板图形化定义逻辑解决图
3.3工作流引擎
工作流引擎是整个系统最核心某些,它维护工作流实例自动流转,并提供一系列办法供客户端调用,实现客户端与工作流引擎交互。
3.3.1功能规定
工作流引擎应提供如下功能:
维护工作流模板与实例
解决工作流模板上构造信息和控制信息,保存模板实例化后工作结点、控制结点中属性信息。规定工作流引擎提供这某些数据模式能有效、无歧义地对模板与实例进行记录。
工作流流转控制
涉及实例创立、激活、挂起、终结等。依照工作流模板与实例定义逻辑,引擎能自动控制工作流运转,解决过程中,能提供较强容错机制。
数据传递
及时精确地把对的信息传递给对的人。这里信息有控制信息、解决意见、文档数据等。
收发邮件
提供收发邮件功能。完毕对邮件传递、保存、后期维护等过程管理。
任务列表管理
引擎针对系统中每一种顾客提供任务列表管理,并记录每一项任务状态,顾客对一项任务解决提交后,引擎要更新任务状态。
顾客操作接口
工作流引擎需要与项目管理、工作流模板定义、工作流监控台进行大量信息互换和数据传播,这些操作即规定工作流引擎端提供相应接口,客户端应用程序通过调用接口实现这种交互。
这些接口符合DCOM中IDispatch或IUnknown规格。
3.3.2交互界面
工作流引擎重要在服务端运营,不需要复杂交互界面。在CEDM系统中,增长一条菜单项“启动工作流引擎”即可。
3.3.3逻辑解决
工作流引擎作为服务端,与顾客操作没有直接联系,这里暂不描述它内部逻辑解决过程,这某些逻辑模型将在概要设计和详细设计时进行解决。
3.4工作流监控台
工作流监控台作为一种独立工具提供应顾客使用,这个顾客具备对所有工作流和任务具备监督和管理权利。
3.4.1功能规定
工作流监控台提供一种集成界面,监督系统中所有工作流实例执行状态;查看所有员工任务列表;管理任务列表中历史信息。
工作流执行查看
监督员可以选定一种工作流实例,查看实例执行状况。系统提供一种图形化界面,显示工作流实例图,通过图标变化阐明工作完毕状况。
任务列表查看
选取系统中任一顾客,可以列出她当前任务列表。此处任务列表显示与项目管理中显示任务列表一致。
历史信息记录
选取系统中任一顾客,可以列出她所有已经完毕任务。在此基本上,可以按照各种时间段(月、季、年)和各种分类(任务阐明、优先级)提供任务记录功能。
3.4.2交互界面
工作流监控台作为一种工具,具备独立界面。
针对上述三个功能规定,提供三个操作界面。
工作流执行查看
一方面列出工作流引擎中所有工作流实例,顾客选取一种,则当前工作流实例以图形化方式显示出来,当前正在解决工作结点通过变换图标或颜色方式显示出来。
开始
设计
工艺审查
原则审查
审定
批准
接受
审定失败
回绝
结束
图21 工作流实例运营状态
此图中表达此项工作已进行到审定阶段。
任务列表查看与记录
在系统顾客列表中选取一种顾客,指定显示她当前任务列表。显示方式与项目管理中任务列表显示一致。
在系统顾客列表中选取一种顾客,指定任务列表记录,任务列表中显示该顾客所有已完毕任务。如果给出了限定条件,如某期段完毕任务、某种类型任务,则只显示满足给定条件任务列表。
3.4.3逻辑解决
工作流监控台逻辑解决相对简朴,它只提供查询功能。
顾客
工作流执行查看
任务列表查看
任务列表记录
工作流引擎提供查询办法
工作流引擎
图22 工作流监控台逻辑解决图
3.5 权限控制
项目管理与工作流管理执行需要有权限控制,在创立“产品项目”结点时,指定项目负责人,它具备对项目进行分解和管理工作流功能。
项目主管具备如下权限:
l 创立下级项目
l 修改项目属性
l 删除项目
l 工作流程初始化
l 工作流维护
l 启动工作流
l 终结工作流
工作流模板定义与工作流监控平台作为两个工具集独立运营,不在CEDM系统权限控制之列,考虑采用授权号方式进行管理。
工作流引擎与CEDM服务端集成在一起,它启动没有权限限制。
4 设计约束
4.1 系统运营平台
系统硬件运营环境与CEDM系统规定一致。
4.2设计规定
1. 采用CEDM中体系构造,如对象定义通过FormDesigner进行,功能实现通过注册与菜单项有关联。
2. 界面风格与CEDM系统保持一致。
3. 工作流系统中工作流引擎实现为DCOM组件,其他模块不做此规定。
4. 数据设计逻辑构造与CEDM一致。
5. 工作流及邮件中附件解决采用CEDM中文献引擎。
6. 人员组织、权限管理与CEDM中人员权限管理实现统一。
5 风险分析
项目管理与工作流管理开发是依照市场反馈需求拟定,但此需求报告不是依照某一家顾客详细需求编写,而是在综合顾客某些从来、参照同类产品功能,由公司研发部提供。本次开发,咱们以为存在如下风险。
顾客流程模糊与多变
在与顾客交流中,大某些对工作流系统缺少一种严格定义,既但愿工作流程能精确严谨地调度,又但愿工作流系统能保持独立性和灵活性,在进行例外解决时能不受工作流程制约。这为系统分析带来诸多不拟定性因素。
顾客流程拟定后,也许频繁被修改。当前,公司管理中经常发生业务重组导致流程变化不久,如果一种工作流正在执行过程中发生了流程变更,工作流系统难以解决。
这些状况导致工作流系统应用不也许象图档管理应用同样有比较固定模式和流程,从而会影响工作流系统应用效果。
工作流引擎实现复杂性
项目管理和工作流系统核心是工作流引擎,绝大某些功能要在工作流引擎端实现,客户端只是与顾客交互一种手段。由于工作流调度过程中复杂性和顾客规定灵活性,使得工作流引擎实现变得十分困难。大某些商用工作流系统引擎也存在不少缺陷,诸多组织与公司致力于工作流实现模式研究和探讨。WfMC在发布工作流规范中,也只给出工作流实现框架,而很少涉及实现模式和手段。在工作流模式上,有基于对话模型、基于Petri网模型等,在实现手段上,也是百家争鸣,有基于消息队列、基于文献、基于数据库、基于组件与套件等各种方式。总之,工作流系统研究和开发解决发展期,没有形成占主导地位模式和办法。
对于复杂工作流系统而言,咱们对系统分析、设计和规划环节存在能力局限性问题,因而,需要在项当前期阶段慎重对待,采用各种手段保障前期工作质量。
DCOM技术成熟与掌握
DCOM技术作为分布式计算技术一支主流,发展不久,在诸多应用系统中得到应用。同步它变化也不久,从COM到DCOM再到COM+,从体系构造到实现细节都不断在发展和调节。本次咱们决定把工作流引擎实当前DCOM平台上,也面临纯熟掌握DCOM技术挑战。
在前期工作准备上,项目组在DCOM技术上做了诸多技术上论证和准备工作,涉及开发了某些实验系统来验证DCOM性能,同步公司在CORBA技术应用上也有丰富积累。但DCOM技术毕竟与CORBA有很大差别,公司在DCOM也缺少开发一种实际应用系统经验,在此问题上,需进一步投入力量,加强对DCOM掌握限度。
公司支持与保障
开发工作流系统有很大工作量,在当前公司状况下,对PDM项目组不也许增长人员,同步,ExDM完善与CEDM实行会占用项目组很大一某些精力。如何保证工作流系统开发工作进行,合理调配资源,需要在公司管理层面上认真考虑,慎重对待。
同步,咱们应看到,工作流开发应尽快进行,这不但是完善咱们产品需要,也是增强PDM系列产品竞争力需要。不断竞争态势如何变化,功能领先、技术领先始终是产品市场推广中重要支撑。
展开阅读全文