软件工程与计算17 软件构造.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  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)内存或资源泄漏;逻辑错误;编码错误(例如条件判断不够充分);内存溢出(超出本身限制);循环错误(死循环或数目不合适);条件错误;指针错误(超出范围,未赋值);分配释放错误(分配两次、未分配即释放、释放两次、分配未释放);*常见错误(2)多线程错误(同步);定时错误(没有考虑特殊情况);存储错误(考虑磁盘已满,文件不存在等特例);集成错误(相互之间的考虑不相容);转换错误(字符转换等出现问题);硬编码长度/尺寸;版本缺陷(对以前的不兼容);不恰当重用带来的缺陷。*修复缺陷的注意点一次只修复一个缺陷。修改前保留旧版本的备份,如果项目使用了配置管理系统,这个工作会由配置管理工具完成,否则就需要由程序员手动完成。使用测试和评审验证修复的有效性。检查和修复类似的缺陷,这可以在代码有哪些信誉好的足球投注网站、程序切片等工具的帮助下进行。*代码评审代码评审对代码的系统检查,通常是通过同行专家评审来完成的。通过评审会议可以发现并修正之前忽略的代码错误,从而同时提高软件的质量和开发者的技巧。代码评审一般分为正式评审、轻量级评审和结对编程。*评审的经验就算不能评审全部的代码,最少也要评审一部分(20–33%)代码,以促使程序员编写更好的代码。一次评审少于200–400行的代码。目标为每小时低于300–500LOC的检查速率。花足够的时间进行正确缓慢的评审,但是不要超过60–90分钟/每次。确定代码开发者在评审开始之前就已经注释了源代码。使用检查列表,因为它可以极大地改进代码开发者和评审者的工作。确认发现的缺陷确实得到修复了。培养良好的代码评审文化氛围,在这样的氛围中有哪些信誉好的足球投注网站缺陷被看做是积极的活动。采用轻量级,能用工具支持的代码评审。*代码评审检查列表(1)*代码评审检查列表(2)*代码评审检查列表(3)*集成与构建在以分散的方式完成程序基本单位(例程、类)之后,软件构造还需要将这些分散单位集成和构建为构件、子系统和完整系统。集成有大爆炸式集成和增量式集成两种方式。实践中增量式集成有着更好的效果。构建将可读的源代码转换为标准的能在计算机上运行的可执行文件。构建过程需要配置管理工具的帮助。*集成与构建:BestPracticesdailybuildsmoketest,MicrosoftContinuousintegration构造管理构造计划SelectConstructionEnvironments度量配置管理*IndividualVariationIsSignificantResearchershavefoundvariationsrangingfrom10xto28xin:CodingspeedDebuggingspeedDefect-findingspeedPercentageofdefectsfoundBad-fixinjectionrateDesignqualityAmountofcodegeneratedfromadesignEtc.SelectConstructionEnvironmentsConstructionEnvironmentsProgrammingLanguageConstructionPlatformsOS,DBMS,Network,Middleware,Etc.StandardsCodestandardsTechnologystandardsComponentmodel,etc.ToolsCodingenvironmentsDebugandtestingenvironmentsSourcingmanagingenvironmentsMainContentsWhat’sConstructionConstructionActivitiesSomebestpracticesofconstruction实践方法重构测试驱动开发结对编程*重构重构修改软件系统的严谨方法,它在不改变代码外部表现的情况下改进其内部结构最初是软件维护的方法,后来被用于软件设计重构的时机增加新的功能时重构发生在新功能增加完成之后,用来消除新功能所添加

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档