1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。解:
教材库存
收应学生
书店
P1
教材科
P2
会计
订书
订书发书
发书
F1款通知
付款通知
2、高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。解:(1)数据流图:(2)软件结构图:
①原始分②标准分③招生计划④录取线3、有下列伪码程序:START
INPUT(M,N)IFM>=10THENX:=10ELSEX:=lENDIFIFN>=20THENY:=20ELSEY:=2ENDIF
PRINT(X,Y)STOP
设计该程序的语句覆盖和路径覆盖测试用例。解:
语句覆盖测试用例为
①M=9(或=10),N=20(或>=20)路径覆盖的测试用例为①M=9,N=19;②M=9、N=20;③M=l0,N=l9;④M=10,N=20
4、画出下列伪码程序的程序流程图、盒图(N-S图)、PAD图。START
IFpTHENWHILEqDO
F
ENDDOELSEBLOCK
gn
ENDBLOCKENDIFSTOP解:
START
q
p
STOP
T
5、根据下面程序流程图,给出测试用例:
入口
返回
A>1ANDB=0
A=2ORX>1
X=X/A
X=X+1
FT
解:路径覆盖可使用测试用例:⑴【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的长度。
intGetMax(intn,intdatalist[])
{
intk=0;
for(intj=1;j
if(datalist[j]>datalist[k])k=j;
returnk;
}
画出该程序的程序流程图,并计算其McCabe复杂度。
解:程序流程图如下:
1
2
6
3
4
5
McCabe复杂度为3。
7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。
WHILEPDO
IFA>OTHENA1ELSEA2ENDIF;
IFB>0THENB1;
IFC>0THENC1ELSEC2ENDIF
ELSEB2
ENDIF;
B3
ENDWHILE;
解:
P
A>0
TTA1
A2B>0
TB1
C>0
TC1C2
FTB2
PA>0TT
A1
FA2
B>0T
B1C>0TC1C2
B2
8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
PROCEDUREEX(A,B:REAL;VARX:REAL);BEGIN
IF(A=3)OR(B>1)THENX:=A×BIF(A>2)AND(B=0)THENX:=A-3END
解:先画出程序流程图:
开始结束
A=3ORB>1
A>2ANDB=0
X=A+B
X=A-3
语句覆盖测试用例:[A=3,B=0]
路径覆盖测试用例:[A=3,B=0][A=3,B=1][A=4,B=0][A=2,B=1]边覆盖测试用例:[A=3,B=0][A=2,B=1]
9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求: