当前位置:问答库>考研试题

2018年河北工业大学计算机科学与软件学院804软件工程及应用[专业学位]之软件工程导论考研基础五套测试题

  摘要

一、填空题

1. 构造原型的技术主要有_____、_____、_____、_____。

【答案】可执行的规格说明;基于脚本的设计;采用非常高级语言或专门语言;能重用软件

2. 集成测试是指在_____的基础上,将所有模块按照设计要求_____成一个完整的系统进行的测试,故也称_____或_____。

【答案】单元测试;组装;组装测试;联合测试

3. 数据流图有四个基本成分:_____、_____、_____、_____。

【答案】数据流;加工(又称为数据处理);数据存储;数据的源点或终点

4. 基本路径测试是在_____的基础上,通过分析控制构造的_____,导出_____集合,从而设计测试用例,保证这些路径至少通过一次。

【答案】程序控制流程图;环路复杂性;基本路径

5. 系统流程图用图形符号表示系统中各个元素,表达了系统中各种元素之间的_____。

【答案】信息流动

6. 参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行分配,这种方法称为_____方法。

【答案】自顶向下估算

7. 技术可行性一般要考虑的情况包括_____、_____、_____。

【答案】开发的风险;资源的有效性;技术

8. 主动对象的类称作_____, 它和主动对象的关系就像类和它们的对象一样。

【答案】主动类(Active Class)

9. 工程网络图是一种_____图,该图中用_____表示事件,有向弧或箭头表示子任务的进行,箭头上的数字称为_____,箭头下面括号中的数字表示该任务的_____。

【答案】有向;圆;权;机动时间

10.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:_____和_____。

【答案】深度优先策略;宽度优先策略

二、简答题

11.软件生命期各阶段的任务是什么?

【答案】(1)问题定义

问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”。通过对客户的访问调查,系统分析员扼 要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。

(2)可行性研究

这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗? ”。

可行性研究阶 段的任务是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。

(3)需求分析

这个阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”。这个阶段的一项重要任务是用 需求规格说明书准确地记录对目标系统的需求。

(4)总体设计

这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”。用适当的表达工具描述和分析 每种方案,推荐一个最佳方案并制定出详细计划。另一项主要任务就是设计程序的体系结构。

(5)详细设计

“应该怎样具体地实现这个系统呢? ”。详细设计阶段的任务就是把解法具体化,也就是回答:

在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。

(6)编码和单元测试

这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。程序员把详细设计的结果翻译成用选定 的高级编程语言书写的程序,并且仔细测试编写出的每一个模块。

(7)综合测试

这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求。应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,作为软件配置的一个组成部分。

(8)软件维护

维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。

12.根据瀑布模型为下列任务排序:验收测试、项目计划、单元测试、需求复审、成本估计、总体设计、设计复审、市场调研、详细设计、系统测试、实现、编制需求规格说明书。

【答案】根据题意可以把上述任务分为:

A. 市场调研

B. 项目计划、成本估计、编制需求规格说明书(同时进行)

C. 需求复审

D. 总体设计

E. 详细设计

F. 设计复审

G. 实现

H. 单元测试

I. 系统测试

J. 验收测试

根据瀑布模型的要求,上述任务正确的排序应为ABCDEFGHIJ 。

13.调试的目的是什么?调试有哪些技术手段?

【答案】(1)调试的目的

调试是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。

(2)调试技术

简单的调试方法

a. 在程序中插入打印语句

该方法的优点是能显示程序的动态过程,较易检查源程序中的有关信息。缺点是低效率,可能输出大量的无关的数据,发现错误带有偶然性,同时因插入打印语句要修改程序,这种修改可能会掩盖错误,改变关键的时间 关系或把新的错误引入程序。

b. 运行部分程序

有时为了测试某些被怀疑有错的程序段,整个程序反复执行多次,使很多时间浪费在执行已经是正确的程序段上。在此情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。可通过注释程序或开发语言所带的调试工具来查找错误。

②归纳法调试

归纳法调试从调试结果发现的线索(错误迹象、征兆)入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。归纳法调试的具体步骤如下:

a. 收集有关数据

列出程序做对了什么,做错了什么的全部信息。

b. 组织数据

整理数据以便发现规律,使用分类法构造一张线索表。

c. 提出假设

分析线索之间的关系,导出一个或多个错误原因的假设。如果不能推测一个假设,再选用测试用例去测试,以便得到更多的数据。如果有多个假设,首先选择可能性最大的一个。