资源描述
,Telelogic TauLogiscope,技术培训,Telelogic Tau Logiscope,LOGISCOPE,是法国,Telelogic,公司推出的专用于,软件质量保证和软件测试的产品。其主要功能是对,软件做质量分析和测试以保证软件的质量,并可做,认证和维护,特别是针对要求高可靠性和高安全性,的软件项目和工程。,LOGISCOPE,简介,目前,,LOGISCOPE,产品在全世界的,26,个国家的,众多国际知名企业得到了广泛的应用,其用户涉及通,讯、电子、航空、国防、汽车、运输、能源及工业过,程控制等众多领域。,Logiscope广泛应用,欧洲的卫星生产厂商,Matla Marconi Space,;,直升机生产厂商,Eurocopter,;,世界最大的粒子物理研究实验室,CERN,;,航空航天领域有,Arospatiale,Alcatel Space,Boeing,CNES,Northrop Grumman,等国际著名公司;,IBM,;,TI,;,GE,;,McDonnell Douglas,;,EDS,;,SAIC,;,EXXON,;,PHILIPS,;,国内有华为、中兴、航天部等单位。,符合需求,减少成本,改善可靠性,软件开发的目标,!,80%,的错误出现在,20%,的程序模块中,易出现错误的模块通常复杂度较高,组织结构较少,如何减少成本、保证可靠性,Cost of Repair,Coding,Testing,Maintenance,在开发过程中应当尽可能早地通过对源代码的检查发现缺陷,减少成本和发现缺陷是密不可分的,缺陷率越低,开发周期越短,组织代码审核定位易产生错误的模块,.,如何减少成本、保证可靠性,软件开发的周期,Audit,静态质量模型度量分析功能,RuleChecker,语法规则分析功能,TestChecker,动态覆盖率测试功能,Logiscope,产品的三个功能块,编码,代码评审,测试,维护,RuleChecker,TestChecker,Audit,Audit,RuleChecker,开发过程中的,Logiscope,显示隐藏的复杂性,.,减少将来的维护成本.,节省时间.,提高质量,代码评审的优点,通过代码审核能够发现大部分的错误,代码审核发现错误比例,RuleChecker,根据业界标准和经验预定义了编程规则和命名检验规则。,用户可以用脚本语言,Tcl或Perl,来定义新的规则。,与开发环境集成的功能。,能够自动生成检查报告。,RuleChecker,概述,限定怎样使用编程语言,提高代码的易懂性,提高代码的可分析性,预防维护阶段的问题,RuleChecker,规则设计的目的,自动的代码规则检查,自动的编程风格检查,RuleChecker,检测错误,特点,防止语言陷阱,防止误解,规则举例:,if(x=y),被禁止,,因为容易和,if(x=y),混淆,多重赋值例如,x=y=z,产生混乱,在循环内部更改循环计数器是危险的,例如,for(x=o;x10;x+)x-,代码规则检查,更容易的识别标识符,赋予代码必须的易读性和可变性,使其能够容易且低风险的维护,规则举例,对于一个全局变量,首字母应当大写,其它的用小写,homonyms are not authorized,编程风格检查,RuleChecker,工作原理,以文本形式编写规则文件,命名为,.cfg,文件。,可以对存在的规则进行修改。(不建议),如何创建或修改规则,生成程序的违反规则清单,具体违反规则的程序行,生成一个违反规则的报告(,HTML,文件),结果分析,结果界面,建立一个,RuleChecker,工程,工程设置窗口,以规则分类的规则描述和源程序,如何以文件分类,按文件分类的规则描述和源程序,结果列表和源程序,生成结果的报告,按文件分类,按规则分类,综合的报表,规则描述,Audit,的功能描述,检查代码错误,定位错误模块。,根据质量模型评估软件质量和软件复杂度。,图示化整个软件的框架结构以及模块调用图和控制流图。,自动生成评估报告。,Audit,工作原理图,a,质量因素,Factor,b,质量准则,Criteria,c,质量度量元,Metrics,Audit,采用的是包括软件质量标准化组织制定,的,ISO9126,模型在内的质量模型。质量模型描述了,从,Halstead,、,McCabe,的质量方法学引入的质量因素、,质量准则和质量度量元。本模型是一个三层的结构,组织:,Audit,分析功能,用户角度,开发者角度,测试者角度,质量模型的三层结构组织,一、质量因素,从应用层可以分为:,Application:,可维护性,classes:,可维护性;可重用性,Function,可维护性;关系调用可维护性,可维护性,质量因素,质量准则,可重用性,质量因素,质量准则,关系调用可维护性,关系调用,可分析性,关系调用,稳定性,关系调用,可测试性,关系调用,可维护性,质量因素,质量准则,二、质量准则,从应用层可以分为:,Application:,可分析性;可修改性;稳定性;可测试性,classes:,可分析性;可修改性;稳定性;可测试性;可重用性和 特殊性,Function,可分析性;可修改性;稳定性;可测试性;关系调用可分析性;关系调用稳定性;关系调用易测性,可分析性,质量准则,度量元,可修改性,质量准则,度量元,稳定性,质量准则,度量元,可测试性,质量准则,度量元,三、质量度量元,分三个层次描述:(由于太多举例说明),Application:,应用,Ap_line,、,Ap_vg,、,Ap_cg_maxdeg,Classes:,类,Cl_bcob,、,Cl_wmc,、,In_bases,Function:,函数,Ct_goto,、,Ct_break,、,Ct_vg,、,Dc_calle,、,Dc_calli,可清楚分析和观察每个应用、类和函数中 的质量度量元的数值,判断其是否合法。,分析质量度量元,可定性的分析和判断质量因素所必须遵循,的质量准则的等级数和度量值。,分析质量准则,针对系统、类和函数这三个层次,分别,定性的、分等级的分析质量因素的合格性。,分析质量因素,LOGISCOPE,根据质量模型,生成相应的软件,质量分析评估报告(,HTML,形式),。,质量分析报告,控制流图显示算法的逻辑路径。其图形表示适用于评价函数的复杂性。,控制流程图,控制流图,用图形化的方式表示程序中每个函数的逻辑结构,if,Dead code,endif,指出设计缺陷,滥用,GOTO,代码重复,无组织的,switch,死代码等,.,通过图形指示对应到源代码,控制流图基础图例一,控制流图基础图例二,switch,Break is missing in the default case,break,return,指出设计缺陷,滥用,GOTO,代码重复,无组织的,switch,死代码等,.,通过图形指示对应到源代码,控制流图,用图形化的方式表示程序中每个函数的逻辑结构,调用图显示过程和函数之间的关系,,非常适用于检查应用系统的设计。,程序调用图,简单调用,直接递归调用,间接递归调用,调用方式,指出设计缺陷,缺乏层次,递归调用,:,直接和间接的,资源危机,(,被众多的组件调用,),等等,.,通过图形指示对应到源代码,main,reset,dummy,score,find_digit,format_output,skipline,prompt,getcod,play,ram,rom,make_cod,print,调用关系图,调用关系图,用图形化的方式表示程序的调用结构,Kiviat,图使质量等级与所选择的参考之间,的一致性对比更加可视化。,Kiviat,图,边界值,出界值,界内值,当前值,不可计算值,Kiviat,图解,建立一个,Audit,工作区,定位源程序,选择质量模型,选择编译器,建立完成,Viewer,主界面,打开工作区,函数列表,控制图,伪代码,源函数,度量元质量图,准则质量图,调用图,系统质量图,Q&A,
展开阅读全文