开发模型
一、瀑布模型
优点:开发阶段,各个阶段比较清晰,强调早期计划及需求调查,适合舱室需求的产品开发
改良:每个阶段都可以融入小的迭代工作
二、快速原型模型
实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求
优点:适合不能确定需求的软件
缺点:不适合开发大型系统
三、螺旋模型
测试模型
一、V模型
需求分析---概要设计---详细设计---编码---单元测试--集成测试--系统测试--验收测试
1、单元测试:又称模块测试,针对单一的程序模块进行的测试
2、集成测试:又叫组装测试,在单元测试的基础上,对所有模块进行测试
3、系统测试:将整个软件看做一个整体来进行测试,包括功能、性能、兼容性
4、验收测试:
1)、内测版(alpha)内部交流版本,可能存在很多bug,不建议用户安装
2)、公测版(beta)面向所有用户,通过用户的反馈再去修改细节
3)、候选版(gamma)与正式软件相差无几
优点:
包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控
缺点:
自上而下的顺序导致了测试工作在编码之后,就导致错误不能及时的进行修改;实际工作中需求经常变化导致了V模型的步骤反复执行,返工量大,灵活度较低
改良:
每个步骤都可以进行小的迭代工作
二、W模型
需求分析---概要设计---详细设计---编码---集成---实施---交付
验收/系统测试设计---集成测试设计---单元测试设计---单元测试---集成测试---系统测试---验收测试
优点:
开发伴随着整个开发周期,需求和设计同样要测试;更早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作,方便项目整体管理
缺点:
开发和测试依然是线性的关系,需求的变更和调整,依然不方便;如果没有文档,根本无法执行w模型;对项目组成员的技术要求更高
定义:开发一个V,测试一个V,组合起来的模型(W模型也叫双V模型)
三、H模型(了解)
总结:v模型适用于中小型企业,w模型适用于中大型企业(因为人员要求高),h模型人员要求非常高,很少有公司使用