8.1.2软件生产的历史 阶段 早期 第二阶段 第三阶段 第四阶段 时间段 1950-1965 1962-1974 1968-1989 9862003 主要特征 面向批处理 多用户 分布式系统 强大的桌面系统 实时 嵌入“智能” 面向对象技术 有限的分布 数据库 低成本硬件 专家系统 面向大众,消费人工神经网络 自定义软件 软件产品出现者的影响日益增并行计算 强 网络计算机 软件生产阶程序设计时代程序系统时代软件工程时代软件工程时代 段 (结构化方法) 面向对象方 法)
6 8.1.2软件生产的历史 阶段 早期 第二阶段 第三阶段 第四阶段 时间段 1950-1965 1962-1974 1968-1989 1986-2003 主要特征 面向批处理 有限的分布 自定义软件 多用户 实时 数据库 软件产品出现 分布式系统 嵌入“智能” 低成本硬件 面向大众,消 费 者的影响日益增 强 强大的桌面系统 面向对象技术 专家系统 人工神经网络 并行计算 网络计算机 软 件 生 产 阶 段 程序设计时代 程序系统时代 软 件 工 程 时 代 (结构化方法) 软件工程时代 (面向对象方 法)
8.1.3软件危 ◆软件开发技术的进步未能满足发展的要求。在软件开发中遇 到的问题找不到解决的办法,问题积累起来,形成尖锐的矛 盾,寻致了软件危机。 ◆软件危机的表现:对软件开发成本和进度的估计常常很不准 确,经费预算经常突破,完成时间一再拖延;开发的软件不 足户要求,用户对 成的”软件系统不满意的现 经常发生;开发的软件可维护性差;开发的软件可靠性差。 ◆软件危机产生原因为:软件规模越来越大,结构越来越复杂 软件开发管理困难而复杂:软件开发费用不断增加:软件开 发技术落后生产方式落后,仍采用手工方式;开发工具落 率提高缓慢。 假如一个人一年可以开发出一个 行的程序,该软 ◆归件是否集中4000人的力量一年就可以完成呢?绝对 件,不到!因为代码长度增加了4000倍,程序复杂程度的 化,增加远远超过4000倍
7 8.1.3软件危机 软件开发技术的进步未能满足发展的要求。在软件开发中遇 到的问题找不到解决的办法,问题积累起来,形成尖锐的矛 盾,导致了软件危机。 软件危机的表现:对软件开发成本和进度的估计常常很不准 确,经费预算经常突破,完成时间一再拖延;开发的软件不 能满足用户要求,用户对“已完成的”软件系统不满意的现 象经常发生;开发的软件可维护性差;开发的软件可靠性差。 软件危机产生原因为:软件规模越来越大,结构越来越复杂; 软件开发管理困难而复杂;软件开发费用不断增加;软件开 发技术落后;生产方式落后,仍采用手工方式;开发工具落 后,生产率提高缓慢。 归纳起来软件危机的核心原因是软件系统的复杂度远大于硬 件,计算机工业中硬件产品制造已经标准化,工程化,产业 化,但软件生产离此目标还很远。 ◼假如一个人一年可以开发出一个一万行的程序,该软 件是否集中4000人的力量一年就可以完成呢?绝对做 不到!因为代码长度增加了4000倍,程序复杂程度的 增加远远超过4000倍