5 增量式聚合开发实施应用实例
在上海某重型机器厂的PLM系统开发实施项目中,本课题组设计了四种角色(用户、咨询顾问、系统分析员和开发人员)参与该项目,以下描述其增量式开发实施过程:
步骤1 根据已有经验和知识,利用UML创建了PLMM,同时对其他软件资源模型进行扩展,以满足系统集成的语义需求。
步骤2 咨询顾问负责与用户交流,逐步了解企业的业务需求。
步骤3 系统分析员将咨询顾问对企业的描述求精,使用UML,在PLMM业务规范约束下对PLMM具体化建立IPMM,如图5a和图5b所示,根据PLMM的PMR,MMR,DoMR,DrMR和MMD,DoMD,DrMD等语义,进行属性、行为的添加和配置,实例化出满足企业需求的零部件模型、产品结构模型等;根据Process,Activity,Rule,Resources,Role,Organizations,User等,实例化出企业不同的过程、资源、角色、人员组织情况,如零部件的设计过程、零部件的加工制造过程,以及相应的资源、角色、人员的使用模型。
图5 PLMM,IPMM和IPM转换实现过程
步骤4 根据初步得到的IPMM,开发人员把UML图形化描述的IPMM模型转换成可扩展标记语言(eXtensibleMarkup Language,XML)语言描述的模型。为支持模型驱动的增量式开发实施,课题组使用了MDA开发工具GeneXus,通过模型转换器在GeneXus中导入XML描述的IPMM,生成系统实现模型,得到原型系统,并在开发阶段进行初步测试。
步骤5 用户进行大量测试数据录入,从IPMM实例化出IPM,如图5c所示,描述了系统对部件-入口活套的信息管理。此时,可以测试系统对IPMM和IPM的管理能力,以及系统的稳定性、使用的方便性等指标和业务管理上存在的问题。
五个步骤在开发实施周期中不断循环,系统运行情况和客户新需求可以丰富经验和知识,优化PLMM,同时不断改进和完善IPMM及软件系统,体现出增量式开发的特性。而在一个循环内部,步骤2~步骤4主要描述了IPMM的构建和使用,步骤5描述了IPMM的运行,体现出IPMM的聚合特性。
在具体开发实施过程中,项目组在制定零部件属性时,开始只考虑了企业的内部情况,建立的零部件模型如图5b所示,这个模型通过MDA工具生成了原型系统中零部件数据结构和相应的管理功能。但在实施应用过程中发现,企业存在大量的外购件,而每种外购件因为供应商的差异,编码规则基本不一样。在此情况下,通常采用两种解决方案:直接采用外部供应商的编码;外部供应商的编码作为一个属性加入到PMR中,企业根据自己的编码规则再进行编码。项目组采用第二种方案,以便于企业内部零部件的分类、重用和检索。项目组建立了如图6所示的UML模型,通过MDA工具生成新的数据结构和管理功能,对系统其他部分没有影响,同时对企业原来测试和录入的零部件数据也没有影响,在此只需要在建模系统中建立相应的模型,经过一定的模型变换,导入到MDA工具中,就能100%生成相应的数据结构和代码,通过模型实现业务需求和软件系统的快速聚合。
图6 业务需求改变IPMM
目前,课题组在企业开发实施的物料清单(Bill of Material,BOM)管理功能模块已经通过最终测试在企业运行,而这一阶段提交的IPMM局部是后续采购、生产管理模块聚合开发实施的基础。
6 结束语
本文提出了面向PLM系统的增量式聚合开发实施方法,认为增量式聚合PLM系统开发实施的关键是IPMM。IPMM的构建不仅要满足业务规范约束,同时要成为系统实现的驱动模型,还要满足一定的语义规范。结合UML标准,提出了面向PLM环境下的四层元模型体系结构,使得IPMM不仅能满足UML语义和PLM业务规范,还能体现企业的个性化特征。增量式聚合开发实施方法是一种以客户需求为主导,注重用户参与度,功能模块逐步完善的方法。该方法能迅速获得企业的认可,提高客户满意度;同时,该方法遵循PLM业务规范原则和特性,能逐步实现PLM的效益。
本文主要从实现方法层对开发实施过程进行了描述,因为当前的标准建模语言UML语义尚未完备,同时现有的MDA工具还不足以支持增量式开发实施方法的一系列观念,所以在实际的开发实施过程中,还需要一部分的手工编码,随着UML的完善和MDA工具功能的增强,聚合开发实施效率将会显著提高。