欢迎来到天天文库
浏览记录
ID:52139518
大小:250.50 KB
页数:17页
时间:2020-04-01
《软件工程导论习题解答.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4-4.考虑下述的自动化图书馆流通系统:每本书都有一个条形码,每个人都有一个带条形码的卡片。但一个借阅人想借一本书时,图书管理员扫描书上的条形码和借阅人卡片的条形码,然后在计算机终端上输入C;当归还一本书时,图书管理员将再次扫描,并输入R。图书管理员可以把一些书加到(+)图书集合中,也可以删除(—)它们。借阅人可以再终端上查找到某个作者所有的书(输入“A=”和作者名字),或具有指定标题的所有书籍(输入“T=”和标题),或属于特定主题范围内的所有图书(输入“S=”加主题范围)。最后,如果借阅人想借的书已被别人借走,图书
2、管理员将给这本书设置一个预约,以便书归还时把书留给预约的借阅人(输入“H=”加书号)。试用有穷状态机说明上述的图书流通系统。图书馆流通系统的有穷状态机描述如下:(一)图书状态的有穷状态机描述状态机J:{书在图书馆S1,书被借出S2,书被预约S3}输入集K:{书上条形码,借阅卡条形码,终端输入各种命令}转换函数T:如下图所示初始态S:{书在图书馆S1,书被借出S2}终态集F:{书被借出S2,书被预约S3}书归还,扫描两个条形码,在终端输入R在终端输入“H=”加书号扫描两个条形码,在终端输入R扫描两个条形码,在终端输入C
3、书在图书馆S1书被借出S2书被预约S3(二)图书馆终端管理员模式的有穷状态机描述状态机J:{管理员设置状态,书入库,书出库(删除),预约}输入集K:{终端输入管理员命令,书的各种状态(S1,S2,S3}转换函数T:如下图所示初始态S:{管理员设置状态}终态集F:{书入库,书出库(删除),预约,}管理员删除管理员添加管理员设置状态书入库书出库(删除)预约书状态为S2&终端输入“H=”加书名(三)图书馆终端用户模式的有穷状态机描述状态机J:{读者查询状态,查询结果}输入集K:{终端输入用户查询命令,书的各种状态(S1,S
4、2,S3)}转换函数T:如下图所示初始态S:{读者查询状态}终态集F:{查询结果}读者查询状态查询结果终端输入各种查询命令5-3.用面向数据流的方法设计下列系统的软件结构。(3)患者监护系统。需求分析阶段得出的数据流图7-2研究下面给出的伪码程序,要求:⑴画出它的程序流程图;⑵它是结构化的还是非结构化的?说明理由;⑶若是非结构化的,则①把它改造成仅用三种控制结构的结构化程序;②写出这个结构化设计的伪码;③用盒图表示这个结构化程序.⑷找出并改正程序逻辑中的错误.COMMENT:PROGRAMSEARCHESFORFIR
5、STNREFERENCESTOATOPICINANINFORMATIONRETRRIEVALSYSTEMWITHTOTALENTRIESINPUTNINPUTKEYWORD(S)FORTOPICI=0MATCH=0DOWHILEI≤TI=I+1IFWORD=KEYWORDTHENMATCH=MATCH+1STOREINBUFFERENDIFMATCH=NTHENGOTOOUTPUTENDENDIFN=0THENPRINT“NOMATCH”OUTPUT:ELSECALLSUBROUTINETOPRINTBUFFERIN
6、FORMATIONEND(1)程序流程图(2)这个程序是非结构化的。因为在流程图中“印出缓冲区的内容”这个处理框有两个入口;此外,循环结构有两个出口:I≤T为假和MATCH=N为真时都结束循环。(3)仅用3种控制结构的等价的结构化程序的伪码如下:INPUTNINPUTKEYWORD(S)FORTOPICI=0MATCH=0DOWHILE(I≤T)and(MATCH7、CH”ELSECALLSUBROUTINETOPRINTBUFFERINFORMATIONEND盒图(4)该程序逻辑中有两个错误第一个错误是WHILE循环条件I≤T:根据这个条件,当I=T时应该执行一遍循环体。循环体的第一天语句是I=I+1,即把I的值加1,使之变成T+1,但是,该检索系统总共只有T个词条,下标I变成T+1将出现“越界”错误,因此应该把循环条件改为I8、个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计对其进行测试期间将发现多少个错误?为什么?(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30E
7、CH”ELSECALLSUBROUTINETOPRINTBUFFERINFORMATIONEND盒图(4)该程序逻辑中有两个错误第一个错误是WHILE循环条件I≤T:根据这个条件,当I=T时应该执行一遍循环体。循环体的第一天语句是I=I+1,即把I的值加1,使之变成T+1,但是,该检索系统总共只有T个词条,下标I变成T+1将出现“越界”错误,因此应该把循环条件改为I8、个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计对其进行测试期间将发现多少个错误?为什么?(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30E
8、个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计对其进行测试期间将发现多少个错误?为什么?(3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30E
此文档下载收益归作者所有