[发明专利]一种基于软件架构的可演进性度量方法有效
申请号: | 201710507265.4 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107368303B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 李必信;王桐;孔祥龙;张心悦 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F8/74 | 分类号: | G06F8/74;G06F11/36 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 刘传玉 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 软件 架构 演进 度量 方法 | ||
本发明公开了一种基于软件架构的可演化性度量方法,首先对源程序进行解析,提取源程序的基本信息,然后结合基本信息与组件信息,计算出组件的内在指标信息。基于以上信息,计算可演进性的可修改性、可扩展性、易测试性、可替换性、易理解性的度量值。通过层次分析法,合理分配权重。最后通过子指标的度量值及权重计算出可演进性,从而实现软件架构可演进性的度量与量化。
技术领域
本发明涉及软件度量与评估技术领域,尤其涉及一种基于软件架构的可演进性度量方法。
背景技术
随着软件技术的迅猛发展和广泛的应用,软件规模在逐渐的扩大,软件的开发成本和维护成本也随之增长。在软件系统中采用恰当的软件架构能够清晰并且合理的定义组件功能、组件层次和组件之间的依赖关系,从而达到降低后期的测试与维护的成本的目的,可演化性作为衡量软件架构生命力和架构竞争力的质量指标,对度量软件质量具有十分重要的现实意义。
现有的软件架构可演化性在实际应用过程中所存在不足是:
(1)缺少从软件架构角度出发的可演化性分析。可演化性不单单是软件所具有的质量属性,同时也存在于软件架构中,因此软件的演化性与软件架构具有一定的区别,从而需要区分对待及量化;
(2)缺少从源代码出发的度量的方法。软件源代码是软件产品中最基本的一部分,相比于设计文档或需求文档等具有较高的可获取性。因此若无法从源代码出发进行度量,则减少了度量模型的可用性;
(3)粒度较粗。当仅通过UML图或架构图对软件架构度量时,会损失较多的代码信息,从而易造成度量结果的偏差,度量结果的可信性降低。
发明内容
本发明所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种基于软件架构的对可演化的度量方法,通过对源代码的分析,提取出软件源代码中的基本信息,从而实现对软件架构和组件信息的提取,将软件架构可演进性划分为5个子指标,通过层次分析法赋予权重,进而计算软件架构的可演化性。
本发明为解决上述技术问题采用以下技术方案:
一种基于软件架构的可演化性度量方法,包含以下步骤:
步骤1),对源程序进行解析,提取软件源代码的基本信息,并将其存入预先设定的基本信息知识库中,所述基本信息包括软件代码行数、公共方法数和方法总数;
步骤2),获得软件架构图,将软件架构图与软件源代码基本信息的相结合,汇总出架构内在指标,并将其存入预先设定的内在指标知识库中,所述架构内在指标包含软件架构图中各个组件的出度、入度;
步骤3),利用步骤1)和步骤2)中获取到的源程序基本信息和架构内在指标,进行如下计算:
步骤3.1),根据以下公式计算可修改性Modifieability:
式中,Modifieability为1与各组件所关联的组件数占总组件数比例的平均值的差值,N表示软件架构图中组件的数目,i∈[1,N]表示组件的编号,Outi表示组件i的出度,Ini表示组件i的入度;
步骤3.2),根据以下公式计算可扩展性Expansibility:
式中,Expansibility为组件公共方法数的和与组件中方法的和之比,Mi表示组件i中的方法数,Pi表示组件i中的公共方法的数;
步骤3.3),根据以下公式计算易测试性Testability:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710507265.4/2.html,转载请声明来源钻瓜专利网。