所谓的软件生命周期,顾名思义,就是指软件从生产到停止使用的生命周期。

SDLC, Software Development Life Cycle is a process used by software industry to design, develop and test high quality softwares. 

SDLC(软件开发生命周期)是一个用到高质量软件设计、开发和测试中的一个过程。

普遍意见上来讲,软件开发生命周期包含以下过程:

wKiom1dEPyayjWbzAABIx-d1rfo710.png


软件生命周期大体有如上的这些过程,在软件开发的发展过程中,开发人员总结出越累越多的开发经验,软件开发过程上也发生了一些改变,从一开始的瀑布模型到后来的敏捷开发、测试驱动开发、原型开发,都是一步步演变过来的,这些模型梳理如下:


瀑布模型瀑布型生命周期包括可行性分析与开发项计划、需求分析、设计(概要设计详细设计)、编码、测试、维护等阶段,瀑布模型是一种经典的软件开发模型,把软件拆解为一个可以一步步实现的产品,在不同的阶段,做不同的事情。

迭代模型:迭代模型意思是把软件产品看作是一个可以层层深入步步开发出来的一个成品,例如我们写一个网站,直接先快速开发出一个成品发布出来,这个成品可以使用,但是还不够完善,需要一步步的去迭×××发,目前的互联网产品很多都是基于这种思想,快速构建,层层迭代。

快速原型模型:快速原型模型其实就是第一时间通过非常直观的方式给用户展示要开发的软件产品,这在一定程度上弥补了瀑布模型的缺点,给用户形象直观的感受,但是在后期开发的过程中,原型设计可能要被推倒重来。


还有很多其他的模型,由于软件开发过程的随机性和不确定性,任何一种模型可能都无法真正的去描述实际的软件开发过程,毕竟理论和实用还是不一样,特别是在软件工程领域。因此我们不能拘泥于某一种开发模型,而是要在实际工作中随机应变,做一个有理论的实践家。