今天来谈谈软件生命周期
跟其他事物一样,一个软件产品或软件系统也要经历从诞生到衰亡的许多阶段,称之为软件生命周期
1.可行性分析与项目开发计划
目标:确定软件的开发目标及其可行性。
回答的问题:要解决什么问题、该问题有可行的解决方案吗、如果有解决方案需要多少资源,多少费用,多少时间
产生文档:可行性分析报告、项目开发计划
2.需求分析
目标:确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型
回答的问题:软件系统必须要做什么
参与人员:用户、项目负责人、系统分析师
产生的文档:软件需求说明书
3.概要设计
目标:开发人员把确定的各项功能需求转换成需要的体系结构
回答的问题:明确软件是由哪些模块组成的、这些模块的层级结构是怎样的、调用关系是怎样的、每个模块的功能是什么
参与人员:系统分析师、软件设计师
产生的文档:概要设计说明书
4.详细设计
目标:对每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述
回答的问题:模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判定,有些什么重复处理
产生的文档:详细设计文档
5.编码:
任务:把每个模块的控制结构转换成计算机可以接受的程序代码,即写成某种特定程序设计语言表示的源程序清单
6.测试
目标:保证软件质量
主要方式:在设计测试用例的基础上检查软件的各个组成部分
产生的文档:软件测试计划、测试用例、软件测试报告
7.维护
软件维护是软件生命周期中时间最长的阶段,已交付的软件投入正式使用后,便进入软件维护阶段,维护时间短则几年,多则几十年。
维护原因:运行中发现软件隐含的错误、为了适应变化了的软件工作环境、用户业务发生变化而需要扩充和增强软件的功能、为将来的软件维护活动做预先准备