软件工程|知识复习(一)概述
一、软件
1、定义
软件是计算机系统中与硬件相互依存的另一部分,它包括程序、数据及相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
2、软件的特征
- 软件是一种逻辑实体,而不是具体的物理实体。
- 软件的生产与硬件不同。
- 在软件的运行和使用期间,没有硬件那样的机械磨损、老化、折旧等问题。
- 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
- 软件的开发至今尚未完全摆脱手工艺的开发方式。
- 软件是复杂的。
- 软件成本相当昂贵。
- 相当多的软件工作涉及到社会问题。
3、软件的分类
- 按功能分::系统软件、支撑软件、应用软件
- 按规模分:大型、中型、小型
- 按工作方式分:实时/分时、交互/批处理
- 按服务对象分:定制软件、产品软件
- 按销售方式分:定单软件、非定单软件
二、软件危机
1、定义
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的, 实际上,几乎所有软件都不同程度地存在这些问题。
概括地说,软件危机包含下述两方面的问题:
(1)如何开发软件,以满足对软件日益增⻓的需求
(2)如何维护数量不断膨胀的已有软件
2、软件危机的典型表现
- 对软件开发的进度和成本无法估计
- 用户对已经开发完成的软件的满意度非常低
- 软件质量无法保证
- 软件开发后的维护工作很难进行
- 软件通常没有合适的文档资料
- 软件成本在系统总成本中所占的比例越来越高
- 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
3、软件危机产生的原因
(1)与软件本身的特点有关
(2)和软件开发与维护的方法不正确有关
4、软件危机的解决途径
(1)首先应该对软件有一个正确的认识。应该彻底