现在的位置: 首页 > 综合 > 正文

软件开发常用的几种模型

2012年09月03日 ⁄ 综合 ⁄ 共 1594字 ⁄ 字号 评论关闭

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。

瀑布模型

    

    瀑布模型又叫软件生存周期模型,瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采 瀑布模型,用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,所以如果项目经常变化,不适合使用瀑布模型开发。

瀑布模型的优点

1为项目开发提供了按阶段划分的检查点;

2当前一阶段完成后,只需要去关注后续阶段;

3可在迭代模型中应用瀑布模型。

瀑布模型的缺点

1项目各个阶段之间很少有反馈;

2只有在项目生命周期的后期才能看到结果,与用户期待不同;

3产生很多文档,增加了工作量;

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

原型模型

    原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。

原型模型的特点  

(1)开发人员和用户在“原型”上达成一致。这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。   

(2)缩短了开发周期,加快了工程进度

(3)降低成本。   

原型模型的缺点

    由原型图可以看出,在开发的过程中有可能返回顶部重新开发。  

螺旋模型

    它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,适合于大型复杂的系统。螺旋模型采用一种周期性的方法来进行系统开发,这会导致开发出众多的中间版本。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,
    螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。在实践中,螺旋法技术和流程变得更为简单。在某个方案中如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。由于风险分析占很大部分,所以如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。螺旋模型的项目适用:对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。

    下表是螺旋法能够解决的各种问题:

  

问题 解决方案
用户需求不够充分 允许并鼓励用户反馈信息
沟通不明 在项目早期就消除严重的曲解
刚性的体系 开发首先关注重要的业务和问题
主观臆断 通过测试和质量保证,作出客观的评估
潜在的不一致 在项目早期就发现不一致问题
糟糕的测试和质量保证 从第一次迭代就开始测试
采用瀑布法开发 在早期就找出并关注风险

每轮循环包含如下六个步骤:

  1. 确定目标,可选项,以及强制条件。

  2. 识别并化解风险。

  3. 评估可选项。

  4. 开发并测试当前阶段。

  5. 规划下一阶段。

  6. 确定进入下一阶段的方法步骤。

抱歉!评论已关闭.