一种基于差异比较对分析类图进行评价的方法技术

技术编号:18809740 阅读:52 留言:0更新日期:2018-09-01 09:21
本发明专利技术公开了一种基于差异比较对分析类图进行评价的方法,用于比较不同开发团队针对同一领域的分析类图和标准分析类图的差异,完成对不同分析类图的评价。本发明专利技术在对分析类图进行评价时涉及到的操作包括:(1)根据分析类图的元模型,定义评价指标、外部输入和评分公式;(2)以标准分析类图和待评价分析类图对应的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;(3)根据同义词对标准分析类图和待评价分析类图的数据进行差异比较;(4)将差异比较的结果带入评分公式,计算得分,分值越高则待评价分析类图设计得越好。本发明专利技术通过对分析类图的比较,在分析阶段就可以发现所设计软件在内部模块的问题,度量了软件的质量。

A method for evaluating class diagram based on difference comparison

The invention discloses a method for evaluating analysis class diagrams based on difference comparison, which is used to compare the differences between analysis class diagrams and standard analysis class diagrams of different development teams for the same field, and to complete the evaluation of different analysis class diagrams. The operation involved in the evaluation of the analysis class diagram includes: (1) defining the evaluation index, external input and scoring formula according to the meta-model of the analysis class diagram; (2) taking the standard analysis class diagram and the XML document corresponding to the evaluation class diagram as input, extracting the XML document for comparison from the XML document according to the evaluation index. Data; (3) According to synonyms, the difference between the standard analysis class diagram and the class diagram to be evaluated and analyzed is compared; (4) The result of the difference comparison is brought into the scoring formula, and the score is calculated. The higher the score, the better the design of the class diagram to be evaluated and analyzed. By comparing the analysis class diagram, the problem of the internal module of the designed software can be found in the analysis phase, and the quality of the software can be measured.

【技术实现步骤摘要】
一种基于差异比较对分析类图进行评价的方法
本专利技术属于软件质量度量
,具体涉及一种使用差异比较对软件开发的分析阶段的中间产物-分析类图进行评价打分,通过分数的高低度量软件设计的好坏的方法。
技术介绍
随着软件开发方法的成熟和多样化,软件在各行各业都得到了广泛的应用。行业软件越来越多,质量参差不齐,因此在成本利益最大化的条件下,如何度量一个软件的质量,为使用方选择最适合的软件,为开发方指导进一步的开发,便显得尤为重要。目前对软件度量的方法很多,比如有从面向对象的角度出发,定义大量度量指标从各方面对软件的质量进行度量;有从软件源代码角度出发,分析代码中的类之间的调用关系、依赖关系、耦合度等完成对软件质量的度量;有从测试角度出发,通过各种测试方法对软件的质量进行度量。但这些度量方法基本都使用在软件开发阶段或者软件完成阶段,在软件的生命周期中,其质量缺陷发现得越早,所付出的代价也就越小,因此有必要在更早的阶段就对其质量进行度量。分析阶段是软件生命周期的早期阶段,分析类图是该阶段的一个中间产物。它可以反映出软件内部的模块设计、模块之间的调用关系等情况。对于一个具体领域的软件而言,往往存在一个标准的分析类图,当开发人员需要设计开发某款软件时,可以将自己设计的分析类图与标准的分析类图进行比较,从而发现自己设计的软件的模块划分是否合理,模块之间的调用关系是否合理等。软件内部的模块设计是软件质量度量的重要内容,在相同条件下,软件模块的设计越好,其质量也就越好,因此可以使用分析类图来度量软件的质量。
技术实现思路
本专利技术的目的是提供一种基于差异比较对分析类图进行评价的方法,对于一个待评价的分析类图,该方法首先定义它的评价指标、外部输入和评分公式;然后以标准分析类图和待评价分析了图的XML文档作为输入,根据评价指标分别抽取用于比较的数据;接着根据同义词对抽取的数据进行比较,找出它们的差异;最后将差异比较结果带入评分公式,计算得分;通过得分的高低反映软件内部模块设计的合理性和质量的好坏。实现本专利技术目的的具体技术方案是:一种基于差异比较对分析类图进行评价的方法,该方法包括以下具体步骤:步骤1:定义分析类图的评价指标、外部输入以及评分公式;具体为:评价指标:为四个指标,即:完整性、核心类、关系复杂度、关系正确性;其中,所述关系正确性包括:普通关系正确性、多重性关系正确性指标。每个指标的具体含义如下:(i)完整性:指的是属性完整性。(ii)核心类:为完成某一业务必须存在的类。(iii)关系复杂度:用于衡量类图中所有类与类之间关系的复杂性。(iv)关系正确性:分为普通关系正确性和多重性关系正确性,用于衡量待评价分析类图中的有用类之间的关系的正确性。当待评价类图中的某个类能在标准分析类图中找到相似的类时,就称这个类为有用类。外部输入:给出核心类、类相似度阈值、权重;所述权重为0到1之间的数;其中,权重具体包括:(i)完整性的权重α1、核心类的权重α2、关系复杂度的权重α3、关系正确性的权重α4,其中(ii)普通关系正确性的权重αvd1、多重性关系正确性的权重αvd2,其中αvd1+αvd2=1;评分公式为:其中gintegrity、gcore、gcomplexity、gvalidity分别代表完整性、核心类、关系复杂度、关系正确性的得分。步骤2:以标准分析类图和待评价分析类图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;其中,所述抽取用于比较的数据为:类、属性、类与类之间的关系。步骤3:对抽取的数据进行差异比较,当参与比较的两个数据是同义词或者包含相同的关键字时,就认为这两个数据是相似的;如果两个数据是相似的,就认为它们是相同的;具体过程如下:(ⅰ)比较标准分析类图的类与待评价分析类图的类的差异,当待比较的两个类是同义词或者包含相同的关键字时,就认为它们是相似的;当待比较的两个类不是同义词并且没有包含相同的关键字时,如果这两个类中包含的属性和方法很多都是相同的,并且这两个类在各自的类图中和其它已知的相似类之间的关系结构也很多都是相同的,通过量化这种相似性,只要这个相似性的值不小于外部输入中给定的类相似度阈值,就认为这两个类也是相似的。当待评价分析类图中的某个类与标准分析类图中的某个类是相似的,那就认为这两个类是相同的,同时也认为待评价分析类图中的这个类是正确的。其中相似性的量化过程具体如下:定义上述相似性的量化计算公式为:上述需要比较相似性的两个类,属于标准分析类图的记为C1,属于待评价分析类图的记为C2。C1中的所有属性和方法构成集合AM1,C2中的所有属性和方法构成集合AM2,集合AM为AM1和AM2的交集,AM中的元素为C1和C2中相同名字的属性或者方法。C1在标准分析类图中和其它所有已知相似类的关系构成集合Rel1,C2在待评价分析类图中和其它所有已知相似类的关系构成集合Rel2。对于若ri和ri'中除了C1和C2的名字不同以外,其它内容全部相同,则将(ri,ri')放入集合Rel中。上述公式中nattr=|AM1|、nattr'=|AM2|、nr=|Rel1|、nr'=|Rel|。(ⅱ)比较标准分析类图的属性与待评价分析类图的属性的差异,属性的比较是以类比较为基础的,只有在两个类是相似的时,才能比较其属性是否相似。当两个属性是同义词或者包含相同的关键字时,就认为它们是相似的。当待评价分析类图中的某个属性与标准分析类图中的某个属性是相似的,那就认为这两个属性是相同的,同时也就认为待评价分析类图中的这个属性是正确的。(iii)比较标准分析类图的类与类之间的关系与带评价分析类图的类与类之间的关系的差异,类与类之间的关系的差异比较是以类比较为基础的,只有与关系相关的两个类是相似的时,才能比较它们之间的关系是否相似。当两个关系是相同类型的时,就认为它们是相似的。当待评价分析类图中的某个关系和标准分析类图中的某个关系是相似的,那就认为这两个关系是相同的,同时也就认为待评价分析类图中的这个关系是正确的。步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价分析类图的评价;具体包括以下步骤:(i)根据差异比较结果,统计待评价分析类图中正确的属性的个数和标准分析类图中所有属性的个数,计算完整性得分。具体过程为:定义完整性的得分为:记标准分析类图中所有属性构成的集合为Attr1,待评价分析类图中所有属性构成的结合为Attr2,两个分析类图中相似的属性构成的集合为Attr,因此有Attr=Attr1∩Attr2。因此上式中nattr=|Attr1|、mattr=|Attr|,分别代表标准分析类图中所有属性的个数、两个分析类图中相似的属性的个数。(ii)根据差异比较结果,统计待评价分析类图中正确的类的个数和标准分析类图中所有类的个数,计算核心类得分。具体过程为:定义核心类的得分为:记外部输入中的核心类构成的集合为Core1,一般情况下标准分析类图应该包含所有核心类,待评价分析类图中包含的核心类构成的集合为Core2,因此上式中ncore=|Core1|、mcore=|Core2|分别代表外部输入中提供的核心类的个数、待评价分析类图中存在的核心类的个数。(iii)根据差异比较结果,计算关系复杂度得分。具体过程本文档来自技高网...

【技术保护点】
1.一种基于差异比较对分析类图进行评价的方法,其特征在于,该方法包括以下具体步骤:步骤1:定义分析类图的评价指标、外部输入以及评分公式;步骤2:以标准分析类图和待评价分析类图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;步骤3:对抽取的数据进行差异比较;步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价分析类图的评价。

【技术特征摘要】
1.一种基于差异比较对分析类图进行评价的方法,其特征在于,该方法包括以下具体步骤:步骤1:定义分析类图的评价指标、外部输入以及评分公式;步骤2:以标准分析类图和待评价分析类图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;步骤3:对抽取的数据进行差异比较;步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价分析类图的评价。2.根据权利要求1所述的方法,其特征在于,步骤1中,所述分析类图的评价指标、外部输入以及评分公式具体为:评价指标:为四个指标,即:完整性、核心类、关系复杂度、关系正确性;其中,所述关系正确性包括:普通关系正确性、多重性关系正确性指标;外部输入:给出核心类、类相似度阈值、权重;所述权重为0到1之间的数;其中,权重具体包括:(i)完整性的权重α1、核心类的权重α2、关系复杂度的权重α3、关系正确性的权重α4,其中(ii)普通关系正确性的权重αvd1、多重性关系正确性的权重αvd2,其中αvd1+αvd2=1;评分公式为:其中gintegrity、gcore、gcomplexity、gvalidity分别代表完整性、核心类、关系复杂度、关系正确性的得分。3.根据权利要求1所述的方法,其特征在于,步骤2中,所述抽取用于比较的数据为:类、属性、类与类之间的关系。4.根据权利要求1所述的方法,其特征在于,步骤3中,所述对抽取的数据进行差异比较,当参与比较的两个数据是同义词或者包含相同的关键字时,就认为这两个数据是相似的;如果两个数据是相似的,就认为它们是相同的;具体过程如下:(ⅰ)比较标准分析类图的类与待评价分析类图的类的差异,当待比较的两个类是同义词或者包含相同的关键字时,就认为它们是相似的;当待比较的两个类不是同义词并且没有包含相同的关键字时,如果这两个类中包含的属性和方法很多都是相同的,并且这两个类在各自的类图中和其它已知的相似类之间的关系结构也很多都是相同的,通过量化这种相似性,只要这个相似性的值不小于外部输入中给定的类相似度阈值,就认为这两个类也是相似的;当待评价分析类图中的某个类与标准分析类图中的某个类是相似的,那就认为这两个类是相同的,同时也认为待评价分析类图中的这个类是正确的;(ⅱ)比较标...

【专利技术属性】
技术研发人员:文涛陈小红
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1