软件开发的五个模型


前言

学习软件开发的五个模型,充分了解开发过程,更好的完成测试。


一、瀑布模型

  • 瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是 线性顺序进行的软件开发模式。

  • 在这里插入图片描述

  • 优点:

    • 每一个阶段都比较独立,强调早期计划及需求调查;
    • 强调产品测试;因为测试是产品质量的最后一道把关,如果有问题,就会直接展示给客户;
  • 缺点:

    • 串行,有去无回,测试介入晚,导致项目前期的问题后面才发现,失去了错误及时修改;
    • 不支持需求频繁变动的项目;

二、螺旋模型

  • 在这里插入图片描述

  • 一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。 这对于那些规模庞大、复杂度高、风险大的项目尤其适合。

  • 优点:

    • 每个迭代都做风险分析,讨论项目是否有价值继续;
    • 强调各开发阶段的质量,一个项目分了很多层小迭代;
    • 适用于风险比较大并且整个项目也比较庞大
  • 缺点:

    扫描二维码关注公众号,回复: 13584368 查看本文章
    • 风险分析要求比较高,需要投入专业的人 员,导致时间、项目支出费用会比较高;
    • 风险分析对测试人员和开发人员要求比较高;

三、 增量模型

  • 例如:四周时间开发系统的A模块,B模块,C模块,D模块的功能;第一周完成A模块;第二周完成B模块;第三周完成C模块;第四周完成D模块;

四、迭代模型

  • 如上例子描述,第一周完成A、B、C、D四个模块的基础框架部分;第二周完成基础功能的开发和测试;第三周进一步开发复杂的功能;第四周完善细节;

五、敏捷开发模型(常用)

  • 特点:
    • 重目标、重产出、轻文档、轻流程;
    • 注重和客户的沟通,整个研发团队有效沟通,注重产品的质量,注重产品规定的交付日期;(拥抱变化,客户可以在项目开发过程中改变需求)
    • 敏捷开发周期很短(1~4周时间),团队研发人员少;
  • 举例说明:Scrum流程:
    • 角色:
      • PO(product Owner)产品经理:负责整理用户需求,形成userstory;

      • SM(scurm Master)项目经理:负责保证整个敏捷开发流程的顺利实施,开发和各种协调等;

      • ST(scrum team)研发团队,负责整个项目的研发,各种技能的人组成,测试、开发、UI设计等;

      • 在这里插入图片描述

      • 发布计划会:产品经理需求整理成userstory,形成product backlog,会议上讨论userstory的重要性排版,决定本期迭代要开发的userstory;

      • 迭代计划会议:研发团队确认迭代任务,分解userstory,将userstory分解成为一个个的任务,确定任务完成的时间,具体的人员等;

      • 每日站会:(重点在于总结和解决出现的问题,以及了解整个研发的进展)解决三个问题:昨天完成了什么?解决了什么问题?今天的计划;

      • 产品展示会议:给客户和Boss演示产品研发的成果,PO整理后形成新的userstory,放到下一次的迭代中;

      • 项目总结:总结这个迭代的优缺点,不足的改进,优化这个敏捷开发流程;

猜你喜欢

转载自blog.csdn.net/ccyzq/article/details/121846216