软件危机
定义:
在计算机软件的开发和维护过程中所遇到的一系列严重问题
典型表现:
1、对软件开发成本和进度的估计常常很不准确
2、用户对“已完成的“软件系统不满意的现象经常发生
3、软件产品的质量往往靠不住
4、软件常常是不可维护的
5、软件通常没有适当的文档资料
6、软件成本在计算机系统总成本中所占的比例逐年上升
7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
产生软件危机的原因
(1)与软件本身特点有关
1. 软件不同于硬件,管理和控制软件开发过程相当困难
2. 软件在运行过程中不会因为使用时间过长而被”用坏“如果运行中发现了错误,很可能是遇到了一个在开发时期引入的在测试阶段没能检测出来的错误
3. 软件不同于一般程序,他的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升
(2)软件开发于维护的方法不正确有关
1.只重视程序而忽视软件配置其余成分的糊涂观念。
2.软件开发人员在定义时期没有正确全面地理解用户需求,知道测试阶段或软件交付使用后才发现”已完成的“软件不完全符合用户的需要
3.严重的问题在软件开发的不同阶段进行修改需要付出的代价是很不相同的!
消除软件危机的途径:
1.首先应该对计算机软件有一个正确的认识
2.充分认识到软件开发应该是各类人员协同配合,共同完成的工程项目
3.推广使用在实践中总结出来的开发软件的成功技术和方法,并且研究探索更好的技术和方法
4.应该开发和使用更好的软件工具