Python知识点:瀑布式开发 vs 迭代式开发

瀑布式开发 vs 迭代式开发

很多人问我:学Python可以找到工作吗?学Java可以找到工作吗?

我的答案是一致的:

如果单纯只会一门编程语言,都是不够的。成为一个合格的开发者还要会操作系统,软件工程,数据库,网络等多方面的知识。

所以我们的3分钟系列也会穿插一些相关的知识。

注:本文图片来自于网络,如有侵权,请联系作者删除。

瀑布式开发

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

1.需求分析

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

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

2.软件设计

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

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

3.软件开发

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

4.软件测试

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

5.用户验收

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

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述
在现实世界中,你会发现:

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

2.不管设计的多么详细,在开发过程中总会发现设计考虑的不够全面,设置有些小的矛盾,需要再去调整设计。
所以瀑布模型有很大的问题,我们应该用下面这种开发模式。

迭代式开发

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

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

在这里插入图片描述
想想看,这样应该挺合理的!确实是合理。但现实中,我们还是很容易想要一口吃个胖子,总是不经意间犯了葛大爷说的这个问题:

在这里插入图片描述
记住了吗?迭代式开发。

推荐阅读

表弟说,这个Python定时任务,能挣五千,问我信吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值