目录

软件工程-软件危机

软件工程-软件危机

本文参考自 张海藩老师和牟永敏老师的 《软件工程导论》

定义

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

包含的两方面

  1. 如何开发软件,以满足对软件日益增长的需求。
  2. 如何维护数量不断膨胀的已有软件。

典型表现

  1. 对软件开发成本和进度的估计常常很不正确。
    • 对于delay的项目,通常:
      • 降低了软件开发组织的信誉。
      • 为了赶进度和节约成本,又可能损害软件质量。
  2. 用户对“已完成的”软件系统不满意。
    • 软件开发人员常常在对用户要求只有模糊的了解,就匆忙着手编写代码。
    • 软件开发人员与用户之间的信息交流往往很不充分。
  3. 软件产品的质量靠不住。
    • 没有把各种软件测试应用到软件开发过程中。
  4. 软件通常没有适当的文档资料。
    • 缺少文档。
    • 文档不合格。
  5. 软件常常是不可维护。
    • 软件错误难以改正。
    • 难以适应新的硬件环境。
    • 难以扩展。
  6. 软件成本在计算机系统总成本所占的比例逐年上升。

软件危机的原因

  1. 与软件本身的特点有关。
    • 软件不同于硬件,它是计算机系统中的逻辑部件,而不是物理部件,软件缺乏“可见性”。
  2. 和软件开发与维护的方法不正确有关。