What
一系列按照特定顺序组织的计算机数据和指令的集合
特点
- 是逻辑实体,不是物理实体,具有抽象性。
- 开发过程中没有明显的制造过程。
- 无机械磨损,老化问题
- 对计算机系统有依赖性
- 软件开发未摆脱手工艺开发方式
- 软件本身是复杂的
- 成本昂贵
- 涉及社会因素
分类
功能划分
- 系统软件
- 支撑软件
- 应用软甲
工作方式划分
- 实时处理软件
- 分时软件
- 交互式软件
- 批处理软件
软件服务对象划分
- 软件项目
- 产品软件
使用频度划分
- 一次使用
- 频繁使用
失效的影响划分
- 高可靠性
- 一般可靠性
软件发展阶段
- 程序设计阶段-50至60年代
- 程序系统阶段-60至70年代
- 软件工程阶段-70年代以后