2017年山西大学计算机与信息技术学院859软件工程专业基础之软件工程导论考研仿真模拟题
● 摘要
一、选择题
1. 结构化维护与非结构化维护的主要区别在于( )。
A. 软件是否结构化
B. 软件配置是否完整
C. 程序的完整性
D. 文档的完整性
【答案】B
【解析】非结构化维护需要付出很大代价,这种维护方式是没有使用良好定义的方法学开发出来的软件的必然结果;结构化维护是在软件开发的早期应用软件工程方法学的结果。因此,结构化维护与非结构化维护的主要区别是软件配置的完整性,有了软件的完整配置能减少精力的浪费并且能提高维护的总体质量。
2. 软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试,它是整个测试工作的基础。
A. 系统分析
B. 安装测试
C. 验收测试
D. 单元测试
【答案】D
【解析】软件的测试通常由单元测试(模块测试)、集成测试(组装测试)、系统测试(验收测试)等几个部分组成。其中单元测试在代码编写到一定时候即可开始,它是整个测试工作的基础。
3. 包含风险分析的软件工程模型是( )。
A. 螺旋模型
B. 瀑布模型
C. 增量模型
D. 喷泉模型
【答案】A
【解析】螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。可以把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,它是风险驱动的软件工程模型。
4. 软件工程是采用( )的概念、原理、技术方法指导计算机程序设计的工程学科。
A 工程
B. 系统工程
C. 体系结构
D. 结构化设计
【答案】A
【解析】软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的 管理技术和当前能够得到的最好的技术方法结合起来,从而经济地开发出高质量的软件,并且进行有效地维护。
5. 内容耦合指( )。
A. 两个模块之间传递的是数据结构
B. —个模块调用另一个模块时,传递的是控制变量
C. 通过一个公共数据环境相互作用的那些模块间的耦合
D. —个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部
【答案】D
【解析】当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。
6. 集成测试时,能较早发现高层模块接口错误的测试方法为( )。
A. 自顶向下渐增式测试
B. 自底向上渐増式测试
C. 非渐增式测试
D. 系统测试
【答案】A
【解析】自顶向下渐増式测试的优点如下:
a. 能较早地发现高层模块接口、控制等方面的问题。
b. 初期的程序概貌可让人们较早地看到程序的主功能,增强开发人员的信心。
7. 在有多重继承的类层次结构中,类层次结构是( )层次结构。
A. 树型
B. 网状型
C. 环型
D. 星型
【答案】B
【解析】单继承的类层次结构表现为树型层次结构,多重继承的类层次结构表现为网状型层
次结构。
8. 调试的目的是为了( )。
A. 证明软件符合设计要求
B. 发现软件中的错误和缺陷
C. 改善软件的功能和性能
D. 发掘软件的潜在能力
【答案】B
【解析】调试是在进行了成功的测试之后才开始的工作,其的目的是确定错误的原因和位置,并改正错误。
9. 程序的三种基本控制结构是( )。
A. 过程、子程序和分程序
B. 顺序、选择和重复
C. 递归、迭代和回溯
D. 调用、返回和转移
【答案】B
,所有控制结构都能【解析】程序的三种基本控制结构是顺序、选择(分支)、重复(循环)
用这三种结构表示。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
10.( )只供对象内部的其他服务使用,不对外提供。
A. 外部服务
B. 内部服务
C. 内嵌服务
D. 上层服务
【答案】B
【解析】对象的服务分为外部服务和内部服务两种,其中,内部服务只供内部的其它服务使用,不对外提供,外部服务只供对象外部的其它服务使用,不对内提供。
二、填空题
11._____是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的_____,所有的模块按某方法_____起来,成为一个整体,完成整个系统所要求的功能。
【答案】模块化;子功能;组装
12.RUP 强调采用_____和_____的方式来开发软件。
【答案】迭代;递增