软件工程课件Ch_2 软件过程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识回顾 软件的概念和特性 软件危机 软件工程的概念与三要素 软件工程知识体系 问题 如果让你来组织一个软件项目的开发,你认为首先你所关注的问题是什么? 项目案例 案例角色和人物 软件开发需要过程(1/3) 由于时间紧迫,小王需要马上展开软件项目的开发工作,但是他现在面临一系列头痛的问题: 软件项目的开发要做哪些方面的工作? 这些工作应该按照什么样的次序开展进行?这些工作完成后将产生什么样的结果?按照什么样的规范来书写这些内容? 如何让员工知道要做哪些工作? 软件开发需要过程(2/3) 小王向老王寻求帮助,老王告诉小王公司以前从来没有这些方面的记录,各个项目组都从零开始制定自己的软件开发过程,但都没有形成文档。 经过慎重考虑,小王向老王建议: 项目组需要定义软件开发过程。 公司需要一个良好定义、文档化的软件开发过程,以便于支持不同项目组的开发工作。 老王同意小王的建议,并要求他制定和文档化一个针对公司特点、并且能满足大部分软件项目需求的软件开发过程。 软件开发需要过程(3/3) 于是,小王只好找了一大堆的资料,带着许多疑问和困惑,考虑和制订项目开发的过程和活动。 什么是软件开发过程? 如何清晰、准确、规范地对它加以定义? 如何根据公司的特点,制定软件开发过程? 如何不断地改进软件开发过程? …… 2.1 软件过程的概念 什么是过程? 软件开发过程的组成 软件开发活动 软件开发活动间的关系(执行和实施的序) (1) 瀑布模型 (2) 快速原型模型 Why 用户不能明确需求 开发人员不确认方案的可行性 软件人员和用户难以沟通 难以预期系统运行的效果 ………… (2) 快速原型模型 What? 软件的一个早期可运行版本,反映最终系统的部分、重要特性 快速实现,投入运行 表现出目标系统的功能和行为特性,但不需符合全部的实现需求—功能和性能上的取舍 原型模型的优点 加强用户和软件人员之间的沟通,明确系统的需求,“共同语言” 尽早得到系统可用性的反馈信息,及时修改以获得完整、正确需求 原型模型的缺陷 用户会由于看到的原型系统不完善,而对产品产生怀疑 可能为了快速开发原型系统,而采用未经充分论证的技术(如操作系统平台、主要的算法) (2) 快速原型模型 原型系统类型 探索型:需求分析初期,明确开发目标 实验型:大规模开发和实现之前,考核方案 进化型:使系统易于变化,逐步演化成目标系统 原型系统的使用策略 废弃策略 追加策略(演化) (3) 增量模型 作业 什么是软件过程? 软件过程的基本活动有哪些?分别简要进行说明。 什么是软件过程模型?有哪些常见的软件过程模型?分别简要说明其特点。 ? 软件过程 基本概念 基本活动:需求工程、软件开发、测试和演化 ? 案例:微软公司软件开发过程模型 内容提纲 ? 软件过程模型 瀑布模型 快速原型模型 增量模型 螺旋模型 形式化方法模型 基于组件的开发模型 2.2 软件过程模型 软件过程模型描述软件过程的整体框架,是软件过程的一种抽象表示。 需求分析 软件设计 编码 测试 软件定义 特点: 开发阶段严格按照线性方式进行 阶段间有因果关系 每个阶段需评审确认 允许反馈 强调文档 适合场所 需求易于完善定义的软件 需求分析 软件实现 软件测试 运行维护 软件设计 W. Royce,1970 ? 挑战 – 实际的项目开发很少是线性的过程,客户很难明确地描述软 件需求 ? 缺点 – 各个阶段的划分完全固定,阶段之间产生大量的文档,极大 地增加了工作量 – 开发过程中很难响应客户的变更要求 – 早期的错误可能要等到开发后期的测试阶段才能发现,进而 带来严重的后果 (1) 瀑布模型 ? 快速原型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识。 (2) 快速原型模型 特点 有效适应用户需求的变化 不知循环多少次,进度难以控制 适合场所 需求动态变化、难以确定的软件系统 ? 目的 – 减少开发风险和需求不确定性 ? 缺点 – 原型系统的内部结构可能不好 – 开发人员需要掌握建立快速原型的开发技术和工具 ? 适用 – 小型或中等规模的交互式系统 – 大型系统的某些部分,例如用户界面 – 生命周期较短的系统 (2) 快速原型模型 定义 框架需求 设计 体系结构 增量 1 (核心产品) 分析 设计 编码 测试 交付 增量 2 分析 设计 编码 测试 交付 增量 n 分析 设计 编码 测试 交付 最终 软件系统 (3) 增量模型 Incremental Development ? 优点 – 整个产品被分解成若干个构件逐步交付,用户可以不断地看 到所开发软件的可运行中间

文档评论(0)

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

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

1亿VIP精品文档

相关文档