软件工程练习+答案 下载本文

设计DFD图(10分)

一个飞机机票预订系统,功能为旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、 旅行时间及目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(付有应交的账款)。旅客在飞机起飞的前一天凭取票通知等交款取票, 系统检验无误,输出机票给旅客。请画出该系统的DFD图。

订票单旅行社有效取票单记帐文件机票文件航班目录分类并检查有效订票单订票记帐取票单机票帐单机票准备取票通知单旅客旅行社机票

设计测试用例(10分)

某城市的电话号码由三个部分组成。这三部分的名称与内容分别是: 1、地区码:空白或3位数字;

2、前缀:非“0”或“1”开头的3位数字; 3、后缀:4位数字。

用等价分类法完成如下要求:

(1) 划分出有效等价类、无效等价类;

(2) 为有效等价类设计出测试用例。

六.第一步:电话号码等价类划分输入条件 有效等价类 地区码 空白(1) 3位数字(2) 从200到999 之间的3位数字(3) 无效等价类 有非数字字符 (5) 少于3位数字 (6) 多于3位数字 (7) 有非数字字符 (8) 起始位为‘0’(9) 起始位为‘1’(10) 少于3位数字 (11) 多于3位数字 (12) 前缀 后缀 4位数字(4) 有非数字字符 (13) 少于4位数字 (14) 多于4位数字 (15) 第二步:确定测试用例对表中4个有效等价类可公用,设计下面两个测试用例即可: ( )276-2345 等价类(1)(3)(4) 有效 (635)805-9321

3.下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ]) {

int k=0;

for ( int j=1; j datalist[k] ) k=j; return k; }

(2) 用基本路径覆盖法给出测试路径。 (3) 为各测试路径设计测试用例

(1)控制流图如下,McCabe环路复杂性为3。

等价类(2)(3)(4) 有效

(2) 测试路径: Path1: ①→③

Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:

Path1: 取n=1,datalist[0] = 1, 预期结果:k=0

Path2: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0

Path3: 取n=2,datalist[0] = 0,datalist[1] = 1, 预期结果:k=1

五、分析题

1.根据伪码程序画出程序流程图,盒图(N-S图)。 START

a

IF x1 THEN

REPEAT UNTIL x2

b

END REPEAT

ELSE BLOCK

c d

END BLOCK END IF STOP 答:

.根据下列描述,画出教材征订系统的第一层数据流图。学生人学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。

请将下面的流程图用与之等价的N-S图表示。 解:

1. 根据下面程序代码,画出程序流程图,然后设计满足条件/判定覆盖、条件组合覆盖的

测试用例。

BEGIN T:=0

IF ( X>=80 AND Y>=80 )THEN

T:=1

ELSE IF ( X>=90 AND Y>=75 ) THEN

T:=2 ENDIF

IF (X>=75 AND Y>=90) THEN T:=3 ENDIF ENDIF RETURN

开始T=0X>=80 AND Y>=80NX>=90 AND YY>=75YT=2T=1NX>=Y>=9075 AND YT=3结束

测试用例:

条件/判定覆盖: 1 X=80 Y=80 2 X=90 Y=75 3 X=50 Y=50 条件组合覆盖: 1 X=80 Y=80 2 X=80 Y=75 3 X=75 Y=80 4 X=75 Y=75 5 X=90 Y=75 6 X=90 Y=70 7 X=80 Y=75 8 X=80 Y=70 9 X=75 Y=90 10 X=75 Y=90 11 X=70 Y=90 12 X=70 Y=85

1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。写出在数据字典中,电话号码的数据条目的定义(即组成)。

N名称 分机号

外线市话号

外线长话号

ber

简称

Extension_Num

Addition_Internumber

Addition_Extennumber

符 符

类度 字字字2

长4 9 1

取值范围 7201..7299

9+[455|466|888|552]+4{数字}4

9+[100|101|102|..|298|299|300]+[455|46

6|888|552]+4{数字}4

电话号码={分机|外线} 分机=[7201——7299] 外线=9+{市话号码|长话号码} 市话号码=局号+分局号 局号={455,466,888,552} 分局号=4{0-9}4

长话号码=区号+市话号码 区号=[100—300]

2.下面是旅客订飞机票的需求描述,试画出分层的数据流程图。 顾客将订票单交给预订系统:(1)如果是不合法订票单,则输出无效订票信息;(2)对合法订票单的预付款登录到一个记账文件中;(3)系统有航班目录文件,根据填写的旅行时间和目的地为顾客安排航班;(4)在获得正确航班信息和确认已交了部分预付款时发出取票单,并记录到取票单文件中。

顾客在指定日期内用取票单换取机票:(1)系统根据取票单文件对取票单进行有效性检查,无效的输出无效取票信息;(2)持有有效取票单的顾客在补交了剩余款后将获得机票;(3)记账文件将被更新,机票以及顾客信息将被登录到机票文件。 订单中有订票日期、旅行日期、时间要求(上午、下午、晚上)、出发地、目的地、顾客姓名、身份证号、联系电话。 DS002航班目录文件顾客IPO01DS003取票单文件机票预订系统DS001记帐文件DS004机票文件

0层流程图

IPO1顾客提交订票单IPO7有效性检查DS003取票单文件IPO3发取票单IPO8安排航班IPO2交预付款DS001记帐文件DS002航班目录文件 预定流程图

IPO4顾客提交取票单IPO7有效性检查IPO6DS004机票文件发放机票IPO5补交剩余款DS003取票单文件DS001记帐文件 取机票流程图

3.一个简化的图书馆信息管理系统有以下功能:(1)借书:输入读者借书证,系统检查借书证是否有效;查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,显示信息“已经超出借书数量”,拒借;未达10本,办理借书(检查库存、修改库存信息并将读者借书信息登入借书记录)(2)还书:输入书号和读者号,从借书记录中读出与读者有关的记录,查阅所借日期,如果超过3个月,作罚款处理。否则,修改库存信息与借书记录。(3)查询:可通过借书记录、库存信息查询读者情况、图书借阅情况及库存情况,打印各种统计表。 请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。

办公室读者IPO001DS004处罚信息图书馆系统DS002库存信息DS001读者信息DS003借还信息

0层数据流程图

读者IPO1DS002库存信息还书处理DS003借还信息IPO6DS004处罚信息处罚处理 还书流程图

DS001读者信息IPO2读者有效性检查IPO7数量检查DS003IPO3DS002库存信息借书处理借还信息

借书流程图

DS002库存信息IPO4管理员查询IPO5打印报表DS003借还信息

查询流程图

数据字典:

元素名称 IPO1 IPO2 IPO3 IPO4 IPO5 IPO6 IPO7 DS001

名称 还书处理 有效性检查 借书处理 查询 打印报表 处罚管理 数量检查 读者信息

类型 处理 处理 处理 处理 处理 处理 处理 数据存储

说明

根据书号做还书处理,违规做处罚 检查读者号,图书号的有效性 按读者号,图书号进行借书处理 管理员对一些基本信息进行查询 打印查询到的信息

根据规则对延期给予相应的处罚 对读者借出的数量是否符合规定进行检查

读者信息录入,修改,删除,保存

DS002 DS003 DS004

库存信息 错还信息 处罚信息

数据存储 数据存储 数据存储

图书的基本的情况以及所有图书的整体情况

存储借还书信息,系统自动处理,不能人工录入

存储延期的处罚信息

二 应用题:新东方学校的学生报名信息管理系统,业务如下:

如果是报名的,由负责报名的工作人员查阅课程目录信息,检查该课程是否额满,如果有了空额,则在学生信息、课程信息表中登记相应的信息,并开出报告单交财务部门,学生到财务处交钱,财务人员开出发票给学生。

如果是想注销原来已报名的课程,则由负责报名的工作人员在课程信息、学生信息和帐目信息上做相应的修改,并给学生注销单,财务人员负责退款,索回发票。

要求:1.对以上问题画出数据流程图。5分 参考答案: