欢迎来到天天文库
浏览记录
ID:25944174
大小:120.50 KB
页数:7页
时间:2018-11-23
《软件开发过程的分析文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件开发模型软件开发模型(SoftwareDevelopmentModel)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。目录类型简介1.瀑布模型2.常见模型典型的
2、开发模型1.综述2.边做边改模型(Build-and-FixModel)3.瀑布模型(WaterfallModel)4.快速原型模型(RapidPrototypeModel)5.增量模型(IncrementalModel)6.螺旋模型(SpiralModel)7.喷泉模型(fountainmodel)8.智能模型(四代技术(4GL))9.混合模型(hybridmodel)10.各种模型的比较11.各种模型的优点和缺点类型简介1.瀑布模型2.常见模型典型的开发模型1.综述2.边做边改模型(Build-a
3、nd-FixModel)3.瀑布模型(WaterfallModel)4.快速原型模型(RapidPrototypeModel)5.增量模型(IncrementalModel)6.螺旋模型(SpiralModel)7.喷泉模型(fountainmodel)8.智能模型(四代技术(4GL))9.混合模型(hybridmodel)10.各种模型的比较11.各种模型的优点和缺点展开编辑本段类型简介瀑布模型 最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。该模型给出了固定的顺序,将生存期活动从
4、上一个阶段向下一个阶段逐级过渡,如同流水下泻,最终得到所开发的软件产品,投入使用。但计算拓广到统计分析、商业事务等领域时,大多数程序采用高级语言(如FORTRAN、COBOL等)编写。瀑布模式模型也存在着缺乏灵活性、无法通过并发活动澄清本来不够确切的需求等缺点。常见模型 演化模型、螺旋模型、喷泉模型、智能模型等。编辑本段典型的开发模型综述 典型的开发模型有:1.边做边改模型(Build-and-FixModel);2.瀑布模型(WaterfallModel);3.快速原型模型(RapidProto
5、typeModel);4.增量模型(IncrementalModel);5.螺旋模型(SpiralModel);6.演化模型(incrementalmodel);7.喷泉模型(fountainmodel);8.智能模型(四代技术(4GL));9.混合模型(hybridmodel)边做边改模型(Build-and-FixModel) 遗憾的是,许多产品都是使用"边做边改"模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改. 边做边改型在这个模型中,开
6、发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。 这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于: (1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改; (2)忽略需求环节,给软件开发带来很大的风险; (3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。
7、瀑布模型(WaterfallModel) 1970年WinstonRoyce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。 瀑布模型瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则
8、该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。 瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于: (1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; (2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; (3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严
此文档下载收益归作者所有