《软件工程》大题作业.docx
《《软件工程》大题作业.docx》由会员分享,可在线阅读,更多相关《《软件工程》大题作业.docx(32页珍藏版)》请在冰豆网上搜索。
《软件工程》大题作业
附加题:
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
月份<1200300
月份>12200313
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
可供选择的测试数据组为:
xy
Ⅰ03
Ⅱ12
Ⅲ-12
Ⅳ31
找出实现
(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方法画出相应的结构图。
A2 T1B1
A AABB
BD
A1 T2B2
C
D
CC FF G
答:
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
}
加工 名:
记录
编号:
无
激发条件:
存款单
优 先 级:
无
输入:
存款单
输出:
存款单
加工逻辑:
根据账单检查此储户是否存在,不存在则建立此储户{
余额=余额+存款数
输出存款单到储户
}
存
款
储户
取
款
储户
表单
表单处理
1
存
款
取
款
单
单
单
单
分类并检查
存款单
记录
处理存款
2
取
款
单
统计
帐单 存
单
清单
储户
处理取款
3
11.某图书管理系统工程有以下功能:
(1)借书:
输入读者借书证。
系统首先检查借书证是否有效,对于第一次借书的读者,在借
书文件建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过 10 本,若已达 10
本,拒借,未达 10 本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文
件).
(2)还书:
从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3 个月)作罚
1
2
3
4
5
6
7
8
9
10
11
年龄
C
C
D
D
D
D
D
E
E
E
文化
G
H
H
G
G
H
I
G
H
I
性别
--
--
M
M
F
F
--
--
--
--
脱产学习
√
电工
√
钳工
√
√
车工
√
√
技术员
√
√
材料员
√
√
款处理。
否则,修改库存目录与借书文件。
(3)查询:
可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印
各种统计表。
请就以上系统功能画出分层的 DFD 图,并建立重要条目的数据字典。
12.某厂对部分职工重新分配工作的政策是:
年龄在伙岁以下者,初中文化程度脱产学习。
高中文化程度当电工;年龄在 20 岁到 40 岁
之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在
40 岁以上者,中学文化程度当材料员,大学文化程序当技术员。
请用结构化语言、判定表
或判定树描述上述问题的加工逻辑。
(1)结构化语言:
根据职工年龄和文化程序:
REPEAT
If 年龄<=20
If 初中文化 Then 脱产学习 endif
else if 高中文化 Then 电工 endif
endif
If 20<年龄<40
If 中学文化
If 男性 Then 钳工
Else
车工
Endif
else if 大学文化 Then 技术员 endif
endif
endif
If 年龄>=40
If 中学文化 Then 材料员
else if 大学文化 Then 技术员 endif
endif
endif
Until 没有剩余未分配员工
条件名取值符号取值数
年龄
<=20
C
M1=3
>20,<40
D
>=40
E
文化程度
中学
G
M2=3
高中
H
大学
I
性别
男
M
M3=2
女
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天。
对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。
情况之一(欠款时间≤30天),如果需求数≤库存量,则立即发货,如果需求数>库存量,则
只发现有库存,不足部分待进货后补发。
情况之二(30天<欠款时间≤100天),如果需求数≤库存量,则要求先付款再发货,如果需
求数>库存量,则不发货。
情况之三(欠款时间>100天),则通知先付欠款,再考虑是否发货。
试用判定树的形式予以描述(设欠款时间 D,需求数 N,库存量 Q)。
1
2
3
4
条件
b1
F
T
T
T
b2
…
F
F
T
b3
…
F
T
…
答:
2、用Jackson图表示下图所示的二维表格:
学生名册
表头 表体
表名字段名
行*
答:
3、有一过程,其流程如下图所示。
姓名 性别 年龄 学号
其中b1 、b2、 b3为判定的逻辑条件,s1、 s2为加工处理。
试用判定表给予描述。
答:
4、1、有一过程如下图所示的流程,试用判定表予以描述。
结果
s1
√
√
√
s2
√
附加题:
1、 一本书有一个封面、一个目录、一个前言、若干章、每章有若干节、每节有若干段
每段有若干句子、每节有 0 个或多个插图,还有 0 个或多个表格,最后有一个附录。
试建立该书的对象模型。
答:
附加题:
1、下图是某项目的PERT图:
1-2是建立计划,2-4是编程,4-8是测试代码,8-10是测试系统,
1-3是购买硬件,3-5是安装,5-7是撰写手册,5-6是转化,7-9是培训,
9-10是用户测试。
(1) 画出完整的PERT图(标出EET,LET,和每个作业的机动时间);
(2) 找出关键路径及完成该项目的最短时间;
答:
(1)
(2)关键路径如上图粗黑线,该项目最短完成时间为70