美文网首页
Python 基础 | 瀑布式开发 vs 迭代式开发

Python 基础 | 瀑布式开发 vs 迭代式开发

作者: VTester | 来源:发表于2022-10-23 16:28 被阅读0次

瀑布式开发

正规军开发一个商业软件,一般分为这些步骤:

  1. 需求分析

需求分析阶段的任务是确定用的需求。找用户聊天,了解痛点,和操作步骤,确定需要什么样的软件功能帮他们解决问题。

需求分析阶段的产出是软件需求说明书。

  1. 软件设计

软件设计基于软件需求转换成一系列的类,接口,方法。类和类之间的关系图等。

软件设计一般由资深程序员或者架构师完成。软件设计的产物一般是概要设计说明书(TAD)和软件详细设计说明书。

  1. 软件开发

软件开发人员基于软件设计吭哧吭哧的写代码,变成可用的软件。

  1. 软件测试

软件测试根据需求验证开发出的软件是否符合各项功能需求。

  1. 用户验收

最后拿给用户,看看用户是否满意。

一个更完整的过程类似这样:


image.png

教科书里的世界 vs 现实世界

上面是教科书里教的,也是软件产业的前几十年一直在用的方法。

一个软件从需求分析到最后拿给用户看,严格一步步来,可能需要经过几个月甚至一两年的时间。

最后的结果可能类似下面这幅漫画:

image.png

在现实世界中,你会发现:

  1. 不管前面需求分析的多么详细,在设计和开发中总会发现还是需要再去调整需求。如果碰到一个脑洞大开的客户,那就更麻烦了,三天两天的变化需求。

  2. 不管设计的多么详细,在开发过程中总会发现设计考虑的不够全面,设置有些小的矛盾,需要再去调整设计。

所以瀑布模型有很大的问题,我们应该用下面这种开发模式。

迭代式开发

迭代式开发是指先选取一两个核心功能,快速的走上面的步骤:分析,设计,开发,测试,给用户看。然后根据用户的反馈再完善功能,逐渐添加功能。

迭代式开发大致是这样的:


image.png

相关文章

  • Python 基础 | 瀑布式开发 vs 迭代式开发

    瀑布式开发 正规军开发一个商业软件,一般分为这些步骤: 需求分析 需求分析阶段的任务是确定用的需求。找用户聊天,了...

  • 软件开发模式

    迭代式开发 迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了...

  • 全面分析 | 如何从0到1搭建产品

    T行业发展数年,其中出现了多种项目开发流程——瀑布式开发、迭代式开发、螺旋式开发、敏捷开发。将这些思想再细分下去还...

  • 管理 | 两种敏捷开发方法

    敏捷开发的两种方法,你get了吗? 一、什么是敏捷开发? 传统开发方式:如迭代式开发、瀑布式开发软件的开发过程是确...

  • 精益创业要知道的3个方面

    产品开发模式 瀑布式开发模式:需求-设计-实施-验证-维护 问题已知,解决方式已知 敏捷开发模式:短周期迭代交付...

  • 精益产品研发读后感

    《精益产品开发》介绍了开发方式的历史演进,从传统的作坊式到瀑布式,再到迭代、持续集成与站会的敏捷开发,然后引出了本...

  • 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的异同点

    瀑布式 VS 迭代开发【都属生命周期模型】两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到...

  • 软件开发方法总结

    瀑布式开发 增量迭代 迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。开发者先快速发布一个有效但不完...

  • 敏捷开发

    敏捷开发 敏捷开发以用户需求为核心,采用迭代、循序渐进的方法进行软件开发。 迭代-增量式开发(反复与渐进式开发) ...

  • 产品需求文档:如何撰写一份适合敏捷迭代的PRD文档?

    前言:软件开发方式大概有这么几种,分别是瀑布模式、迭代增量式、螺旋模式、敏捷开发,敏捷开发相比其他模式,它的优点是...

网友评论

      本文标题:Python 基础 | 瀑布式开发 vs 迭代式开发

      本文链接:https://www.haomeiwen.com/subject/vwiizrtx.html