软件开发,同任何事物一样要经历孕育、诞生、成长、成熟、结束等阶段,称之为软件开发生命周期。
通常,软件开发生命周期包括可行性分析与项目开发计划、需求分析、设计、编码、测试、发布维护等。
1)可行性分析与项目开发计划
项目经理、产品经理、开发、测试、运维、实际业务相关人员进行项目会议,根据业务需求,明确软件的开发目标,综合全体人员意见,确认项目可行性,明确要解决的问题及解决办法,以及解决问题需要的费用、资源、时间。
该阶段产生的文档主要有可行性分析报告(一般很少需要)和立项文档。
立项文档包含:立项时间、开发时间、测试时间、上线时间、评估成本系数;
2)需求分析
需求分析是明确软件系统要做什么,确定软件系统的功能、性能、数据、和界面等要求。
该阶段产生的文档有软件需求说明书。
3)设计
设计分为概要设计和详细设计。
概要设计就是设计软件的结构,明确软件系统由那些模块组成,这些模块的层次结构、调用关系以及模块的功能,同时确定数据结构和数据库结构。
详细设计是对每个模块完成的功能进行具体的描述,把功能描述转变为精确地、结构化的过程描述,既该模块的控制结构或者说逻辑结构。
该阶段产生的文档有概要设计说明书、接口设计文档、详细设计说明书等。
4)编码
编码就是把模块的控制结构转化为程序代码,该阶段需要编码规范。
5)测试
测试是为了保证软件质量,该阶段产生的文档主要有软件测试计划、测试用例、软件测试报告。
6)发布与维护
发布就是完成软件开关并已开发的软件系统安装到客户的服务器上,维护是为客户提供培训、故障排除以及所需的软件升级。
该阶段产生的文档主要有项目开发总结报告、用户手册、应用软件清单、源代码清单、维护文档。