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