技术开发 频道

PDM与UML完美结合

    【IT168 技术文章】

    依据项目管理和工作流管理的特点,利用二者在功能实现上的数据交互与共享性,在PDM这个集成平台之上实现一种基于工作流的项目管理设计,并用面向对象建模语言UML来分析整个设计思想。

    PDM(产品数据管理)是当今计算机应用领域的重要技术之一。它是一种帮助管理人员管理产品数据和产品研发过程的工具,是一项管理所有与产品相关的信息和过程的技术,其核心是使所有与项目相关的人在整个产品生命周期中自由共享与产品相关的异构数据。

    近些年来,PDM技术在国外得到了广泛的应用。在美国CIMdata公司所调查的企业中,98%的企业都在实施PDM。

    PDM是企业信息集成和协同产品开发的框架,涉及从项目立项、产品生产到项目完成整个数据流程管理,依照产品生产的整个流程,借助PDM这个信息化集成平台,达到项目流、工作流间数据共享和数据自动化监控的目的。

    由于项目管理PM思想和技术已被越来越多的制造企业应用于产品开发,而PM作为PDM的一个功能模块也成了PDM发展的必然。在一个平台之上彼此弥补对方功能上的不足,综合发挥各自优势,这是软件开发的要求,更是方便企业管理者管理企业的要求。

    工作流主要对用户操作数据时,人与人之间或活动与活动之间的数据流向,以及在一个项目的生命周期内,跟踪所有事务和数据的活动进行管理。工作流思想贯穿整个项目管理流程,因此实现基于工作流的项目管理是勾画项目管理功能模块的主导思想。

    工作流的定义与管理

    工作流管理系统通过管理工作活动的逻辑序列而提供商业过程自动化的系统,它是定义、管理和执行工作流的场所。

    不同的工作流管理系统可以有不同的实现方法,不同的底层通讯机制,应用的范围也可能有很大差距,但所有的工作流管理系统从用户应用层上来看,通用工作流管理系统应该能够提供以下3个方面的功能支持:

    ◆ 建造功能,即对工作流的业务流程及组成这些业务流程的活动进行定义和建模。

    ◆ 运行控制功能,即在一定的运行环境下,负责创建、执行和控制工作流实例,激活相应的资源和应用,并完成过程中从一个活动到另一个活动的控制转移。它是整个工作流管理系统的核心部分。

    ◆ 运行交互功能,即在工作流实例的运行中,工作流管理系统与工作流参与者(业务工作的参与者或控制者)及外部应用程序进行交互的功能。

    图1是项目实施阶段的工作流数据流程图。从图中可以看出,在工作流过程中从模型建立到模型结点任务的分配和项目组织的数据接口、工作流程的自动化监控,形成了一个数据共享、功能独立的体系结构。而且流程还存在用户实时监控流程的数据接口,为整个项目开展下一个工作流程提供有用的数据。

    项目管理的运作流程

    项目管理是在项目实施过程中实现其计划、组织、人员及相关数据的管理与配置,监控项目运行状态,完成计划反馈。

    依据在PDM系统中对项目管理的功能定义,进一步可以划分成项目组织和流程监控。其中项目组织是根据项目的特点和项目计划,围绕项目合理组织项目中的人员,有效管理项目所需的各种资料与数据;流程监控则是围绕项目跟踪进度,掌握其各项工作现状,随时监控项目,并提供现阶段工作的反馈信息,这部分工作可以借助工作流自动的数据管理流程来完成。

    图2为项目数据流程图。其中项目的监控定义为项目流。在图中填充色为灰色的两部分的实现借助于工作流,用工作流的数据流程化思想来描述整个项目的实施情况。但项目并不仅仅是一个简单的工作流,多数情况下它是多个工作流的集合,所以在实现项目流的时候需要进行特别考虑与设计。

    用工作流实现项目流

    按照项目流实施的先后顺序,项目管理可划分为六个阶段,即需求提议阶段、初步调查阶段、详细调查阶段、开发测试阶段、试验运行阶段、发布约束阶段。每一个阶段又自成为一个既封闭又开放的工作流管理体系,并在流程结束的时候为下一阶段的开始提供数据的接口和任务执行的决策点。

    因此在设计项目流之前,可以把项目整个流程划分成如上所述的六个阶段,对每个阶段的数据管理设计为一个存在与其它功能模块数据交互的工作流,当把这六个阶段的实施均设计出它自身的工作流后,借助项目管理这个PDM系统的子工作平台,整合成一个大的工作流,即项目流。在项目监控时,提供与项目流相关的所有子工作流,实施监控项目子流程,最后统筹管理整个项目流。


    UML对基于工作流的项目流的建模

    UML是一种图形化的建模语言,它强调在软件开发中对架构、框架、模式和组件的重用。与其他建模语言相比较颇具优势,对基于B/S结构的项目流UML建模更是运用了这点。

    在PDM系统的项目管理中,项目流的监控是很重要的一部分。

    由于在PDM系统中已经比较完善的实现了工作流的模型化流程描述和任务完成监控,项目流管理的工作则是把项目流分成一个个的阶段,对每一阶段定义其子工作流,最后把子工作流合成一个项目流,在项目流基础上实现所有与项目相关工作流的集成和数据交互。

    图3是实现这种项目流的数据流程图。在项目管理模块对项目流的管理就是对项目所有环节的流程监控,同时为环节间的数据传递提供数据接口。在实现了每个环节的工作流程管理以后,再把各个流程集成在一起形成整个项目管理的流程。

    对基于B/S结构的PDM系统,用户使用系统的过程是通过浏览器访问数据库的过程,用UML建模语言对系统进行建模分析时要考虑Web技术的建模方法,特别在设计每个部分的类图时要体现出Web的属性。

    用UML对Web服务器的内部构件建模或者对Web浏览器的具体构成部分建模,这对于Web应用程序的设计员和构架设计师并没有多大帮助。用UML对页、页与页之间的链接、客户机和服务器上的动态内容等的建模才是最重要的。在查看Web页类时,希望了解页的哪些操作、属性甚至关系在服务器上处于活动状态,了解当用户与页交互时哪些页在客户机上处于活动状态。

    初始的UML不足以获取一个特定领域或构架的相关语义,用UML传统的模型图也不足以清晰地表明页、页与页之间交互的动态活动。

    为解决这个问题,UML确定了一种正式扩展机制——类别模板,通过扩展机制允许实践者扩展UML语义。在下面的对基于工作流的项目流设计流程建模中体会这种建模思想与方法。

    对项目流进行模型化设计,要体现出实时监控的自动化把握及不同角色、工作组、阶段的数据交换,UML交互视图提供了系统中行为在全局的描述,显示了多个角色间信息传递的控制流程。

    在交互视图中,顺序图是经常使用的,在对项目流程的建模实现时,设计出它的流程顺序图利于编程人员对整个流程的把握,可以正确地设计出类图或者代码编写。

    项目中的顺序图表示了随时间安排的一系列消息,顺序图的一个用途是显示用例的行为序列。当行为被实现时,每个顺序图中的消息与对象的操作或状态机中迁移上的事件触发相一致。顺序图的纵向线表示时间轴,时间自上而下。横向显示了代表协作中单个对象的分类角色。每个分类角色表现为垂直列生命线。在角色存在时间内,生命线显示为虚线;在角色的过程激活时间内,生命线显示为双线。

    在设计项目流监控流程的顺序图时,把项目流的每个阶段设计成一个分类角色,转移条件设计成系统消息,在初步调查行为角色中,它的时间线加粗了,这表明图中是处于初步调查动作激活状态。

    初步调查动作完成后,在时间线上标识的是对下一个阶段发出消息的动作,如果不同的阶段存在同步进行的动作,在时间线上显示时是在同一个水平线上。项目流程是按照项目实施阶段展开的,各阶段的动作激活在图中呈现出阶梯的形式。

    在每一个分类角色的任务执行中,还涉及到许多的文档资料,这些资料在作为下一个分类角色工作的决策点上有重要的参考意义和激活能力,因此在每个行为角色管理上,文档管理是必不可少的。

    工作流是PDM系统功能实现中最具灵活性的流程化管理模式,而项目流贯穿了一个企业生产管理的整个流程。在PDM系统中,把项目流按阶段分化成若干工作流,工作流通过项目管理平台统一成项目流,这种方式符合人们管理项目的习惯,并且提供了数据监控上的更大灵活性和方便性。

    通过UML的模型化描述方法构建基于工作流的项目流思想,为功能模块的有效性、健壮性实现提供了形象直观的图文档资料记录,对面向对象软件开发具有积极意义。
 

0
相关文章