南京大学-软件工程-2软件开发过程模型.ppt

南京大学-软件工程-2软件开发过程模型.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
缺点 ? 无法在项目早期阶段建立项目范围,所以项目 的整体计划、进度调度、尤其是商务协商事宜 无法准确把握; ? 后续迭代的开发活动是在前导迭代基础上进行 修改和扩展的,这容易让后续迭代忽略设分析 与设计工作,蜕变为构建 - 修复方式。 适用性 ? 在实践中,不稳定领域的大规模软件系统开发 适合使用演化模型进行组织。 思考 ? 如果不考虑学习顺序的问题,课程实验能不能使 用演化模型( Evolution )? ? 为什么? 主要内容 ? 软件开发各典型阶段 ? 软件生命周期模型 ? 软件过程模型 ? 构建 - 修复模型 ? 瀑布模型 ? 增量迭代模型 ? 演化模型 ? 原型模型 ? 螺旋模型 ? Rational 统一过程 ? 敏捷过程 原型模型 ? 大量使用抛弃式原型解决需求不确定性的过程模型 ? 抛弃式原型 ? 它通过模拟“未来”的产品,将“未来”的知识置于“现在” 进行推敲,解决不确定性。 ? 演化式原型 ? 在迭代中构建,是系统的核心,并不断扩充,最终成为真正的 软件产品。 设计 实现 测试 交付 清晰需求 原型需求 设计原型 构建原型 评估原型 需求开发 维护 优点 ? 对原型方法的使用加强了与客户、用户的交流, 可以让最终产品取得更好的满意度; ? 适用于非常新颖的领域,这些领域因为新颖所 以有着大量的不确定性。 缺点 ? 原型方法能够解决风险,但是自身也能带来新 的风险,例如原型开发的成本较高,可能会耗 尽项目的费用和时间; ? 实践中,很多项目负责人不舍得抛弃“抛弃式 原型”,使得质量较差的代码进入了最终产品, 导致了最终产品的低质量。 适用性 ? 实践中,原型模型主要用于在有着大量不确定 性的新颖领域进行开发活动组织。 思考 ? 课程实验能不能使用原型模型( Prototyping )? ? 为什么? 主要内容 ? 软件开发各典型阶段 ? 软件生命周期模型 ? 软件过程模型 ? 构建 - 修复模型 ? 瀑布模型 ? 增量迭代模型 ? 演化模型 ? 原型模型 ? 螺旋模型 ? Rational 统一过程 ? 敏捷过程 螺旋模型 ? 螺旋模型的基本思想是尽早解决比较高的风险, 如果有些问题实在无法解决,那么早发现比项 目结束时再发现要好,至少损失要小得多。 ? 风险是指因为不确定性(对未来知识了解有限)而 可能给项目带来损失的情况 ? 原型能够澄清不确定性,所以原型能够解决风险 ? 迭代与瀑布的结合 ? 开发阶段是瀑布式的 ? 风险分析是迭代的 过程描述 螺旋模型 ? 优点 ? 可以降低风险,减少项目因风险造成的损失。 ? 缺点 ? 风险解决需要使用原型手段,也就会存在原型自身 带来的风险,这一点与原型模型相同; ? 模型过于复杂,不利于管理者依据其组织软件开发 活动; ? 适用性 ? 在实践中,螺旋模型在高风险的大规模软件系统开 发中有着较多的应用。 思考 ? 课程实验能不能使用螺旋模型( Spiral )? ? 为什么? When to use the Waterfall Model ? Requirements are very well known ? Product definition is stable ? Technology is understood ? New version of an existing product ? Porting an existing product to a new platform. ? Document Driven When to use the Incremental Delivery Model ? Most of the requirements are known up-front but are expected to evolve over time ? A need to get basic functionality to the market early ? On projects which have lengthy development schedules ? Requirements driven When to use the Evolution Model ? Many of the requirements are unknown up-front or change

文档评论(0)

sandajie + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档