传统软件工程概述.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图0-7 渐增模型示意 R:需求 C/T:编码/测试 D:设计 I/AS:安装和验收支持 D C/T I/AS 中间版本n D C/T I/AS 中间版本1 中间 版本2 D C/T I/AS R 可能的信息流 0.3.3 演化模型 主要针对事先不能完整定义需求的软件项目开发 对需要开发的软件给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软件的最终设计和实现 通常把第一次试验性开发出来的软件称为原型。这种开发模型可以减少由于需求不明给开发工作带来的风险 与渐增模型的区别是:演化模型承认需求不能被完全了解,且不能在初始时就确定。在该模型中,需求一部分被预先定义,然后在每个相继的中间版本中逐步完善 对所有的中间版本,开发过程中的活动和任务通常接同一顺序被重复使用。维护过程和运作过程可以与开发过程平行地使用。获取过程、供应过程、支持过程和组织过程通常与开发过程平行地使用 图1-8 演化模型示意 Rn D C/T I/AS 工作版本n D C/T I/AS 工作版本2 R2 D C/T I/AS 工作版本1 R1 信息流 (细化) R:需求 C/T:编码/测试 D:设计 I/AS:安装和验收支持 0.3.4 螺旋模型 该模型是B. Boehm于1988年提出的,它将瀑布模型与演化模型相结合,并增加了两者所忽略的风险分析 该模型通常用来指导大型软件项目的开发。 它将开发划分为制订计划、风险分析、实施开发和客户评估四类活动。沿着螺旋线每转一圈,表示开发出一个更完善的新的软件版本 如果开发风险过大,开发机构和客户无法接受,项目有可能就此终止;多数情况下,会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品 沿着螺旋线旋转,在笛卡儿坐标的四个象限上分别表达了四类活动 制定计划、风险分析、实施开发、客户评估 图0-9 螺旋模型 原型1 原型2 原型3 可运行 原型 详细设计 编码 实现 单元 测试 集成与 测试 验收 测试 需求 确认 软件 需求 软件 产品 设计 需求计划 设计确认 与验证 生存期 计划 开 发 计 划 集 成 与 测 试 风 险 分 析 风 险 分 析 风 险 分 析 累计成本 提交线 评 审 制定计划 决定目标 方案与限制 风险分析 评价方案、识别 风险、消除风险 客户评估 实施开发 开发、验证下一产品 0.3.5 喷泉模型 是由B. H. So11ers和J. M. Edwards于1990年提出的一种开发模型,主要用于采用面向对象技术的软件开发项目 “喷泉”一词本身就体现了迭代和无间隙的特性 软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分 无间隙是指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限。由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用 图0-10 喷泉模型 演 化 分 析 设 计 实 现 确 认 维 护 0.3.6 智能模型 也称为基于知识的软件开发模型,它是知识工程与软件工程在开发模型上结合的产物 它的维护不在程序一级上进行,把问题的复杂性大为降低,从而可以把精力更加集中于具体描述的表达上,即维护在功能规约一级进行 具体描述可以使用形式功能规约,也可以使用知识处理语言描述等等,因而必须将规则和推理机制应用到开发模型中,所以必须建立知识库,将模型本身、软件工程知识和特定领域的知识分别存入知识库,由此构成某一领域的软件开发系统 获取需求 需求分析 具体描述 优 化 程 序 验 证 维 护 调 整 知识库/ 专家系统 图0-11 智能模型 0.4 软件工程定义 定义一:科学知识在设计和构造计算机程序,以及开发、运作和维护这些程序所要求的有关文档编制中的实际应用 定义二:为了经济地获得软件,这个软件是可靠的并且能在实在的计算机上工作,所需要的健全的工程原理 (方法) 的确立和使用 定义三:1983年IEEE (国际电气与电子工程师协会) 的《软件工程术语汇编》中,将软件工程定义为:对软件开发、运作、维护、退役的系统研究方法 定义四:1990年新版的IEEE《软件工程术语汇编》又将定义更改为:对软件开发、运作、维护的系统化的、有纪律的、可定量的方法之应用,即是对软件的工程化应用 0.4 软件工程定义 软件工程已经是一门交叉性学科,它是解决软件问题的工程,对它的理解不应是静止的和孤立的 软件工程是应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法来创建软件,从而达到提高质量、降低成本的目的 计算机科学和数学用于构造模型、分析算法 工程科学用于制定规范、明确风格、评估成本、确

文档评论(0)

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

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

1亿VIP精品文档

相关文档