一、软件缺陷定义:
1. 软件未实施产品说明书要求的功能
2. 软件出现的产品说明书指明不会出现的错误
3. 软件超出实现了产品说明书提到的功能
4. 软件实现了产品说明书虽未明确指出但应该实现的目标
5. 软件难以的理解,不易使用,运行缓慢或者终端用户以为不好
二、软件缺陷的原因
(1)技术问题
算法错误
语法错误
计算和精度问题
系统结构不合理,造成系统性能问题
接口参数不匹配出现问题
(2)团队工作
系统分析时对客户的需求不是十分清楚,或者和用户的沟通存在一些困难
不同阶段的开发人员互相理解不一致,软件设计针对需求分析结果的理解偏差,编程人员对系统设计规格谁明书中某些内容重视
(3)软件本身
a.文档错误,内容不正确或拼写错误
b.数据考虑不周全引起强度或负载问题
c.对边界考虑不周全,漏掉某几个边界条件造成的错误
d.对一些实时应用系统,保证精确的时间同步,否则容易引起时间不上协调,不一致性带来的问题
e.没有考虑系统崩溃后在系统安全性,可靠性的隐患
f.硬件或系统软件上存在的错误
g.软件开发标准或过程上的错误
三、软件缺陷的组成
代码15% 设计25% 规格说明书54% 其他8%
软件产品规格说明书为什么是软件缺陷存在最多的地方,主要原因:
(1)沟通性
(2)每日有考虑特殊性
(3)不一致性
(4)对规格说明书不够重视
(5)没有在整个开发队伍中进行充分沟通,有时只有设计师或项目经理得到比较多的信息