用工作流实现项目流
按照项目流实施的先后顺序,项目管理可划分为六个阶段,即需求提议阶段、初步调查阶段、详细调查阶段、开发测试阶段、试验运行阶段、发布约束阶段。每一个阶段又自成为一个既封闭又开放的工作流管理体系,并在流程结束的时候为下一阶段的开始提供数据的接口和任务执行的决策点。
因此在设计项目流之前,可以把项目整个流程划分成如上所述的六个阶段,对每个阶段的数据管理设计为一个存在与其它功能模块数据交互的工作流,当把这六个阶段的实施均设计出它自身的工作流后,借助项目管理这个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的模型化描述方法构建基于工作流的项目流思想,为功能模块的有效性、健壮性实现提供了形象直观的图文档资料记录,对面向对象软件开发具有积极意义。
CIO之家 www.ciozj.com 公众号:imciow