`
sean2012
  • 浏览: 46115 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

软件开发模式

阅读更多
软件开发模式

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

    在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
 瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。这种模型的线性过程很理想化,单已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
                  (1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
                  (2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
                  (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
相反,它的优点,方便安排开发者具体要做的事情,方便对于不懂软件的客户陈述,也方便评估进度容易保证质量等。
        优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
       缺点: (1)开发过程一般不能逆转,否则代价太大;
                (2)实际的项目开发很难严格按该模型进行;
                (3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
                (4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
       使用范围:
               (1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;
                (2)开发人员对软件的应用领域很熟悉;
                (3)用户的使用环境非常稳定;
                (4)开发工作对用户参与的要求很低。


原型模型法:
原型法的模式与开发过程对系统进行分析、设计、编程和运行以及结构化的内容相类似,不同点就是不需要对系统进行长时间和非常细致的分析、设计,只是对系统有个大致的了解,对它的主要功能进行初步分析、初步设计和编程以后就马上运行,以后在与用户进行交流中再进一步改进。
        优点: 1、方便开发者更改,
                    2、在设计和编码过程中发生错误的几率比较小 , 
                    3、开发中的风险比较小,
                    4、见效比较快,方便与客户进行洽谈。
        缺点: 1、开发过程中要发反复的修改,具体目标不是很明确。
                    2、工程完成没有预期。
                    3、 不能确定工程的完成质量



2、For each of the process models described in this chapter,what are the benefits and drawbacks of using the model?  ( 在这章中所描述的每个程序模型,在使用它们的时间的过程中有哪些优缺点?)
    瀑布模型(Waterfall Model)的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
    瀑布模型的缺点:
(1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。 
  V模型的优点:
在软件开发的生存期,开发活动和测试活动几乎同时的开始,这两个并行的动态的过程就会极大的较少bug和error出现的几率。缩短开发周期。
   V模型的缺点:
仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。
 
   快速原型模型(Prototyping Model)的优点:
(1)可以得到比较良好的需求定义,容易适应需求的变化;
(2)有利于开发与培训的同步;
(3)开发费用低、开发周期短且对用户更友好。
   快速原型模型的缺点:
(1)客户与开发者对原型理解不同;
(2) 准确的原型设计比较困难;
(3) 不利于开发人员的创新。

    变换模型(Transformational Model)的优点:解决了代码结构经多次修改而变坏的问题,减少了许多中间步骤(如设计、编码和测试 等)。
      变换模型的缺点:以形式化开发方法为基础的变换模型需要严格的数学理论和一整套开发环境的支持

    螺旋模型(Spiral Model)的优点:
(1)设计上的灵活性,可以在项目的各个阶段进行变更;
(2)以小的分段来构建大型系统,使成本计算变得简单容易;
(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
(4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
    螺旋模型的缺点:
(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
(2)过多的迭代次数会增加开发成本,延迟提交时间。 


3、Project规划图——Project应用





  • 大小: 21.3 KB
分享到:
评论

相关推荐

    软件开发模式(繁体)

    “软件开发模式”是指一系列用于指导软件开发过程的步骤和执行顺序的框架。这种模式有助于系统化、逻辑化地进行开发,确保标准化、规范化,并提高效率,保证质量,便于管理。不同的软件开发模式适用于不同的系统开发...

    软件开发模式软件开发模式

    ### 软件开发模式详解 #### 一、引言 软件开发模式是软件工程领域中的重要组成部分,它不仅影响着软件的质量,还关系到项目的成功率。本文将详细介绍CMMI(能力成熟度模型集成)、RUP(统一软件开发过程)、MSF...

    Visual FoxPro 软件开发模式与应用案例

    《Visual FoxPro软件开发模式与应用案例》是张洪举编著的一本指导软件工程师们使用Visual FoxPro软件进行开发的专业参考书籍。该书涵盖了多种使用Visual FoxPro开发应用程序的方法,包括单用户应用程序模式、多用户...

    模型驱动的软件开发模式研究.pdf

    模型驱动的软件开发模式研究 模型驱动的软件开发模式是指在软件开发过程中,使用模型来描述软件系统的结构、行为和功能,通过模型转换和代码生成来自动产生软件代码的开发模式。该模式的研究旨在探讨模型驱动的软件...

    软件开发模式图文详解

    你所熟悉的过程…… 一、定位?时间?资源?...=>开发 五、书都摆上书架吗?PAD有装错吗?出个竣工报告吧!=>测试 六、喂,真爱梦想吗?梦想中心电脑坏了,能帮忙重装下系统吗?成立个VOT吧!=>运维

    JavaEE软件开发模式

    JavaEE软件开发模式

    《微软公司软件开发模式简介》

    《微软公司软件开发模式简介》是一本深入探讨微软在软件开发过程中所采用的模式和实践的书籍。书中可能涵盖了微软如何高效地管理大型项目、如何利用先进的开发工具和技术,以及如何构建可扩展、可维护的软件系统。...

    软件开发模式ppt课件.ppt

    软件开发模式是软件工程中的一种重要概念,它指的是在开发软件的过程中遵循的一系列步骤和方法。这些模式旨在提高效率,确保质量,使开发过程更加系统化和可管理。本课件详细介绍了多种软件开发模式,包括编码与修正...

    适合ChatGPT的水母式软件开发模式-陈斌.pdf

    ### 适合ChatGPT的水母式软件开发模式 #### 概述 在当前快速发展的信息技术领域中,人工智能(AI)技术尤其是以ChatGPT为代表的自然语言处理技术正在深刻地改变着软件开发的方式与流程。《适合ChatGPT的水母式软件...

    微软公司软件开发模式简介.pdf

    ### 微软公司软件开发模式解析 #### 一、引言 微软公司在软件开发领域有着丰富的经验和独到的方法论。其独特的开发模式不仅确保了产品的高质量,还极大地提高了开发效率。这种模式的核心在于将大型项目划分为多个小...

    GIS应用软件开发模式分析

    :对当前GIS应用软件开发模式进行分析,针对单纯二次开发、高级语言独立开发与集成二次开发分别展开论述,对 比分析其不同的开发特点。

    模型驱动下的软件开发模式

    模型驱动下的软件开发模式 模型驱动开发(MDD)是一种新的软件开发模式,它将应用程序指定为一个高层次的抽象模型,通过对模型的解释/执行或产生的代码,抽象模型会自动转化为可工作的软件应用。这种开发模式有很多...

    软件开发模式有哪些.pdf

    软件开发模式是软件工程中用来组织和指导软件开发过程的不同策略和方法。这些模式或模型旨在提高效率,减少风险,并确保软件产品满足用户需求。以下是几种常见的软件开发模式及其特点: 1. **快速原型模型**: ...

Global site tag (gtag.js) - Google Analytics