1. 软件开发的生命周期(SDLC)
(1)From 0 to 1:从无到有
Software Development Life Cycle (SDLC):
(2)From 1 to n:从有到好
软件在其生命周期中会有多个版本。
2. 传统的软件开发过程模型
(1)两个基本种类:线性过程(Linear)和迭代过程(Iterative)
存在的模型:
a. 瀑布过程(Waterfall)(线性,非迭代的)
b. 增量过程(Incremental)(非迭代的)
c. V字模型(V-Model)(便于检验和确认)
d. 原型过程(Prototyping)(迭代的)
e. 螺旋模型(iterative)(迭代的)
(2)具体特征:
a. 瀑布过程:是线性推进,整体推进的。阶段划分清楚而无迭
代,管理简单,但无法适应增加/变化的需求。
b. 增量过程:增量式(多个瀑布的串行),进行线性推进,无
迭代,比较容易适应需求的增加。
c. V字模型:如下图所示:
d. 原型过程:在原型上持续不断地迭代,发现用户变化的需求
如上图所示,在开发的早期进行迭代,开发出来后由用户评审,
发现问题反馈给开发者,开发者修改原有实现,继续交给用户
评审。循环往复这个过程,直到用户满意为止,时间代价高,开
发质量也高。
e. 螺旋模型:是一个非常复杂的过程,多轮迭代基本遵循瀑布
模式,每轮迭代有明确的目标,遵循“原型”过程,进行严格的
风险分析,方可进入下一轮迭代。