计算机系统工程软件工程基础.ppt

  1. 1、本文档共323页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统工程软件工程基础

计算机系统工程 软件危机... 计算机硬件性能/价格比和质量稳步提高 软件成本逐年上升,质量没有可靠的保证 软件已成为限制计算机系统发展的关健因素 将软件开发和维护过程中遇到的一系列严重问题统称为“软件危机” 在60年代后期开始认真研究解决软件危机的方法,逐步形成了新兴的计算机软件工程学 ...软件危机 什么是软件危机? 软件危机是指在计算机软件的开发和维护中所遇到的一系列严重问题。 几乎所有软件都不同程度地存在这些问题 概括地说软件危机包含两方面问题: 如何开发软件,怎样满足对软件的日益增长的需求 如何维护数量不断膨胀的已有软件 软件危机主要表现 1.对软件开发成本和进度的估计很不准确 2.用户对“已完成的”软件不满意的现象经常发生 3.软件产品的质量靠不住 4.软件不可维护 5.软件没有适当的文档资料 6.软件成本占计算机系统总成本的比例逐年上 升 7.软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势 产生软件危机的原因 一方面与软件本身的特点有关 在软件运行前,软件开发过程的进展难衡量,质量难 评价,因此管理和控制软件开发过程相当困难; 在软件运行中,软件维护意味着改正或修改原来的设计,较难维 护; 软件的显著特点是规模庞大,复杂度超线性增长。要保证高质量 大型软件的开发,极端复杂困难,不仅涉及技术问题(如分析方 法、设计方法、版本控制),更重要的是必须有严格而科学的管理。 另一方面与软件开发和维护方法不正确有关,这是主要原因。 特别是忽视软件需求分析的重要性 忽视软件需求分析的重要性 对用户要求没有完整准确的认识就匆忙着手编写程序 软件开发与编程等同 忽略文档 软件定义不明 轻视维护 计算机软件 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 对软件开发的错误认识(1) 已经有了关于建造软件的标准和规程 使用了吗? 开发者知道吗? 适用吗? 完整吗? 已经有了很好的软件开发工具 还需要计算机辅助软件工程(CASE)工具 对软件开发的错误认识(2) 如果计划落后,可以增加人员赶回来 给一个已经延迟的软件项目增加人手只会使其更加延迟 原有人员需要抽实践训练新手 有了目标的一般描述就可以开始写程序 不完善的系统定义是项目失败的主要原因 对软件开发的错误认识(3) 项目需求不断变化,但软件很灵活,变化能够很容易地得到满足 软件需求的变化确实是经常的,但其产生的影响随着引入的时间不同而不同 写出程序并使其正常运行,工作就结束了 越早开始写程序,就要花越长时间才能够完成 对软件开发的错误认识(4) 在程序真正开始运行前,无法评估其质量 正式的技术评审 质量过滤器 成功项目唯一应该提交的就是运行程序 软件=程序+文档+数据 文档是成功开发的基础 文档为维护提供指导 解决办法... 全 面解决软件危机需要一 系列综合措施: 在软件研制的各个阶段采用好的工具; 对软件的实现提供有效的构件块; 为保证软件质量提供自动设计技术; 以及为协调、控制、管理提供基本理论和技术——软件工程。 ...解决办法 软件工程这一要素将驾驭前面的工具、构件决和技术 软件工程把管理、控制、评审等方法与分析、设计、编码、测试、维护等技术结合起来 没有坚实的软件开发方法学,即使最先进的工具和技术也不能使软件危机有所减轻 软件工程—工程化方法 用于解决任何产品开发的一种工程化方法是: 要求在定义、开发和维护阶段的每一步中都采用经过验证的方法 要求一系列的复查,以便在产品开发中保证质量 规定在每一步中要产生的特定的文档 鼓励能够加速开发的各种工具和方法的使用与研制 提供从原始产品概念到最后产品制造的一个可追溯的途径 软件工程是使计算机软件走向工程科学的途径 软件工程—软件工程定义 软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则。(Fritz Bauer 1969) 软件工程是应用于计算机软件的定义、开发和维护的 一整套方法、工具、文档、实践标准和工序。(GB) 软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)(1)中所述方法的研究。(IEEE93) 软件工程是模仿在硬件研制中行之有效的一套计划、管理、技术、方法,基于软件的生存期概念而建立起来的。 ...软件工程 质量焦点:任何工程方法必须以有组织的质

文档评论(0)

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

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

1亿VIP精品文档

相关文档