- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * 软件工程Software Engineering 主讲:侯晓芳 houxf1208@163.com * 了解软件危机 掌握软件的概念 掌握软件工程的概念 掌握软件开发方法 掌握软件工程生命周期 复习 1.4 软件过程模型 软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 使用软件生命周期对软件过程简洁地描述。 1.瀑布模型 (线形顺序模型) 基本思想:瀑布模型规定了各项软件工程活动。并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 * 1.瀑布模型 (线形顺序模型) 可行性研究与计划 需求分析 设计 编码 运行维护 测试 计划 阶段 开 发 阶 段 维护阶段 传统瀑布模型的特点: 1.阶段间具有顺序性和依赖性。 2.尽可能推迟软件的编码。 事实证明越早编码最终完成开发所需时间越长。对于瀑布模型,在编码之前有分析和设计过程,将逻辑设计与物理设计区分,尽可能推迟程序的物理实现。 3.质量保证的观点 每阶段都必须完成规定的文档 每阶段结束前都要对所完成的文档进行评审,尽早发现问题,改正错误。 1.瀑布模型 (线形顺序模型) 1.瀑布模型 (线形顺序模型) 优点:强迫开发人员采用规范的方法;每个阶段都必须提供文档;都必须经过负责小组仔细审查。 缺点: 缺乏灵活性,返工现象严重。用户很难确切地给出需求,后期修改困难。 文档驱动。文档是静态的,用它很难全面正确地描述动态的软件需求。客户难于理解和阅读,导致不能满足实际需求。 总之,太理想化。 适用:用户需求明确的项目 * 2.快速原型模型 基本思想:根据用户需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在用户提出评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到开发人员和用户都确认需求并达成一致的理解为止。 * 2.快速原型模型 建造/修改 原型 用户测试 运行原型 听取用 户意见 运 行 和维护 分析定义 系统需求 生成 原型 系统 设计 程序 设计 编码 测试 原型化 含原型化的 软件生存期 采用原型模型的软件生存周期 2.快速原型模型 优点: 与用户见面快,开发成功率高。 缺点: 软件开发速度慢,成本高,开发过程不便于管理。 为了使原型尽快地工作,没有考虑软件的总体质量。 为了演示可能采用不合适的操作系统、编程语言、效率低的算法。 适用:需求较难或不明确的项目,用户要求 * 2.快速原型模型 根据建立原形的目的的不同,通常分为以下三种类型的原型: 渐增式原型:增量模型 用于验证软件需求的原型。往往用后就丢弃。 用于验证设计方案的原型。将原型作为新设计思想的实现工具,开发软件部分原型。 * 3.增量模型(渐增模型) 基本思想:先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 增量开发:按一定的时间间隔开发部分软件 增量提交:软件分多个部分逐步提交给用户使用 * 3.增量模型(渐增模型) * 3.增量模型(渐增模型) 风险更大的增量模型 * 构件2 构件1 构件n 交付客户 分析 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 分析 设计 编码 测试 构件3 构件n 构件1 交付客户 构件2 交付客户 构件3 交付客户 …… 优点: 适合开发人员分组并行开发 短时间内可提交完成部分功能的产品 逐渐增加产品功能,用户适应产品快 缺点: 增量构件划分以及集成困难。 适用:时间要求紧,经验丰富,短时间用户需要使用部分功能 3.增量模型(渐增模型) 4.螺旋模型 基本思想是使用原型及其他方法来尽量降低软件风险。 理解此模型的简便方法是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。 4.螺旋模型 4.螺旋模型 “基于版本发布”的特点 * V1.0 功 能 时间 V2.0 V1.1 4.螺旋模型 优点: 利于把软件质量作为软件开发目标 减少测试 维护和开发不分开 困难: 风险估计困难 适用:大规模软件项目 5.喷泉模型 基本思想: 是典型的面向对象软件开发模型,是一种以用户需求为动力,以对象作为驱动的模型,适合面向对象的开发方法,着重强调不同阶段之间的重叠,不需要或不应该严格区分不同的开发阶段 * 图中代表不同阶段的圆圈相互重叠,这明确表示两个活动之间存在交迭;而面向对象方法在概念和表示方法上的一致性,保证了在各项开发活动之间的无缝过渡。图中在一个阶段内的向下箭头代表该阶段内的迭代(或求精)。 5.喷泉模型 Rational统一过程(RUP) * 指使用统一建模语言UM
文档评论(0)