Development Model Overview

Waterfall model 

concept

Linear models, all models occupy an important position, is the basis for all models

Icon

After the testing phase in the software, you must allow sufficient time for testing activities after the code is completed, otherwise the test is not sufficient, a lot of problems to the project will be exposed

Advantages and disadvantages

advantage

▨ clear all stages of development

▨ emphasis on early planning and needs assessment

▨ stable demand for product development

Shortcoming

Needs Survey ▨ dependent on early changes not meet demand

▨ single process irreversible

▨ risk exposure continued into late stage, loss of opportunity early error correction

Front ▨ found no problem passing spread to the later stages, may lead to project failure

Improvement

Follow the waterfall model of linear thinking, the various stages of refinement, between some of the important stages of incorporation attention iterative thinking

Rapid prototyping model - agile development 

concept

Before the development of the real system, prototyping, on this basis, and gradually complete the development of the whole system

Icon

The first step to build a prototype, implement user interaction with the system user to do a prototype to evaluate the need for further refinement of the development,

By gradual adjustment prototype enables users to meet, what the real needs of developers can determine whether the user

The second step is to develop user satisfaction with software products on the basis of the first step

Advantages and disadvantages

advantage

▨ overcome the shortcomings of the waterfall model, to better meet the needs of users

▨ reduce the risk of development of demand uncertainty resulting from the project

▨ suitable for the development of software systems is not clear in advance of demand

Shortcoming

▨ is not suitable for large-scale development of the system (for small, high flexibility of the system)

▨ premise has a Display of prototype

Innovative developer ▨ limit to some extent

Spiral Model

concept

The coil is divided into several development cycles, and each cycle is substantially similar to the waterfall model

Helix spiral model according to the rotation, the coordinate activities in the four quadrants,  

Icon

Spiral model is based on a risk analysis carried out, thus requiring architects

Advantages and disadvantages

advantage

▨ as a risk-driven methodology, we must analyze the risks often happens at each stage

There is ▨ architect can greatly reduce your risk of this part

Shortcoming

▨ demand experienced architect

▨ excessive number of iterations will increase development costs and time delay submission

V model

concept

A test model with significant representatives, as a variant of the waterfall model, mark the different stages of the testing process itself exists

From left to right describes the stages of correspondence between the development process and testing process  

Icon

▨ Needs Analysis - user needs, business needs, requirements specification

▨ 概要设计 - 系统架构, 模块划分, 模块和模块之间的接口

▨ 详细设计 - 模块内部实现的逻辑和方法

▨ 编码 - 实现上述设计

▨ 单元测试 - 检测代码开发是否符合详细设计的要求

▨ 集成测试 - 检测当前测试的组成部分是否能够完成并结合在一起

▨ 系统测试 - 检测已集成在一起的产品是否符合规格说明书的要求

▨ 验收测试 - 检测产品是否符合最终用户的需求, 以及迭代

优缺

优点

▨ 包含底层测试以及高层测试

  ▨ 底层测试 : 检验源码质量测试 - 单元测试

  ▨ 高层测试 : 检验整个系统的需求 - 系统测试

▨ 清楚的标识开发的阶段

▨ 采用自上向下的逐步求精的方式将开发划分不同阶段, 每个阶段分工明确, 因此便于控制开发

缺点

▨ 测试阶段较为靠后, 之前问他产生修改不便

▨ 作为瀑布模型的变种, 需求变化, 需要返工

W模型 - 双V模型

概念

开发一个 V, 测试一个V组成 W 模型

测试伴随着整个开发周期, 而且测试的对象不仅仅是程序

需求以及设计同样要测试

图示

 

优缺

优点

▨ 开发强调测试伴随整个软件开发周期

▨ 测试对象不仅仅是程序, 需求和设计也要测试

▨ 更早的接入测试, 可以发现开发初期的缺陷, 更低成本的进行缺陷修复

▨ 同样分阶段工作, 便于控制项目过程

缺点

▨ 代码已经在测试之前, 不方便代码的测试工作

▨ 对于当前很多项目, 执行过程中不产生文档, W模型无法适用

▨ 使用起来复杂度高, 对于需求和设计的测试要求很高, 实践起来困难 

H模型  - 了解即可

概念

 测试完全独立, 形成一个完全的流程, 同时将测试转呗和测试执行清晰表现出来

图示

 

▨ 测试流程  

  ▨ 测试准备 - 所有的测试活动的准备, 判断是否到测试就绪点

  ▨ 测试就绪点 - 测试准入准则, 及是否开始执行测试的条件

  ▨ 测试执行 - 具体的执行测试的程序

▨ 其他流程 - 具体开发中的流程, 如: 设计流程

优缺

优点

▨ 揭示软件测试中除测试执行外, 还有很多工作

▨ 软件测试完全独立, 贯穿整个生命周期, 与其他流程并发执行

▨ 软件测试活动可以尽早准备, 尽早执行, 具备很强的灵活性

▨ 软件测试可以根据被测物的不同而分层次, 分阶段, 分次序的执行

▨  可迭代

缺点 - 缺点较为致命 

▨ 管理要求高

▨ 技能要求高

▨ 测试就休点分许困难

▨ 对整个项目组人员要求非常高

 

Guess you like

Origin www.cnblogs.com/shijieli/p/11139631.html