版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
cpu:1.73G2、将 解压后,里面的文件是EASTT这个软件如何设计出来的,有整体设计,详细设计,编程风格等。但这些.doc的文档不能打开。3、 EASTT是EASTT.exeSourceEASTT 4EASTTBiuldEasttSysDirectoryDlg.cpp这个文件(按delete p.dll到C:\Windows\System32文件夹下,就可注意:工程的.dsp文件的后缀名,一定改为小写(如果是大写的话,否则不能打如:function.h1171996-4-15如:function.h117241479类(这个definitionline名称起的不好,会让人理解为这个类,用了几行)如:nodefunction.h4行开始(查看类的继承关系第三列:继承类型(publicprivateprotected)如:variablenode如:node类以公共派生方式派生了variable第四列:成员变量的属性(publicprivate如:node类的一个成员变量right是指向node类型的指针,属性是受保护的第二列:类如:node类了function类为其第一列:类名如:node类了function类为其第二列:函数名与定义在外它的类的大小是不一样的。我个人认为这样的统计没有太大用)如:node12类的深度表EASTT开发人员在后面的画类表时使用。如:node6如:node1如:nodenode::eval(),10(函数的独立路径数,计算方法:圈复杂度=连线数-节点数+2)如:functionbuild_tree(char*s)10(函数的独立路径数,计算方法:圈复杂度=连线数-节点数+2)如:functionparentheis(char*s)10如:variable1030行,这是因为呢?nodenode12如:node类中的eval()divideeval()函数调用了(divideeval()函数dividenodenode类的eval()函数)如:function8第二列:函数所在文件第三列:函数开始所在行如:main()函数在EXPRTST.CPP10行开始函数间的相用(与类表中的对象间的耦合度基本一致,只是多加入了除了类function.cpp19startlinefunction.h19行。第三列:函数所在文件,根本没说清是调用函数还是被调函数如:node类的eval()函数被function类中的operator()函数调用,operater()函数的function.hfunction.cpp431如:functionadd_operatior(nocde*p,node*n,charch)没有被调用,它的定义在FUNCTION.CPP177行开始如:functionoperator()(floatu)FUNCTION.CPP文431行开始。如:main()EXPRTST.CPP5534,有效行数48。第三列:变量所在文件第四列:变量所在行如:expression[201]这个全局变量类型为char,在FUNCTION.H的第1行function.h1include文LABLEGoto,Global指示,第二层为类和Global(publicprotected,private,friend等)用相应的图标标识;窗口右栏为一文本窗口,当用户在左栏选中某个类或它们的函数成员成员函数时,文本窗口中会显示出用伪码表示对应类的定义,函数成员的函,类定类定ok按钮,工作区将产生一个滚动窗口,图形这幅图的意思是:state0是父类,state1-~state9state0这个类。main()函数(或是一个模块的构造函数(模块)的流程,清调调调调调继继PAD图的方式表示该函数的结构;窗口右栏也为一滚动窗iftrue\false分支,右图可以显示出红色框对应的语句,左图中红色的线ISO9126软件质量标准化组织制定了一个ISO/IEC9126质量模型,用来量化的衡量一个软件产特息比如函数中包含的语句数量代码中注释的数量质量标准是一个概括性的信息,方法学中吸收一些元素,比如Halstend质量方法学、McCabe质量方法学。这些静态分析工由于EASTT的文档不全,《EASTT三级质量体系定义》无法找到,每一个度量元的定义功能都无从知道只好把同类型的一个商业软件LOGISCOPE作为例子来说明三级质量体系如何实现。EASTTLOGISCOPELOGISCOPELOGISCOPE从系统[Application]、类[Class]和函数[Function]三个层次详细规定了function_MAINTAINABILITY ++2、函数调用复杂性质量因素relativeCall_MAINTAINABILITY ++ LEVL dc_callsic_param +VOCF relativeCall_YZABILITY= 时,导致意想不到的错误的可能性。其计算为:relativeCall_STABILITY=IND_CALLS+cg_hiercpx 1"CyclomaticNumber": [ 10ct_vg就会越大。Nuerfance":c_ban [0, 0非结构化语句包括:gotobreak、continue语句。"NumberofDeclaredVariables": 5"Numberofparameters": [ 5"NumberofDirectCalls":dc_calls [0, 5"NumberofExits": [ "NumberofDistinctUsesofExternalAttributes": [0 2"Numberofpaths":ct_path [1 60"Numberof :lc_stat 1 20"Averagesizeof 1.00 9.00AVGS=(N1+N2)/(lc_statN1是该函数中的操作符的数量,N2是该函数中的操作数的数量 4.00VOCF=(N1+N2)/N1是该函数中的操作符的数量,包括重复出现的;N2是该函数中的操作数的数量,包括重复出现的;n1是该函数中不同的操作符的数量,n2是该函数中不同的操作数的数量当一个函数VOCF的值较高时,说明在这个函数中可能包含重复的或类似的语句。如果"Commentsfrequency":COMF[0.20,+ooCOMF= +lc_bcob)/(lc_statlc_bcob是函数体前注释块的数量(值只能为0或1), 比较充分那么在们进试工作工需理解程序码时是常有用。为更科学。"Numberof LEVL=ct_nest+ [1,4LEVL=ct_nest+"FanIn": ,4FAN_IN=ic_usedp+ic_usedpic_varpi这个度量元反映的是函数需要输入的数据量。如果函数需要输入的数据过多,那么阅"FanOut": 4FAN_OUT=ic_paradd其中:ic_paraddic_varpe"Numberofcallers": ,7"Numberofrelativecallgraphlevels": ,12"RelativecallgraphHierarchicalcomplexity": ,5.0"RelativecallgraphStructuralcomplexity": ,3.0"Numberofrelativecallgraphcall- ,30比如图2-1的函数调用关系图中,函数Fun2()的IND_CALLS的值为2。21"RelativecallgraphSystemtestability":cg_testab ,1.0] 1、类的可性质量因 class_MAINTAINABILITY +++class_REUSABILITY ++class_1 2类适应变化性质量标准 3计算为:class_STABILITY 4 5类易于使用性质量标准该质量标准表示:类是否能被使用者容易的理解和方便、安全的使用。其计算为 class_SPECIALIZABILITY SPECIAL 1"ClassCommentsFrequency": [ +ooCOMFclass +cl_bcob)/(cl_func_publ+cl_func_prot+cl_data_prot+ 类前的注释数量(只能为1或0) cl_func_publpublic成员函数的数量cl_func_protprotected成员函数的数量cl_data_protprotected数据成员的数量cl_data_publpublic数据成员的数量2"Fanoutvalueofa [ 20FAN_OUTclasscl_data_protcl_data_publcl_usedpcl_data_vare其中:cl_data_protprotected数据成员的数量之和,cl_data_publpublic数据成员的数量之和, 3"Faninofa [ 15FAN_INclass=cl_data_prot+cl_data_publ+cl_usedp+cl_data_prot:类中protected数据成员的数量,cl_data_publ:类中public数据成员的数量, cl_data_vari:类函数中使用本类的属性的次数之和4"NumberofDependentMethods": 6"NumberofBaseClasses": [ 3MFC类库中的类作为父类时,MFC类的基类的数量不再计入其中。在下图中,class4in_bases4。"WeightedMethodsPerClass": [ 25类中各个成员函数的圈复杂度的总和(关于函数的圈复杂度的计算方法请参见〈Logiscope函数度量元〉文挡。7"Specializability":SPECIAL[0, 25]2*(cl_data_publ+cl_data_prot cl_func_publ+cl_func_prot+10其中:cl_data_publ:类中public型的数据成员的数量。cl_data_prot:类中protected型的数据成员的数量。cl_func_publ:类中public型的成员函数的数量。 类中protected型的成员函数的数量。 8"Usability":USABLE [0, 10]USABLE=(2*cl_data_publ)+ 该度量元表示了类对外的接口情况,类对外的接口越多,掌握、使用这个类就越9"Encapsulation [ 5ENCAP=cl_data_publ+其中:cl_data_publ:类中public型的数据成员的数量10"NumberofDirectUsersClasses":cu_cdusers[ 该类被其他类使用的次数(被同一个类多次使用计为一次).11"ClassCoupling":cl_cobc [0, 12]12"NumberofChildren":in_noc [0, 2]"Rateofclassautonomy": 100.0100*((cl_func_priv+cl_func_prot+cl_func_publ-cl_dep_meth)+(cl_data_prot+cl_data_publ+cl_data_priv-cl_data_class)) (cl_func_priv+cl_func_prot+cl_func_publ+cl_data_priv+cl_data_prot+cl_func_priv: 类中private型的成员函数的数量。cl_func_prot: 类中protected型的成员函数的数量。cl_func_publ: 类中public型的成员函数的数量。cl_data_prot: 类中protected型的数据成员的数量。cl_data_publ: 类中public型的数据成员的数量。cl_data_priv: 类中private型的数据成员的数量。 类中类类型数据成员的个数. "NumberofusedClasses": [ 4 [ 100 cl_fprot_path+cl_fpriv_path+cl_fpubl_path+cl_data_vare+cl_fprot_path:类中所有的protected型函数的执行路径总和,cl_fpriv_path:类中所有的private型函数的执行路径总和,cl_fpubl_path:类中所有的public型函数的执行路径总和。cl_data_vare:类函数中使用的外部类的数据成员的次数之和,cl_func_calle:类函数中对类外部的函数的调用次数之和, 1系统的可性质量因该质量因素表示:对程序代码进行修改时,为防止错误,所需要做的工作的难度。 +++1application_YZABILITY 2系统适应变化性质量标准计算为application_CHANGEABILITY +URI_Ratio+NMM_Ratio application_STABILITY application_TESTABILITY "CouplingFactor": [0.03 ap_cof=(Ci)/类的总数*()(注:Cii/"MethodInheritanceFactor": [ "AttributeInheritanceFactor": [0.3 "PolymorphismFactor": [ 1.0∑(Ci*Cii1(注:Cii"AttributeHidingFactor":ap_ahf[0.71.0]Private型数据成员的总数。"Averagecouplingbetweenobjects": [0.0,10.0计算为AVG_CBO=ap_cbo/ap_cboap_cbo的值加一。类中类类型数据成员的数量。在系统中,这种情况出现一次,ap_cboap_clas"NumberofLevelsintheInheritanceGraph": [1 4"MethodHidingFactor":ap_mhf[0.1,0.4该度量元的计算为ap_mhf=([∑(1V(m))])/()其中V(m)的值为:public型时,V(mprivate型时,V(mprotected型时,Vm(1"HierarchicalComplexityoftheInheritanceGraph": [1.0 2.0它的计算为ap_inhg_cpx==SUM(N*I)/SUM(NSUMI为类继承图中的层次序号(123N为继承图中第I层中的结点个数。"Ratioofrepeatedinheritancesintheapplication": [0.0 10.0URI_Ratio=(ap_inhg_uri*100)/ap_inhg_uriap_inhg_edge过多的重复继承会导致程序变的复杂,还可能发生函数命名(类E中的函数就可"Percentageofnon-memberfunctions": [0.0 10.0NMM_Ratio=((ap_func-ap_nmm ap_func)*ap_func:系统中总的函数数量(包括游离于类之外的全局函数ap_nmm"AverageoftheVGoftheapplication's [1.0 5.0AVG_VG=ap_vg/其中: ap_func:系统中函数的数量(包括成员函数和非成员函数过于复杂的函数。由于函数的复杂性过高,对于系统的工作是很不利的。"Ratioofrecursiveedgesonthecallgraph [0.0 5.0RECU_Ratio=(ap_cg_cycle*100)/ "NumberofLevelsintheCallGraph [2 9SQM1、对class进试,选择function这个类,显示结果JC1CC_C三个质量准则:Testability,Stability, yzability均为EXELLENT。我猜测有可能只是上图中Testability,Stability, 好像也不是,刚才看到一个例子,上面三个标准都是EXELLENT,可是质量因素是COND_STRUCT的最大值超出AVERAGEVALUE。EXCELLENT81%;CORRECT3%;FAIRY3%;POOR3、application(Class、 、3example04vc++6.0target文件夹中的文件(.cpp.h) 还需要将EASTT文件夹下g 通信库中的hostTohost.cpp和probe.h文件加入编译生成.exevc++6.0vc++6.0的配置问题,需要将debugDebugtestexp04.exe,这个文件,就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度高端酒类储藏空间租赁合同4篇
- 2025年度电商直播带货主播聘用合同标准版4篇
- 二零二四年度药品生产过程质量监控与医疗器械生产过程优化合同3篇
- 二零二四年度珠宝首饰买卖合同印花税缴纳规范2篇
- 二零二五年度金融创新存单质押租赁合同3篇
- 2025年度瓷砖电商平台合作推广合同10篇
- 2025年度车辆典当借款合同信息安全及数据保护4篇
- 二零二五年度个性化打印纸定制服务合同4篇
- 二零二五版油气储罐消防系统设计与施工合同4篇
- 二零二四年度综合管廊施工单位劳务供应合同3篇
- 卫生服务个人基本信息表
- 医学脂质的构成功能及分析专题课件
- 高技能人才培养的策略创新与实践路径
- 广东省湛江市廉江市2023-2024学年八年级上学期期末考试数学试卷(含答案)
- 2024年湖北省知名中小学教联体联盟中考语文一模试卷
- 安徽省芜湖市2023-2024学年高一上学期期末考试 生物 含解析
- 交叉口同向可变车道动态控制与信号配时优化研究
- 燃气行业有限空间作业安全管理制度
- 数列练习题(含答案)基础知识点
- 人教版(2024新版)七年级上册英语期中+期末学业质量测试卷 2套(含答案)
- 安华农业保险股份有限公司北京市地方财政生猪价格指数保险条款(风险敏感型)
评论
0/150
提交评论