软件工程12道习题题目练习(2013~2014-2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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<B)均为真
输入:A=1,B=1,C=0,D=1
预期输出:X=2,Y=2
2)覆盖ELSE部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)
OR(D<B)均为假
输入: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. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键
入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体
-联系图描绘系统中的数据对象。
答:环形复杂度=区域数=4
环形复杂度=边数-结点数+2
=14-12+2=4
环形复杂度=判定结点数+1=3+1=4
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设计的等价的结构
化程序如下图(右)
开始
停止
g
q<0
p>0
10.
假设变量名的命名规则一般规定如下:变量名的长度不多于20个字符,第一个字符必须为英文字母,其他字符可以为英文字母、数字以及下划线的任意组合。
请用等价划分类法设计测试用例。
答:
(1)划分等价类:
输入条件合理等价类不合理等价类
长度⑴小于20个字符
⑵等于20个字符
⑸大于40个字符
第一个字符⑶英文字符⑹非英文字符
其他字符⑷英文字母、数字或
下划线的任意组合
⑺空格
⑻标点符号
⑼运算符号
⑽其他可显示字符
测试数据测试范围期望结果
⑴s name12 等价类⑴、⑶、⑷有效
⑵sh3u7ehd_u7eygdjjdu87dfg93847y 等价类⑵、⑶、⑷有效
⑶u7euh4hdiidju86ujfk8kl7(7frh57yfg 等价类⑸无效
⑷345hfg 等价类⑹无效
⑸efdhj kj 等价类⑺无效
⑹hj!,jk 等价类⑻无效
⑺j+jklj 等价类⑼无效
⑻djh&$w2 等价类⑽无效
11. 一软件产品的功能:输入文件名,计算该文件中的字数,其数据流图如下:
请根据数据流图设计软件的结构图。
要求有一级分解、二级分解和精化过程。
答:
一级分解:
字数统计程序
输入文件名统计字数输出字数
二级分解:
精化:
12. 商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于
100元,按A 类标准收费(不打折);一次购物累计多于或等于100元,按B 类标准收费(打9折);会员顾客一次购物累计少于1000元,按C 类标准收费(打8折);一次购物累计等于或多于1000元,按D 类标准收费(打7折)。
请使用PAD 图来设计收费算法。
答:
字数统计程序
输入文件名 统计字数 读取文件名
验证文件名 格式化字数
显示字数
输出字数
字数统计程序
输入文件名 统计字数 读取文件名 验证文件名 格式化字数 显示字数
输出字数
13.为方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息
(姓名、性别、工作单位、身份证号码、旅行境、旅行目的地等)输入系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知账单交款取票,系统校对无误即印出机票给旅客。
请用数据流图描绘本系统的功能,并用实体-联系图描绘本系统中的数据对象。
答:
数据流图:
实体—联系图:。