解说软件危机的表现之前呢伟创原创报道已经说过产生软件危机的原因;那么软件危机是指在计算机软件的开发和维护中所遇到的一系列严重问题。这些问题绝不仅仅是“不能正常运行的”软件才具有,实际上几乎所有软件都不同程度问题。概括地说,软件危机包含下述两方面的问题。
+ 如何开发软件,怎样满足对软件的曰益增长的需求。
+ 如何维护数量不断膨胀的已有软件。
具体地说.软件危机主要有下述-些农现。
1.对软件开发成本和进度的估计常常很不准确。实际成本比估计成本有可能高出-个数虽级.实际进度比预期进度拖延几个月甚至几年的现象并不罕见.这种现象降低了软件开发组织的信誉。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量.从而不可避免地引起用户的不满。
2.用户对“已完成的”软件系统不满意的现象经常发生。软件开发人员常常在对用户要求只有模糊的了解,甚至对所要解决的问题还没有确认识的情况下,就仓促上阵匆忙者手编写程序。软件开发人员和用户之间缺乏充分的信息交流.“闭门造车”必然导致最终的产品不符合用户的实际需要。
3.软件产品的质量往往靠不住。软件可靠性和质量保证的确切的定量概念刚刚出现不久,软件质量保证技不(审査、复审和测试)还没有坚持不懈地应用到软件开发的全过程中.这些都导致软件产品发生质量问题。
4.软件常常是不可维护的。很多程序中的错误是很难改正的,实际上不可能使这些程序适应新的硬件环境.也不可能根据用户的需要在原有程序中增加-些新功能。“可重用〔也称复用或再用)的软件”还是个没有完全做到、正在努力迫求的目标,人们仍然在重复开发类似的或基本类似的软件。
5.软件通常没有适当的文档资料。计算机软件不仅仅是程序,还应该有一整套文档资料。
这些文档资料应该是在软件开发过程中产生出来的,而且应该是“最新式的”(即和程序代码完全致的〕。软件开发组织的管理人员可以使用这些文档作为“里程碑”,来管理和评价软件开发过程的进展状况。软件开发人员可以利用这些文档作为通信工具,在软件开发过程中准确地交流信息。对于软件维护人员而言,这些文档资料史是至关重要必不可少的。缺乏必要的文档资料或文档资料不合格,必然给软件开发和维护带来许多严重的困难和问题。
6.软件成本在计算机系统总成本中所占的比例逐年上升。由于微电子学技术的进步和生产自动化程度不断捉高,硬件成本逐年下降。然而,软件开发需要大量人力.软件成本随着通货膨胀以及软件规模和数量的不断扩大而持续上升。美国在1985年软件成本大约已占计算机系统总成本的90%。
7.软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势。软件产品“供不应求”的现象使人类不能充分利用现代计算机硬件提供的巨大潜力。
|