第1部分 软件工程概述.pptVIP

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1部分 软件工程概述

第1部分 软件工程概述 学习目标 了解软件危机产生的背景 掌握软件工程的概念及其研究内容 熟悉软件工程过程和软件生存周期 软件危机的产生 软件的定义与特点 软件的发展历史 软件危机的现象和原因 软件的定义与特点 软件的定义 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 Software = Program + Data + Document 软件的特点 软件是逻辑的,而不是物理的产品。 逻辑往往实际只存在于人的头脑当中,软件人员好比“皇帝的新衣”故事中的裁缝,软件的开发过程极难加以控制。 软件是由开发或工程化而形成的,没有明显的制造过程。 软件成本集中于“开发上,意味着软件项目不能象硬件制造项目那样来管理。 软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。 大多数软件是自定的,而不是通过已有构件组装而成的。 迄今为止,软件的开发尚未完全摆脱手工的方式。 软件成本相当昂贵。 IBM360操作系统的研制人员最多时可达1000多人,从1963年到1966年共花了四年时间才完成,总计耗费5000多人年,以后又进行不断的修改和补充。该系统的整个研制费用为5亿美元,其中近一半花在软件上。 微软开发windows XP开发花费超过了制造一架波音飞机的成本 软件本身是复杂的。 微软开发windows NT4.0发布时源程序的代码超过40,000,000行. 软件的发展历史 早期阶段 用途:科学计算 程序的质量完全依赖于程序员个人的技巧. 第二阶段 多用户引入了人机交互的新概念 实时系统 使进程的控制和输出以毫秒而不是分钟来计算 在线存储的发展产生了第一代数据库管理系统 第三阶段 始于70年代中期,分布式、网络的发展极大地提高了计算机系统的复杂性。 软件工作量估计COCOMO模型、软件过程改进模型CMM等 第四阶段 强大的桌面系统和计算机网络迅速发展时期,计算机体系结构由中央主机控制为客户机/服务器方式 面向对象技术在许多领域迅速取代了传统软件开发方法 软件发展的根本变化 人们改变了对软件的看法 个人化程序 工程化产品 软件=程序 软件=程序+数据+文档 软件的需求是软件发展的动力 自给自足 市场流通以满足用户的需要 软件工作的考虑范围发生根本变化 只顾及程序的编写 涉及整个软件生存周期 软件质量的概念发生变化 单纯的产品质量 产品质量+过程质量 软件危机的现象和原因 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 如何开发软件,以满足不断增长,日趋复杂的需求; 如何维护数量不断膨胀的软件产品。 软件危机主要表现 (1)对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。 (2)用户对“已完成”系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。Bug一大堆,Patch一个接一个。 (4)软件的可维护程度非常之低。 软件危机主要表现 (5)软件通常没有适当的文档资料。 (6)软件的成本不断提高。 (7)软件开发生产率的提高赶不上硬件的发展和人们需求的增长。 软件危机的原因 软件本身的特点有关 软件开发和维护的方法不正确有关 忽视软件开发前期的需求分析; 忽视测试阶段的工作,提交用户的软件质量差; 在1985年到1987年之间,至少有2个病人是死于Therac-25医疗线性加速器的过量辐射,其原因是控制软件中的一个故障。1965年至1970年,美国范登堡基地发射火箭多次失败,绝大部分出于控制系统的故障,一个小小的疏漏往往会造成上千万美元的损失。 轻视软件的维护。 开发过程没有统一的、规范的方法论的指导,文档资料不齐全,忽视人与人的交流; 60%~70%的错误都是规格说明和设计错误 无人太空计划软件统计结果 平均每页规格说明文档有大概1.9 个错误 每页设计文档有大概0.9个错误 每页代码只有约0.3个错误 Bhandari et al. [1994]等报告中给出了一组新的数据 只有13%的错误是从编译器的前一个版本带来的 16%的错误是在规格说明阶段产生的 71%是在设计阶段产生的 提高规格说明和设计技术非常重要。减少10%的规格说明和设计错误,就意味着减少整个错误数的6%-7% 消除软件危机的途径 对计算机软件有一个正确的认识 (软件≠程序) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档