1概述-2开发模型.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1概述-2开发模型

复习 了解软件危机 了解软件的特征 掌握软件的概念 掌握软件工程的概念和三大要素 掌握软件开发方法 掌握软件工程生命周期 1.4 软件开发过程 开发软件需要解决: Who When What How 生命周期模型(过程模型): 是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 1.4.1 瀑布模型 1、基本思想:瀑布模型规定了各项软件工程活动。并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 2、瀑布模型特点 阶段间具有顺序性和依赖性 前一个阶段完成,才能开始后一阶段。 前一阶段的输出文档是后一阶段的输入文档,所以,前一阶段的输出文档正确,后一阶段的工作才能获得正确结果。 推迟实现的观点 事实证明越早编码最终完成开发所需时间越长。对于瀑布模型,在编码之前有分析和设计过程,将逻辑设计与物理设计区分,尽可能推迟程序的物理实现。 质量保证的观点 每阶段都必须完成规定的文档 每阶段结束前都要对所完成的文档进行评审,尽早发现问题,改正错误。 3、优缺点 优点: 每个阶段都提供文档,由负责小组仔细审查 缺点: 缺乏灵活性。无法解决对软件需求不明确或不准确的问题,开发出来的软件不能满足用户需求,最终的结果就是返工。 文档驱动。文档是静态的,用它很难全面正确地描述动态的软件需求。 总之,太理想化。 适用:用户需求明确的项目 1.4.2 快速原型模型 1、基本思想:根据用户需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在用户提出评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到开发人员和用户都确认需求并达成一致的理解为止。 采用原型模型的软件生存周期 2、优缺点 优点: 与用户见面快,满足用户需求,开发成功率高 缺点: 软件开发速度慢,成本高 适用:需求较难或不明确的项目,用户要求 3、原型分类 根据建立原形的目的的不同,通常分为以下三种类型的原型: 渐增式原型:增量模型 用于验证软件需求的原型。往往用后就丢弃。 用于验证设计方案的原型。将原型作为新设计思想的实现工具,开发软件部分原型。 1.4.3 增量模型 1、基本思想:先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 增量开发:按一定的时间间隔开发部分软件 增量提交:软件分多个部分逐步提交给用户使用 风险更大的增量模型 2、优缺点 优点: 短时间内可提交完成部分功能的产品。 逐渐增加产品功能,用户适应产品快。 缺点: 增量构件划分以及集成困难。 适用:时间要求紧,经验丰富,短时间用户需要使用部分功能 1.4.4 螺旋模型 1、基本思想:使用原型及其他方法来尽量降低风险。 理解此模型的简便方法是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。 2、特点 “基于版本发布”的特点 3、优缺点 优点: 利于把软件质量作为软件开发目标 减少测试 维护和开发不分开 缺点: 风险估计困难 适用:大规模软件项目 1.4.5 喷泉模型 基本思想: 是典型的面向对象软件开发模型,是一种以用户需求为动力,以对象作为驱动的模型,适合面向对象的开发方法,着重强调不同阶段之间的重叠,不需要或不应该严格区分不同的开发阶段。 结论 结构化方法学可使用瀑布模型、增量模型和螺旋模型进行开发; 面向对象方法学可采用快速原型、喷泉模型和统一过程进行开发。 【例】 假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么? 答:对此项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择模型时、应着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。 此项目是开发已被广泛应用的字处理软件的新版本,因此至少可以得出3点结论: 第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求; 第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平; 第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。 其他模型 Rational统一过程(RUP) 指使用统一建模语言UML,采取用例驱动和架构优先的策略。采用迭代增量建造方法。 RUP把软件开发过程划分为多个循环,每个循环生成产品的一个新版本

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档