软件工程综合应用例题第一部分 《结构化软件开发方法》1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。解:2、高考录用统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文献;(2) 计算录用线分:根据标准分、招生计划文献中的招生人数,计算录用线,存入录用线文献。试根据规定画出该系统的数据流程图,并将其转换为软件结构图。解:(1)数据流图: (2)软件结构图:① 原始分 ② 标准分 ③ 招生计划 ④ 录用线3、有下列伪码程序:STARTINPUT (M,N)IF M>=10 THEN X:=10 ELSE X:=lENDIFIF N>=20 THEN Y:=20 ELSE Y:=2ENDIFPRINT(X,Y)STOP 设计该程序的语句覆盖和途径覆盖测试用例。解:语句覆盖测试用例为①M=9(或=10),N=20(或>=20)途径覆盖的测试用例为①M=9,N=19;②M=9、N=20;③M=l0,N=l9; ④M=10,N=204、画出下列伪码程序的程序流程图、盒图(N-S 图)、PAD 图。 START IF p THEN WHILE q DOF END DO ELSE BLOCKgn END BLOCK END IF STOP解: 5、根据下面程序流程图,给出测试用例:解:途径覆盖可使用测试用例:⑴【A=1,B=1,X=1】⑵【A=1,B=1,X=2】 ⑶【A=3,B=0,X=1】 ⑷【A=2,B=0,X=4】 边覆盖,可使用测试用例:⑴【A=3,B=0,X=3】⑵【A=2,B=1,X=1】鉴定覆盖的测试用例:⑴【(A=3,B=0,X=3)】⑵【(A=2,B=1,X=1)】 语句覆盖,可使用测试用例:【 A=2,B=0,X=3 】6、下面是一段求最大值的程序,其中 datalist 是数据表,n 是 datalist 的长度。 int GetMax(int n, int datalist[ ]) { int k=0; for ( int j=1; j datalist[k] ) k=j; return k; } 画出该程序的程序流程图,并计算其 McCabe 复杂度。 解:程序流程图如下: McCabe 复杂度为 3。7、画出下面 PDL 伪码程序的程序流程图、N-S 图、PAD 图和程序流图,并计算其 McCabe复杂度。WHILE P DO IF A>O THEN A1 ELSE A2 ENDIF; IF B>0 THEN B1; IF C>0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE;解:8、根据下面伪码程序,设计语句覆盖、途径覆盖、边覆盖、鉴定覆盖、条件覆盖、点覆盖的测试用例。 P...