当前位置:主页 > 科技论文 > 软件论文 >

软件可持续演进度量和评估及其在架构重构中的应用

发布时间:2020-03-27 19:11
【摘要】:软件演进是一项贯穿软件生命周期的活动,演进反映了“在演进实体或其组成元素的属性方面不断改进的过程”。随着软件规模不断扩大以及软件复杂度不断升高,软件演进的复杂度和变化性进一步增强。软件架构作为软件开发早期阶段的产物,是在较高抽象层次上对软件进行描述,对架构的修改将直接影响整个软件的质量,一个优秀的架构是软件能够顺利开发完成的重要因素。近年来对于软件架构演进的研究日趋重要,关注架构演进过程的效果及质量,及时发现问题,避免问题积累导致断代式演进,对推动软件架构演进具有十分重要的意义。合理的演进操作可以使软件架构不断优化,进一步提升应用该架构的软件质量。而随着软件工程的发展,对软件架构的研究开始超出软件设计阶段,逐步扩展到了整个软件生命周期。当架构在演进过程中暴露出缺陷时,如何根据这些缺陷对架构进行及时重构,保证架构的生命力和竞争力也是一个非常重要的话题。本文提出一种新的软件架构演进度量评估方法——架构持续演进原则达成性度量方法,该方法选取一次软件演进过程中的两个软件版本作为度量对象,以两个软件版本的架构文档和项目源代码作为输入,对架构文档和项目源代码进行信息提取,设计度量指标对这次演进过程是否达成了架构持续演进原则进行定量度量;然后根据架构持续演进度量结果对架构演进过程进行评估,分析演进过程中软件架构暴露出来的缺陷和不足,对这些缺陷和不足进行定位,分析造成这些缺陷和不足的原因,并针对这些缺陷提出架构重构建议,以提高架构演进效果。本文结合开源软件实例,设计实验验证了度量与评估结果的真实性和合理性以及重构建议的有效性。本文提出的架构度量方法关注架构演进过程,是对架构演进效果的度量。度量基本信息来源于反映软件架构的组件依赖图和软件源代码,数据真实客观。架构持续演进原则有利于综合评价,而架构持续演进原则子指标有利于发现对应的架构缺陷。论文选取业界热门开源软件作为实验对象,证明了本文提出的方法能够有效反映架构的实际演进情况和演进效果。
【图文】:

界面图,界面,代码,节点


-String filePath-CompilationUnit compilationUnit+visit():boolean+traverse():void图 4-8 Visitor 构造类图图 4-8 中共包含 5 个主要的 Visitor 访问类。(1) PackageVisitor 类:访问 AST 中 PackageDeclaration 节点,实现对代码中的包信息的访问;(2) PackageImportVisitor 类:访问 AST 中 ImportDeclaration 节点,,实现对代码中包之间调用关系的访问;(3) FileVisitor 类:访问 AST 中 TypeDeclaration 节点,实现对代码中文件基本信息的访问;(4) MehodVisitor 类:访问 AST 中 MethodDeclaration 节点,实现对代码中类所包含的方法的访问;(5) MethodInvocationVisitor 类:访问 AST 中 MethodInvocation 节点,实现对代码中方法调用信息的访问。本模块具体实现界面如图 4-9、图 4-10 所示,在工具中添加软件项目及版本,后台将对基本信息进行自动提取。

界面图,版本,界面,架构


图 4-10 添加版本界面架构持续演进度量模块设计与实现架构持续演进度量模块的主要功能是实现对架构持续演进原则的计算,具体该模块的实现思路是:工具从数据库中读取度量所需的基本信息并进行数据处理,对不同层次的数据存储到自定义的不同的数据结构中,然后调用架构持续演进原则子指标计算模块,每个子指标模块中将对基本信息进行进一步处理,得到公式中需要的计算参数并完成计算,接着调用子指标权重计算模块,建立判断矩阵计算权重并进行一致性检验,最后根据子指标的度量值和权重值计算架构持续演进原则。架构持续演进度量模块的类图如图 4-11 所示。图 4-11 中共包含 6 个主要的度量功能类。(1) CalculatePrinciple 类:度量模块的中心类,该类的主要功能是负责调用其它各个类的方法完成原则计算,并将从数据库中读取的基本;(2) DatabaseOperate 类:数据库操作类,该类的主要功能是完成对数据库表的读写,从数据库中读取各个基本信息表,向数据库中写入原则计算结果;(3) Architecture 类:架构信息类,该类的主要功能是保存架构层的基本信息,包括架构规模、4.3.2
【学位授予单位】:东南大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.5

【相似文献】

相关期刊论文 前10条

1 史琳娜;;会计信息化下财务软件的特点分析[J];财经界;2018年10期

2 蓝云霞;;社交软件对小学教育教学的积极作用初探[J];小学生(多元智能大王);2016年11期

3 王剑宇;;难忘那次3D之旅[J];发明与创新(中学生);2016年11期

4 王欢;宫凤娇;;公测网:软件试衣间[J];东北之窗;2017年16期

5 王风华;;从审计视角评价财务软件功能[J];财会月刊;2009年28期

6 戴春雷;何振伟;许彦;;优化现行版“全国药品不良反应监测网络”软件功能的探讨[J];中国药房;2007年34期

7 ;软件交流[J];微计算机应用;1987年05期

8 章国英;;价值工程在电教软件编制及评估中的运用[J];外语电化教学;1988年04期

9 刘兵,刘莘;SPLICE软件的结构分析、移植及开发[J];小型微型计算机系统;1988年01期

10 谢鑫华;硬件软化与软件固化[J];长沙水电师院(自然科学学报);1988年02期

相关会议论文 前10条

1 吴斌;;软件功能自动化测试的探讨与应用[A];'06MIS/S&A学术交流会论文集[C];2006年

2 韩大建;;前言[A];计算机在土木工程中的应用——第十届全国工程设计计算机应用学术会议论文集[C];2000年

3 ;CAE软件的差距及自主路[A];西南汽车信息(2018年12期 总第393期)[C];2018年

4 董学坤;孙宝平;;光缆在线监测系统软件功能的设计与实现[A];2017智能电网信息化建设研讨会论文集[C];2017年

5 李轶;;国内问诊类移动医疗APP软件功能分析与评价[A];中华医学会第二十一次全国医学信息学术会议论文汇编[C];2015年

6 范保柱;;对校跑软件改善在校大学生肥胖体质的影响研究[A];2018年中国生理学会运动生理学专业委员会会议暨“科技创新与运动生理学”学术研讨会论文集[C];2018年

7 邓春蕊;刘文树;马卫山;高远;;热镀锌线L2级人机界面计算机软件功能的设计及应用[A];2009年河北省轧钢技术与学术年会论文集(下)[C];2009年

8 傅骏;谯攀;吴静;何敬德;;中小工业企业常用开源软件[A];第十三届全国铸造年会暨2016中国铸造活动周论文集[C];2016年

9 刘宏波;蔡昌毅;张安相;王永斌;;故障检测软件的柔性分析[A];2012年中国造船工程学会优秀学术论文集[C];2013年

10 胡桂庚;;玻璃配料计算软件功能[A];中国硅酸盐学会2003年学术年会论文摘要集[C];2003年

相关重要报纸文章 前10条

1 本报记者 陈欢欢;清华大学自主研发出首套风电场微观选址软件[N];科学时报;2011年

2 赛迪智库信息化与软件产业研究所博士 蒲松涛;更新迭代是软件生命力重要表现[N];中国电子报;2019年

3 江德斌;铲除外挂软件毒瘤需保持高压态势[N];中国商报;2018年

4 国家统计局宜昌调查队 韦多加;电子记账软件功能如何优化[N];中国信息报;2018年

5 本报记者 李燕京;容颜易改 百变无敌[N];中国消费者报;2016年

6 本报记者 邢东伟 本报见习记者 翟小功;外挂神器每天盗5000万个人资料[N];法制日报;2017年

7 中国妇女报·中国女网记者 田珊檑;智能时代,谁来守护我们的“私人数据”?[N];中国妇女报;2017年

8 本报记者 邓晓蕾;企业管理只需要一套软件[N];中国计算机报;2017年

9 本报记者 姜靖;云计算:加速企业信息化进程[N];科技日报;2009年

10 文明;中小企业信息化切莫求简[N];科技日报;2004年

相关博士学位论文 前5条

1 侯刚;信息物理系统软件的形式建模、验证与分析[D];大连理工大学;2018年

2 游静;细粒度软件抗衰策略及相关技术研究[D];南京理工大学;2006年

3 董雪兵;软件知识产权保护制度研究[D];浙江大学;2006年

4 谢刚;基于变精度粗集的软件项目投标风险挖掘与规避研究[D];华中科技大学;2006年

5 叶云;农产品质量追溯系统优化技术研究[D];华南农业大学;2016年

相关硕士学位论文 前10条

1 李嵩嵩;DR集团软件外包项目管理的问题与对策研究[D];大连理工大学;2018年

2 王治国;基于安卓平台的学习帮帮棒软件的设计与开发[D];大连理工大学;2018年

3 高安琪;水下合作目标定位系统模拟软件的设计与实现[D];哈尔滨工程大学;2018年

4 张漫琪;基于社会互赖理论的办公软件协作模块设计研究[D];湖南大学;2016年

5 龙宇枫;微信对商务社交软件的影响研究[D];吉林大学;2018年

6 韩乐;基于弱标记学习的开源软件自动标注研究[D];南京大学;2016年

7 戴笠;基于软件评论的细粒度功能情感分类设计与实现[D];云南大学;2017年

8 袁檀;面向iOS平台的软件行为检测与分析[D];燕山大学;2018年

9 裴悦;基于故障影响的软件执行行为模式挖掘方法[D];燕山大学;2018年

10 郝晨谦;软件网络社团划分及模块重叠结构的分析与研究[D];燕山大学;2018年



本文编号:2603265

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2603265.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户55a98***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com