zoukankan      html  css  js  c++  java
  • 软件开发流程模型

    1、V 模型

    模型图

    定义:RAD (Rap Application Development,快速应用开发) 模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。

    优点:相对于瀑布模型,V模型测试能够尽早的进入到开发阶段。
    缺点:虽然测试尽早的进入到开发阶段,但是真正进行软件测试是在编码之后,这样忽视了测试对需求分析,系统设计的验证,时间效率上也大打折扣。

    2、瀑布模型

    模型图
    在这里插入图片描述
    定义:瀑布模型(Waterfall Model)是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
    地位:这是一种经典模型,提供了软件开发的基本框架。
    优点:
    1)各阶段划分清晰
    2)强调计划与需求分析
    3)适合需求稳定的产品开发
    缺点:
    1)单一流程,不可逆
    2)风险显露得晚,纠正机会少
    3)测试只是其中一个阶段,缺乏全过程测试思想

    3、敏捷开发模型

    流程图
    在这里插入图片描述

    定义:从1990年代开始逐渐引起广泛关注,是一种以人为核心、快速迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
    优点:敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。
    缺点:但敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。

    V模型理解

    V模型的中心思想是,研发人员和测试人员需要同时工作,在软件做需求分析的同时就会有测试用例的跟踪,这样可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。V模型的重要意义在于,非常明确的表明了测试过程中存在的不同的级别,并且非常清晰的描述了这些测试阶段和开发阶段的对应关系。

      (1)单元测试:验证软件单元是否按照单元规格说明(详细设计说明)正确执行,即保证每个最小的单元能够正常运行。单元测试一般由开发人员来执行,首先设定最小的测试单元,然后通过设计相应的测试用例来验证各个单元功能的正确性。

      (2)集成测试:检查多个单元是否按照系统概要设计描述的方式协同工作。集成测试的主要关注点是系统能够成功编译,实现了主要的业务功能,系统各个模块之间数据能够正常通信等。

      (3)系统测试:验证整个系统是否满足需求规格说明。

      (4)验收测试:从用户的角度检查系统是否满足合同中定义的需求或者用户需求。

    V模型的特点:

    • V模型体现的主要思想是开发和测试同等重要,左侧代表的是开发活动,而右侧代表的是测试活动。
    • V模型针对每个开发阶段,都有一个测试级别与之相对应。
    • 测试依旧是开发生命周期中的阶段,与瀑布模型不同的是,有多个测试级别与开发阶段对应。
    • V模型适用于需求明确和需求变更不频繁的情形。

    敏捷模型理解

    较高的速度是敏捷开发最显著的优点之一。敏捷团队只专注于开发项目中当前最需要的、最具价值的部分。这样能很快地投入开发。另外,较短的迭代周期使团队成员能迅速进入开发状态。

    在敏捷开发过程中,最具价值的功能总是被优先开发,这样能给客户带来最大的投资回报率。

  • 相关阅读:
    python基础12-语法
    基础篇-内置函数(常用)
    中级篇-内置函数 (map/filter/reduce)
    python 基础11-递归
    python 基础10-函数、变量
    python 基础9-拼接
    redis
    python--os模块
    函数return多个值
    python--文件读写
  • 原文地址:https://www.cnblogs.com/yangjj08/p/13559107.html
Copyright © 2011-2022 走看看