(整理)西安电子科技大学《软件工程》作业

  • 格式:doc
  • 大小:317.50 KB
  • 文档页数:14

精品文档

精品文档 附加题:

1、对下列子程序进行调试:

procedure example(y,z: real; var x: real)

begin

if (y>1) and (z=0) then x:=x/y;

if (y=2) or (x=l) then x:=x+l;

end.

该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。答题要求:

(1)画出流程图。

(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

答:(1)流程图

(2)用白盒法中条件组合覆盖设计测试用例:

① y=2, z=0, x=4;

② y=2, z=1, x=1;

③ y=1, z=0, x=2;

④ y=1, z=1, x=1.

2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。

答:

输入条件 测试用例说明 测试数据

报表日期的 1个数字字符 5

类型及长度 5个数字字符 20035

7个数字字符 2003005

有1个非数字字符 2003.5

全部是非数字字符 MAY---

6个数字字符 200305

日期范围 在有效范围 200301

边界上选取 200812

数据 200300 精品文档

精品文档 200813

月份范围 月份为1月 200301

月份为12月 200312

月份<1 200300

月份>12 200313

3、对以下程序进行测试:

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

4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。

(1)按等价分类法设计测试用例(要求列出设计过程)

(2)按边缘值分析法设计测试用例。

答:

1)合理等价类

选修1门

选修2门

选修3门

不合理等价类

没选课

选3门以上

测试用例

选修=2 精品文档

精品文档 选修=0

选修>3

2) 边缘值法

0,1,3,4

5、设被测试的程序段为:

begin

s1 ;

if (x=0) and (y>2)

then s2;

if (x<1) or (y=1)

then s3 ;

s4 ;

end

可供选择的测试数据组为:

x y

Ⅰ 0 3

Ⅱ 1 2

Ⅲ -1 2

Ⅳ 3 1

找出实现(1)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。

答:(1)Ⅰ (2) Ⅰ,Ⅳ (3) Ⅰ,Ⅱ

4.请使用流程图、PAD图各PDL语言描述下列程序的算法。

(1)在数据A(1)-A(10)中求最大数和次大数。

(2)输入三个正整数作为边长、判断该三条边构成的三角形是等边、等腰或一般三角形。

答:

(1)

1)流程图:

2)PAD图

3)PDL语言

定义 n1=n2=0

输入A(1).......A(10)

n1=n2=A(1)

while i>10

if A(i)>=n1

n2=n1

n1=A(i)

end while

5.用PAD图描述下面问题的控制结构。 精品文档

精品文档 有一个表A(1)、A(2)、........A(n),按递增顺序排列。给定一个Keyw值,在表中用折半查找。若找到将表位置i送入x,否则将零送到x,同时将Key值插入表中。

算法: 1)置初值H=1(表头),T=N(表尾)。

2)置i=[(H+T)/2](取整).

3)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;

若KeyT为止。

4)查不到时,将A(i),....,A(N)移到A(i+1),.....A(N+1),Key 值送入A(i)中。

2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。试问: 可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。

3、已知有一抽象的DFD图如下所示,请用SD方法画出相应的结构图。

T1BDFFABEA2B1AAT2BBCCGCDA1B2

答:

4、高考录取统分子系统有如下功能:

(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

答:

(1) 数据流图: 精品文档

精品文档

(2) 软件结构图:

5、图书馆的预定图书子系统有如下功能:

(1) 由供书部门提供书目给订购组。

(2) 订书组从各单位取得要订的书目。

(3) 根据供书目录和订书书目产生订书文档留底。

(4) 将订书信息(包括数目,数量等)反馈给供书单位。

(5) 将未订书目通知订书者。

(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

答:

(1) 数据流图: ① 原始分 ② 标准分

③ 招生计划 ④ 录取线 精品文档

精品文档 (2) 软件结构图:

6、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。

答:

变换型 事务型

10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。

(1)数据流条目:

数据流名称:存款单

别 名:无

简 述:储户存款时填写的项目

来 源:储户

去 向:记帐

数据 流 量:未知

组 成:姓名+住址+存款类型+存款日期+利率

数据流名称:取款单 精品文档

精品文档 别 名:无

简 述:储户取款时填写的项目

来 源:储户

去 向:统计

数据 流 量:未知

组 成:姓名+住址+取款类型+取款日期+利率

数据流名称:清单

别 名:无

简 述:储户取款后得到的项目

来 源:记录

去 向:储户

数据 流 量:未知

组 成:姓名+住址+取款类型+取款日期+利率+余额

(2)数据存储条目:

数据存储名称:账单

别 名:无

简 述:存放储户信息及其账目

组 成:姓名+住址+余额+存款类型+最后修改日期+利率

组 织 方 式:未知

查 询 要 求:能立即查询

(3)数据项条目:

未知

(4)加工条目:

加工 名:分类检查

编 号:无

激发条件:接收到存/取款单

优 先 级:优先

输 入:存/取款单

输 出:存/取款单

加工逻辑:IF 存款单 THEN 把存款单输出到统计

ELSE

把取款单输出到统计

ENDIF

加工 名:统计

编 号:无

激发条件:取款单

优 先 级:无

输 入:取款单

输 出:清单

加工逻辑:根据账单检查此储户是否存在,不存在输出错误{

IF 取款数

精品文档 输出清单到储户,输出现金到储户

ELSE

输出错误清单到储户

ENDIF

}

加工 名:记录

编 号:无

激发条件:存款单

优 先 级:无

输 入:存款单

输 出:存款单

加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{

余额=余额+存款数

输出存款单到储户

}

11.某图书管理系统工程有以下功能:

(1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).

(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。否则,修改库存目录与借书文件。

(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。

12.某厂对部分职工重新分配工作的政策是:

年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40储户分类并检查储户记录统计存款单取款单存款单取款单清单帐单存单表单处理1处理存款2处理取款3存款单取款单储户表单