软件开发生命周期(有时也被称作软件开发生命周期,下称“生命周期”)是创建或修改信息系统时所用到的一种结构。它被广泛的应用到软件或系统开发中,无论开发什么,这个生命周期都足够牢固,同时也具备足够的灵活性,可以根据不同的情况使用不同的步骤,如果有需要,其中的某些步骤可以被合并或重叠。
这仅仅是一个简短的解释,每一步详细的说明将在下面进行阐述。生命周期存在的基础在于,它塑造了一个坚实的基础,在这个基础之上可以构造一个有效的系统。在某些方面它还可以作为一个安全网来约束开发,确保开发符合客户的要求,同时防止超出客户的预算和预计时长。项目开始之初,考虑开发一个信息或软件系统似乎是让人难以置信的艰难和复杂,需要思考许多的不同因素,包括系统内部因素和外部因素,为了思考这些并将其作完美的结合,使用生命周期的设计方法,将开发分解成渐进的步骤,同时仍然允许足够的灵活性以防止不能预料的情况发生,面对各种需求时,都可以将问题从一个不熟悉的层面转换成到熟悉的层面。
软件开发生命周期包括多种不同的开发模型,不同的灵活性和复杂度,如瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型。到目前为止最牢固的、最容易使用的,也是众所周知的就是瀑布模型,在此模型中,每一个阶段的输出连接下一个阶段的输入,使它很容易被理解。综上所述,系统的核心在于将复杂的过程分解成具体、容易理解的步骤,大概分为项目分析、系统设计、项目实施、项目测试和项目维护。尽管面对不同的项目,这些步骤的数量和意义有所不同,但是这是项目创建和修改应该遵循的基本格局,简单来说,生命周期可以细分如下:
引发
一个需求、要求或商机的出现,将会引发一个系统新功能的改进。
系统概况勾画
明确主题和内容,勾画出项目的制作范围和边界,此阶段往往会涉及到系统边界相关文件的起草,成本效益分析,风险管理和总体可行性研究。
规划
这一阶段涉及到各种规划所需文件的集中制作,可以理解为当前解决方案所需的任何资源及采购。
需求分析
这个阶段着眼于系统的用户需求,以这些需求为基础,创建一个能够表达出这些用户需求的文档。
系统设计
这个阶段需要依照上一步中已确定的需求,以此作为详细的系统设计文件的基础。这是为了深入说明系统的详细功能,并概述如何交付等细节。
开发
这步涉及到扎实的编程工作,将设计转变成真实的系统。包括:配置系统运行环境、创建数据库、编写程序代码并且完成代码的优化。
功能测试
完成上述步骤后,现在需要把在需求分析阶段制定的文档作为参考,进行功能上的测试,并根据测试结果生成一份测试报告。
运行测试
在这个阶段,将系统放在一个真实的使用环境中进行测试,此时发现的任何问题,都应该得到解决。
运行/维护
这个阶段需要保证系统在一个持续的状态下运行,并且在系统运行出现问题时及时进行处理。此阶段在软件生命周期中扮演的角色越来越重要。