网站大量收购独家精品文档,联系QQ:2885784924

软件工程-导论幻灯片.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
听取用 户意见 建造/修改原型 用户测试 运行原型 快速原型 验证 规格说明 验证 设计 验证 编码 测试 综合测试 维护 变化的需求 验证 维护过程 开发过程 原型模型 — 适用情况 用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求; 开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式; …… 原型模型可能是最好的选择 原型模型—存在的问题 用户似乎看到的是软件的工作版本,其实…… 开发者常常需要实现上的折衷,以使原型能够尽快工作。 3. 增量模型(渐增模型) (Incremental Model) 先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。 增量模型 需求分析 验证 规格说明 验证 设计 验证 维护 针对每个构件完成详细设计、编码和集成,经测试后交付给用户 分析 分析 分析 分析 设计 设计 设计 设计 编码 编码 编码 编码 测试 测试 测试 测试 增量1 增量2 增量3 增量4 交付 交付 交付 交付 ● ● ● ● ● 增量模型的优点 在较短时间内向用户提交可完成部分工作的产品,并分批、逐步地向用户提交产品。从第一个构件交付之日起,用户就能做一些有用的工作。 整个软件产品被分解成许多个增量构件,开发人员可以一个构件一个构件地逐步开发。 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。 采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。 使用增量模型的困难 在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。 开发人员既要把软件系统看作整体。又要看成可独立的构件,相互矛盾。 多个构件并行开发,具有无法集成的风险。 4.螺旋模型 (Spiral Model) 产品交付给用户后用户可能不满意; 到了预定的交付日期软件可能还未开发出来; 实际的开发成本可能超过预算; 产品完成前一些关键的开发人员 “跳槽”了; 产品投入市场之前竞争对手发布 了一个功能相近、价格更低的软 件等。 软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件越复杂,承担该项目所冒的风险也越大。例如: 螺旋模型的基本思想 使用原型及其他方法来尽量降低风险。 快速原型 验证 规格说明 验证 设计 验证 编码 测试 综合测试 维护 变化的需求 验证 风险分析 风险分析 风险分析 风险分析 风险分析 风险分析 可看作在每个阶段之前都增加了风险分析过程的快速原型模型。 简化的螺旋模型 图1.8 完整的螺旋模型 螺旋模型 风险 分析 工程 实施 用户通信 用户 评估 产品维护项目 产品增强项目 新产品开发项目 概念开发项目 计划 建造及发布 螺旋模型 优点 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标; 减少了过多测试或测试不足; 维护和开发之间并没有本质区别。 特点 风险驱动 主要适用于内部开发的大规模软件项目 要有具有丰富风险评估专门知识的开发人员,否则风险更大。 * * * 第一个写软件的人是Ada(Augusta Ada Lovelace),在1860年代他尝试为Babbage(Charles Babbage)的机械式计算机写软件。尽管他们的努力失败了,但他们的名字永远载入了计算机发展的史册。 在二十世纪五十年代, 软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。二十世纪六十年代,美国大学里开始出现授予计算机专业的学位,教人们写软件。 * * * 基本过程类包括获取过程、供应过程、开发过程、运作过程、维护过程和管理过程。 支持过程类包括文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程以及问题解决过程。 组织过程类包括基础设施过程、改进过程以及培训过程。 * The Software Engineering Body of Knowledge (SWEBOK) * * 不带反馈环的,基本上是顺序的。因为 --原型系统已通过与用户交互而得到验证。 --开发人员建立原型时已得到很多知识。 本质:快速,第一个系统常常抛弃(理想) 理想上,原型可以作为标示软件需求的一种机制。如果建立了可运行原型,开发者就可以在此基础上试图利用已有

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档