PDM/PLM/CAPP |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
UML在PDM项目组织流程中的应用 |
|
作者:曲阜师范大学 夏小娜 曹宝香 |
|
本文介绍了PDM系统的项目组织流程,并用统一建模语言UML对流程建模,通过模型化的描述进一步体会UML在信息管理系统的研制开发中的作用。
一、 引言
PDM(产品数据管理)是管与产品相关的数据和流程的工具集成平台,在制造业中应用日益广泛。它以产品数据与工作流集成的思想为指导下,科学合理地对企业业务流程、产品数据进行描述并支持软件重组,规范化地管理产品的整个生命周期,保证产品数据的一致性和可跟踪性。它的核心思想就是数据共享、人员协同、过程优化和减少企业瓶颈等,应用前景十分广阔。
对大多数企业来讲,其生产活动多是以项目为单位进行组织和管理的,PDM的项目管理PM就是针对项目实施过程中计划、组织、人员及相关的数据进行管理和配置,并对项目的运行过程进行实时监控。
UML(unified modeling language)是面向对象的统一建模语言,用于对功能密集型软件系统进行可视化文档化的叙述和构造的图形语言,是一种描述系统蓝图的标准方法,定义良好,易于表达,在面向对象的软件开发中具有直观的指导意义。
本文将综合项目组织的特点与UML的建模分析过程对开发的PDM系统进化面向对象的流程化分析。
二、 PDM系统中的项目组织
项目管理是一种为了在确定的时间范围内完成一个既定的项目,通过一定的方式合理地组织有关人员,并有效地管理项目中的所有资源(人员、设备等)与数据,控制项目进度的系统管理方法。总之,通过项目管理平台,PDM系统实现对工作组、人员配置及项目参与人员的角色分配,实现项目组各成员间能够动态地分配任务和追踪任务的执行情况。
在项目管理的定义中,对项目的组织占据着很重要的一部分。从广义上讲,项目组织是根据项目特点和项目计划,围绕项目合理组织项目中的人员,有效管理项目所需的各种资源和数据,保证项目按计划顺利完成。
对于任何一个项目,它都是一个有关其任务规划—任务分解—任务提交—任务完成的过程,要在整个过程中实现数据的自动化管理主要是通过工作流程的建立与监控,所以在项目组织阶段,要实现项目管理与工作流管理的数据接口,并且实现流程监控人员的合理分配。
这样,PDM系统的项目组织主要包完成三项功能需求:项目立项、资源组织、任务分配。
项目立项用来确实一个产品生产周期的开始;
资源组织是有关项目开发涉及的人力物力的调配和准备;
任务分配是对一个项目要完成的任务进行初始化,即为一个项目开始一个新的工作流程作准备;
在此基础上,再根据企业管理的需要,在系统的总体设计上可对这三部分进行功能扩充,比如实现项目模式、项目流程建模、采用Web技术、组件技术等。
项目组织的结构框架如图1.1所示:三、 有关UML的建模分析
UML表示法是用来模拟系统的工具,可对各建模元素进行详细说明,生成所建模型的文档。软件开发人员在作了系统用例分析后,可以利用UML提供的模型图设计软件开发流程,对他们而言,对每个复杂系统理解的最好方法是通过一系列几乎独立的模型视图描述,
这样会大大减少在编程时的盲目性和无绪性。在设计时,也并不是要设计出所有的模型图,一般是根据流程性质、数据导向过程、数据的静态动态等属性选择几种典型的模型图。
比如在人员协作、功能模块间数据共享、数据交互方面非常突出的系统中,用协作图、状态图、类图等都可以比较直观地构画流程。其中,协作图按照时间和空间顺序描述系统元素的交互和关系,状态图用来描述系统元素的状态条件和响应,这两种模型图在刻画动态数据上有很大的方便性,下文将用状态图、协作图等对PDM系统中与项目组织流程相关的动态、静态数据进行建模。
四、 实例系统的项目组织流程
在所开发的PDM系统中,使用了Web技术和组件技术,并且项目管理基于了工作流的自动化控制。因此在完成PDM系统项目管理功能的基础上,结合工作流程任务完成的需求,进一步考虑企业管理人员对项目管理的要求,如图(2)所示的流程设计。
* 项目模板设计:在项目组织初期,对项目所走的整个流程格式设计成一个模板,在以后所遇到同样流程的项目时直接调用已设计好模板,直接调用相应的流程模式,而不用再重新定义流程。
* 项目信息入库:准备好项目流程后,针对项目流程模板要求,对项目的一些基本信息进行填写,同时再一次确认项目流程所涉及的阶段是否符合要求。
* 组织人员:把项目开发过程中所有可能设计的工作组和角色进行选定,如果系统中没有合适的工作组或角色,可在此处进行重新定义。
* 组织材料:把属于某个项目的所有文档归纳到某个项目组织的相关数据库中,到设计项目流时,对不同项目阶段分派相关文档。
* 建立项目流程:为合理管理项目流程,采用分化思想,把整个项目流的关键阶段定义为一个封闭又不失联系的工作流,然后在每个工作流中提供与前后相关流程的数据接口。通过接口实现一个项目流。
* 激活项目流进入工作状态:是找出项目进入工作状态的决策点,比如下达任务执行文件等。在文件通过后,安排工作任务量和任务开始结束时间。五、 UML对项目组织流程的建模分析过程
从图3.1可以得到的信息就是项目组织从开始到项目流初始化这个阶段数据的整个流向,各阶段的激活是隐式的,为使软件开发人员更了解各阶段层次间的过渡、数据的共享、有关的数据库访问等底层操作,这里借用UML模型化描述,尽量多地体现隐式细节,以利于功能实现阶段工作的展开。
图3.1中所示的每一个阶段,它的进展情况用一个标志tagI表示,有三个取值,分别为0、1、2。当tagI=0,表示这个阶段的未进入工作状态;当tagI=1,表示这个阶段已进入工作状态,但还没有决定进入下一阶段的决策点是什么;当tagI=2时,此阶段工作完成,且具有了通知下一阶段进入工作状态的决策点。状态的转换和决策点激活阶段之间的动态数据处理,在用UML进行建模分析时,可以用状态图描述;另一方面,,项目开展过程中人员、工作组、角色等并不是单一的,每一阶段的完成就要考虑到人员、角色、工作组的协调和分工,对于协调、分工的描述可以借助于协作图。
(1)、项目组织流程的状态图表示。
从图3.1项目组织流程图中可以看出组织过程是有明显的先后顺序的,每一步动作的激活并也不是完全孤立的,如果在此步以前还有若干步骤,那么只有它前面与它相关的任务全都执行完毕,并且发出激活此步的决策点信息后,才可以进入动作初始化状态,继而进入任务执行阶段。项目组织的规划也是按照这样一种思路展开,从上到下,一个入口一个出口,成为一个有向图。 在表示每步的状态性质或者动作激活次序上,UML的状态图可以做到直观地说明。
在项目组织流程图基础上构画出的状态图如图4.1所示,图中圆框表示动作,在由一个动作到另一个动作的有线线段上提供了由一个状态到另一个状态转移的具体原因,图中的①至⑤涉及到动作激活决策点的情况,这与状态标志tagI相关,它们的具体含义解释如下:
转移条件①:管理信息状态标志tagI<>0,且组织材料状态标志tagM=0,组织人员状态标志为tagP=0,可以对项目录入的相关信息进行修改操作;
转移条件②:组织人员的动作激活条件就是管理信息状态标志tagI=2,对人员组织工作进入初始化工作,然后进行动作的具体细节;
转移条件③:组织材料状态标志tagM<>0,并且管理项目流程状态标志tagF=0,在此条件下可对已经组织好的材料进行更新;
转移条件④:组织材料状态标志tagM=2,通知管理项目流程阶段材料组织完毕,并把管理项目流程所需的动作激活点减少一个;
转移条件⑤:组织人员状态标志tagP<>0,且管理项目流程状态标志tagF=0,在此条件下可对已经安排好的人员情况进行调整;
转移条件⑥:组织人员状态标志tagP=2,通知项目流程管理人员已安排好,管理项目流程所需的动作激活点减少一个;当所需的动作激活点变为0时,此阶段可进入初始化阶段。当项目流进入了任务执行阶段,也就标志着项目监控管理的真正执行,在项目组织的人员和材料准备上尽量做的充分,尽量减少项目流执行过程中有不足或者不合适的情况。当然,随着流程化的进一步协调,也可实现在监控过程中组织方面的适当调整。
(2)、项目组织流程的协作图表示。
在项目信息填写完毕且状态标志tagI=2时,向下一层工作发出动作激活决策,如图3.1项目组织流程图所示,管理项目信息的下一个动作有两个:即组织材料和组织人员。因此在项目信息状态标志的值变为2时,它向这两个阶段均发出任务执行初始化要求。组织材料和组织人员在时间上可做到并行,不存在时间先后与动作执行前后的问题。只是在两个动作执行完毕后均要对建立项目流这个阶段发出动作激活命令,在收到两个动作激活命令后才可实施任务。
从项目信息分支到组织人员和组织材料,再到建立项目流,在时间上和空间上存在执行顺序的约定,用UML的协作模型图可以刻画这种动态的协作关系,如图4.2和4.3。
图4.3是图4.2的延续。两个协作图描述了从项目基本信息管理到项目进入流程监控之间的组织和协作关系。协作图是在流程图的基础上进一步细化了导向、处理的协作次序和条件。从图中可看出在协作图中已经具体到激发动作的函数和过程。
对动作激发函数的解释:
insertI()(注:I=1,2):把在客户端页面填写的信息添加到相应的数据库中;
SubmitI()(注:I=1,2,3,4):把本阶段的处理结果提交到下一级操作;
其他的动作激发函数是与编程阶段一一对应的,列出的就是实现激发动作的函数名称,对于这些函数的实现功能无非是激活下一级操作,并且提供激活条件;在组织材料方面提供了材料上传的操作;每一个步骤在它的tag<>2时可进行相应信息的维护更新。图中的函数名称基本上能说明它的功能目的,容易理解。
(3)小结
状态图是对功能类的一种补充,它展示了类的对象具用的所有可能的状态以及某些状况发生时状态的转移情况。协作图主要地是表现一种通信关系,且表示出通讯实现的动作以及动作实施成功的条件。状态图与协作图配合使用,对对象的状态监控和转移有很好的辅助作用,特别是协作图能够比较详细地表示出动作激活的函数和条件,这样程序人员在编程之前就可对程序的结构和导向做到一目了然。六、 结束语
本文构画了PDM系统中项目组织流程,运用面向对象建模语言UML设计了项目组织流程的状态图和协作图,把项目组织流程涉及到的对象状态特点和状态转移图示化。
通过状态图和协作图在PDM的运用,进一步体会到了UML在集成软件系统的开发中的作用,对于功能模块的集成、共享数据的管理、对象状态的转移和监控体现出很大的方便性和指导性,利于面向对象的软件开发,这种开发方法是值得借鉴和效仿的。
参考文献
[1]童秉枢 李建明,产品数据管理(PDM)技术, 清华大学出版社,2002年
[2][美]Roger S.Pressman 梅宏译,软件工程实践者的研究方法(原书第5版) ,机械工业出版社,2003年1月
[3]刘超 张莉 ,可视化面向对象建模技术—标准建模语言UML教程,北京航空航天大学出版社,2001年3月
[4]朱永祥 黄有群 邓超,基于PDM的项目组织结构的实现,沈阳工业大学学报,2000年8月
[5]刘乃若 董金祥 李善平 陈刚,ZD-PDM中面向目标的项目管理模型的设计,计算机研究与发展,1999年10月
基金项目:
*本文由国家自然基金项目(项目编号:60072014)和省自然基金项目(项目编号:Y2003G01)资助。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(5/11/2005) |
对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!
|