《软件工程》大题作业

  • 格式:docx
  • 大小:429.54 KB
  • 文档页数:15

附加题: 1对下列子程序进行调试:

procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) the n x:=x/y; if (y=2) or (x=l) the n x:=x+l; en d. 该子程序接受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 X B IF (A>2 ) AND (B=0 ) THEN X : =A — 3 END 先画出程序流程图。 再按不同逻辑覆盖法设计一种(写出名称)测试数据。 答:

4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修 法设计测试

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

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

答: 1) 合理等价类

选修1门 选修2门 选修3门 不合理等价类 没选课 选3门以上 测试用例 选修=2

选修=0 选修 >3

1至3门课程,试用黑盒

语句覆盖 A=3 B=0 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

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

IV 3 1 找出实现( 1 )语句覆盖;( 2)条件覆盖;( 3)判定覆盖至少要选择的数据组。 答: (1)I (2) I ,V (3) I ,n 4.请使用流程图、 PAD 图各 PDL 语言描述下列程序的算法。

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

(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的设计原则。试问:可以

采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。

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

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

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

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

GET Al, A2 AK A2-B1. B2

| GET A AA T1 T2

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

答: (2) 软件结构图:

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

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

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

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

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

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

(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 试根据要求画出该问题的数据流程图,

并把其转换为软件结构图。 答: (1)数据流图: b 2——梗肝书目 3——归焚书目.讦书话草4——归类书目 J——订书话单

打—— 书书目 7—iT节书目 S——已肝书目 9—— r S 10——酉肝书目 L2, 13-——电新书目 14——订书僧息

6、

在结构化设计过程中,要将数据流图 (DFD)映射成系统结构图(SC),分别画出变换型

数据流和事物型数据流的映射方式。 答: 变换型 事务型

10. 某银行的计算机储蓄系统功能是:将储户填写的存

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

数据流名称:存款单 别 名:无 简 述:储户存款时填写的项目

ZL 按覺事务 调度模块 输出模块

1 动作1 动柞2 动柞3

琨务|卩心

曲入 变搀 传出 来 源:储户 去 向:记帐 数据 流 量:未知 组 成:姓名 +住址 +存款类型 +存款日期 + 利率 数据流名称:取款单 别 名:无 简 述:储户取款时填写的项目 来 源:储户 去 向:统计 数据 流 量:未知 组 成:姓名 +住址 +取款类型 +取款日期 + 利率 数据流名称:清单 别 名:无 简 述:储户取款后得到的项目 来 源:记录 去 向:储户 数据 流 量:未知 组 成:姓名 +住址 +取款类型 +取款日期 +利率 +余额 (2)数据存储条目: 数据存储名称:账单 别 名:无 简 述:存放储户信息及其账目 组 成:姓名 +住址 +余额 +存款类

型 +最后修改日期 + 利率 组 织 方 式:未知 查 询 要 求:能立即查询 (3) 数据项条目: 未知

(4) 加工条目: 加工 名:分类检查 编 号:无 激发条件:接收到存 /取款单 优 先 级:优先 输 入:存 / 取款单

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

ENDIF

加工 名:统计 编 号:无 激发条件:取款单 优先级:无 输 入:取款单 输 出:清单 加工逻辑:根据账单检查此储户是否存在,不存在输出错误 { IF取款数 <余额THEN 余额=余额-取款数 输出清单到储户,输出现金到储户

ELSE

输出错误清单到储户 ENDIF } 加工名:记录

编 号:无 激发条件:存款单 优先级:无 输 入:存款单 输 出:存款单 加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户 { 余额=余额+存款数 输出存款单到储户 }