软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。旧的解释是周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
一、问题定义。要求系统分析员与用户进行交流,弄清"用户需要计算机解决什么问题"然后提出关于"系统目标与范围的说明",提交用户审查和确认。
二、可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三、需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四、开发阶段。开发阶段由四个阶段组成:
1、概要设计
2、详细设计
3、实现:根据选定的程序设计语言完成源程序的编码。
4、测试
五、维护:维护包括四个方面
1、改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2、适应性维护:是为适应环境的变化而修改软件的活动。
3、完善性维护 :是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4、预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。