Ch1_软件开发过程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TDD - Test-Driven Development测试驱动开发 Write a test for new capability Start Compile Fix compile errors Run the test And see it fail Write the code Run the test And see it pass Refactor as needed Zhu.Kerry@ TDD – sub-cycle Zhu.Kerry@ 阶段开发模型 Zhu.Kerry@ 增量和迭代模型 增量开发 迭代开发 Zhu.Kerry@ 每次只设计和实现这个产品的一部分,? 逐步逐步完成的方法叫迭代开发,? 每次设计和实现一个阶段叫做一个迭代.? 1.2.3 UML代表着软件建模的发展趋势 Zhu.Kerry@ 敏捷开发(Agile Development) “极限编程”(eXtreme Programming 泛型编程(Generic Programming) 面向方面的编程(Aspect Oriented Programming,简称AOP) UML( Unified Modeling Language, 统一建模语言 )可以说代表软件建模的今后5到10年的发展方向,成为面向对象技术领域内占主导地位的标准建模语言,支持从需求分析开始的软件开发的全过程。总的来说,UML是一种定义良好、易于表示、功能强大且普遍实用的建模语言 UML发展历史 Zhu.Kerry@ UML分类和模型图 Zhu.Kerry@ 标准建模语言UML共定义了三大类、共12种模型图: 结构类 Structural Diagrams:用4种模型图描述系统应用的静态结构,包括类图、对象图、组件图和配置图; 行为类 Behavior Diagrams:用5种模型图描述系统动态行为的各个方面,包括用例图、序列图、行为图、协作图和状态图 模型管理类 Model Management Diagrams :用3种模型图来组织和管理各种应用模型,包括软件包、子系统、模型等 1.3软件测试的重要性 1.3.1 软件所带来的悲剧 1.3.2 其他一些例子 1.3.3 测试是软件开发重要环节之一 Zhu.Kerry@ 千年虫 (Y2K) 在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日” ,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。 就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。 Zhu.Kerry@ 奔腾芯片缺陷 (4195835 / 3145727) * 3145727 – 4195835 ? 0 $450 million – 4.5亿美元损失. 2000年 另外一个缺陷发生在1.13 MHz Pentium III Zhu.Kerry@ 其他一些例子 “冲击波”计算机病毒[11] 火星登陆事故 爱国者导弹防御系统 迪斯尼的圣诞节礼物 Windows2000安全漏洞 Zhu.Kerry@ 1999年12月3日,美国航天局的火星基地登陆飞船在试图登陆火星表面时失踪。错误修正委员会观测到故障,并认定出现误动作的原因极可能是某一个数据被意外更改。大家一致声讨,问题为什么没有在内部测试时解决。 从理论上看,登陆计划是这样的:当飞船降落在火星表面时,它将打开降落伞减缓飞船的下落速度。降落伞打开后的几秒种内,飞船的三条腿将迅速撑开,并在预定地点着陆。当飞船离地面1800米时,它将丢弃降落伞,点燃登陆推进器,在余下的高度缓缓降落地面。 美国航天局为了省钱,简化了确定何时关闭推进器的装置。为了替代其他太空船上使用的贵重雷达,他们在飞船的脚上装了一个廉价的触点开关,在计算机中设置一个数据位来关掉燃料。很简单,飞船的脚不“着地”,引擎就会着火。 遗憾的是,错误修正委员会在测试中发现,当飞船的脚迅速撑开并准备着陆时,机械震动在大多数情况下也会触发着地开关,设置错误的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800米之后冲向地面,撞成碎片。 原 因 :登陆飞船经过了多个小组测试,其中一个小组测试飞船的脚落地过程,另一个小组测试此后的着陆过程。前一个小组不去注意着地数据位是否置位,后一个小组总是在开始测试之前重置计算机、清除数据位。双方独

文档评论(0)

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

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

1亿VIP精品文档

相关文档