软件工程综合应用例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合应用例题
第一部分传统软件开发方法
1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的
范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
解:
第一步:建立等价类表
第三步:为无效等价类至少设计一个测试用例
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。???????int GetMax(int n, int datalist[ ])
???????{
???????????int k=0;
???????????for ( int j=1; j ????????????????if ( datalist[j] > datalist[k] ) k=j; ???????????return k; ???????} 画出该程序的程序流程图,并计算其McCabe复杂度。 解:程序流程图如下: McCabe复杂度为3。 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP ?设计该程序的语句覆盖和路径覆盖测试用例。 解: 语句覆盖测试用例为 ①M=9(或 ②M=l0(或>=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20 4、根据伪码程序画出程序流程图,盒图(N-S图)。 START a IF x1 THEN REPEAT UNTIL x2 b END REPEAT ELSE BLOCK c d END BLOCK END IF STOP 解:(1) 程序流程图 (2) N-S (3)PAD图 5、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 6、画出下列伪码程序的程序流程图,盒图(N-S图)。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 解: 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; 答: McCabe复杂度=5 8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。 PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN IF(A=3)OR(B>1)THEN X:=A×B IF(A>2)AND(B=0)THEN X:=A-3 END 解:先画出程序流程图: 语句覆盖测试用例:[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、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: 1.对以上问题画出数据流程图。 2.画出该培训管理的软件结构图的主图。 解: 10、教师申报科研成果的过程如下: 接收教师交来科研材料和申报表,首先根据科研管理条例进行审核。对审查后的材料,再根据科研管理条例和科研档案进行分类,分类完成后将科研成果存储到科研档案,并报科研处备案。画出处理过程的数据流程图。 11、请使用流程图、PAD图和PDL语言描述下列程序的算法。 在数据A(1)~A(10)中求最大数和次大数。 解:如图所示: PDL语言描述: ??GET(a[1],a[2],...a[10])? ??max=a[1]; ??max2=a[2]; ??FOR i=2 TO 10 ???IF a[i]>max ?????max2=max; ????max=a[i]; ???ELSE ????IF a[i]>max2 ????max2=a[i]; ????ENDIF ???ENDIF ??ENDFOR ??PUT(max,max2) ??END 12、求一组数组中的最大数, 数组表示为A[n] ,n=1,2……n的自然数。 1)请画出程序流程图 2)请画出该算法的N-S图 3)请用PAD图来表示该算法 解: 13、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。 解:(1)程序流图如下所示: