《软件工程》作业+答案 下载本文

1.环路复杂性=判断数+1=6+1=7(个)

2.2.图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组; (2)订书组从各单位取得要订的书目;

(3)根据供书目录和订书书目产生订书文档留底; (4)将订书信息(包括数目,数量等)反馈给供书单位; (5)将未订书目通知订书者;

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

第9页 共12页

3.下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]) {

第10页 共12页

int k=0;

for ( int j=1; j datalist[k] ) k=j; return k; }

(1) 画出该程序的控制流图,并计算其McCabe环路复杂性。 (2) 用基本路径覆盖法给出测试路径。 (3) 为各测试路径设计测试用例

(1)控制流图如下,McCabe环路复杂性为3。

(2) 测试路径: Path1: ①→③

Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:

第11页 共12页

Path1: 取n=1,datalist[0] = 1, 预期结果:k=0

Path2: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0

Path3: 取n=2,datalist[0] = 0,datalist[1] = 1, 预期结果:

k=1 第12页共12页