CN108519872A - 一种基于差异比较对顺序图进行评价的方法 - Google Patents
一种基于差异比较对顺序图进行评价的方法 Download PDFInfo
- Publication number
- CN108519872A CN108519872A CN201810240926.6A CN201810240926A CN108519872A CN 108519872 A CN108519872 A CN 108519872A CN 201810240926 A CN201810240926 A CN 201810240926A CN 108519872 A CN108519872 A CN 108519872A
- Authority
- CN
- China
- Prior art keywords
- message
- precedence diagram
- evaluated
- comparison
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于差异比较对顺序图进行评价的方法,用于比较不同开发团队针对同一领域的顺序图和标准顺序图的差异,完成对不同顺序图的评价。本发明在对顺序图进行评价时涉及到的操作包括:(1)根据顺序图的元模型,定义评价指标、评分细则和评分公式;(2)以标准顺序图和待评价顺序图对应的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;(3)根据同义词对标准顺序图和待评价顺序图的数据进行差异比较;(4)将差异比较的结果带入评分公式,计算得分,分值越高则待评价顺序图设计得越好。本发明通过对顺序图的比较,在早期阶段就发现所设计软件在功能上的问题,度量了软件的质量。
Description
技术领域
本发明属于软件质量度量技术领域,具体涉及一种使用差异比较对软件开发早期阶段的中间产物-顺序图进行评价打分,通过分数的高低度量软件设计的好坏的方法。
背景技术
随着软件开发方法的成熟和多样化,软件在各行各业都得到了广泛的应用。行业软件越来越多,质量参差不齐,因此在成本利益最大化的条件下,如何度量一个软件的质量,为使用方选择最适合的软件,为开发方指导进一步的开发,便显得尤为重要。
目前对软件度量的方法很多,比如有从面向对象的角度出发,定义大量度量指标从各方面对软件的质量进行度量;有从软件源代码角度出发,分析代码中的类之间的调用关系、依赖关系、耦合度等完成对软件质量的度量;有从测试角度出发,通过各种测试方法对软件的质量进行度量。但这些度量方法基本都使用在软件开发阶段或者软件完成阶段,在软件的生命周期中,其质量缺陷发现得越早,所付出的代价也就越小,因此有必要在更早的阶段就对其质量进行度量。
顺序图是软件开发早期阶段的一个中间产物,它可以用来在需求阶段表示参与者与系统之间的交互情况,也可以用来描述为了完成确定的功能,软件内部的对象之间按照时间消息交互的顺序关系,可以反映消息是如何在对象之间发送和接收的。对于一个具体领域的软件而言,往往存在一系列标准的顺序图,当开发人员需要设计开发某款软件时,可以将自己设计的顺序图与标准的顺序图进行比较,从而发现自己设计的软件是否能接收必要的输入,产生必要的输出,能否完成既定的功能。软件功能是软件质量度量的重要内容,在相同条件下,软件实现的功能越完备,其质量也就越好,因此可以使用顺序图来度量软件的质量。
发明内容
本发明的目的是提供一种基于差异比较对顺序图进行评价的方法,对于一个待评价的顺序图,该方法首先定义它的评价指标、评分细则和评分公式;然后以标准顺序图和待评价顺序图的XML文档作为输入,根据评价指标分别抽取用于比较的数据;接着根据同义词对抽取的数据进行比较,找出它们的差异;最后将差异比较结果带入评分公式,计算得分;通过得分的高低反映软件功能的完备程度和质量的好坏。
实现本发明目的的具体技术方案是:
一种基于差异比较对顺序图进行评价的方法,该方法包括以下具体步骤:
步骤1:定义顺序图的评价指标、评分细则以及评分公式;具体为:
评价指标:为四个即:对象的正确性、消息的正确性、消息的逻辑顺序的正确性、结构化控制的正确性;
评分细则:含以下具体数据:待评价顺序图总分为多少;对象、消息、消息的逻辑顺序、结构化控制分别正确一个得多少分,分别记为:ocell、mcell、scell、ccell,以及每个的最高得分为多少,分别记为:omax、mmax、smax、cmax;
评分公式为:
其中gradeo、gradem、grades、gradec分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制的成绩;min代表取两个数中的最小值;no、nm、ns、nc分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数。
步骤2:以标准顺序图和待评价顺序图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;其中,所述抽取用于比较的数据为:对象、消息、结构化控制。
步骤3:对抽取的数据进行差异比较;当参与比较的两个数据是同义词或者包含相同的关键字时,就认为这两个数据是相似的;如果两个数据是相似的,就认为它们是相同的;具体过程如下:
(ⅰ)比较标准顺序图的对象与待评价顺序图的对象的差异。当待评价顺序图中的某个对象与标准顺序图中的某个对象是相同的,那就认为待评价顺序图中的这个对象是正确的;
(ⅱ)比较标准顺序图的消息与待评价顺序图的消息的差异。在对消息进行比较时,首先要根据评分细则判断本次评价的顺序图属于分析阶段还是设计阶段。当对象正确一个得分不为0时,表示本次评价的顺序图属于分析阶段,那么在判断两个消息是否相似时,必须考虑对象是不是相似的;当对象正确一个得分为0时,则表示本次评价的顺序图属于设计阶段,那么在判断两个消息是否相似时,不用考虑对象(发送者和接受者)是否相似,只需要考虑内容是否相似。
消息的比较是以对象为基础的,当与消息相关的两个对象是相似的时,才能比较它们之间传递的消息是否相似。当待评价顺序图中的某个消息与标准顺序图中的某个消息是相同的,那就认为待评价顺序图中的这个消息是正确的;
(iii)比较标准顺序图的结构化控制与待评价的顺序图的结构化控制的差异。当两个结构化控制属于相同的类型,包含相同的关键字,并且控制着相同的消息,那就认为这两个结构化是相同的。当待评价顺序图中的某个结构化控制和标准顺序图中的某个结构化控制相同,那就认为待评价顺序图中的这个结构化控制是正确的。
步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价顺序图的评价;具体包括以下步骤:
(i)根据差异比较结果,统计待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数;
(ii)根据评分细则和(i)得到的个数,分别计算对象、消息、消息的逻辑顺序、结构化控制的得分。
(iii)根据(ii)的得分,计算待评价顺序图的总得分。
软件质量的度量可以从很多维度出发,软件功能是其中很重要的一个维度,如果一个软件不能满足既定的功能,那么它的其它维度做得再好,其质量也会大打折扣。顺序图是软件开发早期阶段的一个中间产物,它可以用来需求阶段表示参与者与系统之间的交互情况,也可以用来描述为了完成确定的功能,软件内部的对象之间按照时间消息交互的顺序关系,可以反映消息是如何在对象之间发送和接收的。
本发明通过将待评价顺序图和标准顺序图进行比较,可以在早期阶段就发现自己设计的软件是否能接收必要的输入,产生必要的输出,能否完成既定的功能,从而在一定程度上度量了软件的质量。
附图说明
图1是标准顺序图;
图2是待评价顺序图。
具体实施方式
本发明具体包括以下内容:
步骤1:定义顺序图的评价指标、评分标准和评分公式
评价指标:为四个即:对象的正确性、消息的正确性、消息的逻辑顺序的正确性、结构化控制的正确性;
评分细则:含以下具体数据:待评价顺序图总分为多少;对象、消息、消息的逻辑顺序、结构化控制分别正确一个得多少分,分别记为:ocell、mcell、scell、ccell,以及每个的最高得分为多少,分别记为:omax、mmax、smax、cmax;
评分公式为:
其中gradeo、gradem、grades、gradec分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制的成绩;min代表取两个数中的最小值;no、nm、ns、nc分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数。
步骤2:以标准顺序图和待评价顺序图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据。
根据评价指标可知,进行差异比较时需要抽取的数据包括:对象、消息、结构化控制。
步骤3:对抽取的数据进行差异比较。
·当待比较的两个对象是同义词或者包含相同的关键字时,就认为它们是相似的。
·当待比较的两个消息包含相同的关键字,如果此时评分细则中规定的对象正确一个得分为0,那么就认为这两个消息是相似的。如果此时评分细则中规定的对象正确一个得分不为0,并且与消息相关的对象(发送者和接受者)全都是相似的,那么也认为这两个消息是相似的。
·当待比较的两个结构化控制包含相同的关键字,属于同一种类型,并且控制着相似的消息,就认为这两个结构化控制是相似的。
步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价顺序图的评价
(i)根据差异比较结果,统计待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数;
记标准顺序图中所有对象、消息、结构化控制构成的集合分别为O1、M1、C1,待评价顺序图中所有对象、消息、结构化控制构成的集合分别为O2、M2、C2,当两个对象(消息、结构化控制)是相似的时,就认为它们是相同的。令O=O1∩O2、M=M1∩M2、C=C1∩C2。
记标准顺序图中所有消息构成的集合为SM1={m1,m2,...,mn},待评价顺序图中所有能在标准顺序图中找到相似消息的消息构成的集合为SM2={m1',m2',...,mk'},其中SM1对应的消息逻辑顺序集合为S1={<m1,m2>,<m1,m3>,...,<m1,mn>,...,<mi-1,mn>,<mi,mi+1>,...,<mn-1,mn>},SR2对应的逻辑顺序集合为S2={<m1',m2'>,<m1',m3'>,...,<mk-1',mk'>},令S=S1∩S2。
则有no=|O|、nm=|M|、ns=|S|、nc=|C|。
(ii)根据评分细则和(i)得到的个数,分别计算对象、消息、消息的逻辑顺序、结构化控制的得分。
由评分公式可知,待评价顺序图的:
·对象得分为:gradeo=min{ocell×no,omax}
·消息得分为:gradem=min{mcell×nm,mmax}
·消息的逻辑顺序得分为:grades=min{scell×ns,smax}
·结构化控制得分为:gradec=min{ccell×nc,cmax}
(iii)根据(ii)的得分,计算待评价顺序图的总得分。
由评分公式可知,待评价顺序图的总得分为:
grade=gradeo+gradem+grades+gradec
实施例
为了详细说明顺序图评价的各步骤,本实施例选择掷骰子游戏系统作为示例进行描述。玩家可以使用该系统进行掷骰子游戏,玩家扔出2个骰子,然后计算2个骰子的点数之和,当点数之和等于7时,玩家就输掉了比赛,否则玩家赢得比赛。
下面结合附图对本发明实施例描述如下:
步骤1:定义顺序图的评价指标、评分细则和评分公式
定义未归一化的满分为17.5分,归一化后的满分为10分。其中对象正确一个得分为0.5分,最高得分为1.5分;消息内容正确一个得分为0.5分,最高得分为3.5分;消息的逻辑顺序正确一个得分为0.5分,最高得分为10.5分;结构化控制正确一个得分为1分,最高得分为2分。
步骤2:使用EA软件生成标准顺序图和待评价顺序图的XML文档,根据评价指标抽取用于比较的数据
表1顺序图信息表
步骤3:对抽取的数据进行差异比较
根据同义词信息,待评价顺序图和标准顺序图对比,其缺少的信息和多余的信息如下:
表2顺序图差异比较结果表
步骤4:将差异比较结果带入评分公式,计算得分,完成对评价顺序图的评价
根据差异比较结果可知:
·待评价顺序图中有2个对象是正确的,因此集合O中元素的个数为2,待评价顺序图在对象这一部分的得分为1分。
·待评价顺序图中有5个消息的内容是正确的,因此集合M中元素的个数为5,待评价顺序图在消息内容这一部分的得分为2.5分。
·待评价顺序图中消息的逻辑顺序有10个是正确的,因此集合S中元素的个数为10,待评价顺序图在消息的逻辑顺序这一部分的得分为5分。
·待评价顺序图中有2个结构化控制是正确的,因此集合C中元素的个数为2,待评价顺序图在结构化控制这一部分的得分为2分。
·综上待评价顺序图未归一化的总分为10.5分,归一化后的总分为6分。
以上过程表明待评价顺序图缺少一个对象,以及两条消息,但多余了一个结构化控制。在满分为10分的情况下,该待评价顺序图只获得了6分,说明该软件的质量不好。可以看出,待评价顺序图中,只有一个筛子对象,在参与这个游戏时,它通过循环两次(每一次循环中扔一次筛子,返回一个点数)来达到目的,虽然它能完成当前的任务,但它在扩展性方面却存在一定的问题,所以该软件的质量存在一些问题,它还有较大的改进空间。
Claims (5)
1.一种基于差异比较对顺序图进行评价的方法,其特征在于,该方法包括以下具体步骤:
步骤1:定义顺序图的评价指标、评分细则以及评分公式;
步骤2:以标准顺序图和待评价顺序图的XML文档作为输入,根据评价指标从XML文档中抽取用于比较的数据;
步骤3:对抽取的数据进行差异比较;
步骤4:将差异比较的结果带入评分公式,计算得分,完成对待评价顺序图的评价。
2.根据权利要求1所述的方法,其特征在于,步骤1中,所述顺序图的评价指标、评分细则以及评分公式具体为:
评价指标:为四个即:对象的正确性、消息的正确性、消息的逻辑顺序的正确性、结构化控制的正确性;
评分细则:含以下具体数据:待评价顺序图总分为多少;对象、消息、消息的逻辑顺序、结构化控制分别正确一个得多少分,分别记为:ocell、mcell、scell、ccell,以及每个的最高得分为多少,分别记为:omax、mmax、smax、cmax;
评分公式为:
其中gradeo、gradem、grades、gradec分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制的成绩;min代表取两个数中的最小值;no、nm、ns、nc分别代表待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数。
3.根据权利要求1所述的方法,其特征在于,步骤2中,所述抽取用于比较的数据为:对象、消息、结构化控制。
4.根据权利要求1所述的方法,其特征在于,步骤3中,所述对抽取的数据进行差异比较,当参与比较的两个数据是同义词或者包含相同的关键字时,就认为这两个数据是相似的;如果两个数据是相似的,就认为它们是相同的;具体过程如下:
(ⅰ)比较标准顺序图的对象与待评价顺序图的对象的差异;当待评价顺序图中的某个对象与标准顺序图中的某个对象是相同的,那就认为待评价顺序图中的这个对象是正确的;
(ⅱ)比较标准顺序图的消息与待评价顺序图的消息的差异;在对消息进行比较时,首先要根据评分细则判断本次评价的顺序图属于分析阶段还是设计阶段。当对象正确一个得分不为0时,表示本次评价的顺序图属于分析阶段,那么在判断两个消息是否相似时,必须考虑对象是不是相似的;当对象正确一个得分为0时,则表示本次评价的顺序图属于设计阶段,那么在判断两个消息是否相似时,不用考虑对象是否相似,只需要考虑内容是否相似;所述对象为发送者和接受者;
消息的比较是以对象为基础的,当与消息相关的两个对象是相似的时,才能比较它们之间传递的消息是否相似;当待评价顺序图中的某个消息与标准顺序图中的某个消息是相同的,那就认为待评价顺序图中的这个消息是正确的;
(iii)比较标准顺序图的结构化控制与待评价的顺序图的结构化控制的差异;当两个结构化控制属于相同的类型,包含相同的关键字,并且控制着相同的消息,那就认为这两个结构化是相同的;当待评价顺序图中的某个结构化控制和标准顺序图中的某个结构化控制相同,那就认为待评价顺序图中的这个结构化控制是正确的。
5.根据权利要求1所述的方法,其特征在于,所述步骤4具体包括以下步骤:
(i)根据差异比较结果,统计待评价顺序图中对象、消息、消息的逻辑顺序、结构化控制正确的个数;
(ii)根据评分细则和(i)得到的个数,分别计算对象、消息、消息的逻辑顺序、结构化控制的得分;
(iii)根据(ii)的得分,计算待评价顺序图的总得分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240926.6A CN108519872B (zh) | 2018-03-22 | 2018-03-22 | 一种基于差异比较对顺序图进行评价的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240926.6A CN108519872B (zh) | 2018-03-22 | 2018-03-22 | 一种基于差异比较对顺序图进行评价的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108519872A true CN108519872A (zh) | 2018-09-11 |
CN108519872B CN108519872B (zh) | 2021-05-07 |
Family
ID=63433982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810240926.6A Active CN108519872B (zh) | 2018-03-22 | 2018-03-22 | 一种基于差异比较对顺序图进行评价的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108519872B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306979A1 (en) * | 2004-05-31 | 2008-12-11 | Jian Wang | Editing, creating, and verifying reorganization of flowchart, and transforming between flowchart and tree diagram |
CN104008058A (zh) * | 2014-06-16 | 2014-08-27 | 东南大学 | 一种基于原型仿真的架构评价方法 |
US20150212799A1 (en) * | 2013-01-02 | 2015-07-30 | International Business Machines Corporation | Migration between model elements of different types in a modeling environment |
CN105005702A (zh) * | 2015-07-24 | 2015-10-28 | 中国科学技术大学 | 一种基于计算机数据处理技术的基础经济数据拟合方法 |
CN105068921A (zh) * | 2015-07-23 | 2015-11-18 | 清华大学 | 基于App对比分析的Android应用商店可信度评价方法 |
US9672010B2 (en) * | 2015-07-29 | 2017-06-06 | The Boeing Company | Unified modeling language (UML) analysis system and method |
CN107122195A (zh) * | 2017-05-08 | 2017-09-01 | 云南大学 | 主客观融合的软件非功能需求评价方法 |
CN107135158A (zh) * | 2017-07-11 | 2017-09-05 | 北京工业大学 | 一种多路径传输中最优路径选择方法 |
-
2018
- 2018-03-22 CN CN201810240926.6A patent/CN108519872B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306979A1 (en) * | 2004-05-31 | 2008-12-11 | Jian Wang | Editing, creating, and verifying reorganization of flowchart, and transforming between flowchart and tree diagram |
US20150212799A1 (en) * | 2013-01-02 | 2015-07-30 | International Business Machines Corporation | Migration between model elements of different types in a modeling environment |
CN104008058A (zh) * | 2014-06-16 | 2014-08-27 | 东南大学 | 一种基于原型仿真的架构评价方法 |
CN105068921A (zh) * | 2015-07-23 | 2015-11-18 | 清华大学 | 基于App对比分析的Android应用商店可信度评价方法 |
CN105005702A (zh) * | 2015-07-24 | 2015-10-28 | 中国科学技术大学 | 一种基于计算机数据处理技术的基础经济数据拟合方法 |
US9672010B2 (en) * | 2015-07-29 | 2017-06-06 | The Boeing Company | Unified modeling language (UML) analysis system and method |
CN107122195A (zh) * | 2017-05-08 | 2017-09-01 | 云南大学 | 主客观融合的软件非功能需求评价方法 |
CN107135158A (zh) * | 2017-07-11 | 2017-09-05 | 北京工业大学 | 一种多路径传输中最优路径选择方法 |
Non-Patent Citations (1)
Title |
---|
陈小红灯: ""基于通信的列车控制系统可信构造:形式化方法综述"", 《软件学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108519872B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gorrell et al. | Semeval-2019 task 7: Rumoureval 2019: Determining rumour veracity and support for rumours | |
Azzeh et al. | An empirical evaluation of ensemble adjustment methods for analogy-based effort estimation | |
Liu et al. | Spectrum of variable-random trees | |
Procaccia et al. | A maximum likelihood approach for selecting sets of alternatives | |
CN107515938B (zh) | 一种云制造环境下的供需智能匹配方法 | |
CN108322317B (zh) | 一种账号识别关联方法及服务器 | |
CN110033170A (zh) | 识别风险商家的方法及装置 | |
Yang et al. | Progressive hybrid classifier ensemble for imbalanced data | |
CN103902545A (zh) | 一种类目路径识别方法及系统 | |
CN110472067A (zh) | 知识图谱表示学习方法、装置、计算机设备及存储介质 | |
WO2019148587A1 (zh) | 学习竞赛中的竞赛对象匹配方法以及装置 | |
CN106789338B (zh) | 一种在动态大规模社交网络中发现关键人物的方法 | |
CN109189892A (zh) | 一种基于文章评论的推荐方法及装置 | |
CN117151070B (zh) | 试卷组题方法、装置、设备及计算机可读存储介质 | |
CN109753994A (zh) | 用户画像方法、装置、计算机可读存储介质及电子设备 | |
CN110399558A (zh) | 一种试题推荐方法和系统 | |
CN114168761A (zh) | 多媒体数据的推送方法、装置、电子设备及存储介质 | |
Zhan et al. | An efficient alternative to personalized page rank for friend recommendations | |
CN108519872A (zh) | 一种基于差异比较对顺序图进行评价的方法 | |
CN113821827A (zh) | 保护多方数据隐私的联合建模方法及装置 | |
WO2023174099A1 (zh) | 推荐模型的训练方法以及物品推荐方法、系统和相关设备 | |
Ahamad et al. | OWA based model for talent selection in cricket | |
CN109145554A (zh) | 一种基于支持向量机的击键特征异常用户识别方法及系统 | |
CN108469949A (zh) | 一种基于差异比较对分析类图进行评价的方法 | |
Manju et al. | Novel method for ranking batsmen in Indian Premier League |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |