您当前的位置:首页>论文资料>基于软件历史信息的软件工程实践

基于软件历史信息的软件工程实践

资料类别:论文资料

文档格式:PDF电子版

文件大小:2.25 MB

资料语言:中文

更新时间:2024-11-20 08:20:32



推荐标签:

内容简介

基于软件历史信息的软件工程实践 数事执本与表用
基于软件历史信息的软件工程实践
丁近
(武汉软件工程职业学院湖北武汉430205)
学术论坛
摘要:在软件工程的研究实践中,如何降低缺件的开发成本、加何最小化软件在演化过程中带来的各种问题是软件工程实者长期追求的日标,提高软件质量和白动化的软件维护过程是软件工程研究的热点同题。虽然人们付出了各种各样的势力,软件缺陷修复和软件维护的成本侬然很高,软件的可靠性伤然无法满足用户的需求。经常发生的软件障问题使软件生产者和使用者渐渐丧失了对软件的信心。本文基于软件的演化历史,保讨了关于款件质量度量和预测以及改善软件炸护的柜架。
关键调:软件历史软件演化软件维护
中图分类号:TP311 1、引言
文献标识码:A
文章编号:1007-9416(2012)04-0247-01
预测缺陷。但是,这些研究都没有建议使用基于图的度量来预测软
软件的开发和维护是一个时间、劳动力和资源密集的过程,软件缺陷的修复成本也非常高。软件的修复和维护通常占据了软件项目90%的资源,即使在开源的环境中,软件的维护也是一个艰巨的过程。研究人员在改善软件维护过程方面已经进行了大量的研究,主要包括设计良好的编程语言和可适应的集成开发环境以提高编程的效率,构建自动编译工具,实施更加严格的软件安全策略等等。可是这些研究工作并没有涉及如何降低软件的维护成本。虽然在软件开发和维护方面的研究已经取得了很大的进展,然面与软件演化过程相关的成本仍然很高,在目前这样一种情况下,我们需要研究(1)编程语言对软件开发效率以及软件质量的影响。(2)软件缺陷修复的分派机制。(3设计基于图的模型来预测软件维护的成本。4)设计一个自动化的椎架来集成各种各样的软件产品资源库以帮助软
件开发人员和研究人员进行相关的数据挖揭活动。 2、编程语言对开发和维护的影响
编程语言对软件开发和维护影响的定量评估长期以来都是一个具有挑战性的间题。目前,由于新的应用的产生,编程语言的选择也在发生着变化。随着Web2.0的出现,缩程语言受欢迎程度的统计数据显示动态的高级语言越来越受到缩程人员的青。这些语言提高了抽象水平,有希望加快高质量软件产品的开发。可是,我们仍然缺乏静态检测工具,由于缺乏成熟的分析和验证工具,使得程序员在编写代码时非常容易出错,以至于软件难以维护。有研究人员曾经分析过缩程语言对软件开发和维护的影,但是他们并没有将编程语言和具体的应用联系起来,也没有考患进行的研究是否恰当。例如,有的研究者将开发人员分成几个小组针对某些项目进行研究,可是他们并没有考虑到开发者的水平因素,面且这些项目通常是比较小、不被经常使用而且生命周期比较短,使用这样一些方法产生的结果通常不能推广到现实世界中比较大的一些应用项目。
3、软件缺陷的分派机制
流行的开源软件项目通常每天都会收到上百份缺陷报告。理想的情况下,每个缺陷应该在最短的时间内分派给相应的软件开发人员进行修复。缺陷的分配过程比较复杂,通常受几个因素的影响。如果手工来处理缺陷的分配过程,那么这个过程将会消耗很多劳动力和时间,面且非常容易出错。不仅如此,对于每一个项目,跟踪每个活动的开发者和他们的经验也是一件非常围难的事情。有的研究者通过使用机器
学习的方法来自动的分配缺陷,然而效率和准确性却比较低。 4、基于图的方法
在软件维护的研究中使用基于图的度量最早应用在软件缺陷预测领域。Zimmermann等人使用函数调用关系图预测一个文件发生故障的概率。Pinzger等人构建了一个开发者网络来预测软件故障。Nagappan等人通过提取函数调用关系图中的复杂性度量集来
件维护的成本,以及识别软件代码中的关键点,这些关键点往往更容易发生故障。可以通过构建基于图的软件模型来计算软件中各种元素之间的关系,通过分析软件的结构来找到提高软件质量和降低软件维护成本的方法。
5、集成软件产品的框架
开源软件项目在开发过程中使用不同的资源库来存储项目和演化的信息,例如:源代码,缺陷和补丁等。一个集成系统必须整合这些不同的资源库,采用先进的查询技术允许软件开发人员和研究人员在这些不同的资源库之闻进行查询和浏览,以帮助他们解决在开发和研究过程中所遇到的各种问题。例如:软件开发者在编写代码的时候经常遇到这样一个问题:为什么代码要接照这种方式来实施?开发者为了得到这个间题的答案,他们需要使用软件缺陷资源库和代码资源库中的信息,由于这两个资源库是互相独立的,这使得查找信息的效率非常低。手工集成这些资源库的信息通常非常的繁项、耗时、也比较容易出错,对于大型的项目更是如此。以前解决这些问题的方法是限制用户查询和浏览的方式,例如:查询只能按照规定的查询模版来进行。为了解决这些问题,需要建立一个框架来支持各种查询语言,允许软件的开发人员和研究人员在更加广泛和深层的空间中去寻找问题的答案或线索,从而帮助开发人员和研
究人员完成相关的开发和经验分析任务。 6、结语
本文主要探讨了在软件演化过程中如何提高软件维护和软件质量的间题,提出了一个软件资源库的集成框架,对于软件产品的
开发和分析活动是很有帮助的。参考文献
[1]审为民支持过程度量的软件过程建模及软件过程评价平台的研究[D].上海:复旦大学,1999.
[2]李健.金茂患.中小型企业软件过程改善研究[]].计算机工程与应用,2001,37(19):1072111
[3]李健,金茂患.有效改善软件过程方法研究[J].计算机研究与发展.2001,38(1):26234.
[4] N.Nagappan,T.Ball,and A.Zeller.Mining metrics to predict com-ponent faflures.In ICSE 06.
[5] NIST.The economic impacts of inadequate infrastructure for software testing.Planning Report,May 2002.
[6] M.Pinzger,N.Nagappan,and B.Murphy.Can deve lopermodule networks predict failures? In FSE,2008.
[7] T.Zimmermann and N.Nagappan.Predicting defects usingnetwork Bos 'sden apadap o sse
上一章:嵌入式软件的质量管理 下一章:基于Web的Python编程环境研究

相关文章

GB/T 30975-2014 信息技术 基于计算机的软件系统的性能测量与评级 GB/T 30882.1-2014 信息技术 应用软件系统技术要求 第1部分:基于BS体系结构的应用软件系统基本要求 GB/Z 40213-2021 自动化系统与集成 基于信息交换需求建模和软件能力建规的应用集成方法 林若生态建设思想研究:基于“十年绿化广东”决策与实践的历史考察 提高工控应用软件可靠性的探索——单片机及PLC应用软件的设计实践 Proteus仿真软件在单片机实践教学中的应用 基于运行方式的信息调度运行管理实践 基于软件体系结构的网构软件开发探究