软件工程12道复习题(2013~2014_2)解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、应用题(50分)

1. 将下面给出的伪码转换为N-S图和PAD图。

void root(float root1,float root2)

{

i=1; j=0;

while (i<=10)

{

输入一元二次方程的系数a,b,c;

p=b*b-4*a*c;

if(p<0) 输出“方程i无实数根”;

else if (p>0) 求出要做并输出;

if (p==0)

{

求出重根并输出;

j=j+1;

}

i=i+1;

}

输出重根的方程的个数j;

答:

盒图:

PAD图:

2. 下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做

到用语句覆盖和路径覆盖。

答:

(1)实现语句覆盖的测试方案如下:

1)覆盖THEN部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)

OR(D

输入:A=1,B=1,C=0,D=1

预期输出:X=2,Y=2

2)覆盖ELSE部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)

OR(D

输入:A=0,B=-1,C=0,D=1

预期输出:X=1,Y=1

(2)实现路径覆盖的测试方案如下:

1)覆盖两个条件均为假的路径

输入:A=-1,B=-2,C=-3,D=3

预期输出:X=1,Y=0

2)覆盖第一个条件为假第二个条件为真的路径

输入:A=-1,B=-2,C=1,D=-3

预期输出:X=1,Y=4

3)覆盖第一个条件为真第二个条件为假的路径

输入:A=1,B=1,C=0,D=2 预期输出:X=2,Y=2

4) 覆盖两个条件均为真的路径

输入:A=-1,B=-2,C=2,D=1 预期输出:X=3,Y=1

3. 某高中打算投资4万元改造现在的学生成绩管理系统,现有系统的维护费用每年为2.6万元,新系统运行后,新系统的维护费用为每年8000元,假设年利率为5%,请分析此项目中等成本方案的经济可行性(计算回收期和纯收入)。 答:

正了20个错误,使程序的平均无故障时间达到了8小时。乙在测试该程序的另一个副本时改正了24个错误,其中6个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问

(1) 刚开始测试时程序逻辑中的错误总数ET 是多少?

(2) 为使平均无故障时间达到240h ,如果甲不利用乙的工作成果,则他还需再改

正多少个错误? 答:

(1) 刚开始测试时程序中的错误总数为:

E T (2) 由方程

8=

)

20(48000

-ET K

解得

K=

100)

2080(848000

=-

由方程

 80206

24

=⨯=

240=

)

180(10048000

Ec

解得

E C1=78 78-20=58

即,为使平均无故障时间达到240h ,如果甲不利用乙的工作成果,则他还需再改正58个错误。

5 画出下列伪代码的程序流程图,并计算其环形复杂度

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

答:

程序流程图:

程序流图:

6. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键

入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。

答:

7. 请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。

答:

PDL语言:

N=1

WHILE N<=10 DO

IF A(N)<=A(N+1)MAX =A(N+1);

ELSE MAX =A(N)ENDIF;

N=N+1;

ENDWHILE;

PAD图:

8. 电话号码的组成如下:

⏹地区码:空白(本地)或“0”为首的2~4位数;

⏹分局码:非“0”或“1”开头的两位数;

⏹客户号码:5位数字串。

欲测程控交换机系统中的识别电话号码程序,请完成如下要求:

(1)划分等价类并编号

(2)为合理等价类设计测试用例

(3)为不合理等价类设计测试用例

答:

(1)划分等价类并编号:

(2)为合理等价类设计测试用例:

(3)为不合理等价类设计测试用例

请同学们自己为(10)~(18)无效等价类设计测试用例9. 如图所示的程序流程图描绘了一个非结构化的程序。

(1)为什么说它是非结构化的?

(2)利用附加变量flag设计一个等价的结构化

程序,用盒图描绘设计结果。

(3)不用附加变量,设计一个等价的结构化程

序,用盒图描绘设计结果。

答:

(1)因为循环控制结构有两个出口,因此

是非结构化的程序。

(2)利用附加变量flag设计的等价的结构

化程序如下图(左)

(3)不用附加变量flag设计的等价的结构

化程序如下图(右)

相关文档
最新文档