高级软件工程第三章几种典型的开发模型实例ppt课件
- 格式:ppt
- 大小:1.07 MB
- 文档页数:57
⼏种常见的软件开发模型分析概述软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。
软件开发包括需求、设计、编码、测试和维护阶段。
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,⽤来作为软件项⽬⼯作的基础。
对于不同的软件系统,可以采⽤不同的开发⽅法、使⽤不同的程序设计语⾔以及各种不同技能的⼈员参与⼯作、运⽤不同的管理⽅法和⼿段等,以及允许采⽤不同的软件⼯具和不同的软件⼯程环境。
最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。
该模型给出了固定的顺序,将⽣存期活动从上⼀个阶段向下⼀个阶段逐级过渡,如同流⽔下泻,最终得到所开发的软件产品,投⼊使⽤。
但计算拓⼴到统计分析、商业事务等领域时,⼤多数程序采⽤⾼级语⾔(如FORTRAN、COBOL等)编写。
瀑布模式模型也存在着缺乏灵活性、⽆法通过并发活动澄清本来不够确切的需求等缺点。
常见的软件开发模型还有演化模型、螺旋模型、喷泉模型、智能模型等。
典型的开发模型1. 边做边改模型(Build-and-Fix Model);2. 瀑布模型(Waterfall Model);3. 快速原型模型(Rapid Prototype Model);4. 增量模型(Incremental Model);5. 螺旋模型(Spiral Model);6. 演化模型(incremental model);7. 喷泉模型(fountain model);8. 智能模型(四代技术(4GL));9. 混合模型(hybrid model)1. 边做边改模型(Build-and-Fix Model)遗憾的是,许多产品都是使⽤"边做边改"模型来开发的。
在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要⼀次⼜⼀次地不断被修改. 在这个模型中,开发⼈员拿到项⽬⽴即根据需求编写程序,调试通过后⽣成软件的第⼀个版本。
典型的软件开发模型一、边做边改模型(Build-and-Fix Model)边做边改模型就是在没有软件规格说明或主要设计的情况下,一边开发,一边修改,直到他们得到满意的、正确稳定的产品为止。
下图就是边做边改模型的模型图。
从这个模型图上可以看出:在这个模型中,开发人员拿到项目立即根据需求编写程序,开发出一个产品的最初版本给用户使用,在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止,软件要随着客户的需要一次又一次地不断被修改。
用一句俗话来形容,就是"摸着石头过河"。
先以河里的一些石头为支点,走入河道,再经过不断的试探和返回得到一条路线,最终到达目的地。
非常遗憾的是,这种开发模型被大多数公司所采用,是大多数测试工程师在实际工作中最常遇到的开发模型之一。
许多软件产品都是使用“边做边改”模型来开发的,我们在学习软件工程这门课之前,完成的一些大作业、进行的一些软件系统的设计也都是采用这种模型进行的。
边做边改模型的优点(1)适用于某些中小型项目的快速开发,软件产品的成果也会在最早的阶段显现出来:和在岸边冥思苦想如何过河的人相比,先站在河道里的石头上,总是让人看到更多的希望。
这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于(1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;(2)忽略需求环节,存在于需求、设计和实现中的错误要到整个产品被构建出来后才能被发现。
给软件开发带来很大的风险;(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。
二、瀑布模型(Waterfall Model)1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
传统的瀑布模型实际的瀑布模型通常情况下将参与软件开发全过程的人员分为以下几类:A 系统分析员 M 项目管理员 P 程序员 T高级程序员 U用户需求分析阶段:U A M 参与系统设计阶段:A T M 参与软件编程阶段:M P 参与软件测试阶段:U T P 参与软件维护阶段:U A M P参与瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。