1.瀑布模型:
优点:开发阶段各个阶段比较清晰,强调早去计划及需求调查;适合稳定需求的产品
··· 改良:每个阶段都可以融入小的迭代工作
2.快速原型模型:
实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户的最终需求
优点:适合不能确定需求的软件
缺点:不适合开发大型系统
3.软件测试模型:
V模型:需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,验收测试
单元测试:模块测试,针对单一的程序模块进行的测试
集成测试:组装测试,在单元模块的基础上对所有模块测试
系统测试:将整个软件看作一个整体进行测试,包括功能,性能,兼容性等
验收测试: 三个版本,内部交流版本,面向所有用户的版本和候选版
优点:最具有代表性的开发模型;既包含了底层测试,又包含了高层测试;清楚的标识了软件开发的阶段,自上而下逐步求精,每个阶段分工明确
缺点:自上而向的顺序导致了测试工作在编码之后就导致错误不能及时修改;灵活度低,工作中需求经常变化,导致v模型步骤反复执行
改良:每个步骤都可以进行小的迭代工作
W模型:分为两个v
第一个v:需求分析,概要设计,详细设计,编码,集成,实施,交付
第二个v:验收/系统设计测试,集成测试设计,单元测试设计,单元测试,集成测试,系统测试,验收测试
优点:开发伴随着整个开发周期,需求和设计同样要测试,更早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作,方便项目整体管理
缺点:开发和测试依然是线性关系,需求的变更和调整依然不方便;对于项目中成员的技术要求要求更高;没有文档根本无法执行。
H模型:
优点:软件测试完全独立,且与其他流程并发进行;软件测试活动可以尽早准备,灵活度高;
缺点:管理要求高;技术要求高;测试点就绪分析困难;对于整个项目组的人员要求非常高。
总结:V模型适用于中小型企业;W模型适用于中大型企业;H模型人员要求非常高,很少有公司使用。