论文部分内容阅读
本文以UML建模语言家族的元模型为研究背景,围绕“如何有效地定义和评估元模型的质量”这一主线,首次提出UML建模语言家族的元模型质量模型,为元模型的质量要素给出分级定义并确立评估依据。在此基础上,进一步提出三种元模型质量评估方法,从分析元模型的元类、框架结构、组织和表述等特征出发,分别采用分类模式、面向对象度量技术、语用分析技术实现对元模型的质量评估。最后,将研究成果落实到工具支持,实现了模型驱动的开发和语言家族支持环境。
面对软件开发方法的进步、应用领域的延伸以及MDA倡导的“不同类型的模型面向不同的关注”,UML需要从一个单一的建模语言逐渐发展为一系列建模语言和UML外廓的集合,从而形成一个“UML建模语言家族”。UML2.0也从技术上解决了构造语言家族的障碍。UML建模语言家族的共性就是共同遵循基于元模型的定义方法和特征,即,通过元模型来显式表达建模时可用的构造物和规则,使其在元建模时做为系统的一阶实体来使用。但是,面对持续增长的建模需求而出现的大量UML方言,它们的元模型设计很多来源于公共的感觉或者是直觉,缺乏严格的理论根基和实践验证。因此,有必要对元模型的质量特性给出定义并找到有效的评估方法。
本文首先提出了一个系统地刻画和分类UML建模语言家族元模型质量特征和缺陷的元模型质量模型。该质量模型将元模型的质量要素分级定义为质量维度、质量性质、质量指标三个从高到低的层次,实现从元模型的高层质量维度到可操作、可度量的低层质量指标的映射。5种质量维度概括了元模型质量要素中的语法质量、语义质量、语用质量、实现质量和演化质量。为了便于理解和评估这5种质量维度,它们被细化为更低级的18种质量性质或者反质量性质(代表一些质量缺陷的定义)。在质量模型中对质量维度和质量性质都给出了形式化的精确定义(质量指标的选择和定义及其对质量性质的贡献在具体的评估方法中给出)。为了直观反映元模型设计质量的高低,本文在质量模型的基础上定义了一个4级元模型质量成熟度。元模型成熟度级别越高表示它满足越多的质量性质,据此可以有效地对元模型进行比较和质量分级。
进一步,基于元模型相对角色的思路,采用面向对象软件的视角看待元模型,本文提出了三种客观的、量化的元模型评估方法:
基于分类模式的评估方法用于分析元模型在语法质量和语义质量方面的设计问题。该方法首先定义了2个用于评估元模型的质量指标:元类演化码和元类健壮码。根据对元类演化码的分析,定义了5种以天文学词汇命名的元类分类模式;根据对元类健壮码的分析,定义了一种孤岛分类模式。通过这些分类模式有助于找到有关UML设计质量的研究证据。它们有助于发现那些有质量问题的元类、可能存在的元模型设计缺陷、以及元模型和应用领域不一致的情况。
基于面向对象度量技术的评估方法用于分析元模型在5种质量维度方面的设计问题。该方法首先通过27个质量指标来获得元模型体现在框架层次和元类层次上的质量特征数据。这些质量指标首先可用来计算元模型版本之间的框架级和元类级变化幅度,作为元模型演化过程中稳定性的反映。进一步,这些质量指标通过两次映射可以计算得出反映元模型设计质量的结果,如:功能性、有效性、易理解性、扩展性和复用性。
元模型语用质量的评估方法用于分析元模型在语用和实现质量方面的设计问题。本方法定义了22个质量指标用以评估元模型,其中,满足关于元模型组织的两个质量指标,可以提高元模型的易理解性、扩展性和工具相容性;满足关于元模型表述的4个质量指标,可以促进元模型的易理解性和工具的互操作性;满足若干从美学布局角度定义的质量指标,可以提高元模型描绘的清晰易读性。此外通过一个经验公式的计算,可以量化评估元模型是否按照方便用户阅读和理解的方式进行布局和编排。本方法还定义了2个质量指标用以统计建模元素和各种模型图的使用率,二者间接地反映用户对元模型不同部分乃至整体的满意程度。
以上三种方法的研究工作不是彼此孤立的,它们都是从不同侧面和角度研究如何评估和改进元模型质量的方法,也同样都服务于更加有效地辅助用户理解、使用和构造元模型的目的。将上述元模型评估方法应用到开发实践中,本文实现了一个集建模、元建模、元模型评估三位一体的工具环境。该环境具有面向建模语言家族的元建模能力、元模型质量评估能力和建模工具生成能力,以及对模型驱动软件开发的支持能力。