软件生命周期
由软件定义、软件开发、运行维护(软件维护)三个时期组成。
软件定义(系统分析)
进一步划分为问题定义、可行性研究和需求分析三个阶段。
问题定义:“要解决的问题是什么”
可行性研究:用最小的代价在尽可能短的时间内确定问题是否能被解决
系统分析员进行一次大大压缩&简化的系统分析和设计过程(高层次的分析和设计过程)
需求分析:“为了解决问题,必须做什么”
和用户密切配合,得到经用户确认的系统逻辑模型——数据流图、数据字典、简要算法。
产出规格说明书。
- 数据模型:实体-联系图(ER图)
- 功能模型:数据流图
- 行为模型:状态转换图(状态图)
软件开发
总体设计(结构设计、概要设计)、详细设计(模块设计)、编码和单元测试、综合测试
前两个称为系统设计,后两个称为系统实现。
总体设计(概要设计):“概括地,应该怎么做”
详细设计(模块设计):“具体地,怎样实现”
产出详细规格说明,而不是编写程序。
详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。
编码和单元测试
写!
综合测试
最基本的测试是集成测试和验收测试。
- 集成测试
- 验收测试:按照规格说明书(需求分析阶段)的规定,由用户对目标系统进行验收。
- 现场测试、平行运行
保存测试计划、详细测试方案、实际测试结果,作为软件配置的一个组成部分。
运行维护(软件维护)
每一次维护活动本质上都是一次压缩&简化了的软件定义和开发的过程。
- 改正性维护
- 完善性维护
- 适应性维护
- 预防性维护
软件过程
为了获得高质量软件所需要完成的一系列任务的框架。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!