螺旋模型:风险分析驱动的渐进式开发
一般在软件开发初期阶段需求不是很明确,通常采用渐进式的开发模型,螺旋模型就是一个渐进式的开发模型,螺旋模型相较于瀑布模型引入了风险分析和原型,在螺旋模型中风险分析作用在每一次迭代中,因此会大大的降低在软件开发过程中,不同阶段的问题尽可能少或者没有问题遗留或者影响到开发的下一个步骤,提高项目成功开发的概率。
螺旋模型的流程
在螺旋模型中同样遵守软件的基本开发流程,只是在这当中做出了一些改变,在初始阶段,通过需求分析和生存期计划,后创造出第一个原型,也就是原型一(可以理解为,一个原型就是根据目前我们目前根据需求分析所能达到的一个大概的轮廓,后续经过不断地风险分析和原形的创建,不断地完善功能),之后对原型一进行需求分析随后进行风险分析最终创建原型二,随后进行设计阶段,对原型二进行设计,风险分析,后产生原型三,原型三通过,设计,风险分析,后产生可运行原形,之后就来到了编码和测试阶段,当确定无误后即可上线维护。
在螺旋模型中我们需要不断地指定计划和风险分析,不断地发现和解决一些没有发现的问题,以免对整个项目造成影响。
一个模型都具有两面性,往往带来优势的同时也会造成时间等一些的损失
优势:
螺旋模型的优势就在于强调严格进行风险的把控,对每个开发阶段的质量要求高,增加了防线分析和原型这两大特点。
缺点:
在开发过程中,由于存在风险分析和原型,项目完结的时间会较长,同时对人员,资金,时间会增加投入,导致项目成本太高。
项目中可能需要专业的风险分析管理人员,并且项目中可能存在的的风险与风险管理人员的水平有着直接的关联,因为无法保证在开发的前一个阶段遗留的问题会不会对下一个阶段造成影响。
螺旋模型适合在规模大,复杂度高,风险大的项目中运用