软件工程导论习题解答.ppt_第1页
软件工程导论习题解答.ppt_第2页
软件工程导论习题解答.ppt_第3页
软件工程导论习题解答.ppt_第4页
软件工程导论习题解答.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4-4.考虑下述的自动化图书馆流通系统:每本书都有一个条形码,每个人都有一个带条形码的卡片。但一个借阅人想借一本书时,图书管理员扫描书上的条形码和借阅人卡片的条形码,然后在计算机终端上输入C;当归还一本书时,图书管理员将再次扫描,并输入R。图书管理员可以把一些书加到(+)图书集合中,也可以删除()它们。借阅人可以再终端上查找到某个作者所有的书(输入“A=”和作者名字),或具有指定标题的所有书籍(输入“T=”和标题),或属于特定主题范围内的所有图书(输入“S=”加主题范围)。最后,如果借阅人想借的书已被别人借走,图书管理员将给这本书设置一个预约,以便书归还时把书留给预约的借阅人(输入“H=”加书

2、号)。 试用有穷状态机说明上述的图书流通系统。,图书馆流通系统的有穷状态机描述如下: (一)图书状态的有穷状态机描述 状态机J:书在图书馆S1,书被借出S2,书被预约S3 输入集K:书上条形码,借阅卡条形码,终端输入各种命令 转换函数T:如下图所示 初始态S:书在图书馆S1,书被借出S2 终态集F:书被借出S2,书被预约S3,(二)图书馆终端管理员模式的有穷状态机描述 状态机J:管理员设置状态,书入库,书出库(删除),预约 输入集K:终端输入管理员命令,书的各种状态(S1,S2,S3 转换函数T:如下图所示 初始态S:管理员设置状态 终态集F:书入库,书出库(删除),预约,,(三)图书馆终端用

3、户模式的有穷状态机描述 状态机J:读者查询状态,查询结果 输入集K:终端输入用户查询命令,书的各种状态(S1,S2,S3) 转换函数T:如下图所示 初始态S:读者查询状态 终态集F:查询结果,5-3.用面向数据流的方法设计下列系统的软件结构。 (3)患者监护系统。,需求分析阶段得出的数据流图,7-2 研究下面给出的伪码程序,要求: 画出它的程序流程图; 它是结构化的还是非结构化的?说明理由; 若是非结构化的,则 把它改造成仅用三种控制结构的结构化程序; 写出这个结构化设计的伪码; 用盒图表示这个结构化程序. 找出并改正程序逻辑中的错误.,COMMENT: PROGRAM SEARCHES FO

4、R FIRSTN REFERENCES TO A TOPIC IN AN INFORMATION RETRRIEVAL SYSTEM WITH TOTAL ENTRIES INPUT N INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE IT I=I+1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END IF MATCH=N THEN GOTO OUTPUT END END IF N=0 THEN PRINT “NO MATCH” OUTPUT: ELSE CALL SUBROUTINE

5、TO PRINT BUFFER INFORMATION END,(1)程序流程图,(2)这个程序是非结构化的。因为在流程图中“印出缓冲区的内容”这个处理框有两个入口;此外,循环结构有两个出口:IT为假和MATCH=N为真时都结束循环。,(3)仅用3种控制结构的等价的结构化程序的伪码如下:,INPUT N INPUT KEYWORD(S) FOR TOPIC I=0 MATCH=0 DO WHILE(IT) and (MATCHN) I=I+1 IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END END IF N=0 THEN PRINT

6、 “NO MATCH” ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION END,盒图,(4)该程序逻辑中有两个错误,第一个错误是WHILE循环条件IT:根据这个条件,当I=T时应该执行一遍循环体。循环体的第一天语句是I=I+1,即把I的值加1,使之变成T+1,但是,该检索系统总共只有T个词条,下标I变成T+1将出现“越界”错误,因此应该把循环条件改为IT。 第二个错误是打印出“无匹配”的条件N=0:该程序使用变量MATCH存放匹配次数,因此,打印出“无匹配”的条件应该是MATCH=0,7-4 (2)假设有一个由1000行FORTRAN语句构成的

7、程序(经编译后大约 有5000条机器指令),估计对其进行测试期间将发现多少个错 误?为什么? (3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:,START INPUT (A,B,C) IF A5 THEN X=10 ELSE X=1 END IF IF B10 THEN Y=20 ELSE Y=2 END IF IF C15 THEN Z=30 ELSE Z=3 END IF PRINT (X,Y,Z) STOP,2)经验表明,在类似的程序中,单位长度里的错误数ET/IT近似为常数。美国的一些统计数字告诉我们,通常 0.5X10-2 ET/IT 2X10-2 也就是说,在测试之前每1000

8、条指令中大约有520个错误。 假设在该程序的每1000条指令中有10个错误,则估计在对它进行测试期间 将发现的错误数为 5000X10/1000=50 (个),3) 语句覆盖的测试用例, 使3个判定表达式之值全为假 输入:A=1,B=1,C=1 预期的输出:X=1,Y=2,Z=3 使3个判定表达式之值全为真 输入:A=20,B=40,C=60 预期的输出:X=10,Y=20,Z=30, 3个判定表达式之值全为假 输入:A=1,B=1,C=1 预期的输出:X=1,Y=2,Z=3 3个判定表达式依次为假、假、真 输入:A=1,B=1,C=60 预期的输出:X=1,Y=2,Z=30 3个判定表达式依次为假、真、假 输入:A=1,B=40,C=1 预期的输出:X=1,Y=20,Z=3 3个判定表达式依次为假、真、真 输入:A=1,B=40,C=60 预期的输出:X=1,Y=20,Z=30,路径覆盖的测试用例, 3个判定表达式依次为真、假、假 输入:A=20,B=1,C=1 预期的输出:X=10,Y=2,Z=3 3个判定表达式依次为真、假、真 输入:A=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论