[发明专利]一种基于新增需求的代码变更量量化评估方法及其系统无效
申请号: | 201010140902.7 | 申请日: | 2010-04-02 |
公开(公告)号: | CN101833501A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 王青;高健;李娟;杨达;李引 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 邵可声 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 新增 需求 代码 变更 量化 评估 方法 及其 系统 | ||
技术领域
本发明涉及一种基于新增需求的代码变更量量化评估方法及其系统,属于计算机软件开发技术领域。
背景技术
软件代码量的大小对软件的开发进度以及软件应用前景有着重要影响,研究人员通过控制软件代码量的大小满足了用户的不同需求(参考专利号:ZL 03800635.9,发明名称“代码量控制装置和代码量控制方法”的技术文献)。同时软件代码量的大小与软件开发过程的需求演化直接相关,需求演化是软件需求开发中最容易发生的,也是不可避免的问题,需求演化会导致软件项目代码量的变化,如果没有得到恰当的处理,对软件的开发成本和进度都会产生较大的影响,往往导致软件项目失败的主要原因是需求演化。
当需求发生演化的时候,需要对演化带来的影响进行评价和分析,以便采取相应的处理措施。量化的影响分析方法将有利于上层决策者对于软件演化做出准确的分析和决策,从而保证软件项目顺利完成。
软件项目的需求多为使用自然语言对软件功能的描述,而软件的代码量则是由编程语言开发。当需求发生演化时,很难将自然语言描述的变化准确地定位到编程语言开发的代码中。而当软件项目新增需求的时候,更加无法有效地估算新增需求将要产生的代码量。
现有的需求演化影响分析方法中,能够预测代码变更量的方法比较少。已有方法主要分为两类,一类是根据代码中的调用关系进行估算;一类是根据需求间的依赖关系进行估算。
根据代码调用关系的估算需求演化代码影响量的方法(参考文献:“Franck Xia,PraveenSrikanth.″A Change Impact Dependency Measure for Predicting the Maintainability of SourceCode,″[C].compsac,vol.2,28th Annual International Computer Software and ApplicationsConference-Workshops and Fast Abstracts-(COMPSAC′04),2004:22-23”):当一个需求发生变化的时候,由于受到这个变化导致代码中某部分直接受到影响,影响根据代码的调用与被调用关系扩散,并且随着调用层次的增加,受到的影响逐渐变小。对受到影响的代码量进行求和,作为需求影响值。
根据需求依赖关系的估算需求演化代码影响量的方法(参考文献:“杨鹤标,张继敏,朱玉全.一种需求变更影响的评估算法[J].计算机工程,2006,32(23):82-84”):根据需求依赖关系,建立由需求依赖树形成的森林。当依赖源需求发生变化,会对依赖目标需求产生影响,影响通过依赖关系从源需求向目标需求传递。对受到影响的需求对应的工作量求和,作为需求的影响值。
以上两类方法在估算影响时,都需要首先确定演化的需求所对应的代码,而对于新增需求,则不能够将新增需求与已有代码建立有效的关联关系,所以无法准确估算新增需求将要产生的代码量。
发明内容
鉴于量化需求演化影响的重要性以及现有方法的局限性,本发明通过基于数据挖掘的需求演化影响的量化分析方法(Requirement evolution impact analysis using data mining,REIA-DM)对代码变更量进行量化分析,并实现了基于REIA-DM方法的自动化估算系统。即本发明的目的在于提供一种基于新增需求的代码变更量量化评估方法及其系统,其能够估算新增需求将要产生的代码量,从而当软件项目新增需求的时候,能够有效的帮助项目管理者降低软件项目失败的风险。
本发明的技术方案为:
一种基于新增需求的代码变更量量化评估方法,其步骤为:
1)根据设定的需求特征对数据库中某软件项目已有的N个需求进行特征提取;
2)选取该项目中m个需求的特征提取数据(RS1,RS2,RSi,...,RSm)作为训练数据,其中0<m<N;
3)将m个需求中每个需求的特征提取数据RSi分别与除该需求外的已有需求的特征提取数据进行聚类,并计算该需求RSi的实际代码量与其所在簇的代码量参考值的比值γi;其中,i=1...m;
4)根据得到的比值γi计算该软件项目的调整系数γ;
5)根据设定的需求特征对该软件项目的新增需求进行特征提取;
6)利用1)和5)的特征提取数据对每一新增需求与该N个已有需求进行聚类;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010140902.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据管理方法、装置和系统
- 下一篇:一种虚拟机的单栈设计方法