1、软件开发过程模型
1、1瀑布模型(重点)
(1)、是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础 (2)、每一个阶段执行一次,按线性顺序进行软件开发。
瀑布模型的优缺点
优点: (1)、开发的各个阶段比较清晰。 (2)、当前一阶段完成后,只需关注后续阶段。
缺点: (1) 依赖于早期的需求调查,不适应需求的变化。 (2) 风险往往延至后期才显露,失去及早纠正的机会。 (3) 前面未发现的错误会传递并扩散到后面的阶段,可能导致项目失败。
1、2快速原型模型(了解)
快速原型模型的优缺点 优点: (1)克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。 缺点: (1)不适合大型系统的开发(适合开发小型的、灵活性高的系统)。前提要有一个展示型的产品原型,因此在一定程度上可能会限制开发人员的创新。
1、3 螺旋模型(了解)
软件测试&软件工程
2、 认识V模型
2、1、1 V模型每个阶段含义
用户需求、业务需求、需求规格说明书
实现上面的设计
检测代码的开发是否符合详细设计的要求。
检测此前测试过的各组成部分是否能完好地结合到一起。
拿到产品后,检测一下最基本的功能和业务流程是否能走通,检测产品的安全性和性能等方面的测试
2、1、2 V模型的优缺点
优点: (1)测试V模型即包含了底层测试又包含了高层测试; 底层测试:检验源代码质量的测试,如:单元测试; 高层测试:检验整个系统的需要,如:系统测试; (2)V模型清楚地标识出了软件开发的阶段。 (3)它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。 缺点: (1)V模型一大缺点正是它自身的顺序性所导致的。 (2)到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。 (3)当需求变更时将会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型灵活性比较低。
2、2、1认识W模型
2、2、2 W模型的优缺点
优点: (1)开发强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试; (2)更早地接入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复。 (3)同样是分阶段的工作,便于控制项目过程。 缺点: (1)对于当前很多项目,在执行的过程中根本不产生文档,那么W模型基本无法适用; (2)使用起来技术复杂度很高,对于需求和设计的测试要求很高,实践起来困难。
2、3 认识H模型(了解)
2、3、1
测试流程如下: (1)测试准备:所有测试执行活动的准备;判断是否到测试就绪点; (2)测试就绪点:测试准入准则,即是否可以开始执行测试的条件; (3)测试执行:具体的执行测试的程序。
2、3、2 H模型优缺点
优点: (1)开发的H模型揭示了软件测试除测试执行外,还有很多工作; (2)软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行; (3)软件测试活动可以尽早准备、尽早执行,具有很强的灵活性; 缺点: (1)管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制; (2)技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小; (3)测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;