目录
3.增量模型(适合软件要求不明确,设计方案有一定风险的项目)
7.统一过程(RUP)模型(适合大型的需求不断变化的复杂软件系统项目)
一. 软件和软件危机
1. ★软件的定义
软件:是程序、数据以及开发,使用和维护程序需要的所有文档的完整集合。
【注:没有文档,仅有程序是不能称为软件产品的】
- 数据:是使程序能够适当处理信息的数据结构
- 程序:是能够完成预定功能和性能的可执行指令序列
- 文档:是开发、使用和维护过程中程序所需要的图文资料
2. ★软件的特点
【1】软件是一种逻辑产品,具有抽象性。
【2】软件产品的生产主要是开发研制,没有明显的制造过程。
【3】软件产品的开发主要是脑力劳动,还未完全摆脱手工开发方式。
【4】软件产品在使用过程中不存在磨损、消耗、老化等问题。
【5】软件产品的成本相当昂贵。
【6】软件对硬件和环境有不同程度的依赖。
【7】软件是复杂的,是一个庞大的逻辑系统。
3.软件的分类
从计算机系统角度看,分为两大类:系统软件和应用软件。
从计算机软件用途看,分为三类:
1)服务类软件,面向用户
2)维护类软件,面向计算机维护
3)操作管理软件,面向计算机操作和管理的
4. ★软件危机的定义
软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要包含两个方面:如何开发软件,以满足日益增长的软件需求;如何维护数量不断膨胀的已有软件。
5.★软件危机的表现形式
【1】对软件的开发成本和研制进度的估计往往很不精确。
【2】“已完成”的软件不能满足用户需求。
【3】软件产品质量差,可靠性得不到保证。
【4】软件产品可维护性差。
【5】 软件成本在计算机系统总成本中所占的比例逐年上升。
【6】软件开发生产率提高的速度远远跟不上计算机应用速度普及深入的趋势。
【7】软件通常没有合适的文档资料。
6.★软件危机产生的原因
【1】软件是逻辑部件。软件产品往往规模庞大,结构复杂。
【2】软件开发的管理困难。(软件无形,导致管理困难,进度控制、质量控制困难)
【3】软件开发费用不断增加,维护费用急剧上升。
【4】软件开发技术落后。
【5】生产方式落后。
【6】开发工具落后,生产效率提高缓慢。
7.★软件危机解决途径
【1】对计算机软件有一个正确认识,彻底清除“软件就是程序”的错误观念。
【2】使用好的开发技术和方法,并不断研究探索更好更有效的技术和方法。
【3】要有