• 软件开发模型(2)


    瀑布模型○
    特点:1、阶段件具有顺序性和依赖性。2、推迟实现。3、引入基于文档的开发。
    优点:强调了设计,避免了后期的混乱;因为有详细的文档,降低了维护费用。
    缺点:客户在初期只能通过静态的规格说明去了解动态的软件产品;对一些要求快速开发的项目来说,产生了过多的文档;最后才进行交付,客户感觉速度慢;需求变更的维护成本很大。
    适用:需求明确;架构易设计;系统的可靠性要求高;项目开发风险小。

    具有子项目的瀑布模型○
    和瀑布模型的比较特点:通过构架设计把系统分成多个子系统,从详细设计开始每个子系统按照自己的步调走。
    和瀑布模型的比较优点:各子系统之间不需相互等待。
    和瀑布模型的比较缺点:如果没有把握好子系统之间的依赖性,会产生混乱,难以集成。
    和瀑布模型的比较适用:子系统间的依赖性少。

    螺旋模型★
    特点:每次迭代有六个步骤:1、确定目标、方案和约束条件;2、识别并解决风险;3、评价备选方案;4、开发本次迭代的可交付内容,并检查他们的正确性;5、规划下一个迭代过程;6、如果需要,开始新的迭代过程。
    优点:各种风险的控制有力。
    缺点:复杂、风险管理成本高。
    适用:内部开发的大规模软件项目;产品开发目标不明确,各种风险很多很高。

    迭代(渐进原型)模型★
    特点:整个软件产品被分解为很多增量构件,开发人员逐次向客户交付这些构件。在第一次交付构件起,客户就能评价和学习软件产品。每次迭代有四个阶段:1、先启(最初概念);精化(设计和实施最初原型);构建(精化原型直到可以被接受*RUP和Steve McConnell的概念有点不同:RUP的原型可以被抛弃);产品化(完成和交付)。
    优点:客户能很早对动态的软件产品提出意见;客户能够看到项目的实际进展,增加客户对项目的信心。
    缺点:要求有较强的设计和实施能力,保证增加构件时不会破坏已经开发出的工作产品;难以把握迭代的次数和最终的交付期。
    适用:需求不清晰,开发时间较充裕,设计能力较强或各子系统之间的耦合很低时,实现方案没有把握时。

    阶段交付模型★
    特点:和具有子项目的瀑布模型的区别是很像迭代(渐进原型)模型,它是逐次增量地交付产品;和迭代(渐进原型)模型的区别是它是在完整的构架设计后开始详细设计,并且它没有强调原型。
    优点:和迭代(渐进原型)模型比较,它强调了构架设计,因此在集成方面的风险比迭代(渐进原型)模型低。
    缺点:和迭代(渐进原型)模型比较,它弱化了了原形的概念,所以增加了实现的风险。
    适用:需求比较清晰,实现比较有把握,设计能力稍不足的情况下适用。

    延后实现的阶段交付模型●
    特点:详细设计完成后,将系统分为了子构件,对子构件进行优先级的区分,分批实现,逐次增量地交付产品。
    优点:和阶段交付模型比较,由于强调所有设计完成后才能开始实现,所以设计方面的风险能尽早排除。
    缺点:和阶段交付模型比较,由于强调所有设计完成后才能开始实现,所以第一次可以交付的时间较晚。
    适用:需求较清晰,设计能力不足时。

  • 相关阅读:
    mysql 分页查询及优化
    Mabatis中#{}和${}的区别
    mybatis 缓存(cache)的使用
    mac下安装 rabbitMq
    maven profile动态选择配置文件
    在pom.xml中使用distributionManagement将项目打包上传到nexus私服
    ConfigFileApplicationListener
    【Ubuntu 16】安装nginx
    【Ubuntu 16】安装ssh
    使用XMLHttpRequest异步通信
  • 原文地址:https://www.cnblogs.com/qq75077027/p/2795302.html
Copyright © 2020-2023  润新知