slide01 - Overview.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 软件工程概念 概 述 软件在当今社会中发挥着重要的作用 –社会经济的发展依赖于软件 –更多的系统需要软件控制,软件质量和成本成为关键因素 软件工程关注于开发成本和软件质量问题 –软件工程的概念开始于1968 年的NATO 会议 –至今尚未解决大型复杂软件开发的问题 软件工程是一个正在兴起的年轻学科 –工业界形成了CMM 和ISO9000 系列标准 –IEEE 提出了软件工程知识体系 –IEEE 提出了软件工程本科教程,成为独立学科 一些基本问题 什么是软件? 如何理解软件的质量特性? 什么是软件工程? 什么是软件过程? 什么是软件过程模型? 什么是软件工程方法? 什么是CASE? 当前软件工程面临什么挑战? 软件工程学科与哪些学科相关 内容提纲 软件 软件定义与软件危机 软件的本质特性 软件工程 定义与发展历史 理解软件质量 过程、方法和工具 软件工程学科 软件工程知识体系 软件工程职业道德规范 什么是软件 软件=程序? 软件的定义 软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。 从软件的内容来说,软件更像是一种嵌入式的数字化知识,其形成是一个通过交互对话和抽象理解而不断演化的过程。 软件分类 通用软件(Generic Sofeware) –通用软件是由软件开发组织开发,面向市场用户公开销售的独立运行系统,有时也被称为套装软件。 –举例:操作系统、数据库系统、字处理软件等 定制软件(Customized Software) –定制软件是由某个特定客户委托,软件开发组织在合同的约束下开发的软件。 –举例:企业ERP 系统、卫星控制系统、空中交通指挥系统等 软件的应用 举例 实时系统: 空中交通控制系统 嵌入式系统: 数码相机,GPS 数据处理系统: 电话帐单,退休金 信息系统: 网站,数字图书 传感系统: 气象数据 系统软件: 操作系统,编译器 通信软件: 路由器,移动电话 办公系统: 文字处理,视频会议 科学计算软件: 仿真模拟,天气预报 图形软件: 电影制作,CAD 设计 软件危机 软件危机出现于20世纪60年代 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜 软件存在着错误多、性能低、不可靠、不安全等质量问题 软件维护极其困难,而且很难适应不断变化的用户需求和使用环境 软件错误的实例 ARIANE 5 火箭 1996 年6 月,耗资70 亿美元,发射37秒后爆炸 发射失败的原因在于软件的错误 软件错误 程序中试图将64 位浮点数转换成16 位整数时产生溢出 缺少错误处理程序对数据溢出进行管理 严格地遵守软件确认过程可以避免这种错误 软件错误的实例 爱国者导弹 曾在海湾战争期间对抗伊拉克飞毛腿导弹 1991年2月,一次对抗失利中28名美国士兵丧生 问题的症结在于导弹软件包含一个累加计时误差 软件错误 target= f(velocity, time) 计时采用系统时钟(即1/10 秒)并使用整数表达 (1/10)2= 0.0001100110011001100110011001100…,24 位寄存器存储导致误差(0.000000095)10 –0.000000095×100 hours×60×60×10 = 0.34 seconds 软件错误的实例 Therac25 放射医疗仪事故 1986年由于软件错误导致放射过量,2人死亡 溢出错误是导致问题的主要原因之一 千年虫问题 迫于计算机存储空间的限制,程序员将日期缩减为2位数 世界各地更换或升级2000年问题软件的花费超过数亿美元 其他 电子邮件的病毒 拒绝访问等的网络攻击 网络事务的安全问题 软件的本质特性 No silver bullet: essence and accidents of software engineering Fred Brooks,IBM OS360 项目经理 1999 年图灵奖获得者 “没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量上的进步。” 软件的本质特性 复杂性(Complexity ) 一致性(Conformity ) 可变性(Changeability ) 不可见性(Invisibility ) 软件的本质特性 - 复杂性 软件在规模上可能比任何由人类创造的其他实体都要复杂,复杂性是软件的本质特性。 软件的复杂性是必要属性 大量的组合状态 丰富的结构和相互依赖性 良好的接口用以封装内部的复杂性 开发问题也会增加复杂性 高效率的代码通常是复杂的 重用通用化的

文档评论(0)

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

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档