软件开发模式类型

软件开发之软件开发模型类型【https://my.oschina.net/u/1861837/blog/311635】

边做边改模型

瀑布模型

演化模型

增量模型

螺旋模型

喷泉模型

敏捷模型

1、边做边改模型

在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需求一次又一次地不断被修改。如果程序出错,或者用户提出了新的要求,开发人员重新修改代码,直到用户满意为止。

这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:

(1) 缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;

(2) 忽略需求环节,给软件开发带来很大的风险;

(3) 没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。

2、瀑布模式

瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

  (1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量

  (2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险

  (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

3、迭代模型

在现代过程方法XP(eXtreme Programming,极限编程)、RUP无一例外地都推荐、主张采用能显著减少风险的迭代模型。美国国防部原本提倡瀑布过程和观点,在发现那么多采用 了瀑布模型的失败的项目之后,不但放弃了对它的要求,而且从1994年的报告开始,积极地鼓励采用更加现代化的迭代模型来取代瀑布模型做法。同时,中国中 科院也提倡选用迭代模型。

使用条件

1、在项目开发早期需求可能有所变化。

  2、分析设计人员对应用领域很熟悉。

  3、高风险项目。

  4、用户可不同程度地参与整个项目的开发过程。

  5、使用面向对象的语言或统一建模语言(Unified Modeling Language,UML)。

  6、使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具,如Rose(Rose是非常受欢迎的物件软体开发工具。)。

  7、具有高素质的项目管理者和软件研发团队。

特点

1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

   2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。

   3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。

  4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

螺旋模型

       (1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

  (2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;

  (3) 实施工程:实施软件开发和验证;

  (4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值