ch01
软件工程危机
-
定义
软件在开发和维护过程中遇到的一系列严重的问题
-
含义
如何开发软件?如何维护数量不断膨胀的已有软件?
-
原因
- 客户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,在软件开发过程中,用户提出修改软件功能、界面、支撑环境等方面的要求。
-
软件开发人员对用户需求的理解与用户的本来愿望有差异。不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。
-
管理人员、软件开发人员等各类人员的信息交流不及时、不准确、有时还会产生误解。
-
缺乏有力的方法和工具方面的支持,过分地依靠程序人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。
-
表现(理解即可)
(1)软件开发的进度难以控制,经常出现经费超预算、完成期限拖延的现象。
(2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发过程带来灾难性的后果。