瀑布模型、迭代模型---张子芳

瀑布模型: 
  瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 
  简单的说就是先定好需求和相关文档,然后构建框架,然后写代码,然后测试,最后发布个产品

一旦文档需求确定,开发人员就按文档开发,直到产品开发完后,才会拿出来给客户。不过这种方式基本不适应现今快速发展的市场现状了。

迭代模型: 
迭代的方式就有所不同,假如这个产品要求6个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进去,bug很多,还不稳定,但客户看了以后,会提出更详细的修改意见,这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的需求分析、框架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善的产品来,给客户看,让他们提意见。

就这样,我的产品在功能上、质量上都能够逐渐逼近客户的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西的情况。

两种方法的比较:

瀑布模型:假如我们对用户的需求判断的不是很准确时——这是很常见的问题,一点也不少见——你开发了几个月甚至是几年,当你把产品拿给客户看时,可能与客户原先想要的相差很远。

迭代模型:相较瀑布较好,但也有自己的缺陷,那就是周期长、成本很高。适合大项目、高风险项目,比如是航天飞机的控制系统时,迭代的成本比项目失败的风险成本低得多,用这种方式明显有优势。

原文地址:https://www.cnblogs.com/zifang888/p/8446837.html

时间: 2024-11-09 08:39:42

瀑布模型、迭代模型---张子芳的相关文章

读张子阳的用户验证自定义IPrincipal和IIdentity有感

asp.net本身的验证是用cook实现的,通过cookie的读取进行登录的验证的检测. 其核心是 Iprincipal 和 Identity. Identity 提供了一个与Name 相关的用户信息 Iprincipal 提供了一个存储用户信息的票据. autenticationType 验证类型 包括 from 登录方法 windows登录方法 和另外一种 Isauthtication  是否通过验证 后台User 是一个当前用户信息存储. net安全机制 实现方法有 memberShip静

委托与事件详解——转自张子阳博客

引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在.本文中,我将通过两个范例由浅入深地讲述什么是委托.为什么要使用委托.事件的由来..Net Framework中的委托和事件.委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论. 将方法作为方法的参数 我们先不管这个标题

软件生存周期模型之迭代模型

什么是迭代模型 迭代式模型是是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型.在RUP中,迭代被定义为:迭代包括产生产品发布(稳定.可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素.所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程.分析设计工作流程.实施工作流程和测试工作流程.实质上,它类似小型的瀑布式项目.RUP认为,所有的阶段(需求及其它)都可以细分为迭代.每一次的迭代都会产

对张子阳先生对委托和事件的两篇文章的读后思考(说得很透,内附故事一篇)

第一篇 C#中的委托和事件 第二篇 C#中的委托和事件(续) 首先,张子阳先生的这是两篇关于委托和事件间关系的文章,是目前为止我读过的介绍委托和事件以及异步调用最简明清晰文章,作者通过非常有节奏的"标题"->"问题"->"思路"->"实现"->"讲解"的结构,分步骤一步一步地将委托和事件的实现.应用与原理阐述得非常清楚,并且在行文期间将自己有趣的思考过程通过生动的语言表达了出来,使人

EF直接查询一张子表的注意事项

项目用到的一个查询,看着再简单不过的查询,没想到居然栽跟头了. 有两张表,一张主表,一张子表[1→多] 在这里我主要是想对子表操作,之所以加主表,是因为在添加子表数据的时候,可以只用一个主表的对象,然后用上下文添加一次,EF自动开存储过程,自动添加关联子表数据.如果大家有什么好的办法让子表一次添加一千多条数据,请指教.[因为我也不太想这样添加数据] 问题就出现在我查询这个子表数据的时候 我的查询语句是这样写的 然后奇迹出现了,按照我的条件约束,查询出来的数据应该只有一两条数据,但是,查询出的结果

周泊辰和张子涵返回二维数组整数组和

首先了解一维数组的求最大和,可以先列举出一维数组的所有子数组并求出他们的和,即加上一个正的和会增加,反之减少,如果某一个和为负数,那么就应该放弃他,然后清零.然后求二维数组最大子数组的和,可以转化为求一维数组最大子数组的和设一个二维数组a[n][m],找它的 最大子数组之和,先建立一个新的二维数组b[n][m],二维数组b[j][k] 存放的是a[j][k](0<=j2.循环:从a[0][0]开始 以此是 a[0][1]. a[0][2]--a[0][m].a[1][0]. a[1][1]--a

瀑布模型&amp;螺旋模型

软件开发模型:1.瀑布模型1)软件概念阶段 用户需求2)需求分析 软件需求3)架构设计 架构文档4)详细设计 模型设计5)编码阶段 代码文档6)测试阶段瀑布模型的特点是在每个阶段的工作都清晰详尽,容易预估风险和开发成本,每个阶段人员安排也非常清晰.瀑布模型的缺点是中途不能出现任何问题,例如客户要改动需求,重新定义某项业务流程.瀑布模型还有一个缺点是项目编码处在后半程,因此客户需要等待很长时间才能体验到产品,故此需要在早期就为用户提供一个体验的样本,这个样本就是产品原型.瀑布模型非常适合使用在需求

迭代模型和敏捷模型的区别/迭代模型和螺旋模型的区别

迭代 强调的是 速度 可用性          目的是 提高成功率 生产率 降低风险 敏捷 强调的是 灵活 沟通 适应      目的是 更好的适应快速变化的需求 ////////////////////////////////////////////////////////////////////////////// 螺旋 是一个完整的生命周期 强调风险分析 每一步结束后经过风险分析才开始下一步 迭代 是多个完整的生命周期 强调有可用的成果 每一次迭代的输入都在前一次迭代的输出

看张子阳如何在30岁前年薪超过30万觉得有道理的几点

(1)关键不是休息,对中年人来说,休息每天6个小时就够了.关键是锻炼,我每个周日都会打2个小时的羽毛球. (2)当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及. (3)人生规划 23~28岁:大学毕业后的头5年,这几年是用来这几年是用来折腾的.选择行业,选择职业,选择公司 28~35岁:若倾向于技术人员,则应该在自己的淋浴深入钻研,成为该领域的行家. 若倾向于做管理人员,则应该掌握如何经营好一家公司的. 35转折点:考虑继续留在现有公司做,还是创业 50岁以后: