当前位置:文档之家› 软件工程课后题答案

软件工程课后题答案

附加题:1、对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (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个数字字符200357个数字字符2003005有1个非数字字符2003.5全部是非数字字符MAY---6个数字字符200305日期范围在有效范围200301边界上选取200812数据200300200813月份范围月份为1月200301月份为12月200312月份<1 200300月份>12 2003133、对以下程序进行测试:PROCEDURE EX(A,B:REAL;VAR X:REAL);BEGINIF(A=3)OR(B> 1)THEN X:=A×BIF(A>2)AND(B=0)THEN X:=A-3END先画出程序流程图。

再按不同逻辑覆盖法设计一种(写出名称)测试数据。

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

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

答:1)合理等价类选修1门选修2门选修3门不合理等价类没选课选3门以上测试用例选修=2选修=0选修>32) 边缘值法0,1,3,45、设被测试的程序段为:begins1 ;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>10if A(i)>=n1n2=n1n1=A(i)end while5.用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 ; 若Key<A(i),则能Key 在表的前半部分,i-1送入T ,重复第三世界国家步查找直到H>T 为止。

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

2、已知模块C 中的一个判定影响到模块B ,如图所示,它违反了SD 的设计原则。

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

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

T1BD FF A B EA2B1AA T2BB CC G CD A1B2答: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 取款数<余额THEN 余额=余额-取款数输出清单到储户,输出现金到储户ELSE输出错误清单到储户ENDIF}加工名:记录编号:无激发条件:存款单优先级:无输入:存款单输出:存款单加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{余额=余额+存款数输出存款单到储户}11.某图书管理系统工程有以下功能:(1)借书:输入读者借书证。

系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。

否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。

否则,修改库存目录与借书文件。

(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。

请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。

12.某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。

高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。

年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。

请用结构化语言、判定表或判定树描述上述问题的加工逻辑。

(1)结构化语言:根据职工年龄和文化程序:REPEATIf 年龄<=20If 初中文化 Then 脱产学习 endifelse if 高中文化 Then 电工 endifendifIf 20<年龄<40If 中学文化If 男性 Then 钳工Else车工Endifelse if 大学文化 Then 技术员endifendifendifIf 年龄>=40If 中学文化 Then 材料员else if 大学文化 Then 技术员endifendifendifUntil 没有剩余未分配员工女 F附加题:1、自学考试报名过程中有个“记录报名单”的加工。

该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

请绘制该加工的DFD图,并写出数据词典中的数据流条目。

答:数据流词典数据流条目:报名单= 姓名+ 性别+ 身份证号+ 课程名开考课程= 课程名+ 开考时间考生名册= 准考证号+ 姓名+ 课程2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。

请写出这三个数据流条目。

答:运动员名单=队名+运动员号+姓名+{项目}项目=项目名项目参加者=项目名+{运动员号}3、某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。

答:电话号码=分机号|外线号码分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4附加附加题:1、假设对顾客的订货单按如下原则处理:将顾客的信用度分三个档次:欠款时间不超过30天;欠款时间超过30天但不超过100天;欠款时间超过100天。

相关主题