软件危机定义、发生原因、常见表现,如何避免软件危机?

软件危机定义:

是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

表现在:

(1)对于软件开发的成本和进度的估计很不准确。

(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。

(3)开发的软件可靠性差。

(4)软件通常没有适当的文档。

(5)软件的可维护性差。

(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

原因:

(1)软件的规模愈发庞大;

(2)软件开发的管理困难。

(3)成功的软件开发经验没被很好地应用。

(4)软件开发和维护中千金错误认识和方法的形成可以归结与计算机发展早期软件开发的个体化特点。

(5)软件开发技术落后。

(6)生产方式落后。

(7)开发工具落后,生产率提高缓慢。

如何避免:

从软件开发的工程化方法入手,即用现代工程的概念原理、技术和方法去指导软件的开发、管理和维护,这就是软件工程思想和方法。具体措施:

(1)使用好的软件开发技术和方法;

(2)要有良好的组织、严密的管理,各类人员协同配合,共同完成任务;

(3)使用好的软件开发工具,提高软件生产率;

(4)建立严格的文档资料,重视软件开发过程的阶段评审。