软件开发过程的软件缺陷管理

时间:2022-04-24 07:00:38

软件开发过程的软件缺陷管理

1前言

作为软件开发过程中的重要工作,对其软件缺陷管理进行研究占据着关键的地位。该项课题的研究,将会更好地提升软件开发过程中软件缺陷管理的实践水平,从而有效优化软件开发的整体效果。

2概述

软件缺陷分类主要是软件缺陷的度量以及分析的基础,IEEE/ANSI标准里把缺陷认定是产品中的一种非常规现象。主要是,缺陷的检测以及清理可以对最终开发的软件产品的质量进行保障;再者,缺陷里有着非常丰富的信息,对缺陷去进行分析能够帮助软件组织得到开发过程的质量,跟踪同时对项目的进程进行控制,实现对实施过程中的改进。缺陷的度量可以说是软件产品度量以及过程度量利的主要环节;缺陷的分析不但能够评估软件产品质量,同时还能够帮助掌握以及评价软件开发过程质量。当前有一些比较成熟的对于缺陷的分类方法,这些方法在侧重点上不一致,其复杂程度以及适用的具体条件也不一致。本文主要提出了一种面向开发过程中的每个阶段去实施的缺陷分类的分类方法PhaseDC。这一方法可以辅助软件项目的开发人员以及测试人员准确的对缺陷的属性值进行定位,建设缺陷以及开发阶段的相关的联系,并分析每个阶段产生的缺陷排除有效性;按照缺陷的去描述信息寻找改进软件过程的参照,从而有效的去改进活动。和现有的缺陷分类方法不同,该一方法主要是对缺陷关联的开发阶段进行注意,对每个缺陷的引入阶段和发现阶段进行确认;运用阶段的信息去对缺陷进行分析,寻找到开发过程里出现的问题以及应该进行改进的地方。

3软件缺陷的来源

软件的缺陷是多种多样的,从理论上看,软件中的任何一个部分都可能产生缺陷,而这些缺陷的来源不外乎是下列四个方面:疏忽造成的错误、不理解造成的错误、二义性造成的错误、遗漏造成的错误。其中MD、AD、SD三类缺陷主要存在于软件开发的前期阶段,如需求分析阶段、设计阶段、编码阶段。在实施第三方测试时,一般不会存在这三类缺陷,其原因是这三类缺陷的检测概率都比较大,一般是容易测试的。在笔者所分析的多个例子中,第三方测试所测试出来的95个缺陷,只有1个缺陷是AD类缺陷。因为疏忽产生的错误是一定的,也是非常多样的,这种错误是不可能够去预计的。就编码来讲,可能会产生的疏忽为:

(1)显式约束产生的错误。例如A是程序里面的一个元素,因为在A之前或是之后应该去和另外的一个动作B进行合作,也就是被叫做是显式约束;例如B不存在或者是B并不是A需要的,那么就全部是错误的。如果存储器产生故障(在某条路径上没有去释放内存)或者是资源泄露出现错误(在路径上未进行资源的释放)。

(2)潜在约束产生的错误。假如A是程序里面的一个元素(一条语句或者是在语句中的一部分,又或者是语句的集合),按照程序的语义,A就一定应该满足某些约束,不然就是出现了错误,如非法去计算类的错误和空指针运用错误以及数组越界的错误和指针使用错误等。从结果上分析,软件缺陷主要是来自于软件过程的任何一个阶段。

4软件产生缺陷的问题分析

4.1技术上的问题

技术问题主要为:算法上出现的错误,在特定条件下未能够进行得出正确结果。语法上的错误问题,对于编译性语言程序,编译器能够发现这写问题,可是对解释性语言的程序,只有在进行测试运行的时候发现;计算以及精度问题,计算的结果不能够满足精度;接口参数不匹配,造成模块集成上有问题出现。

4.2团队工作出现的问题

团队工作出现的问题主要有:进行系统需求分析的时候没有理解客户的需求,再由就是和客户在沟通上有困难;每一个阶段的开发人员彼此之间对客户的意图理解不一。比如,软件设计人员对需求分析的理解上出现问题,编程人员对系统设计规格说明书某些内容没有产生重视;对于设计编程上的假定产生依赖,有关设计人员未进行及时沟通;项目组成员技术水平不一致,新员工过多,或培训力度不足等一些原因也会使问题出现。

4.3软件自身出现的问题

软件自身出现的问题主要有:文档的错误以及内容不准确或者拼写上的错误;或者是并未考虑用户使用的场合,还有就是会产生强度以及负载上的问题;对程序概念路径以及数据的范围边界思考的不全面,互利某一些边界的条件,产生容量以及边界上的失误;对一些实时应用,需要去细致的设计并且处理,以此保障时间的同步,不然就会产生时间上的不协调以及不一致的问题;未去考虑系统崩溃之后的恢复以及数据的异地备份和灾难性的恢复等相关问题,从而存在系统的安全性以及可靠性上的隐患;硬件以及系统软件上出现的错误还有在软件开发标准上出现的错误。

4.4项目管理中的一些问题

项目管理上出现的问题主可以被分为:缺少质量的文化,以及对质量计划的忽视,还有对质量以及资源和任务与成本平衡性的把握,经常会排挤掉需求分析和评审以及测试的时间,留下的缺陷经常很多;再由就是开发的周期短,需求分析以及设计还有编程与测试等工作没有去按照设定好的流程来去完成,工作进行的不充分,所以结果并不完整和准确,出现的错误也很多;因为周期短,同时也给相关的开发人员产生了极大的压力,从而出现一些人为的错误。

5结束语

通过对基于软件开发过程软件缺陷管理的研究分析,我们可以发现,在当前各种条件下,要想获得最为理想的软件开发效果,有关人员应该立足于软件开发的客观实际需求,研究制定最为符合实际的软件缺陷管理实施策略。

作者:陈国娇 单位:上海同济大学

上一篇:冗余度理念对桥梁结构设计的应用 下一篇:软件开发的风险分析及控制研究