您的位置:首页 > 其它

软件工程之软件开发模型类型

2016-11-01 15:27 337 查看
软件工程之软件开发模型类型

1.边做边改模型

2.瀑布模型

3.演化模型

4.增量模型

5.螺旋模型

6.喷泉模型

7.敏捷模型-SCRUM

各种模型的优点和缺点

  瀑布模型:文档驱动 系统可能不满足客户的需求

  快速原型模型: 关注满足客户需求 可能导致系统设计差、效率低,难于维护

  增量模型: 开发早期反馈及时,易于维护 需要开放式体系结构,可能会设计差、效率低

       螺旋模型: 风险驱动 风险分析人员需要有经验且经过充分训练

1边做边改模型(Build-and-Fix Model)

  国内许多软件公司都是使用"边做边改"模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改. 在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。

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

其主要问题在于:

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

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

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

2瀑布模型(Waterfall Model)

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

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

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

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

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

3.螺旋模型(Spiral
Model)

螺旋模型:它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

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

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

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

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

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:

  (1) 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

  (2) 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。

  (3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: