基于加权软件网络的软件模块性

来源 :浙江工商大学 | 被引量 : 0次 | 上传用户:yidehua_2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件结构指的是软件内部的元素及元素之间的联系,它已经成为影响软件质量非常重要的因素。随着软件功能、结构的日益复杂,软件质量难以保证。了解一件事物,应该采取量化的方式,在软件工程领域也是如此:没有度量就没有理解和控制。因此,要控制或者改善软件的质量,就需要对软件结构进行合理的描述和有效的量化。软件度量已经成为软件工程领域的一个重要研究方向。
  软件度量是对软件内部结构质量属性的量化。结构质量有很多方面,包括理解性、可支持性、稳定性、模块性等。模块性和稳定性是软件的两大重要质量属性。模块性被认为是设计成功软件的最重要特性之一,它对许多外部质量属性具有重大影响。因此,提出衡量软件模块性的指标非常有用。软件稳定性意味着抵抗软件变化的放大,它已成为影响维护成本的最重要因素之一。
  尽管一些国内外学者在软件模块性和稳定性方面做出了很多贡献,取得了诸多成果,但是现有工作仍存在如下不足:1)在软件模块性的度量研究中,现有工作主要探讨与软件模块性相关的耦合性和内聚性的度量,没有将耦合性和内聚性两者结合起来,进而从整体上度量软件的模块性;2)在软件稳定性度量方面,现有工作未能充分考虑软件元素之间的多种耦合关系,也忽略了元素之间的耦合强度,仅考虑了“最坏”(元素的变更会100%影响与之相关的其它元素)情况下的软件稳定性分析。本文的工作主要是针对现有工作在软件模块性及稳定性度量方面的不足,采用复杂网络与软件工程的交叉研究,将软件的结构抽象成为类加权的复杂网络——加权软件网络,节点代表软件内部的元素(属性、方法或类),元素间的交互关系抽象为边,同时为边赋权值,从而从软件复杂网络的角度重新审视软件的模块性和稳定性。
  本文的主要研究内容如下:
  1)基于加权软件网络的软件模块性度量方法
  我们提出了一种新的度量指标Q(模块性),将元素间的耦合性和内聚性结合起来,进而从整体上度量软件的模块性,主要包括如下步骤:首先,将软件在特征(方法和属性)粒度抽象成特征耦合网络(FCN),其中方法和属性是节点,方法和属性之间的耦合是边,边上的权重表示耦合强度;然后,将软件原始的类结构作为特征的社区,并引入复杂网络领域用于评价社区结构的模块度指标度量类的模块性;最后,我们应用著名的Weyuker标准从理论上验证Q指标的合理性,并使用开源Java软件进行实证评估,以揭示其作为衡量软件模块性度量指标的有效性。
  2)基于变更传播模拟的软件稳定性度量方法
  我们提出了一种基于变更传播模拟的软件稳定性度量方法,用更加准确的加权有向软件网络抽象类粒度的结构,考虑了类之间的7种耦合关系(如继承、实现等)及其强度。同时,变更在类之间以某种概率传播,而不再是100%的传播。方法主要包括如下步骤:首先,将一个类耦合网络(CCN)来抽象类粒度的软件结构,节点代表类及接口,有向边代表类之间的7种耦合关系及其方向,边权代表变更在类之间传播的概率;然后,分析类变更的不同类型,并提出了一个变更传播算法,用以模拟变更在CCN中的传播过程,进而构建了一个新的度量指标软件稳定性(SS)来量度软件的稳定性;最后,我们应用Weyuker标准从理论上验证SS度量指标的合理性,并使用一组开源Java软件进行实证评估。理论结果表明,我们的SS度量指标满足Weyuker的大多数特性(仅有两个例外),实证结果表明我们的度量指标可以有效识别软件质量的改进和关键类。同时,我们的方法能够应用于大型软件系统。
其他文献
国际核不扩散机制自成立以来已经历经半个世纪,在这段时期内核不扩散机制为遏制核武器的扩散和世界核裁军做出了巨大贡献,为世界的和平和稳定做出了巨大贡献。国际核不扩散机制成立于冷战时期,冷战结束后,国际格局发生重大转变,核扩散形势也变得更加严峻,在后冷战时代,如何让国际核不扩散机制更好的发挥作用,是世界各国学者关注的重点。  本文主要研究国际核不扩散机制的约束力对核扩散行为的约束限制作用。通过定性分析和
学位
期刊
打开《论语》,第一句就是“学而时习之,不亦说乎”。由于中国特殊的主持人培养模式,一些主持人往往不善于学习,重视声台形表的外在播音技巧也大于对文化的学习。但主持工作又是一项需要始终将学习伴随的工作。对于,主持人国学文化的修养也要提升到一个相对的高度。  根据中共十八大以来的文化发展方向以及2014年十月召开的全国文艺工作者座谈会,笔者将文本中的“国学文化”定义为中华优秀传统文化。那么,为什么主持人要
目的:挖掘中医辨证治疗急性白血病(Acute leukemia,AL)有效的治则治法。方法:收集2013年5月到2017年5月于天津中医药大学第一附属医院血液科住院收治急性白血病患者,包括急性髓细胞白血病(Acute myelocytic leukemia,AML)、急性淋巴细胞白血病(Acute lymphoblastic leukemia,ALL)、骨髓增生异常综合征(Myelodysplas
由于具有效率高、体积小、重量轻和成本低等优点,非隔离光伏并网逆变器一直是国内外学者研究的重点。但除去了变压器的隔离作用后,光伏发电系统会有相应的漏电流产生,过大的漏电流会对发电设备和人自身的安全造成威胁。因此,如何抑制和消除漏电流成为了非隔离光伏并网逆变器的核心问题之一。本文以单相非隔离光伏并网逆变器为研究对象,着重对各种漏电流抑制电路拓扑进行分析,设计了一种零漏电流非隔离光伏并网逆变器,并对其工
混沌因其天然具有类随机性、初值敏感性等复杂动力学特性被广泛应用于信息安全及其保密通信领域中。整数阶低维混沌系统存在着安全隐患,而分数阶时滞系统难以被常规攻击手段攻破且拥有更大的密钥空间,在保密通信领域中有着更广阔的应用空间和实用价值,因此构造分数阶时滞混沌系统是提高保密通信系统安全性的有效途径。Hopfield神经网络在一定条件下能够直接生成具有良好扩散效应的混沌矩阵,本文以一类分数阶时滞 Hop
学位
时间序列是由时序数据构成的特殊数列,被广泛用于预测分析、模式匹配、信息查找等应用中,是学术研究以及工业生产重要的研究对象。由于对数据的操作不可避免地会引入噪声,企业越来越关注噪声所带来的不确定性对结果的影响。本文基于连续型时间序列模型对索引构建进行研究,改进传统索引结构,构建适用于不确定性时间序列的索引结构。首先,本文针对传统时间序列的预处理方法,比较了MA、ARMA、UMA等预处理技术对数据的影
随着万物互联的不断发展,无人驾驶和智能视频等众多新型应用如雨后春笋般产生,其对时延的要求愈发严苛,由此移动边缘计算应运而生。移动边缘计算可有效解决用户时延需求和电池容量受限等难题。移动边缘计算的研究包含系统架构、资源管理、绿色节能和安全隐私等方面,其中资源管理与计算机科学研究最为相关,也广受学术界重视。针对传统云计算利用广域网传输的高延迟问题,移动边缘计算在网络边缘节点大量部署服务器,为用户提供低
互联网、物联网、云计算等信息技术的快速发展,政治、经济、军事、工业等各个领域的传统应用开始与之相结合,产生了比以往任何时候都要多的数据。同时,智能移动设备、传感器、电子商务网站、社交网站等等数据来源每时每刻都在创造多种多样的数据。面对如此大量的数据,如何及时、有效地分析它们并从中提取出有价值的信息,是政府和企业亟待解决的问题。例如,中国证券监督管理委员会(CSRC)通过股票买家和卖家的交易价格和数
本文的主要目的是用移动汇聚节点解决无线网络所面临的特殊挑战。本文包含对两个主要协议的四个主要贡献。第一个协议是启发式数据传播HDD(Heuristic Data Dissemination)协议,第二个协议是面向汇聚节点的树状数据传播STDD(Sink-oriented Tree-based Data Dissemination)协议。本文对上述协议中的每个都有两个贡献,因此本文共有四个贡献。