`
fangang
  • 浏览: 877079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:38652
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:68813
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:409976
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:91588
社区版块
存档分类
最新评论

一次迭代式开发的研究:什么是迭代式开发

阅读更多
我们的软件开发存在巨大的风险,但问题到底出在哪里呢?这对于问题的解决至关重要。

1. 我们在没有深刻理解业务需求的情况下就必须完成需求分析;
2. 客户在没有弄明白自己的真正需求的情况下就被要求确定软件的业务需求;
3. 我们在没有与客户再次沟通的情况下埋头苦干,直到完成开发并交付客户。

既然问题出在这里,我们就可以制订我们的解决办法:

1. 业务需求的分析不再是一蹴而就,而是贯穿软件开发的始终。一方面,我们在与客户的持续沟通中加深业务领域的理解,进而加深对业务需求的理解,另一方面,客户也在加深对软件的理解,进而完善自己的需求。

2. 软件开发的过程不再是单反面的埋头苦干,而是双方的良性互动。定期的用户体验,可使用户及时了解项目进度,发现软件问题,并及时提出来予以纠正,使软件的开发不断朝着正确的方向前进。

这就是迭代式开发。它是对以往开发模式的一种革新,但不是对以往开发模式的完全否定与摒弃,而是一种改造。

以往的瀑布式软件开发模式将整个软件开发过程分为四个阶段:需求分析、设计、开发、测试。与瀑布式软件开发不同,迭代式软件开发首先将整个开发过程分为一个又一个的小段,每个小段大概在20个工作日左右,被称为“迭代(Iteration)”。一个迭代就是一个小的开发过程,如同瀑布式开发一样被分为四个阶段:需求分析、设计、开发、测试。

采用迭代式开发,就是将以往的一个瀑布,变成了数个循环往复的瀑布,使软件以进化的方式逐渐推进。

最初的迭代,开发的是软件最基本最主要的功能,经过第一次迭代以后交付给客户。这时候客户看到的,不再是虚无缥缈的需求描述,而是实实在在的软件界面。在此基础上,客户可能会认可我们的设计,也可能提出一些改进意见。修改这些意见,开始进入第二次迭代。第二次迭代可能是在第一次迭代的基础上进一步丰富和完善功能,也可能是进一步实现其它第一次迭代还未实现的功能,之后再次交付客户。

如此循环往复,使我们不断在需求分析、设计、开发、测试,以及交付中,推进我们的软件开发。这样的开发过程,注定最终交付给客户的是他们满意的软件。这就是迭代式软件开发。

一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
分享到:
评论

相关推荐

    RUP迭代式开发全中文资料

    RUP迭代式开发全中文资料---强烈推荐

    迭代化软件开发

    每个阶段性目标(即一次迭代)都包含了一系列开发活动,如需求分析、设计、编码、测试等。每个迭代结束后都会对完成的结果进行评估,以便为下一次迭代提供反馈和调整方向。 迭代化开发的主要特点包括: 1. **允许...

    Rational迭代化软件开发

    RUP是一种面向对象的、基于构件的软件开发过程框架,它结合了迭代开发的思想和最佳实践。RUP提供了详细的指导,包括工作产品模板、角色定义、活动和最佳实践,以支持软件开发的各个阶段。 ### 4. 优点 - **适应...

    迭代软件开发作业流程.doc

    7. 迭代步骤本身可在进行过程中得到改善和精炼:一次迭代结束时评定不仅要从产品和进度角度来考察项目标情况,而且还要分析组织和步骤本身有什么待改善之处,方便在下次迭代中愈加好地完成任务。 迭代软件开发作业...

    迭代软件开发流程.pdf

    整个迭代过程包含了需求、设计、实施(编码)、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为依据来制定下一次迭代的目标。 迭代软件开发流程具有以下特点: 首先,迭代...

    迭代软件开发流程.doc

    迭代软件开发流程 ...8. 迭代流程自身可在进行过程中得到改进和精炼:一次迭代结束时的评估不仅要从产品和进度的角度来考察项目的情况,而且还要分析组织和流程本身有什么待改进之处,以便在下次迭代中更好地完成。

    迭代软件开发流程参考.pdf

    - 渐进式集成:每次迭代集成一部分功能,减少一次性集成的复杂性和风险。 - 早期风险降低:初期迭代侧重架构设计,确保核心需求的满足,降低整体项目风险。 - 提升团队士气:开发人员能快速看到成果,增加工作...

    软件工程中的迭代开发方法.pptx

    - **什么是迭代开发**: - 将软件开发过程划分为多个小步骤,每个步骤都包含了需求分析、设计、编码和测试等基本活动。 - 目的是为了快速响应变化的需求,并通过快速迭代和反馈来改善软件。 - **迭代开发原则**:...

    产品迭代开发流程图

    ### 产品迭代开发流程详解 #### 一、项目立项与规划 在进行任何具体工作之前,首先要明确项目的立项。这一步骤通常涉及到对项目背景、目标、预期成果以及潜在风险等因素的综合考量。项目立项阶段完成后,需要进一步...

    软件工程中的迭代与增量开发模型.pptx

    迭代开发模型是一种软件开发方法,可以根据实际情况灵活调整需求,每次迭代都能交付可用版本,有利于客户的验收和反馈。这种方法有助于及早发现问题,提高软件质量。增量开发模型是一种基本功能版本开发出基本功能较...

    RUP迭代开发过程

    RUP迭代开发过程,喜欢研究面向对象的软件开发模式的朋友可以看看。

    管理迭代化的软件开发项目

    本文将深入探讨迭代化开发的核心概念、与瀑布模型的区别、软件项目的开发阶段、制定项目开发计划以及迭代开发的指导原则和实例分析。 首先,统一软件开发过程(Rational Unified Process,RUP)是IBM软件集团...

    牛顿迭代法求二元一次方程C++代码及其软件

    在本项目中,我们采用C++编程语言,并结合Qt库来实现对二元一次方程的牛顿迭代法求解,同时通过图形化界面展示迭代过程。以下是关于这个项目的关键知识点: 1. **牛顿迭代法**: 牛顿迭代法是基于切线近似的思想,...

    迭代进化式开发引入软件工程课程教学.pdf

    迭代进化式开发(Rational Unified Process,RUP)是一种软件工程方法论,其核心在于将整个软件开发过程分解为多个较小的、可管理的迭代周期。在每个迭代中,团队完成一部分设计、编码和测试工作,从而逐步构建最终...

Global site tag (gtag.js) - Google Analytics