天折” 磨损” 时间 硬件的故障曲线 由于副作用造成 故障率的提高 修改 实际曲线 一理想曲线 时间 软件的理想故障曲线和实际故障曲线 2021/220
2021/2/20 6
软件生产正走向基于构件的组装发展(如 图形用户界面),但目前多数软件仍是定做的 软件的研制需要投入大量的、复杂的脑力 劳动,成本高。 2.软件的发展 ◆双重角色: 它是一个产品,通过计算机硬件所体现的 计算潜能,它产生、管理、获取、修改、显示 或传送信息,这些信息简单到一个bit,复杂到 个多媒体信息; 它是产品交付使用的载体,是计算机控制 的基础(操作系统)、信息通信的基础及其它 软件的创建和控制的基础(软件工具和环境) 2021/220
2021/2/20 7 •软件生产正走向基于构件的组装发展(如 图形用户界面),但目前多数软件仍是定做的。 •软件的研制需要投入大量的、复杂的脑力 劳动,成本高。 ⒉ 软件的发展 ◆双重角色: 它是一个产品,通过计算机硬件所体现的 计算潜能,它产生、管理、获取、修改、显示 或传送信息,这些信息简单到一个bit,复杂到 一个多媒体信息; 它是产品交付使用的载体,是计算机控制 的基础(操作系统)、信息通信的基础及其它 软件的创建和控制的基础(软件工具和环境)
◆角色的演化: 早期(50年代初-60年代中期): 自定义软件 面向批处理 第二阶段(60年代中期-70年代末期) 多用户 实时 数据库 软件产品 软件危机出现! 2021/220
2021/2/20 8 ◆角色的演化: 早期(50年代初-60年代中期): •自定义软件 •面向批处理 第二阶段(60年代中期-70年代末期): •多用户 •实时 •数据库 •软件产品 软件危机出现!
第三阶段(70年代中期-80年代中期): 分布式系统 嵌入式“智能”软件 低成本硬件 大众化 第四阶段(80年代中期至今): °强大的桌面系统 面向对象技术 °人工智能 °神经网络 并行计算 2021/220
2021/2/20 9 第三阶段(70年代中期-80年代中期): •分布式系统 •嵌入式“智能”软件 •低成本硬件 •大众化 第四阶段(80年代中期至今): •强大的桌面系统 •面向对象技术 •人工智能 •神经网络 •并行计算 …
3.软件危机( crISIS) 60年代中期,随着硬件技术的发展,软件应用范围的 扩展,软件越来越大型化、复杂化,产生了上万行的源程 序 当发现错误是需要对这些程序进行修改; 用户需求发生变化是需要修改 当硬件环境更新时需要修改。 这些活动(称为软件维护)的费用以惊人的速度增加 更糟糕的是,许多程序的个性化特性使得它们根本不能维 护。“软件危机”出现了 2021/220
2021/2/20 10 3.软件危机(crisis) 60年代中期,随着硬件技术的发展,软件应用范围的 扩展,软件越来越大型化、复杂化,产生了上万行的源程 序。 当发现错误是需要对这些程序进行修改; 当用户需求发生变化是需要修改; 当硬件环境更新时需要修改。 这些活动(称为软件维护)的费用以惊人的速度增加。 更糟糕的是,许多程序的个性化特性使得它们根本不能维 护。“软件危机”出现了!