- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 软件工程学概述-2 李建义 1.4 软件过程模型 一、瀑布模型 1.瀑布模型规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码,测试及运行维护,并规定它们按固定顺序自上而下、相互衔接。 一、瀑布模型 一、瀑布模型 2.特征: (1)阶段间具有顺序性和依赖性 第一:必须等前一个阶段的工作完成之后,才能开始后一阶段的工作。 第二:前一阶段的输出文档就是后一阶段的输入文档,所以,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。 (2)推迟实现的观点 事实证明越早进行编码最终完成开发工作所需要的时间反而越长。对于瀑布模型来讲,在编码阶段之前还有分析和设计过程,将逻辑设计与物理设计区分,尽可能推迟程序的物理实现。 (3)质量保证的观点 第一:每个阶段都必须完成规定的文档,没有合格的文档就没有完成该阶段的任务。 第二:每个阶段结束前都要对所完成的文档进行评审,便尽早发现问题,改正错误。 一、瀑布模型 3.缺点: (1)缺乏灵活性。无法解决对软件需求不明确或不准确的问题,开发出来的软件不能满足用户需求,最终的结果就是返工。 (2)瀑布模型是由文档驱动的。文档是静态的,用它很难全面正确地描述动态的软件需求。 4.适用场合:用户需求明确 二、快速原型模型 1.快速原型是快速建立起来的可以在计算机上运行的程序(原型),它所能完成的功能往往是最终产品完成的功能的一个子集。 二、快速原型模型 2.优点: 能满足用户的需求。用户参与开发原型的过程及原型的运行和评价,在这过程中让用户及时提出自已的新要求,开发者对立即进行修改,直到用户满意为止。 3.根据建立原型的目的的不同,通常分为以下三种类型的原型: (1)渐增式原型。 二、快速原型模型 (2)用于验证软件需求的原型。往往用后就丢弃。 (3)用于验证设计方案的原型。将原型作为新设计思想的实现工具,开发软件部分原型。 三、增量模型 1.增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 增量开发:按一定的时间间隔开发部分软件 增量提交:软件分多个部分逐步提交给用户使用 三、增量模型 图1.6 风险更大的增量模型 一旦确定用户需求后,分构件进行需求规格说明编写、设计、编码等工作。 三、增量模型 2.优点: (1)能在较短的时间内向用户提交可完成部分工作的产品。 (2)逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。 3.缺点:要求软件体系结构必须是开放式的。否则会造成整个软件无法集成。 四、螺旋模型 在瀑布模型和原型模型的基础上加入风险分析。 四、螺旋模型 四、螺旋模型 优点: 有利于软件重用,提高软件质量 减少了过多测试或测试不足带来的风险 适用场合: 用于内部开发的大规模软件项目 五、喷泉模型 1.是典型的面向对象软件开发模型,是一种以用户需求为动力,以对象作为驱动的模型,适合面向对象的开发方法,着重强调不同阶段之间的重叠,不需要或不应该严格区分不同的开发阶段。 2.喷泉模型将软件开发过程划分为系统分析、系统设计、对象设计与实现、测试和系统组装集成五个阶段。 四、喷泉模型 六、统一过程 1.指使用统一建模语言UML,采取用例驱动和架构优先的策略。采用迭代增量建造方法。 2.RUP把软件开发过程划分为多个循环,每个循环生成产品的一个新版本。每个循环都由初始阶段、细化阶段、构造阶段和提交阶段四个阶段组成。每个阶段是一个小的瀑布模型,要经过分析、设计、编码、集成和测试等阶段。 结论:结构化方法可使用瀑布模型、增量模型和螺旋模型进行开发;面向对象方法学可采用快速原型、喷泉模型和统一过程进行开发。 七、敏捷过程与极限编程 1.敏捷过程价值观 (1)个体和交互胜过过程和工具 团对成员的合作、沟通以及交互能力要比单纯的软件编程能力更重要 (2)可以工作的软件胜过面面俱到的文档 (3)客户合作胜过合同谈判 能指导开发团队和客户合作的的合同才是最好的合同 (4)响应变化胜过遵循计划 应该有足够的能力及时响应变化 七、敏捷过程与极限编程 2.极限编程 极限:把好的开发实践运用到极致 应用:需求模糊且经常改变的场合 3.极限编程的有效实践 客户作为开发团队的成员 使用用户素材 短交付周期 验收测试 结对编程 测试先行:先编测试用例、再编程 代码集体所有 七、敏捷过程与极限编程 八、微软过程模型 本章小结 了解:
您可能关注的文档
最近下载
- 主题班会《远离手机》.pptx VIP
- 2022-2023学年杭州市萧山区数学四下期末学业水平测试模拟试题含解析.doc VIP
- X8线切割编控系统使用说明书V14.pdf
- 零售基础:人工智能在新零售应用场景PPT教学课件.pptx VIP
- 04S519小型排水构筑物.docx VIP
- 2025年全国统一高考物理试卷(全国卷ⅰ)(含解析版)(2) .pdf VIP
- 《第2课 人工智能的安全与防范》参考教案.pdf VIP
- CECS802006塔桅钢结构工程施工质量验收规程.pdf
- 桥梁工程课程设计任务书2.doc VIP
- 云南省昆明市盘龙区2022-2023学年五年级下学期期末语文试卷.docx VIP
文档评论(0)