1.定义
软件从产生、发展到成熟、直至衰亡为止。
组成:
- 软件定义
- 软件开发
- 软件维护
2.阶段划分
2.1可行性研究与计划
关键任务
- 解决问题是什么?有行得通解决方法?粗略计划
问题定义报告
- 问题性质、工程目标、工程规模。
可行性研究报告
- 经济、技术、社会(操作)可行性。
项目开发计划
- 粗略
2.2需求分析
关键任务:
- 目标系统必须作什么?
- 可行性研究的需求分析是粗略、不准确;
- 需求分析是完整、准确、清晰、具体。
需求规格说明书:
- 目标系统需求。
2.3总体设计
关键任务:
- 怎样实现目标系统?
- 根据需求设计方案;分析推荐最佳方案;设计软件结构等。
总体设计说明书:
- 记录总体设计结果。
2.4详细设计
关键任务:
- 该怎样具体实现系统?
- 设计每个模块的算法和数据结构。
详细设计说明书:
- 用适当表达工具表达算法和数据结构。
2.5实现(编码和单元测试)
关键任务:
- 选择语言、工具翻译详细设计结果、测试模块。
实现阶段文档:
- 程序清单、单元测试报告。
2.6集成测试
关键任务:
- 将经过单元测试模块组装起来进行测试;
- 通过测试使软件达到预定要求。
测试报告:
- 测试计划、测试方案、测试结果。
2.7确认测试
关键任务:
- 由用户按需求规格说明书规定进行测试。
测试报告:
- 测试计划、测试方案、测试结果。
2.8使用和维护
关键任务:
- 通过必要维护活动使系统持久满足用户要求。
维护类型:
- 改正性维护:软件运行过程中发现错误,进行维护。
- 适应性维护:软件运行软硬件环境变化,进行的维护。
- 完善性维护:用户要求改进或扩充软件,进行的维护。
- 预防性维护:为将来的维护作准备。