高级软件工程(第三章)几种典型的开发模型实例(2017课件)
- 格式:ppt
- 大小:1.09 MB
- 文档页数:57
1MSD 的绘制(基础知识)
�
模块结构图
在学习
MSD 的时候我们要了解数据流程图的种类,我们一般分为变换型数据流图和事
务型数据流图。
变换型(输入-变换-输出)
事务型(加工为获得的数据流分离成几个数据流,并分别为其选择处理路径)�映射方法:
(另一例见我上课所给)
2课堂练习及往年习题
�
我们以一个实例来说明变换型的DFD 图
如何转换成MSD 图。
(演变过程见我上课所给)�绘图步骤如下
1穿过虚线的每一天实线为输入get 模块,右虚线为输出put 模块。
2细化方法:输入模块圆圈为处理,左边为
输入;处理模块圆圈为处理;输出模块圆圈为处理,右边为输入;3牢记输入-变换-输出
�事务型的DFD 图转换成MSD 图见课本P55。
对于事务型的MSD 主要是找对路径。
(1)2009-1
(2)
(3)2010-1
(4)
课本P71。
典型的软件开发模型一、边做边改模型(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参与瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
几种常见的软件开发模型软件开发模型(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.喷泉模型(fountain model);7.智能模型(四代技术(4GL));8.混合模型(hybrid model);9.RUP模型;10.IPD模型1. 边做边改模型(Build-and-Fix Model)遗憾的是,许多产品都是使用"边做边改"模型来开发的。