APP下载

一种基于扩展UML的企业应用软件PIM模型

2010-07-18孟凡超初佃辉战德臣徐晓飞

哈尔滨工业大学学报 2010年5期
关键词:数据模型关联对象

孟凡超,初佃辉,战德臣 ,2,徐晓飞 ,2

(1.哈尔滨工业大学(威海)企业与服务智能计算研究中心,山东威海 264209,mengfanchao74@163.com;2.哈尔滨工业大学企业与服务智能计算研究中心,哈尔滨 150001)

一种基于扩展UML的企业应用软件PIM模型

孟凡超1,初佃辉1,战德臣1,2,徐晓飞1,2

(1.哈尔滨工业大学(威海)企业与服务智能计算研究中心,山东威海 264209,mengfanchao74@163.com;2.哈尔滨工业大学企业与服务智能计算研究中心,哈尔滨 150001)

针对UML在企业应用软件建模中可用性差和效率低的问题,提出一种基于扩展UML的企业应用软件PIM模型.通过对企业应用软件特点的分析,建立了一个以业务对象为中心的多视图集成PIM模型,对UML进行扩展,在它的元模型中增加了描述企业应用软件PIM模型中的概念及其之间关系的元类、版型和标记,并采用包对这些概念和关系进行不同视点的划分.基于扩展UML的企业应用软件PIM模型通过业务对象的丰富语义实现了UML中各种图之间基于语义的集成,改善了UML的可用性,提高了企业应用软件的建模效率.结果表明:通过实际案例验证了该模型的可行性和有效性.

模型驱动的体系结构;平台独立模型;企业应用软件;业务对象

随着软件技术的发展和软件应用的推广,企业应用软件(Enterprise Software and Applications,ESA)的规模和复杂度日益增加,软件开发人员面临着越来越多的来自于业务环境和IT实现技术方面的挑战,迫切地需要解决提高软件开发效率、降低软件成本的问题.OMG[1]提出了模型驱动的体系结构(Model Driven Architecture,MDA),MDA是一种基于形式化模型的系统描述和互操作方法,它强调在不同层次模型之间的自动的转换,已经成为近几年软件工程界的研究热点.MDA将模型划分为:计算无关模型(Computation Independent Model,CIM)、平台独立模型(Platform Independent Model,PIM)、平台相关模型(Platform Specific Model,PSM)和代码(Code)4个层次,PIM处于4层模型中的承上启下位置,是MDA的核心.

目前已经出现许多企业应用软件的PIM建模方法和语言,例如,CIM-OSA、GRAI、ARIS和DEM等[2-5].然而这些方法主要关注于业务层次的建模,而对于软件建模层次所描述的内容则比较少.OMG[6]推荐使用UML作为MDA的标准建模语言.UML是一种图形化建模语言,UML2.0版本提供了13种图(Diagram),并通过不同图使用的一个组合来描述特定领域模型.UML虽然能够描述所有领域的PIM模型,但是其自身有一些局限性[7],从而影响了它在特定领域建模中的角色.为了改善UML的可用性,本文针对ESA的特点,提出了一个基于扩展UML的企业应用软件PIM模型(也称为ICE-PIM),该模型是ICEMDA的一个重要组成部分[8].ICE-PIM基于业务对象的丰富语义实现了UML中各种图之间基于语义的集成,改善了UML的可用性,提高了ESA的建模效率.

1 ICE-PIM模型

PIM是由CIM映射而来的.对于ESA来说,CIM是以过程为中心的,以企业的流程优化为目的.PIM是以CIM层中的信息文档及其流程化处理为中心.如果能够将系统中的每个信息文档的数据结构与数据依赖、将作用在每个信息文档上的操作和活动、将信息文档与信息文档之间的衔接关系分析清楚,便可很好地完成 ESA的设计[9].而需要分析的这些内容非常适合采用面向对象的方法进行描述,因此ICE-PIM采用面向对象的技术进行建模.

ICE-PIM中的主要对象被称为业务对象(Business Object,BO).从用户角度而言,BO是指用户所采集、传递和处理的单据、报表等信息文档,以及在其上的状态处理和操作处理的集成体.从系统角度,业务对象是指具有独立标识的、具有一定生命周期的、由若干数据集和操作集构成的一个集成对象.

BO体现了业务数据的集成,将若干相互关联的数据集围绕一个核心数据集集成在一起,以整体的或可关联的方式提供给用户,使用户可以非常方便地进行业务处理.BO是有生命周期的,从BO建立开始,到BO完成使命归入档案为止,体现了完整的生命周期.BO的操作集(也称为BO活动)具有顺序上的衔接关系,BO之间也存在处理上的衔接关系,这种衔接关系就体现了企业的业务过程(Business Process,BP).从BO角度,BP就是BO活动的衔接关系和BO衔接关系的描述,这种衔接关系体现了ESA软件围绕BO及其处理的集成.通常情况下,BO是静态的,而BP是动态的.将BO的不同活动,按照用户需要的方式、需要的顺序、需要的衔接关系、需要的控制关系进行动态的组合,就是BP.在提出了BO后,这种变化可区分为相对稳定的BO和可变的BO衔接关系,相对稳定的BO由业务对象模型来刻画,可变的BO则由基于BO的工作流模型来刻画.

将业务对象模型中的每个BO所包含的数据部分提取出来,并加以细化可以形成系统的数据模型,数据模型可以分为两个层次:基于BO关联的全局数据模型和基于实体关系的单个BO数据模型.将工作流模型中的每个BO活动的执行角色提取出来,同时建立与企业中相应组织或岗位之间的关联关系,可以建立系统的角色模型.因此,一个ICE-PIM是由业务对象模型、基于BO的工作流模型、数据模型和角色模型4部分构成,图1描述了ICE-PIM模型的构成要素.

2 基于扩展UML的ICE-PIM元模型

2.1 ICE-PIM元模型的结构

MDA采用了基于元对象设施(MOF)的4层元数据结构,从上到下依次是:M3层(元-元模型)、M2层(元模型)、M1层(模型)和 M0层(实例).在MDA的元模型方法中,有两种构建M2层元模型的方法[9]:1)利用MOF从语法和语义上构建一个全新的元模型;2)是在UML元模型的基础上,利用UML的扩展机制进行扩充,构建一个基于UML的元模型.采用方法2既可以利用UML的扩展机制也可以利用UML的固有建模元素来来建模领域相关的概念和关系,目前大多数基于UML的MDA工具都支持这种扩展方式,不需要重新开发建模工具,工作量比较小,因此,采用UML的扩展机制来定义ICE-PIM元模型.

在UML元模型的基础上[10],ICE-PIM 元模型增加了新的版型、标记和元类,并采用包来管理这些元素.为了提供对视点的显示支持,在元模型层次上对ICE-PIM建模中的概念及其之间的关系进行不同视点的划分,其中,每个视点是对ICE-PIM某一方面特征的描述.ICE-PIM元模型包含5个包:BO Model元模型、Workflow Model元模型、Role Model元模型和Data Model元模型,其中,BO Model元模型又包括:BO联系图元模型、BO类图元模型、BO状态图元模型、BO数据模型图元模型和BO用例图元模型.图2描述基于扩展UML的ICE-PIM元模型的结构.

图1 ICE-PIM的构成要素

图2 基于扩展UML的ICE-PIM元模型(顶层)

2.2 BO联系图中的关系

BO联系图描述了一个系统所包含的业务对象以及业务对象之间的关系.业务对象之间的关系可以分为:关联关系,集成关系和分类关系.业务对象之间的关联关系是指不同的业务对象依据一定的规则建立的数据映射关系.根据相互关联的两个业务对象的数据映射关系,可以分为主键引用性关联、主键多属性关联和模糊性关联.集成关系表示一个业务对象的实例经过自动计算、生成、自动结转等方式,而产生另一个业务对象.业务对象之间的集成是由相应的活动来实现,根据实现集成的活动所处的位置可以分为:拉式集成和推式集成.根据业务对象某些属性的取值不同,可以派生出更具体的子业务对象,这些子业务对象可以拥有不同的数据集、状态集以及活动集,这些属性值用于为业务对象分类,因此称作业务对象的值类型.

2.3 BO 联系图元模型

BO联系图元模型是在UML元模型中的kernel包、AssocationClass包和PowerTypes包的基础上,采用重型扩展机制进行定义,它描述了一个系统所包含的业务对象以及业务对象之间的关联、集成和分类关系.图3描述了BO联系图元模型中所包含的元类.

业务对象(Business Object)是UML元模型中元类Class的子类,每个BusinessObject包含1个BO类图、0个或多个BO状态图、0或1个BO用例图和1个BO数据模型图,这些图分别在BO类图元模型、BO状态图元模型、BO用例图元模型和BO数据模型图元模型中定义.业务对象关联(BOAssociation)是UML元模型中的元类Association的子类,其存在于两个BusinessObject之间,属性Rule表示关联规则,可以利用两个关联端的角色名称来分别表示参与关联的两个数据集的名称.集成(Integration)是UML元模型中的元类Assocaition的子类,其存在于两个BusinessObject之间,其中,一个关联端的导航性为false,另一关联端的导航性为true,并且两个关联端的聚集性都为none.业务对象值类型(BOValueType)是UML元模型中的元类Class的子类,属性BO:String表示被分类的业务对象的名称,DataSets:String表示业务对象值类型所包含的数据集的集合.

在BO联系图元模型中,由于新定义的元类具有特殊的语义,因此,需要对这些元类所涉及的约束规则进行明确地说明和定义.本文采用对象约束语言OCL来定义这些约束规则.

规则1 BOCategories存在于BusinessObject和BOValueType之间,其中,父类为 BusinessObject,子类为 BOValueType.

规则3 KeyRefAssociation存在于两个BusinessObject之间,其中,一个关联端的导航性为none,另一个关联端的导航性为ture,两个关联端的聚集性都为none.

规则5 Integration 存在于两个BusinessObject之间,其中,一个关联端的导航性为none,另一个关联端的导航性为true,两个关联端的聚集性都为none.

图3 BO联系图元模型

2.4 BO联系图

由于BO联系图是采用重型UML扩展机制进行定义的,因此,需要在模型层次上定义新的建模符号来描述BO联系图.对于UML中的类,目前通用的UML建模工具只能够定义其所包含的行为图(状态图、活动图、顺序图和协作图),而不能定义其所包含的类图和用例图.为了既能够使用通用UML建模工具来建立BO联系图,又能够体现基于业务对象集成的思想,本文采用命名规范来表示每个BusinessObject所包含的BO类图、BO状态图和BO数据图和BO用例图,这样可以进行规范化建模,提高了建模效率.对于BO及其关系,可以采用UML Profile来定义.目前,大多数通用UML建模工具都提供了构造型和标记等扩展机制,可以非常容易地进行扩展,不会增加相应的复杂度.由于特定领域的建模概念比UML中抽象的概念更容易被用户理解,因此,减少了建模的复杂性.表1列出了BO联系图中每种元素所对应的构造型和标记.

表1 BO联系图中的构造型和标记的定义

3 应用实例

以威海海都食品有限公司的生产计划编制过程为例,来说明采用BO联系图来描述业务对象及其之间的关系.

生产计划的编制主要涉及7个业务对象:客户申请、销售合同、客户订单、年生产计划、两月生产计划、周生产计划和生产任务单.客户订单分为正常订单和紧急订单.客户申请到客户订单、销售合同到客户订单之间存在拉式集成关系,客户订单到周生产计划存在推式集成关系.销售合同与客户订单之间存在主键多属性关联.客户订单与年生产计划之间存在主键引用性关联.图4描述了生产计划的编制的BO联系图.

图4 生产计划编制BO联系图

目前,ICE-PIM已经成功应用于许多ERP项目中.实践证明,通过采用ICE-PIM建模与基于标准UML建模比较,建模效率提高了40%,程序开发效率提高了60%.

4 结论

1)ICE-PIM模型具有丰富的语义信息,因此,易于企业用户理解和交流;

2)ICE-PIM模型是一个以业务对象为中心的集成模型,通过业务对象可以将UML中的各种Diagram显式地集成在一起,从而可以有效地指导用户进行一致化建模;

3)ICE-PIM元模型是在UML元模型的基础上扩展而来的,同时屏蔽了UML元模型中与ESA建模不相关的内容,从而使得建模者能够更好地关注于业务需求的描述,同时也易于模型扩展.由于UML元模型是一个开放的、可扩展的元模型,因此,ICE-PIM元模型也具有可扩展性,它可以随着领域需求的变化而不断演化.

[1]SOLEY R M.The OMG Staff Strategy Group[R/OL].Model Driven Architecture:OMG,White Paper[2000 -11].http://www.omg.org/mda/papers.htm.

[2]DOUMEINGTS G,VALLESPIR B,CHEN D.Methodologies for designing CIM system:A survey[J].Computers in Industry, 1995,25(3):263-280.

[3]SCHEER A W.Architecture for integrated information system[C]//WILLIAMS T J.The Purdue Enterprise Reference Architecture.[S.l.]:Computers in Industry, 1994,24(2/3):141-158.

[4]WILLIAMS T J.The purdue enterprise reference architecture[J].Computers in Industry, 1994,24(2/3):141-158.

[5]ZACHMAN J.A framework for information systems architecture[J].IBM Systems Journal, 1987,26(3):276-292.

[6]OMG/ORMSC.Model Driven Architecture[R/OL].OMG Document Ormsc[2001 -07 -01].http://www.omg.org/mda.

[7]DAVID S F著.应用MDA[M].鲍志云,译.北京:人民邮电出版社,2003.

[8]战德臣,冯锦丹,聂兰顺,等.ICEMDA:一种可互操作可配置可执行的模型驱动体系结构[J].电子学报, 2008,36(12A):120-127.

[9]ZHAN Dechen,XU Xiaofei,MENG Fanchao,et al.Interoperability Oriented Business Object Model[C]//Proceedings of the 3rd International Conference on Interoperability for Enterprise Software and Applications.London:Spriger,2007:459 -462.

[10]OMG.UML Superstructure,V2.1.1[R/OL].Formal[2007-02-05].http://www.omg.org/uml.

An enterprise software and application PIM model based on extended UML

MENG Fan-chao1,CHU Dian-hui1,ZHAN Den-chen1,2,XU Xiao-fei1,2

(1.Research Center of Intelligent Computing for Enterprises & Services,Harbin Institute of Technology at Weihai,Weihai 264209,China,mengfanchao74@163.com;2.Research Center of Intelligent Computing for Enterprises&Services,Harbin Institute of Technology,Harbin 150001,China)

Aimed at the poor usability and low efficiency of UML modeling for enterprise software and application(ESA),an ESA oriented platform-independent model(ESA-PIM)based on extended UML is proposed to solve the problem.First,an integrated multi-view PIM model based on business objects was constructed by analyzing the characteristics of ESA.Then using the extended mechanism of UML,the new meta-classes,stereotypes and tagged values that describe the concepts and relationships in ESA-PIM were added into UML2.0 meta-model,and they were divided into different viewpoints in the extended UML meta-model.The ESA-PIM proposed in this paper realizes the semantic-based integration between various UML diagrams through the richsemantic business objects,which improves the usability of UML and enhances the modeling efficiency of ESA.The feasibility and effectiveness of ESA-PIM were verified by an application case.

model driven architecture;platform-independent model;enterprise software and application;business object

TP311

A

0367-6234(2010)05-0791-06

2009-11-16.

国家自然科学基金资助项目(60773064);国家科技重大专项资助项目(2009ZX01045-001-002-4;国家高技术研究发展计划资助项目(2007AA01Z 128,2008AA04Z101);山东省自然科学基金资助项目(2007ZRA10003);山东省科学技术发展计划基金资助项目(2008GG10004010);江苏省科学技术发展计划资助项目(BE2009065);哈尔滨工业大学(威海)校科学研究基金资助项目(HIT(WH)XB200901).

孟凡超(1974—),男,博士,讲师;

战德臣(1965—),男,教授,博士生导师;

徐晓飞(1962—),男,教授,博士生导师.

(编辑 张 红)

猜你喜欢

数据模型关联对象
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
“一带一路”递进,关联民生更紧
面板数据模型截面相关检验方法综述
攻略对象的心思好难猜
奇趣搭配
智趣
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
基于分位数回归的电力负荷特性预测面板数据模型