同任何事物一样,软件产品或软件系统也要经历孕育,诞生,成长,成熟,衰亡的各阶段。软件的生存周期包括7个阶段。每一个阶段都会有不同的人参与,针对具体的工作进行研究,研究成果以文档和程序的形式展现。下面的图和表阐述了各个阶段主要的事项和人员。
软件生命周期
各阶段的人员和任务
阶段 | 任务 | 参与人员 | 产生的文档 |
可行性分析与项目开发计划 | 1. 要解决的问题? 2. 该问题有可行的解决办法吗? 3. 若有解决办法,费用多少? 4. 需要多少资源? 5. 多少时间?等 | 用户 项目负责人 系统分析师 | 可行性分析报告 项目开发计划 |
需求分析 | 1. 确定系统必须做什么,从功能,性能,数据等方面考虑,确定系统逻辑模型。 2. 但不是具体的解决问题 | 用户 项目负责人 系统分析师 | 软件需求说明书 |
概要设计 | 1. 设计软件结构,明确软件组成模块 2. 总体数据结构和数据库结构 | 系统分析师 软件设计师 | 概要设计说明书 |
详细设计 | 1. 对每个模块完成的功能具体描述。 2. 模块的控制结构是怎么样,先做什么,后做什么。 | 软件设计师 程序员 | 详细设计文档 |
编码 | 把详细设计中的控制结构转化为程序代码 | 程序员 |
|
测试 | 保证软件质量。 测试用例 | 第三方测试人员, 软件设计师 系统分析师 | 软件测试计划,测试用例,软件测试报告 |
维护 | 整个生命周期中最长的阶段。 |
|
|
总结:
把整个软件的开发阶段进行划分,每个阶段应该解决的问题和各个阶段的参与人员,确定这些任务,并以文档的形式保留下来。这个软件开发的过程就很明确,按照这种阶段性的任务进行工作,能够更好的把控开发的效率和质量。