一种基于差异比较对用例图进行评价的方法与流程

文档序号:15384584发布日期:2018-09-08 00:25阅读:233来源:国知局

本发明属于软件质量度量技术领域,具体涉及一种使用差异比较对软件开发的需求阶段的中间产物-用例图进行评价打分,通过分数的高低度量软件设计的好坏的方法。



背景技术:

随着软件开发方法的成熟和多样化,软件在各行各业都得到了广泛的应用。行业软件越来越多,质量参差不齐,因此在成本利益最大化的条件下,如何度量一个软件的质量,为使用方选择最适合的软件,为开发方指导进一步的开发,便显得尤为重要。

目前对软件度量的方法很多,比如有从面向对象的角度出发,定义大量度量指标从各方面对软件的质量进行度量;有从软件源代码角度出发,分析代码中的类之间的调用关系、依赖关系、耦合度等完成对软件质量的度量;有从测试角度出发,通过各种测试方法对软件的质量进行度量。但这些度量方法基本都使用在软件开发阶段或者软件完成阶段,在软件的生命周期中,其质量缺陷发现得越早,所付出的代价也就越小,因此有必要在更早的阶段就对其质量进行度量。

需求阶段是软件生命周期的早期阶段,用例图是该阶段的一个中间产物。它可以反映出软件包含的功能,用来说明参与者使用软件能实现的目标。对于一个具体领域的软件而言,往往存在一个标准的用例图,当开发人员需要设计开发某款软件时,可以将自己设计的用例图与标准的用例图进行比较,从而发现自己设计的软件还存在哪些功能上的问题软件功能是软件质量度量的重要内容,在相同条件下,软件实现的功能越完备,其质量也就越好,因此可以使用用例图来度量软件的质量。



技术实现要素:

本发明的目的是提供一种基于差异比较对用例图进行评价的方法,对于一个待评价的用例图,该方法首先定义它的评价指标、评分细则和评分公式;然后以标准用例图和待评价用例图的xml文档作为输入,根据评价指标分别抽取用于比较的数据;接着根据同义词对抽取的数据进行比较,找出它们的差异;最后将差异比较结果带入评分公式,计算得分;通过得分的高低反映软件功能的完备程度和质量的好坏。

实现本发明目的的具体技术方案是:

一种基于差异比较对用例图进行评价的方法,该方法包括以下具体步骤:

步骤1:定义用例图的评价指标、评分细则以及评分公式;具体为:

评价指标:为六个即:参与者的正确性;用例的正确性;系统边界的正确性;参与者和参与者之间关系的正确性;参与者和用例之间关系的正确性及用例和用例之间关系的正确性;

评分细则:含以下具体数据:待评价用例图总分为多少;参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系分别正确一个得多少分,分别记为acell、ucell、bcell、aacell、aucell、uucell;以及每个的最高得分为多少,分别记为amax、umax、bmax、aamax、aumax、uumax;

评分公式为:

其中grade表示总分,gradea、gradeu、gradeb、gradeaa、gradeau、gradeuu分别代表待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系的分数;min代表取两者中的最小值;na、nu、nb、naa、nau、nuu分别代表待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系正确的个数。

步骤2:以标准用例图和待评价用例图的xml文档作为输入,根据评价指标从xml文档中抽取用于比较的数据;其中,所述抽取用于比较的数据分别为:参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系的实例。

步骤3:对抽取的数据进行差异比较;当参与比较的两个数据是同义词或者包含相同的关键字时,就认为这两个数据是相似的;如果两个数据是相似的,就认为它们是相同的;具体过程如下:

(ⅰ)比较标准用例图的参与者与待评价用例图的参与者的差异,当待评价用例图中的某个参与者与标准用例图中的某个参与者是相同的,那就认为待评价用例图中的这个参与者是正确的;以相同方式比较标准用例图的用例与待评价用例图的用例的差异、标准用例图的系统边界与待评价用例图的系统边界的差异;

(ⅱ)在参与者、用例、系统边界的差异比较结果基础上,比较标准用例图中参与者和参与者之间关系与待评价用例图中参与者和参与者之间关系的差异,当待评价用例图中的某个参与者和参与者之间关系与标准用例图中的某个参与者和参与者之间关系是相同的,那就认为待评价用例图中的这个参与者和参与者之间关系是正确的;以相同方式比较标准用例图中参与者和用例之间关系与待评价用例图中参与者和用例之间关系的差异、标准用例图中用例和用例之间关系与待评价用例图中用例和用例之间关系的差异。

步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价用例图的评价;具体包括以下步骤:

(i)根据差异比较结果,统计待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系正确的个数;

(ii)根据评分细则和(i)得到的个数,分别计算参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系的得分;

(ii)根据(i)的得分,计算待评价用例图的总得分。

软件质量的度量可以从很多维度出发,软件功能是其中很重要的一个维度,如果一个软件不能满足既定的功能,那么它的其它维度做得再好,其质量也会大打折扣。用例图是软件生命周期的早期阶段的产物,能反映软件可以实现的功能。本发明通过将待评价用例图和标准用例图进行比较,可以在早期阶段就发现自己设计的软件在功能上的问题从而在一定程度上度量了软件的质量。

附图说明

图1为标准用例图;

图2为待评价用例图。

具体实施方式

本发明具体包括以下内容:

步骤1:定义用例图的评价指标、评分标准和评分公式

评价指标:为六个即:参与者的正确性;用例的正确性;系统边界的正确性;参与者和参与者之间关系的正确性;参与者和用例之间关系的正确性及用例和用例之间关系的正确性;

评分细则:含以下具体数据:待评价用例图总分为多少;参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系分别正确一个得多少分,分别记为acell、ucell、bcell、aacell、aucell、uucell;以及每个的最高得分为多少,分别记为amax、umax、bmax、aamax、aumax、uumax;

评分公式为:

其中grade表示总分,gradea、gradeu、gradeb、gradeaa、gradeau、gradeuu分别代表待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系分数;min代表取两者中的最小值;na、nu、nb、naa、nau、nuu分别代表待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系正确的个数。

步骤2:以标准用例图和待评价用例图的xml文档作为输入,根据评价指标从xml文档中抽取用于比较的数据。

根据评价指标可知,进行差异比较时需要抽取的数据包括:参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系的实例。

步骤3:对抽取的数据进行差异比较。

●当待比较的两个参与者、用例、系统边界是同义词或者包含相同的关键字时,就认为它们是相似的;

●当待比较的两个参与者和参与者之间关系包含相似的参与者,并且关系的类型相同时,就认为这两个关系是相似的;

●当待比较的两个参与者和用例之间关系包含相似的参与者、用例,并且关系的类型相同时,就认为这两个关系是相似的;

●当待比较的两个用例和用例之间关系包含相似的用例,并且关系的类型相同时,就认为这两个关系是相似的。

步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价用例图的评价。

(i)根据差异比较结果,统计待评价用例图中参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系正确的个数。

记标准用例图中所有的参与者、用例、系统边界分别构成的集合为a1、u1、b1,待评价用例图中所有参与者、用例、系统边界分别构成的集合为a2、u2、b2。当两个参与者(用例、系统边界)是同义词(相似)时,认为它们两个是相同的,令a=a1∩a2,u=u1∩u2,b=b1∩b2。

记标准用例图中所有的参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系构成的集合分别为aa1、au1、uu1,待评价用例图中所有的参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系构成的集合分别为aa2、au2、uu2。当两个消息相似时,认为这两个消息是相同的,令aa=aa1∩aa2、au=au1∩au2、uu=uu1∩uu2。

则有na=|a|、nu=|u|、nb=|b|、naa=|aa|、nau=|au|、nuu=|uu|。

(ii)根据评分细则和(i)的结果分别计算参与者、用例、系统边界、参与者和参与者之间关系、参与者和用例之间关系、用例和用例之间关系的得分。

由评分公式可知,待评价用例图的:

●参与者得分为:gradea=min{acell×na,amax}

●用例得分为:gradeu=min{ucell×nu,umax}

●系统边界得分为:gradeb=min{bcell×nb,bmax}

●参与者和参与者之间关系得分为:gradeaa=min{aacell×naa,aamax}

●参与者和用例之间关系得分为:gradeau=min{aucell×nau,aumax}

●用例和用例之间关系得分为:gradeuu=min{uucell×nuu,uumax}

(iii)根据(ii)的结果计算待评价用例图的总得分。

由评价公式可知,待评价用例图的总得分为:

grade=gradea+gradeu+gradeb+gradeaa+gradeau+gradeuu。

实施例

为了详细说明本发明的各个步骤,本实施例选择atm系统作为示例进行描述。标准的atm系统包含2个参与者:消费者、银行系统,1个系统边界:atm,4个用例存钱、转账、取钱、查询,8个参与者和用例之间关系,关系的类型都为普通关联关系。

下面结合附图对本发明实施例描述如下:

步骤1:定义用例图的评价指标、评分细则和评分公式

定义满分为10分。其中参与者正确一个得分为0.5分,最高得分为1分;用例正确一个得分为1分,最高得分为4分;系统边界正确一个得分为1分,最高得分为1分;参与者和用例之间关系正确一个得分为0.5分,最高得分为4分。

步骤2:使用ea软件生成标准用例图和待评价用例图的xml文档,根据评价指标抽取用于比较的数据

表1用例图数据表

步骤3:对抽取的数据进行差异比较

根据同义词信息,待评价用例图和标准用例图对比,其缺少的数据和多余的数据如下:

表2用例图差异比较结果表

步骤4:将差异比较结果带入评分公式,计算得分,完成对评价用例图的评价

根据差异比较结果可知:

●待评价用例图中有2个参与者是正确的,有3个用例是正确的,有1个系统边界是正确的,有6个参与者和用例之间关系是正确的。

●待评价用例图在参与者这一部分的得分为1分,在用例这一部分的得分为3分,在系统边界这一部分的得分为1分,在关系这一部分的得分为3分。

●待评价用例的总得分为8分。

以上过程表明待评价用例图缺少了一个功能,即存钱。在满分为10分的情况下,该待评价用例图获得了8分,说明在除去缺少的功能外,它在其他方面都设计得不错,有较好的质量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1