z{
1.瀑布模型
2.快速原型模型
3.螺旋模型
}
一、瀑布模型
模型流程:需求分析/设计需求/编码设计/代码实现/软件测试/完成/维护
1.瀑布模型:是线性模型的一种,所有模型中有重要的地位,是所有模型的一个基础。
每个阶段执行一次,按线性顺序进行软件开发
2.优点与缺点:
优点:1.开发中的每个阶段都比较清晰
2.强调早期把需求调查清晰
3.适合需求稳定的产品开发(不适合新产品开发)
缺点:1.比较依赖早期的需求检查,不适用于需求的变化。
2.线性模型流程不可逆
3.风险后期暴露,失去纠正的机会
4.问题在后期暴露
3.解决办法:
现用瀑布模型的线性思想,细化了每个阶段,在某个重要的阶段添入迭代的思想(比如需求设计把相关人员叫过来开会探讨问题,这样就可以避免很多问题。)
二、快速原型模型
1.实现一个基本原型,让用户对原型进行评价,后期调整,直到用户满意用户需求。
2.优点与缺点
优点:适合不确定需求的设计
缺点:不适合开发大型的软件,适合小型,灵活的APP软件
三、螺旋模型(不适合用,比较少用)
1.螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用
2.优点:首先要检测风险评估,在每次执行阶段之前都要评估
缺点:如果没完成计算风险评估计算,造成重大损失,消耗时间
---------------------------------------------------------------------------------------------------------------------------------------------------
一、测试模型
1.V模型
1.1 V模型的优缺点
优点 1.1.1:包含了底层模块测试(单元测试)和高层测试(系统测试)
1.1.2清楚标识了开发和测试的每个阶段
1.1.3 自上而下每一步都是追求精确,每个阶段分工明确,便于整体项目的把握
缺点: 1.2.1 自上而下的顺序导致了测试工作在编码之后,导致出现错误很难修改。
1.2.2实际工作中,需求不断改变,导致V模型的步骤反复执行,施工量很大,灵活较低。
调优办法:可以加入小的迭代。
2.W模型
W模型的定义:开发一个V,测试一个V,组合为W模型
W模型的优缺点:
优点:开发随着整个开发周期,需求设计同样测试,更早的介入测试,可以发现初期的缺陷,修复成本低,分阶段工作,方便项目整体管理。
缺点:开发和测试依旧是线性的关系,需求的变更和调整,依然不方便,如果没有文档,根本无法执行W模型,对于项目组成员的技术要求更高。
3.H模型
H模型的优缺点:
优点:3.1 开发H模型说明了软件测试之外,还有很多工作
3.2 软件测试完全独立,贯穿整个周期,可以与其他流程并发运行
3.3 软件测试活动可以更早准备,尽早执行,具有很强的灵活性
3.4 软件测试可以根据测物的不同而分层次从,分阶段,分次序的执行,同时也可以被迭代的。
缺点: 3.2.1.管理型要求高
3.2.2 技能要求高
3.3.3 测试就绪点分析困难
3.3.4 技能人员要求非常高
---------------------------------------------------------------------------------------------------------------------------------------------------
总结 V, W, H模型
一、三大模型的适用
1.V模型:中小企业适用
2.W模型:中大型企业适用(技术人员要求高)
3.H模型:大型企业适用(要求非常高,很少公司适用)