版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 软件工程概述1.1 软件危机软件缺陷引发的严重后果一触即发的第三次世界大战一触即发的第三次世界大战 1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。 1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报,后来事实证明的确是误报。 幸亏这些误报没有激活“核按钮”。在上述两个案例中,如果对方真的发起反击,核战争将全面爆发,后果不堪设想。软件缺陷引发的严重后果致命的辐射治疗致命的辐射治疗 1985到1987年,Therac-25辐射治疗设备卷入多宗因辐射剂量严重超标引发的医疗事故,其罪魁
2、祸首是医疗设备电力软件的Bug。据统计,大量患者接受高达100倍的预定剂量(治疗),其中至少3人直接死于辐射剂量超标。 另一宗辐射剂量超标的事故发生在2000年的巴拿马城(巴拿马首都)。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。软件缺陷引发的严重后果阿丽亚娜阿丽亚娜5 5型火箭的杯具处女秀型火箭的杯具处女秀 1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运载4颗太阳风观察卫星到预定轨道,但因软
3、件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。 后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。软件缺陷引发的严重后果消失在太空消失在太空 美国航宇局1999年10月2日宣布,由于研制“火星气候探测器”的公司提供的数据是英制,而航宇局的地面导航者们又以为是公制,两种制式的差异以及地面控制中心又未能及时发现这一问题,导致探测器从距离火星表面130英尺的高度垂直坠毁。此项工程成本耗费3.27亿美元,这还不包括损失的时间(该探测器从
4、发射到抵达火星将近一年时间)。软件缺陷引发的严重后果2009年2月Google的Gmail故障,是最近因软件故障而受到广泛关注的事件。据Google后称,那次故障是因数据中心之间的负载均衡软件的Bug引发的。 Gmail故障还仅是导致用户几个小时内无法访问邮箱,并没有造成伤亡。IE7 XML解释引擎出现溢出漏洞,造成不得不掐断物理连接网络。在这个XML漏洞的攻击代码已经散播后,微软化了三个星期修复,上海政府很多保密部门不得不物理断网以等待修复.软件缺陷引发的严重后果12306网站于2011年6月1日正式上线,在2012年春节期间就因为访问量过大而出现瘫痪。大量用户无法登录,页画刷新时间长达30
5、分钟,定票付了款却无法购票。不少购票者无奈地怒斥12306网站形同虚设。2012年9月,12306网站在中秋国庆长假来临之前再一次瘫痪。 失 效 率 曲 线 硬、软件成本比例变化19951995 时期 特点 程序设计 程序系统 软件工程 软件所指 程序 程序及说明书 程序、文档及数据 程序设计语言 汇编及机器语言 高级语言 软件语言* 软件工作范围 程序编写 包括设计和测试 软件生存期 需求者 程序设计者本人 少数用户 市场用户 开发组织 个人 开发小组 开发小组及大、中型软件开发机构 软件规模 小型 中、小型 大、中、小型 决定质量因素 个人程序设计技术 小组技术水平 管理水平 开发技术手段
6、 子程序、程序库 结构化程序设计 数据库,开发工具,开发环境,工程化开发方法,标准和规范 维护责任者 程序设计者 开发小组 专职维护人员 硬件特征 价格高,存储容量小,工作可靠性差 降价,速度、存储容量及可靠性有明显提高 向超高速、大容量、微型化及网络化方向发展 软件特征 完全不受重视 软件技术的发展不能满足需求,出现软件危机 开发技术有进步,但未获突破性进展,价格高,未完全摆脱软件危机 需需求求分分析析结结构构设设计计详详细细设设计计编编码码集集成成测测试试系系统统测测试试现现场场改正改正一个一个问题问题的估的估计费计费用用改正改正一个一个问题问题估计估计的工的工作量作量2020200200
7、20002000100010005.05.02.52.50.050.050.50.5( (美元美元) )( (人天人天) )软软件件工工程程主主要要研研究究内内容容软件工程的三个要素软件工程的三个要素软件工程包括三个要素:方法、工具和软件工程包括三个要素:方法、工具和过程。过程。1 1)软件工程方法为软件开发提供了软件工程方法为软件开发提供了“如如何做何做”的技术。的技术。2 2)软件工具为软件工程方法提供自动的软件工具为软件工程方法提供自动的或半自动的软件支撑环境。或半自动的软件支撑环境。3 3)软件工程过程指将软件工程的方法和软件工程过程指将软件工程的方法和工具综合起来,以达到合理、及时地
8、进工具综合起来,以达到合理、及时地进行计算机软件开发的目的。行计算机软件开发的目的。 软件工程关注大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐的合作是开发软件的关键 软件必须有效地支持它的用户 在软件工程领域中是由具有一种文化背景的替具有另一种文化背景的人创造产品软件工程特性阶段阶段关键问题关键问题结束标准结束标准问题定义问题定义要解决的问题是什么?要解决的问题是什么?关于规模和目标的报告书关于规模和目标的报告书可行性研究可行性研究有可行的解吗?有可行的解吗?系统的高层逻辑模型系统的高层逻辑模型需求分析需求分析系统必须做什么?系统必须做什么?系统的
9、逻辑模型系统的逻辑模型总体设计总体设计概括地说,应该如何解决这概括地说,应该如何解决这个问题?个问题?系统层次图或结构图系统层次图或结构图详细设计详细设计怎样具体地实现这个系统?怎样具体地实现这个系统?编码规格说明编码规格说明编码和单元测试编码和单元测试正确的程序模块正确的程序模块源程序、单元测试方案和源程序、单元测试方案和结果结果综合测试综合测试符合要求的软件符合要求的软件综合测试方案和结果、软综合测试方案和结果、软件配置件配置维护维护持久地满足拥用户需要持久地满足拥用户需要维护记录维护记录瀑布模型瀑布模型听取用听取用户意见户意见建造建造/ /修改修改 原型原型用户测试用户测试运行原型运行原
10、型螺旋模型螺旋模型 1. 最佳实践(6条最有效软件开发经验)2. RUP(Rational Unified Process)软件开发生命周期 1. 敏捷过程(敏捷软件开发宣言)2. 极限编程(eXtreme Programming)XP项目的整体开发过程 XP迭代开发过程 1. 微软过程准则2. 微软软件生命周期3. 微软过程模型 也称为也称为软件开发方法,这类开发方法都典型地包软件开发方法,这类开发方法都典型地包含了分析、设计、实现、确认(测试)、演化(维护)等活动。含了分析、设计、实现、确认(测试)、演化(维护)等活动。 典型的传统软件开发方法有:典型的传统软件开发方法有: JacksonJackson方法、结构化开发方法、原型化方法、方法、结构化开发方法、原型化方法、HIPOHIPO法、法、IDEFIDEF法等。法等。 其基本思想是:其基本思想是:对问题领域进行自然的分割,以更接近人类对问题领域进行自然的分割,以更接近人类通常思维的方式建立问题领域的模型,以便对客
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年项目管理流程与方法指南-1
- 企业环境保护管理制度与操作手册
- 电影院广告宣传与播放规定制度
- 人力资源管理创新与效能提升(标准版)
- 超市员工福利及慰问制度
- 菜地管理规章制度
- 办公室员工培训效果评估反馈制度
- 养老院老人健康监测报告制度
- 中国东方电气集团有限公司2025年校园招聘备考题库有答案详解
- 养老院家属探访制度
- 电力线通信技术
- 人工流产手术知情同意书
- 2024年湖南生物机电职业技术学院单招职业技能测试题库及答案解析
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 工程项目施工计划书
- 2023-2024学年深圳市初三中考适应性考试英语试题(含答案)
- 人教新起点英语五上《Unit5shopping》课件-课件
- 各品牌挖掘机挖斗连接尺寸数据
- GB/T 38697-2020块菌(松露)鲜品质量等级规格
- 三菱FX3U系列PLC编程技术与应用-第二章课件
- RoHS培训资料课件
评论
0/150
提交评论