《引入:详细设计阶段设计出的模块质量如何呢 依据软件设计的基本原理和概念衡量它们的质 量但这种衡量只能是定性的;人们希望能进一步定量度量软件的性质定量度量程序的复杂程度;度量方法:McCabe.ppt》由会员分享,可在线阅读,更多相关《引入:详细设计阶段设计出的模块质量如何呢 依据软件设计的基本原理和概念衡量它们的质 量但这种衡量只能是定性的;人们希望能进一步定量度量软件的性质定量度量程序的复杂程度;度量方法:McCabe.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、引入:详细设计阶段设计出的模块质量如何呢 依据软件设计的基本原理和概念衡量它们的质 量,但这种衡量只能是定性的;人们希望能进一步定量度量软件的性质,定量度量程序的复杂程度;度量方法:McCabe Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望1 1、基本概念、基本概念2 2、计算环形复杂的步骤与方法、计算环形复杂的步骤与方法3 3、环形复杂度的主要用途、环形复杂度的主要用途4 4、复习思考题、复习思考题McCabe方法方法程序的环形复杂度:程序的环形复杂度:McC
2、abeMcCabe方法根据程序控方法根据程序控制流的复杂程度定量度量程序的复杂程度,这制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。样度量出的结果称为程序的环形复杂度。流图:退化的程度流程图,仅仅描绘程序的流图:退化的程度流程图,仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。分支或循环的具体条件。1、基本概念、基本概念圆表示结点,代表一条或者多条语句:圆表示结点,代表一条或者多条语句:程序流程图中一个顺序的处理框序列和一个菱形判程序流程图中一个顺序的处理框序列和一个菱形判定框可以映射成流图中的一
3、个结点。定框可以映射成流图中的一个结点。箭头线称为边,代表控制流:箭头线称为边,代表控制流:一条边必须终止于一个结点,即使这个结点并不代一条边必须终止于一个结点,即使这个结点并不代表任何语句。表任何语句。区域,边和结点围成的面积:区域,边和结点围成的面积:计算区域数时应该包括图外部未被围起来的区域。计算区域数时应该包括图外部未被围起来的区域。1234875611109第一步:把程序流程图或第一步:把程序流程图或PDLPDL映射成流图映射成流图例题例题1:1:2 2、计算环形复杂的步骤与方法、计算环形复杂的步骤与方法例题例题2 2:需要注意的问题:需要注意的问题:当过程设计中包含复合条件时,生成
4、流图当过程设计中包含复合条件时,生成流图的方法稍微复杂一些。的方法稍微复杂一些。复合条件:在条件中包含了一个或多个布尔复合条件:在条件中包含了一个或多个布尔运算符运算符(逻辑逻辑OROR,ANDAND等等)。在这种情况下把。在这种情况下把复合条件分解为若干个简单条件,每个简单复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。条件对应流图中一个结点。例题例题3 3:第二步:第二步:第二步:第二步:计算环形复杂度计算环形复杂度计算环形复杂度计算环形复杂度利用流图,用下述利用流图,用下述3 3种方法中的任何一种来计种方法中的任何一种来计算环形复杂度:算环形复杂度:V(G)=DD D:区域
5、数。:区域数。V(G)=E N+2E E:流图中边的条数。:流图中边的条数。N N:流图中结点数。:流图中结点数。V(G)=P+1P P:判定结点(有:判定结点(有2 2条输出弧)的数目。条输出弧)的数目。有有n(n2)n(n2)条输出弧的判定结点对应程序中条输出弧的判定结点对应程序中 的的n-1n-1个判断。个判断。练习练习1 1:计算下列伪代码的环形复杂度。:计算下列伪代码的环形复杂度。STARTINPUT(A,B,C,D)IF(A0)AND(B0)THEN X=A+BELSE X=A-BEND IFIF(CA)OR(D02:A=B+1 Z=Z-1 IF A103:THEN X=A4:ELSE Y=Z5:END IF IF Y011:THEN PRINT G12:ELSE PRINT R13:END IF STOP 思考题:计思考题:计算环形复杂算环形复杂度度?