软件工程作业8(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程作业8(含答案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
1. 为了把握软件开发各个环节的正确性和协调性,人们需要进行(A 2)和(B 3 )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括(C 2 )和(D 3 ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑(E 3 )、(F 4 )和正确性。
供选择的答案:
A, B. ①操作②确认③验证④测试⑤调试
C, D. ①用户的确认②需求规格说明的确认
③程序的确认④测试的确认
E, F. ①可靠性②独立性③协调性④完备性⑤扩充性
2. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( A 1)的30%以上。因此,提高测试的有效性十分重要。“高产”的测试是指( B
3 )。根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在(C 5)阶段完成的,集成测试的计划是在( D 3)阶段制定的,确认测试的计划是在(E 2 )阶段制定的。
供选择的答案:
A. ①软件开发费用②软件维护费用③软件开发和维护费用
④软件研制费用⑤软件生存期全部
B. ①用适量的测试用例运行程序,证明被测程序正确无误
②用适量的测试用例运行程序,证明被测程序符合相应的要求
③用少量的测试用例运行程序,发现被测程序尽可能多的错误
④用少量的测试用例运行程序,纠正被测程序尽可能多的错误
C E. ①可行性研究和计划②需求分析③概要设计
④详细设计⑤实现⑥集成测试
⑦确认测试⑧使用和维护
3. 集成测试也叫做( A 3)或( B 6)。通常,在( C 1)的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为(D 2 ),它所做的工作是要找出子系统和系统需求规格说明之间的(E 6)。需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会( F 2);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个( G 1 )组合起来,能否达到预期要求的(H 3);( I 5 )是否有问题;单个模块的误差累积起来是否会放大。
供选择的答案:
A D. ①单元测试②部件测试③组装测试
④系统测试⑤确认测试⑥联合测试
E I. ①子功能②丢失③父功能
④局部数据结构
⑤全局数据结构⑥不一致⑦一致
4. 软件测试可能发现软件中的(B),但不能证明软件()。
A. 所有错误、没有错误
B. 错误、没有错误
C. 逻辑错误、没有错误
D. 设计错误、没有错误
5. 调用算法是解决问题的关键步骤之一。算法的计算工作量大小和实现算法所需的存储单元多少,分别称为计算的(A2)和(B3)。编写程序时,(C1)和(D1)是应采纳的原则之一。(E4)是调试程序的主要工作之一。
供选择的答案:
A、B:
①可实现性②时间复杂度③空间复杂度④困难度
⑤计算有效性
C:①程序的结构化②程序越短越好
③尽可能节省存储单元④尽可能减少注释行
D:①使用有实际意义的名字②使用长度短而无实际意义的名字
③表达式中尽量少用括号④尽量使用简化了的逻辑表达式
E:①调度②证明程序正确③人员安排④排错
6. 软件测试是为了检查出并改正尽可能多的错误,不断提高软件的(A3),一个成功的测试则是发现了至今未被发现的(B2)的测试。至于软件维护则是指(C1)。
A:①功能和效率②设计和技巧③质量和可靠性④质量和效能
B:①因素②错误③规律④问题
C:①对软件的改进、适应、完善②维护正常运行
③配置新软件④软件开发期的一个阶段
7. 软件测试的目的是(D)。
A. 证明软件的正确性
B. 找出软件系统中存在的所有错误
C. 证明软件系统中存在错误
D. 尽可能多地发现软件系统中的错误
8. 从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为( D)。
A. 错误检测
B. 故障排除
C. 调试
D. 测试
9. 软件测试是软件质量保证的主要手段之一,测试的费用己超过(A )的30%以上,因此提高测试的有效性非常重要。
A. 软件开发费用
B. 软件维护费用
C. 软件开发和维护费用
D. 软件研制费用
10.软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是(B)。
A. 集成测试
B. 单元测试
C. 系统测试
D. 验收测试
上机题
1.下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( )::
void SelectSort ( datalist & list ) {
ey到[n-1].key中找具有最小关键码的对象
for ( int j = i+1; j < ; j++)
if ( [j].getKey ( ) < [k].getKey ( ) ) k = j; 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:
“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。”
(1) 试利用因果图法,建立该软件的因果图;
(2) 设计测试该软件的全部测试用例。