软件需求分析的任务和过程
结构化分析方法
原型化方法
动态分析方法
数据及数据库需求
软件需求分析
对软件需求的认识
对软件需求的初级认识
两个错误假设
业界的当前状况
项目失败的根本原因
相对重要的软件问题
需求错误的高昂代价
软件需求的主要问题
对软件需求的初级认识
需求不是根本问题,编码才是软件开发工作。
给我一个项目,无论需求多么复杂我一定能完成它。
至少在初级软件开发人员的潜意识中需求不是那么可怕,编程技术才是重要的。
需求很重要,但很容易搞清它。
当这些问题与需求管理和处理技能不足以及缺乏易用工具等情况一同出现时,许多团队都对管理好需求不抱希望了。
两个错误假设
但实际上:用户会改变、问题会改变、技术基础会改变、市场会改变
正确的含义包括:软件的所有质量特征
业界的当前状况
1998年美国软件业的一份报告:
26%的项目是成功的
46%的项目是存在问题的
28%的项目是失败的
平均超支89%
平均超出进度计划122%
新开发系统所提供功能的45%从来没被使用过
项目失败的根本原因
不完整的需求
缺乏用户介入
不实际的客户期望
需求和规范的变更
缺乏高层的支持
胜任的团队成员大少
缺乏项目管理经验
相对重要的软件问题
一次调查以确定在产业中相对重要的软件问题,根据3800个被调查人的回答,大约半数的被调查者回答的两个最大问题是:
1)需求规格说明
2)管理客户需求
相对而言,编码"不是问题"
很显然,我们完全可以把需求当作导致软件问题的最根本原因。
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
需求规格说明
管理客户需求
建档
测试
项目管理
编码
主要问题
次要问题
不是问题
最大软件开发问题分类
需求错误的频率
缺陷来源潜在缺陷排除的效率提交的缺陷
需求 77%
设计 85%
编码 95%
建档 80%
不恰当修复 70%
合计 85%
需求错误的频率
需求错误在提交缺陷(用户着到的缺陷)中是最高的,占了大约全部提交缺陷的三分之一。
因此需求错误是系统开发错误中最常见的一类错误。
第三章 软件需求分析(1) 来自淘豆网www.taodocs.com转载请标明出处.