试析基于软件历史信息的软件工程

文萃集 人气:1.14W

 论文摘要:降低开发成本 尽量减少软件演化过程中的问题一直是软件工程实践者在软件工程实践中的追求,提高软件质量和自动化的软件维护过程也是当前软件工程研究的热点问题。即使是通过各种方式,但是软件缺陷修复和软件维护的成本无法明显降低,软件的可靠性仍然无法保障。仍然无法达到客户萋求,这样的恶性循环会使生产者和使用者丧失信心。本文以软件演化历史为背景,关于软件质量度量和预测以及改善软件维护的框架做出了探讨

试析基于软件历史信息的软件工程

论文关键词:软件历史;软件演化;软件维护

软件的开发和维护是一个时间、劳动力和资源密集的过程。同时,软件缺陷的修复成本也非常高 对于软件的修复和维护。这也是一项艰巨的任务。不仅占据了软件项目的大量资源。而且,对于研究人员来说。仍需要在软件维护方面做大量的研究,这些研究主要包括:(1)设计良好的编程语言和可适应的集成开发环境以提高编程的效率。构建自动编译工具。(3)实施更加严格的软件安全策略。但是在这些研究丁作中没有涉及到。当然。在研究开发领域目前已经有了很大的进步。但是成本问题仍然无法解决 基于目前的状况。以下内容应该得到重点研究:1)编程语言对软件开发效率以及软件质量的影响。2)软件缺陷修复的分派机制 3)设计基于网的模型来预测软件维护的成本。

设计一个自动化的框架来集成各种各样的软件产品资源库以帮助软件开发人员和研究人员进行相关的数据挖掘活动。

1.编程语言对开发和维护的影响

编程语言对软件开发和维护影响的定量评估一直都是一个难以解决的问题。当前。新应用不断涌现。同时编辑的语言也随着具有较大的变化。而且选择具有多样性。在Web2.0 现的背景下。数据表明编程人员越来越喜欢用动态的高级语言。这些语言具有高抽象的特点。

这能促进软件质量的进步 但是当前不足的是没有静态检验T具。缺乏成熟的分析和验证丁具。所以程序员在编写程序时极易m错。这会导致后期软件维护的难度加大 关于编程语言对软件开发和维护的影响。有程序员专门研究过。但是没有考虑到编程语言和具体的应用,也没有将研究是否合适纳入考虑范围 有的研究者将开发人员分成几个小组针对某些项目进行研究。但是开发者的水平因素并没有被考虑到。而这些项目具有比较小、不被经常使用而且生命周期比较短的特点。并且。这些方法得到的结果无法推及到较大的应用项目。

2.软件缺陷的分派机制

一般流行的开源软件项目通常每天都会收到上百份缺陷报告。在理想的`状况下。开发人员将会在最短时间内收到这些缺陷报告。对于程序员收到缺陷的过程会受到几个因素的同时影响 如果通过手动方式处理缺陷。大量的时间和劳动力将会被消耗。准确性也无法保障。而且。对于每一个项目。跟踪每个活动的开发者和他们的经验也是一件非常网难的事情。即使是用机器代替手工.其效率和准确性也无法得到保障。

3.基于图的方法

在软件维护的研究中使用基于同的度量最早应用在软件缺陷预测领域 Zimmermann等人通过雨数调用关系图来达到一个文件发生故障的概率的预测目标 而Pinzger等人。则通过构建了一个开发者网络来达到预测软件故障的目标 但是。这些均没有考虑到软件成本问题。以及基于图的度量的识别软件代码中的关键点的问题 分析软件的结构。以基于罔的软件模型为基础。计算软件中各种元素之间的关系来实现提高质量降低成本的目的。

4.集成软件产品的框架