试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 30 分)
1.单元测试的测试对象是()。
A.系统
B.程序模块
C.模块接口
D.系统功能
2.属于黑盒技术设计测试用例的方法之一是()。
A.边界值分析
B.逻辑覆盖
C.循环覆盖
D.基本路径测试
3.软件结构是以什么为基础而组成的一种控制层次结构。()
A.函数
B.变量
C.模块
D.系统
4.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为()。
A.纠错性维护
B.适应性维护
C.改善性维护
D.预防性维护
5.在SD方法中全面指导模块划分的最重要的原则是()。
A.程序模块化
B.模块高内聚
C.模块低耦合
D.模块独立性
6.描述软件开发过程中各种活动如何执行的模型是()。
A.软件生存周期模型
B.E-R模型
C.螺旋模型
D.风险评估模型
7.当模块中包含复杂的条件组合,只有哪项能够清晰地表达出各种动作之间的对应关系。()
A.关系图
B.盒图
C.流程图
D.判定树和判定表
8.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程是()。
A.软件生存期
B.面向对象设计
C.结构化程序设计
D.面向对象分析
9.用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术、方法和过程的是()。
A.计算机辅助教学
B.计算机辅助工程
C.计算机系统工程
D.计算机辅助设计
10.模块的内聚性最高的是()。
A.逻辑内聚
B.时间内聚
C.偶然内聚
D.功能内聚
二、多选题 (共 10 道试题,共 30 分)
11.软件设计阶段的任务具体分为()。
A.确定软件结构,划分子系统模块
B.确定系统的数据结构
C.设计用户界面
D.调试系统错误
12.面向对象模型包括()。
A.数据模型
B.对象模型
C.动态模型
D.功能模型
13.软件生存周期划分为哪些过程。()
A.软件采购过程
B.软件定义过程
C.软件开发过程
D.软件使用与维护过程
14.设计期间确定了软件的逻辑结构,然而个别语句的构造却是编写程序的一个主要任务。构造语句时应该遵循的规则包括()。
A.不要为了节省空间而把多个语句写在同一行
B.尽量避免复杂的条件测试
C.避免大量使用循环嵌套和条件嵌套
D.利用括号使逻辑表达式或算术表达式的运算次序清晰直观
15.流程图也称为程序框图是最常用的一种表示法,它有哪些基本控制构件。()
A.顺序
B.分支
C.跳转
D.循环
16.软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它主要包括()。
A.风险标识
B.风险估算
C.风险评价
D.风险驾驭和监控
17.软件工程由哪些部分组成。()
A.方法
B.工具
C.过程
D.数据
18.面向对象设计中,对象有如下一些基本特点()。
A.以数据为中心
B.对象是被动的
C.无需实现数据封装
D.模块独立性好
19.以下属于逻辑覆盖的是()。
A.语句覆盖
B.判定覆盖
C.条件覆盖
D.基本路径
20.就程序设计语言的工程特性而言,对程序编码有如下要求。()
A.可移植性
B.开发工具的可利用性
C.软件的可重用性
D.可维护性
三、判断题 (共 20 道试题,共 40 分)
21.重构并不修改整体的程序体系结构,它不关注个体模块的设计细节以及在模块中定义的局部数据结构。
22.软件的发展经历了四个发展阶段。
23.软件开发小组的组成人员的素质应该好,同时人数越多软件开发的质量就越高。
24.JSP方法根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
25.使用类创建对象的过程实际上是类的实例化过程。
26.文档是一种数据媒体和其上所记录的数据。
27.软件中使用的可重用构件越多,适应性和完善性维护也就越困难。
28.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。
29.产生软件维护的副作用,是指隐含的错误。
30.McCall提出的软件质量模型包括11个软件质量特性。
31.详细设计阶段的任务是具体地编写程序,必须关注最终的程序代码的质量。
32.软件结构图的形态特征能反映程序复用率的是扇入。
33.封装,尤其是OO方法的对象封装性,为软件复用技术提供了良好的条件。
34.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。
35.软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系。
36.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为差别估算法。
37.软件开发过程的进展情况较难衡量,软件的质量也较难评价,因此,管理和控制软件开发过程相当困难。
38.螺旋模型的主要缺点在于,它是风险驱动的。
39.把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,但不便于不同人员分工协作,从而提高了整个软件开发工程的困难程度
40.一个好的用例能够发现至今尚未发现的错误的测试。