基于极限编程的软件可维护性分析

来源 :科技致富向导 | 被引量 : 0次 | 上传用户:ceng0606
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】随着我国社会水平的提升,经济步伐的推进,我国的软件事业也在这个过程中得到了较大程度的发展。其中,软件所具有的可维护性是保证软件自身质量的重要因素,需要我们能够对其引起充分的重视。在本文中,将就基于极限编程的软件可维护性进行一定的研究与分析。
  【关键词】极限编程;维护性分析
  0.引言
  在软件整个的生存周期中,对于软件所进行的维护活动通常都要占据很大的比重,这也正是显示出了软件维护活动对于软件的重要性。而在我们对于软件维护所开展的研究工作中,专家为了尽可能的降低维护软件的工作量,也陆续提出了很多对于软件维护模型的新方式以及新看法,但是对这部分方式总体看来,都仅仅是建立在较为传统的开发过程基础上的,并没有从根本上对软件维护的成本进行降低。而对于极限编程来说,其从对于不同需求的变化入手,更加强调软件开发测试以及具有构造简单的代码,能够更好的对传统软件开发中的特质进行改变,从而使软件维护工作相对以往来说具有很多地方能够进行改进,能够大大的降低软件成本。
  1.极限编程中的软件维护
  软件维护是指软件在生存期的运行和维护阶段,在其相应的运行环境中被使用、监视,以期获得满意的性能,同时在需要时对产品进行修改,以改正问题或对变化了的需求做出响应。对于软件的维护活动来说,其主要可以分为以下四类:即纠正性维护、适应性维护、完善性维护以及预防性维护。对于传统的软件开发模型来说,其同极限编程模型相比来说在软件维护领域存在着一定的不足,其能够通过很多种方式对传统方式的维护死角进行改善,从而使软件能够具有更好的可维护性。
  (1)从我们对软件进行维护的工作量中可以看出,对于维护完善性所需要做的工作占据着最大的比重。其中,保证维护所具有的完善性是根据客户自身的需求变化而变化的,所以,我们在软件开发阶段能否完全按照客户的需求来办、能否在整个开发的过程中都符合客户的需求将直接对整个软件整体的完善性产生影响。而对于传统的软件开发方式来说,其首先就需要软件的分析员对于客户的不同需求进行广泛的收集,并将其通过一定的整理形成软件的规格说明书来作为后续开发的重要依据。而在软件开发的后期阶段中,也经常会因为客户自身需求的变化以及一定错误的存在而需要再一次的对系统进行修改,这种情况的存在就会对整个软件的开发成本造成较大的影响。
  而对于极限编程方法来说,其并不是需要在软件开发初期就能够对客户自身的需求进行准确的掌握,而是应当通过客户对于自身需求的表达来不断的获取以及丰富,并对其进行代价方面的评估。而对于客户来说,则能够根据软件开发者对提供的评估报告来对软件的开发优先级进行评估以及确定。而在软件需求实施的阶段中,软件开发者也需要根据所给出的不同评估情况以及软件开发过程中的细节问题不断的向客户进行询问,并将客户实时的想法完整的体现在软件的代码中。而当软件每一次得到迭代完毕之后,就可以开展一次小型的发布会,并由客户对于所发布的产品进行全面的测试以及验收,并安排软件的开发人员根据客户不同的反馈意见正式开始软件下一周期的开发直至整个项目得到完成。而在上述的软件开发周期中,其对于软件维护所需要花费的成本是非常低的,对于客户来说只需要在不同软件迭代的阶段中不断的更换故事,并将程序开发者对其进行再一次的评估就可以了,在这种极限编程中,其更加强调的是客户同软件开发者之间的沟通,从而能够更好的将自身的需求分析深入到软件的开发过称改制中,并大大的降低我们对于软件维护所需要花费的成本。
  (2)在软件纠正性的维护活动中,我们除了可能由于对于客户自身的需求捕获存在偏差而使软件出现缺陷之外,对于软件开展测试的不充分也可能是造成这种情况的一个原因。当软件的维护人员对于软件所存在的缺陷部位进行修补之后,就很可能使该模块的其它部位产生影响,并可能因此而引发一系列的问题。而在我们对软件进行传统开发的过程中,我们对软件所开展的测试情况通常都是在代码全部编写完成之后再进行的,而在这个节点中对代码进行修改往往使存在较大风险的。而随着这部分程序自身所具有的复杂性的不断增长,也会使这种波及效应所存在的范围得到进一步的加大,这种个情况的存在就很可能因为程序开发者避免过多、过于繁琐的测试而将其进行推迟,从而使bug成本得到不断的放大。
  在极限编程的过程中,我们对于测试驱动开发实践要求在程序编码正式运行之前就需要对测试代码进行编写,即将测试先行的方式,对于这种方式而言,其就是在程序开发者对于软件需要具有的功能进行明确之后,首先就要需要思考通过何种方式对该功能进行测试,并随之完成该部位测试代码的编写。而经过这种方式的不断循环以及功能的不断开发,直至软件全部的功能都得到完成为止。在这部分单元测试环节中,也正是整个软件同开发人员之间联系最为密切的一个环节,其通常由软件开发者对其统一进行编写以及执行,并能够通过自动化的框架工具对整个软件的测试集以及测试效果进行反馈。同时,由于软件的单元测试环节通常是在软件出现错误之后才开始进行,所以我们仅仅通过单元测试对错误进行发现,并对其进行修正所需要付出的代价是很小的,所以这种方式能够在保证软件代码得到及时测试的同时也能够使代码自身的可测试性得到了较大的增强。而与此同时我们在其中融入的自动化测试工具应用,也会使很多软件bug会在实际测试的过程中得到了较好的排除,从而大大降低了我们对于软件纠正性维护的成本。
  (3)对代码结构进行改善也是我们开展软件维护的一项重要工作,而随着软件在不断开发的过程中,其系统自身得到了不断演进,也会随之出现很多重复的代码,而当系统中所编写的类过大、需求出现变化时,系统之前所具有代码的设计方式则很难在其中加入新的功能,或者在我们加入新功能的同时使源代码自身的复杂度得到增加,此时,就更需要奥哦我们开展具有预防性的维护工作。对于传统方式来说,我们通常都会将这部分工作防止在后期维护的阶段中,且等到软件系统出现退化问题时才对代码的结构进行改善,而此时我们也能够看到我们对代码所开展的维护工作是较为困难的,而由于我们在对软件代码进行编写之前就已经具有了单元测试代码,这就会使我们对于软件的重构建立起了一张保护网,从而使软件开发人员在开发的过程中也不需要担心重构会给整个程序带来意想不到的错误而乐意去重构.重构实践活动促使系统的代码始终保持良好的状态,提高了软件的可理解性和可测试性。
  2.结束语
  总的来说,极限编程方式的出现,能够较好的提升我们小型团队软件开发的效率,对于软件的维护方式来说也是一种全新的改变。对此,就需要我们在实际软件维护的过程中能够注重方式,从而获得更好的维护效果。
  【参考文献】
  [1]刘万远,张卫东,王伟.基于层次分析法的软件可维护性评价[J].四川兵工学报,2011(07):96-98.
  [2]张仕学,丁晓明.基于粗糙集理论的软件项目质量管理研究[J].西南大学学报(自然科学版),2011(03):118-121.
  [3]马翔,张继福,杨海峰.基于区分矩阵的启发式属性约简算法[J].计算机应用,2010(08):1999-2002.
  [4]王李进,胡欣欣.基于支持向量机的面向对象软件可维护性预测[J].北华大学学报(自然科学版),2010(03):282-285.
其他文献
【摘 要】对于岩土工程的土体含水量是岩土工程中相对关键的一个物理参数,伴随着当前施工技术的进步与发展,土体含水量的现场测试与实时监测也是相当重要的一个环节,包括常用的对于土体压实质量控制以及污染程度评价射线法与现场烘干法、电阻法等,TDR技术也是一种能够 快速、安全的含水量测试法。本文就TDR的各项技术特点进行深入的研究,帮助更好的运用TDR技术在岩土工程中。  【关键词】TDR技术;测试技术;岩
【摘 要】基于低功耗单片机STM32,结合震动、温度、烟雾等传感器设计实现室内节能自动控制系统。系统主要由控制模块、智能调光电路模块、GSM模块、彩屏显示模块以及传感器模块组构成。模拟室内生活,通过检测室内环境去改变用电器的工作状态,若室内发生突发情况,报警系统工作,并将信息由单片机控制GSM模块及时以短信形式发送给户主,彩屏则实时显示各用电器工作情况,整个系统具有感应灵敏,准确率高,性能稳定、设
写作是初中语文的重要组成部分.写作水平的高低更是能体现学生语文综合素质的高低.《义务教育语文课程标准》指出:“写作教学应贴近学生实际,让学生易于动笔,乐于表达,应引导
在住宿制学校,寝室是学生们的家,寝室成员就是家庭成员。学校生活的半数时间就在寝室中度过。女生恋家,文科班女生多,女生寝室往往比男生寝室更热闹,出现在女生寝室的矛盾要比男生寝室多,麻烦也就自然大了。作为文科班的班主任,很大一部分工作就集中在处理女生寝室中发生的那些事情。毕竟寝室是学生学校生活的主要场所,寝室环境是否优美、室友关系是否和谐,直接影响到学生的学习、生活。  由习惯引发的矛盾  莎莎有便秘
在数学教学过程中实施情感教育,学生学习的兴趣、自觉性、主动性都能得到同步提高,这样去探索教师就会改变注重知识传授而忽视学生的情感教育和情感传递的状态。
【摘 要】城市高架桥具有消除新建道路与其他线路平面交叉、节省城市用地、减少路基沉陷等优点,在国内大中城市被广泛采用。桥面沥青混凝土摊铺作为高架桥施工的重要组成部分,越来越受到建设业主、监理单位、施工单位等各方关注。本文结合公司承接的常熟三环路快速化改造(高架)工程的沥青混凝土摊铺作业,对桥面沥青混凝土摊铺质量控制要点进行总结,希望可以为同行提供有益的参考。  【关键词】防水层;平整度;质量控制  
【摘 要】本文首先介绍了称重传感器的几种常见类型,并对它们的工作原理进行了简要分析。着重叙述了称重传感器应用于农业生产中,尤其是在粮食干燥领域中发挥的巨大作用。  【关键词】称重传感器;粮食干燥;应用  0.概述  随着近年来电子技术、检测技术和自动控制技术等科学技术的飞速发展,传感器技术已作为现代信息技术中最为重要的基础技术之一,被广泛的应用于各领域之中。作为传感器技术中发展较早、技术较为成熟的
1.实施背景  为进一步加强文明施工管理,促进我矿质量标准化管理工作再上新台阶,改善我矿安全生产条件,规范职工的操作行为,提高各级人员对文明施工的重视程度,打造精品亮点工程,确保井下有一个良好的工作环境,结合我矿实际情况,在采掘巷道特制定推广实施“一巷五点九条线”工作实施方案,望各单位认真贯彻执行。  2.成立领导小组  组长:矿长。  副组长:安全矿长。  成员:副总师、矿长助理及以上矿级领导及
水中氧化物指的是水体与大气之间经过氧气交换或者经过各种化学生物反应之后产生的物质。近年来,水中氧化物的污染越来越严重,加强对水中氧化物的污染情况的测定,对于污染的防治
【摘 要】目前我国很多的水电厂都安装了智能化的监控系统,但是智能化的程度并不高,有很多功能并没有开发出来,所以应该加大研发力度,以提高智能化水平,尤其是故障处理的水平,能够自动切除故障设备,而保证其他设备正常运行。本文主要从四个方面介绍了智能化水电产计算机监控系统的发展远景,希望能够为我国水电厂监控系统的发展提供借鉴。  【关键词】水电厂;智能化计算机监控系统;发展远景  尽管我国的水电厂监控系统