软件发展阶段 程序设计阶段50至60年代 n程序系统阶段-60至7年代 软件工程阶段一70年代以后
软件发展阶段 ◼ 程序设计阶段 — 50至60年代 ◼ 程序系统阶段 — 60至70年代 ◼ 软件工程阶段 — 70年代以后
软件危机 计算杋硬件性能/价格比和质量稳步提高 ■软件成本逐年上升,质量没有可靠的保证 ■软件已成为限制计算机系统发展的关健因素 将软件开发和维护过程中遇到的一系列严重问题 统称为“软件危机” ■在60年代后期开始认真研究解决软件危机的方 法,逐步形成了新兴的计算机软件工程学
软件危机... ◼ 计算机硬件性能/价格比和质量稳步提高 ◼ 软件成本逐年上升,质量没有可靠的保证 ◼ 软件已成为限制计算机系统发展的关健因素 ◼ 将软件开发和维护过程中遇到的一系列严重问题 统称为“软件危机” ◼ 在60年代后期开始认真研究解决软件危机的方 法,逐步形成了新兴的计算机软件工程学
软件危机 什么是软件危机? 软件危机是指在计算机软件的开发和维护中 所遇到的一系列严重问题 n几乎所有软件都不同程度地存在这些问题 概括地说软件危机包含两方面问题: 如何开发软件,怎样满足对软件的日益增长的需 求 如何维护数量不断膨胀的已有软件
...软件危机 ◼ 什么是软件危机? ◼ 软件危机是指在计算机软件的开发和维护中 所遇到的一系列严重问题。 ◼ 几乎所有软件都不同程度地存在这些问题 ◼ 概括地说软件危机包含两方面问题: ◼ 如何开发软件,怎样满足对软件的日益增长的需 求 ◼ 如何维护数量不断膨胀的已有软件
软件危机主要表现 1.对软件开发成本和进度的估计很不准确 2.用户对“已完成的”软件不满意的现象经常发生 3.软件产品的质量靠不住 4.软件不可维护 5.软件没有适当的文档资料 6.软件成本占计算机系统总成本的比例逐年上升 7.软件开发生产率提高的速度远远跟不上计算机应 用迅速普及深入的趋势
软件危机主要表现 1.对软件开发成本和进度的估计很不准确 2.用户对“已完成的”软件不满意的现象经常发生 3.软件产品的质量靠不住 4.软件不可维护 5.软件没有适当的文档资料 6.软件成本占计算机系统总成本的比例逐年上 升 7.软件开发生产率提高的速度远远跟不上计算机应 用迅速普及深入的趋势
产生软件危机的原因 方面与软件本身的特点有关 在软件运行前,软件开发过程的进展难衡量,质量 难评价,因此管理和控制软件开发过程相当困难; 在软件运行中,软件维护意味着改正或修改原来的 设计,较难维护; ■软件的显著特点是规模庞大,复杂度超线性增长, 要保证高质量大型软件的开发,极端复杂困难,不 仅涉及技术问题(如分析方法、设计方法、版本控 制),更重要的是必须有严格而科学的管理。 另一方面与软件开发和维护方法不正确有关, 这是主要原因 特别是忽视软件需求分析的重要性
产生软件危机的原因 ◼ 一方面与软件本身的特点有关 ◼ 在软件运行前,软件开发过程的进展难衡量,质量 难 评价,因此管理和控制软件开发过程相当困难; ◼ 在软件运行中,软件维护意味着改正或修改原来的 设计,较难维 护; ◼ 软件的显著特点是规模庞大,复杂度超线性增长。 要保证高质量 大型软件的开发,极端复杂困难,不 仅涉及技术问题(如分析方 法、设计方法、版本控 制),更重要的是必须有严格而科学的管理。 ◼ 另一方面与软件开发和维护方法不正确有关, 这是主要原因。 ◼ 特别是忽视软件需求分析的重要性