运用UML建模技术,对项目管理中文档的组织流程进行模型化描述,并用图示化形式表述项目管理与文档管理的数据接口实现。
一、前言
PDM是一种战略性的企业管理体系框架,它应用一组一致的业务方案来支持在扩展企业内创建、管理、分布和使用覆盖产品整个生产过程的产品信息,它集成了人、过程和信息。
通俗地讲,PDM是管理和产品相关的各种数据的计算机辅助管理体系。依据这个对PDM系统管理功能的定位,在它的功能需求上规定了文档管理、产品数据管理的有效实现。在此基础上,随着技术和功能需求的扩大,PDM更加注重了知识的搜集、分类、重用以及再生等,项目管理、工作流管理就是在这种要求下扩大PDM的实现功能。
PDM数据管理的一项最基本的功能理念就是实现数据的共享和流程化监控。保证在PDM软件平台之上实现不同格式数据的转换和不同模块间数据的交互与传递。在PDM系统的功能模块中,文档管理是一个基准点,其他的模块比如产品结构管理、工作流管理、项目管理围绕这一个点完善管理流程,这也就是功能模块间数据共享的接口实现问题。本文将结合项目管理与文档管理间数据交互的流程说明接口实现的要求,并借助面向对象的建模技术UML对实现过程进行图示化描述。
二、项目管理中的文档组织接口实现
项目管理PM是一种在一定的约束条件下,对一系列活动进行的时间、范围和成本的管理,其目标在于有效地管理为完成特定目标而进行的一系列活动,PM按照项目的内部逻辑进行任务计划、跟踪、控制、核算和资源调配等。依据定义,在PDM中规定了项目管理的两项基本功能:项目组织和项目监控,
两方面协调管理项目的整个生命周期。
项目组织是根据项目的特点和项目计划,紧密围绕项目合理有效地组织项目中的人员,管理项目所需的各种资源和数据,并对任务进行分解,把项目按阶段、活动、子活动逐渐往下细化分解,保证项目按照计划顺利实施。而项目的数据和资源中,有相当大的一部分就是与项目有关的文件和图档,什么样的文档对应项目的哪个阶段,项目的一个阶段到另一个阶段的过渡需要传递什么样的文档资料,为符合项目进展的实程流程,项目需作怎样的改动,这都是在项目的组织阶段完成的。
项目监控是围绕项目,跟踪进度,掌握各项工作现状,以便进行适当的资源调配和进度调整,确定活动的开始和结束时间,并记录实际的进度情况,在一定情况下进行路径、风险等方面的分析。在实施项目的过程中,要随时对项目进行跟踪监控,以使项目按计划规定的进度、技术指标完成,并提供现阶段工作的反馈信息,以利后续阶段的顺利开展和整个项目的完成。在监控阶段除了完成即时数据的实时监控以外,再一项工作就是不同阶段相关文件、图档的合理调配,怎样才能把项目组织中归纳总结出的相关文档在项目开展中合理有效的管理,怎样在文档管理中以一种合适的状态表征它与项目进展的关系,这些都是在项目管理的过程中不可忽视的问题。
图2.1为整个项目管理与文档管理交互的流程图。在项目的文档在到电子仓库提交的过程中,必须存在一个文档传递的接口,通过这个接口,实现用户在并不明确文档处理过程的前提下,只是通过项目管理的操作平台,选择项目的某个阶段或者文档的某些属性,就可在当前页面自由管理项目文档。
在项目的整个生命周期中,涉及到的所有文档最终都会以电子文档仓库的形式进行管理。具体的实现过程可以描述为:通过文档分类共享接口,PM(项目管理)生成或者上传项目生命周期的某个阶段涉及的文档,发出文档检入电子仓库的请求给文档分类共享接口,由接口分析文档的性质和相关必要属性,比如项目编号、项目名称、提交人、存储在电子仓库中的物理位置等,由这些属性把项目对象和项目文件对象关联起来,与些同时把项目对象涉及的信息映射到项目管理平台,项目文档对象映射到文档管理平台,它的性质和属性在文档管理平台之上又变成了文档管理的关键字段。由文档管理对电子仓库提出文档管理的信息,由文档管理模块所得到的文档关键字段作为进入电子仓库的方向指针,最终在电子仓库中以某种合适的分类形式出现。
当要查看或者维护项目相关的文档时,是上述过程的逆过程。与文档检入到电子仓库对应的是文档从的检出。通过检出操作把文档信息归结到文档管理平台,再由文档管理分析文档类别、状态和文档索求方的需求信息,确认后发出文档提交给用户的动作,在用户的当前页面直接显示所要求文档的所有相关资料,整个过程在几秒钟内就可完成。
三、项目文档在电子仓库中的管理实现
项目文档通过项目管理平台完成提交操作,由文档管理实现文档的检入检出以及分类,在电子仓库一级实现项目文档合理有效地管理,电子仓库可以比较方便地实现文档的分布式管理与共享。新建文档或者更新文档提交在电子仓库之前,首先要通过规则对文档进行检查,只有符合操作权限的用户才能访问电子仓库,所以用户在项目管理对项目文档进行处理时,是在一定权限下进行的。在发出项目文档归档要求的同时,伴随着系统对项目文档相关的操作权限和用户身份的验证,在向文档管理提交某项目文档请求时,也离不开权限和用户身份的管理,电子仓库方面对权限和身份的要求,是通过它的规则库进行判断,验证通过,可以进行下一步操作。
可通过面向对象技术,用模型化的方法把权限和身份方面的规定渗透到整个流程管理中。
图3.1为从项目管理平台提交文档开始到进入电子仓库管理的整个过程。从图中可以看出,真正实现对项目文档的精确指向是与电子仓库的规则约束和文档基本信息库的管理分不开的。由规则约束集指定了权限和所对应的用户,文档基本信息库记录了与文档相关的项目名称、项目编号、流程阶段、文档状态等,这些信息实际上起到了文档定向指针的作用,通过它们组成项目标识的ID,从更深一层意义上缩小文档搜索的范围圈。
电子仓库与文件实际存放的物理位置是直接相关的,在电子仓库中实现了文档与其直接存放的物理位置的直接映像。文件路径、文件分类一般是以文件夹的形式标识,借助系统平台,按类别、按阶段、按状态分门别类地在数据库中实现对所有文档的记录,当然包括与项目有关的所有文档。
四、UML模型化流程描述
1、 UML(Unified Modeling Language)是一种标准的图形化建模语言,是面向对象分析与设计的一种标准表示,是可视化的建模技术,定义良好、易于表达、功能强大且普遍使用,溶入了软件工程领域的新思想、新方法和新技术。可以灵活地适用于描述任何类型的系统,而且适用于系统开发的不同阶段。同时为面向对象的设计与开发中涌现出的高级概念提供支持,强调了软件在开发过程中对架构、框架、模式和组件的复用。
UML的这些特性为现阶段基于组件技术、Web技术的软件集成平台开发提供了统一的模型化表达,规范了软件开发过程,降低了软件开发的难度,从另一方面提高了软件的质量和可维护性。在通用PDM系统的开发过程中就是借助了UML的建模思想,对模块间数据的共享和接口实现借助UML的静态视图和动态视图描述,以一种产品“图纸”的方式整体上表达模块间的交互性,这样在具体代码实现之前犹如制订了各模块间功能实现的标准,提高了模块间的集成度。
项目文档的管理是PDM中项目组织和项目监控中很重要的一部分。基于PDM的模块化组织原则,项目管理涉及的文档是作为文档管理的对象提交到文档电子仓库。在上文中已提到,从项目模块到文档电子仓库中间主要有两个操作动作:检入和检出,它们概括了项目文档流的过程,在表达这个过程中,可以借助于UML的活动图和类图,从静态和动态两方面描述过程中涉及的数据和条件。
2、接口实现的活动图
图4.1为项目管理与文档管理进行交互的活动图。两功能模块的桥接是运用了在项目文档管理中的检入检出关键字。在项目管理操作平台上提供与文档管理中相对应的文档信息,把这些信息作为检入检出的关键条件。当检入检出关键字通过了文档管理的搜索或者操作要求时,由文档管理模块与文档电子仓库进行信息交互,把项目文档作为普通的对象进行分类、归档或者提交等。
文档的检入过程是一个单向的过程,借助功能实现界面,访问文档管理底层,比如文档的上传或者修改的提交过程。文档的检出过程是一个双向的过程,首先要借助功能实现界面提供文档检出的关键字,提交给电子仓库,再由电子仓库进行库内运算或处理,搜索出文档或者作出无相关记录的回答信息,与检出关键字的信息一同通过功能界面返回给用户,比如文档的浏览、下载等。文档管理涉及了私有文档、公有文档、归档文档和废弃文档。某个项目文档要归结到哪种类型,这是与检入检出关键字、系统进行的状态、工作流程运行的阶段相关连的。
项目文档管理活动图描述了项目文档从项目管理经由文档管理到文档电子仓库的整个过程,流程明确,指向清晰,利于流程化的功能模块实现
3、接口实现的类图
在接口实现的活动图基础上,借助于软件开发的新技术很容易的实现接口的功能类图。这里以活动图描述的项目文档更新流程为例说明实现接口的功能类图。由活动图看出,进行项目文档更新有三条渠道:
①在项目组织过程中还未进入项目工作流阶段,针对某个项目某个阶段某个文档提出更新请求,首先要提供文档检入关键字,同时隐式传递项目所处“未执行”状态的条件,由文档管理直接做出答复。
②项目还未进行执行阶段,用户可以随时查看已经制作或者整理完成的文档,文档审批、传阅都不离开文档的浏览。在审批、传阅中如果发现不合实际或者不可行的文档要提出修改要求,这样再返回到文档组织中的更新操作步骤重新制订或者整理,和第一种情况一样,还要隐式传递项目所处“未执行”状态的条件。
③项目监控过程中,离不开在项目组织过程中组织归纳的分类文档,项目从一个阶段完成到另一个阶段的激活之间都涉及到一些关键文档作为任务激活决策点,所以离不开操作文档,同样也可以提出对文档进行更新的要求,更新的要求首先要提交给项目组织模块,同时传递“项目进行中”的执行状态,最后由项目组织完成项目的更新任务。
图4.2为文档更新的操作类图。类图的设计是基于Web技术的,把每一个链接页面均看作一个流程中实现某种功能的类处理,利于流程表达。
类的转移除了运用了Web的功能属性link、submit、redirect等以外,还考虑了功能实现语义方面的要求,特别对于类到类的重定向,这里就必须考虑到一些隐藏条件是否成立。在图4.2中有两个重定向。
①在项目流监控过程中,提出了文档的更新请求,把文档更新请求标志pro_doc_edit_warm由false改为true后,页面就重新定向于项目监控服务器页。
②项目监控服务器页在监测到pro_doc_edit_warm的值为true时,得出某项目有文档更新需求,马上定向于项目组织阶段,对项目组织工作作进一步的调整。
文档的更新可能还会涉及到文档名称、文档状态、文档编号等的改变,通过类的操作可以把其中改变的值以显示或者隐身的形式传递给电子文档仓库或者文档信息管理数据库
类图可以继续扩展流程,实现上面活动图构画的项目文档组织的过程。
4、小结
运用了活动图和类图的一部分示例,对项目文档管理的流程从高层和低层两方面进行了描述。活动图把项目管理中所有涉及文档的操作过程全部列出,这为类图设计和组件调用提供了方便。类图在文中只列出了项目文档更新的一个子流程,在类图中已经对每个类涉及到的变量或者实现类的程序加了标识,程序员可以按类图中统一的变量定义和程序导向进行编码,这样就在实现数据共享方面做到了统一的规定,利于最后所有功能模块在PDM功能平台上的集成和模块间的信息交互。
五、结束语
项目管理和文档管理是PDM集成平台的两个基本的功能模块,项目管理中涉及到大量的文档,而对文档的有序分类管理是在文档管理模块实现的,如何将项目整个生命周期中相关的文档合理地组织和使用,文档在模块间实现柔性过渡是非常重要的,也就是项目管理与文档管理功能集成的接口问题。
|