软件开发模式和模型(软件开发的模型种类)
软件开发模式和模型(软件开发的模型种类)2易于组织,易于管理1简单2.阶段之间具有顺序性和依赖性,每个阶段通过预先定义的输出与下一个阶段发生联系。3.如果发现问题,则退回到上一阶段,一次跳一个阶段,直到在某个较早阶段改正该错误。优点
软件开发的模型种类
瀑布模型,原型模型,快速原型模型,增量模型,螺旋模型,V字模型,W模型,X模型,H模型,喷泉模型和XP开发模型等等。
瀑布模型的三个特征:
1.项目分解为独立的不同阶段。
2.阶段之间具有顺序性和依赖性,每个阶段通过预先定义的输出与下一个阶段发生联系。
3.如果发现问题,则退回到上一阶段,一次跳一个阶段,直到在某个较早阶段改正该错误。
优点
1简单
2易于组织,易于管理
3质量保证
缺点
1.缺乏灵活性,不能适应用户需求的改变
2.开发阶段的小错误会被逐级放大,可能导致软件产品的报废
3.退回上一级的开发需要十分昂贵的代价
4.随着软件规模和复杂性的增加,对于需求不能完全确认的软件开发项目将产生很大的风险。
使用场景
原型开发模型
特点
1.原型模型在需求获取阶段就通过不断的用户交互产生原型
2.使用原型导出系统需求规则说明。并能在完成SRS后丢弃原型
3.在用户接受SRS后,选择合适的生存周期模型构建实际的产品
快读原型模型和原型模型的区别
不进行丢弃原型
优点
1.有助于获取用户需求,加强对需求的理解
2.尽早发现软件中的错误
3.支持需求的动态变化
缺点
1不能支持风险分析
2开发者为了是一个原型快速的运行起来,往往在实现过程中采用折衷的手段。软件系统的组成部分可能会打折扣。
适合场景
1.开发人员在不了解的应用领域开发
2.客户不清楚其所在开发软件项目的最终目标
螺旋模型
优点
1有助于获取用户需求,加强对需求的理解
2尽早发现软件中的错误
3支持需求的动态变化
4支持风险的分析,可降低或者小醋和软件开发风险
5适用于需求动态变化,事先难以确认并且开发风险较大的系统
缺点
1螺旋模型开发的成败,很大程度上依赖于风险评估的成败。需要开发人员具有相当丰富的风险评估经验和专门支持
场景
1需求不能完全确认,同时又存在技术和资金或者开发时间等风险因素的大型开发项目
V字模型
1活动更加并行化,可减少生存周期结束进行测试所需要的时间
2通过事先为每种活动设计测试,实际上是在进行更好的事先确认同样可以降低最后一刻暴露问题的风险
3测试有具有和是技能的人员进行设计
优点
1在验证和确认上具有很大的优势
W字模型
强调:测试是伴随这整个软件的开发周期,而且测试的对象不仅仅是程序,需求,功能和设计同样要测试
优点
1在V模型的基础上,增加了开发阶段的同步测试,构成了W模型;测试与开发周期同步进行,有利于尽早的发现问题。