软件工程导论(第六版)张海藩课后习题部分答案(4)

2020-04-14 01:33

环形复杂度V(G)=流图中的区域数 =流图中判定结点数目+1=5+1=6

(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。因此,该段代码中的WHILE循环部分代码要么不会执行,要么可能出现死循环。

结束

第七章

7-2:

解:⑴ 程序流程图(如图2.1所示)

⑵ 此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一

个条件语句内部。

⑶ 修改后的伪码如下:

⑷ 程序中的错误:

①语句“IF WORD=KEYWORD”里的变量“WORD”没有预先赋值。 ②程序中没有预先输入T的值 ③ “N=0”应该是“MATCH=0” 4. 回答下列问题: (1) 什么是模块测试和集成测试?它们各有什么特点?

答:模块测试是对每个单独的模块,分别用黑盒和白盒测试技术,测试它的功能是否正确,检查模块控制结构中的特定路径并发现最大数量的错误。其特点是:主要应用白盒测试的技术,对多个模块的测试可以并发的进行。

集成测试是把模块装配在一起形成完整的软件包,在装配的同时进行测试。特点是:可能发生接口问题。

(2)假设有一个由1000行FORTRAN语句构成的程序(经编以后大约有5000条机器指令)估计在对它进行测试期间将发现多少个错误?为什么? 答:月25至100个错误,美国的一些统计数字告诉我们通常这个比值在0.005~0.02之间,也就是说,测试之前每1000条指令中大约有5~20个错误。假设测试之前每1000条指令中有10个错误,则估计对它进行测试期间将发现的错误数为:5000*10/1000=50。

(3) 设计下面伪码程序的语句覆盖和条件覆盖测试用例:

START INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF PRINT(X,Y,Z) STOP

答:此程序的语句覆盖用例:①A=5,B=10,C=15;②A=6,B=11,C=16 条件覆盖用例为:①A=5,B=10,C=15;②A=6,B=11,C=16。


软件工程导论(第六版)张海藩课后习题部分答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化工机械基础学习提纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: