版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
答辩报告一个面向对象软件质量缺陷辅助检测工具的设计与实现目录问题提出本文的解决方案系统的设计与实现实例分析结束语06/06OO设计中的质量缺陷度量良好的设计原理和原则06/06预防性维护的困难现有软件的维护可能占一个开发组织所有工作量的60%以上。预防性维护是其中的重点和难点,包括码结构调整、代码优化和文档更新。预防性维护的困难:适应性维护、完善性维护和纠正性 维护都会带来预防性维护。代码经过多次修改维护,复杂性高,程序难以理解。软件在设计时对将来的软件修改都没有考虑或考虑不多,特别是模块 独立性等。06/06设计模式和经验规则设计实践中总结出了一些设计模式、经验规则等实践经验的总结。首先是Gamma等四人在95年提出了设计模式的概念,他们从一些好的设计中提炼出了好的程序需要满足的设计模式。第二年,Riel从他多年的工作中,总结了60条面向对象设计中的指导原则。1999年Fowler在对现有代码进行改善的设计中,他提出了根据“代码中的坏味道”(BadSmellinCode)来发现代码中的问题,并针对这些问题提出了代码重构的方法。2003年又有人提出反模式(Dudney),反模式是采用与设计模式相同的形式来描述不恰当的实践做法。它为查找实践中的不良设计提供了更好的依据。06/06质量缺陷
如果设计实体背离了从良好设计实践中总结出的设计准则集,则称这些实体存在质量缺陷。“设计实体”。指要所分析的软件系统,包括软件系统中的方法、类、包等,也指互相影响的多个不同类型的、相互关联的实体,称为设计实体“簇”。“从良好设计实践中抽象出来的准则集”。这个界定将类似bugs这样的错误排除在质量检测之外。“背离了给定的准则集”。为我们使用度量的方法来进行缺陷检测提供依据。每个准则都要反映在具体的、特定范例的设计规则和指南中;这些具体的规则也可以进行量化处理,用度量进行缺陷检测。06/06度量工具的现状有许多工作将度量应用于面向对象系统的设计质量的改进和评价,如一些度量指标。仍然存在一些问题:度量的目标不同。面向对象的度量(Shimba,Chidamber等的工具)对类属性、继承的体系结构、类之间的交互等属性进行度量;在逆向工程过程的初始阶段理解软件系统的结构、发现问题(CodeCrawler);仅仅提供各种面向对象的度量结果(UnderstandJava)以便用户使用;预测可能存在的缺陷跟哪些度量属性相关,例如OODMS。度量的对象不同。OODMS针对软件设计视图。度量结果的解释。度量值本身很难提高软件产品的质量,即使能够说明程序中可能存在问题(例如,复杂性的系数过高),也不能提供直接的方法来改进。06/06我们的工作辅助预防性维护工作。软件质量缺陷跟度量结合在一起。具体方法是,针对要检测的具体缺陷,制订出检测规则,利用度量工具,找出系统中可能存在缺陷的地方,再对可能的缺陷进行检验,然后对现有的面向对象系统进行改进。设计并实现了质量缺陷辅助检测工具。基本面向对象度量。缺陷检测。检测规则的调整以及用户定义检测规则。06/06目录问题提出本文的解决方案系统的设计与实现实例分析结束语06/06OO程序质量缺陷检测过程
抽取(或预处理)。根据度量活动,从源代码中抽取相关的数据。定义计算。根据目标,定义度量和相关的度量计算方式。解释(预测可能存在缺陷的实体)。这个解释是基于特定度量解释模型。质量缺陷检测引擎。这个是质量检测的一个核心,它将经验规则解释为我们的检测规则,下面仔细介绍。结果的验证。对于度量检测出的可能存在质量缺陷的实体,必须在开始的源代码中手工确认。06/06缺陷陷检检测测引引擎擎如何何解解释释单单个个度度量量结结果果??不不同同的的数数据据过滤滤方法法,,具具体体的的选选择择过过滤滤的的方方法法。。如何何将将多多个个度度量量结结果果关关联联起起来来解解释释??————合成成。如何何将将具具体体的的研研究究目目标标转转化化为为检检测测规规则则,,即即检检测测规规则则的的描描述述??从从现现有有的的经经验验规规则则和和设设计计模模式式中中总总结结可可以以量量化化的的度度量量属属性性并并进进行行评价价。使用用自自顶顶向向下下的的质量量缺缺陷陷检检测测引引擎擎。它它要要写写出出规规则则的的表表达达,,根根据据这这个个规规则则可可以以检检测测出出源源代代码码中中有有质质量量缺缺陷陷的的设设计计片片断断。。主主要要完完成成下下面面几几个个工工作作::06/06数据据过过滤滤数据据过过滤滤是根根据据特特定定的的度度量量目目标标,,从从原原始始的的度度量量结结果果集集中中抽抽取取出出数数据据子子集集的的方方法法((一一组组操操作作))。。选择择数数据据过过滤滤的的规规则则规则则1::明明确确提提到到实实现现的的阈阈值值时时,,使使用用绝绝对对语语义义过过滤滤。。规则则2::当当设设计计规规则则根根据据模模糊糊的的边边界界值值来来定定义义时时,,例例如如““最最高高/最最低低值值””或或者者““较较高高/较较低低值值””时时,,使使用用相相对对语语义义过过滤滤。。规则则3::大大型型系系统统,,使使用用百百分分率率值值来来参参数数化化相相对对语语义义过过滤滤;;小小系系统统,,相相对对语语义义-->绝绝对对参参数数。。规则则4::在在设设计计经经验验规规则则说说需需要要极极值值,,而而没没有有说说明明任任何何特特殊殊的的阈阈值值时时,,选选择择使使用用统统计计过过滤滤。。06/06合成成合成成::支支持持多多个个结结果果集集之之间间的的相相关关性性解解释释,,不不同同的的度度量量结结合合在在一一起起的的一一系系列列操操作作。。我们们使使用用3个个合合成成::and、、or和和butnot。。例::数数据据类类((考考虑虑公公共共属属性性和和私私有有属属性性数数量量))06/06缺陷陷检检测测规规则则的的制制订订检测测规规则则就就是是要要对对设设计计相相关关的的规规则则进进行行描描述述,,然然后后要要用用量量化化的的方方法法进进行行表表达达,,写写出出可可以以用用于于检检测测的的规规则则。。上面面是是万能能类类的例例子子。。根据据这这个个方方法法,,我我们们识识别别出出其其他他的的一些些质质量量缺缺陷陷。06/06目录录问题题提提出出本文文的的解解决决方方案案系统统的的设设计计与与实实现现实例例分分析析结束束语语06/06面向向对对象象质质量量缺缺陷陷检检测测工工具具的的体体系系结结构构度量量计计算算检测测规规则则定定义义质量量缺缺陷陷检检测测引引擎擎预处处理理利用用元元模模型型进行行信信息息抽抽取取缺陷陷验验证证、、缺缺陷陷修修改改、、度度量量显显示示源文文件件相关关数数据据数据据库库度量量定定义义度量量计计算算度量量信息息库库度量量分分析析器器度量量检检测测确定检测目标设计规则分析选择度量确定检测机制检验验候候选选项项检测测目目标标有缺缺陷陷的的实实体体改进进措措施施06/06预处处理理从Java程程序序模模型型中中抽抽取取出出度度量量活活动动相相关关的的设设计计信信息息,,并并将将这这些些信信息息存存储储到到数数据据库库中中。。元模模型型使使用用关关系系数数据据库库来来表表示示。。06/06利用用eclipse的的JDT读读取取程程序序信信息息工具具做做成成eclipse上上的的插插件件,,因因此此可可以以利利用用eclipse提提供供的的一一些些功功能能((JDT))直直接接抽抽取取程程序序信信息息,,将将工工作作集集中中在在度度量量上上。。下面面是是利利用用JDT来来抽抽取取相相关关信信息息的的代代码码片片断断,,例例如如抽抽取取类类中中导导入入外外部部包包的的代代码码片片断断06/06缺陷陷检检测测模模块块计算算统统计计基基本本度度量量属属性性,,转转化化为为数据据库库查查询询。缺陷陷检检测测转转化化为为基基本本度度量量属属性性的的查查询询。。例如如前前面面的的对对万万能能类类的的检检测测就就可可以以转转化化为为查查询询。。剩下下的的工工作作就就是是数数据据库库的的读读写写部部分分。。06/06用户户交交互互和和检检测测结结果果的的显显示示系统统功功能能度量量选选择择菜菜单单06/06用户户交交互互和和检检测测结结果果的的显显示示显示示基基本本的的度度量量属属性性结结果果显示示可可能能存存在在缺缺陷陷的的实实体体06/06系统功能((续)用户可以修修改度量过过滤的阈值值用户构造缺缺陷检测(结果中继继续查询))06/06问题提出本文的解决决方案系统的设计计与实现实例分析结束语目录录06/06实例分析针对本工具具进行分析析。进行了各项项质量缺陷陷度量。发现一个万万能类:JavaClass.java可能存在其其他缺陷。。06/06目录录问题提出本文的解决决方案系统的设计计与实现实例分析结束语06/06结束语工作总结面向对象质质量缺陷检检测引擎。。针对每个个具体的质质量缺陷,,根据经验验规则将它它们量化为为检测目标标,过滤和和合成,找找出可能存存在缺陷的的设计片断断。并提供供对质量缺缺陷的解释释以及维护护的方法。。工具:基于于eclipse平平台的插件件,与平台台上的其他他插件一起起使用,帮帮助检测软软件质量缺缺陷。未来工作展展望这只是一个个原型系统统。阈值的设定定、度量属属性研究、、缺陷规则则的制订。。虽然有四四条参照准准则,但是是还需进一一步精确;;类的复杂杂性,类中中方法数量量McCabe圈法;;使用反模模式。用户自定义义检测的实实现。识别更多的的质量缺陷陷,制订更更多的缺陷陷检测规则则。加强图形化化显示。缺陷检测工工具与其他他工具的集集成,即与与小组的其其他工具结结合起来,,例如,类类的继承关关系图、类类图等。06/06谢谢!06/06我们识别的的常见质量量缺陷返回06/06例——万能能类的缺陷陷识别OOD中的的设计规则则:功能应该均均衡地分配配在顶层的的类中。缺缺陷:某些些类集中了了系统的大大部分功能能,只是将将一些小细细节交给一一些不重要要的类,大大量使用其其他类的数数据。缺点:管理理复杂性的的原则、缺缺乏内聚性性、对复用用和理解都都有极大的的影响。具体设计参参考了Fowler的大类bad-smell策略:读写了许多多“轻量””类(直接接地或者通通过accessor方法)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防艾滋病宣传部
- 大学总平面规划
- 版应急管理培训
- 成人学生的家庭教育理念更新考核试卷
- 固体饮料行业市场定位与产品定位考核试卷
- 初等教育的教学方法与策略考核试卷
- 文体设备安装施工合同
- 电信设备合同执行要点
- 节能改造招投标办公室职责
- 正式借款合同范
- 期末+(试题)+-2024-2025学年人教PEP版英语六年级上册
- 类风湿关节炎前状态诊疗专家共识(2024)解读
- 八年级生物上册 第五单元 第二章 第三节 社会行为教案2 (新版)新人教版
- ICD-10疾病编码完整版
- 2023年山东青岛局属高中自主招生物理试卷真题(含答案详解)
- 《搭船的鸟》 第一课时公开课一等奖创新教学设计
- 滴灌安装工程合同2024年
- 2024年国家开放大学电大《经济法律基础》形成性考核题库
- 2024考研英语二试题及答案解析
- Unit 4 Section B(2a-2b)课件人教版2024新教材七年级上册英语
- 2024年德州道路旅客运输驾驶员从业资格考试题库
评论
0/150
提交评论