软件技术基础21秋模拟考试四答案
一、 填空题(共20空,每空1分,共20分,填错不得分,也不扣分)
1. 软件生存周期由软件定义、软件开发和_________三个时期组成
答案:软件维护
解析:见软件生存周期的定义
2.数据流图中的箭头表示_________。
答案:数据流
解析:见数据流图中包含的符号及各符号的含义
3. 面向对象分析阶段所使用的三种模型是 、动态模型和功能模型。
答案:对象
解析:见课本软件工程建模这一小节
4. 从逻辑关系上讲,数据结构主要分为两大类,它们是________和________。
答案:线性结构 非线性结构
解析:见数据结构概述中的基本概念和术语
5. 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构是________。
答案:顺序存储结构
解析:见顺序存储结构的定义
6. 线性表的逻辑结构是______结构。
答案:线性
解析:线性表的定义
7. 表长为0的线性表称为________。
答案:空表
解析:空表的定义
8. 栈修改的原则是________。
答案:仅在表的一端进行插入或删除操作。
解析:栈的定义
9. 队列只允许在表的一端进行插入,该端称为________,在表的另一端进行删除,该端称为________。
答案:队尾 队头
解析:见队列的定义
10.串是由多个或零个________组成的有限序列。
答案:字符
解析:见串的定义
11.数组元素具有值和________的下标
答案:确定元素位置
解析:多维数组中数组的介绍。
12. 树形结构是一类很重要的________数据结构
答案:非线性
解析:参考树的概念这一小节
13. 结点拥有的子树个数称为________。
答案:结点的度
解析:见树形结构的一些常用术语
14.二叉树区别于一般树形结构的特点是________和________。
答案:每个结点最多有两棵子树子树有左右之分
解析:二叉树的定义
15.根据图中每条边是否有方向,可将图分为________和________。
答案:有向图 无向图
解析:见图的基本概念
16. 图的存储方法很多,常用的有邻接矩阵、________、十字链表、多重链表等。
答案:邻接表
解析:见图的存储方法。
二 选择(每题1分,合计30分,选对得分,选错不扣分)
1.模块之间的耦合度应当尽可能低。当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合称为( )。
A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合
答案:D
解析:内容耦合的三种形式
2.模块的内聚性应当尽可能高,通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是( )。
A. 通信、逻辑、顺序、时间 B. 通信、时间、顺序、逻辑
C. 顺序、通信、时间、逻辑 D. 顺序、通信、逻辑、时间
答案:C
解析:见7种内聚的优劣评分:功能内聚 10分;顺序内聚 9分;通信内聚 7分;过程内聚 5分;时间内聚 3分;逻辑内聚 1分;偶然内聚 0分
3.软件的静态测试方法之一为( )。
A. 计算机辅助静态分析 B. 黑盒法 C. 因果图 D. 路径覆盖
答案:A
解析:见软件测试的方法
4.软件测试的目的是( )。
A. 为了证明软件中没有错误 B. 为了说明软件能够正确地执行
C. 为了发现软件中的错误 D. 为了评价软件的质量
答案:C
解析:参考软件测试这一小节
5.单元测试针对( )阶段进行测试。
A. 需求分析 B. 详细设计和编码 C. 详细设计 D. 概要设计
答案:B
解析:参考软件测试这一小节
6.线性结构中的一个结点代表一个( )。
A. 数据元素 B. 数据项 C. 数据 D. 数据结构
答案:A
解析:线性表的定义
7.对于顺序表,以下说法错误的是( )。
A. 顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址
B. 顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列
C. 顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻
D. 顺序表的特点是:逻辑上相邻的元素存储在物理位置也相邻的单元中
答案:C
解析:顺序表的特点是逻辑上相邻的元素存储在物理位置也相邻的单元中,但在存储结构中不一定相邻
8.对顺序表上的插入、删除算法的时间复杂性分析来说,通常以( )为标准操作。
A. 条件判断 B. 结点移动 C. 算术表达式 D. 赋值语句
答案:B
解析:参照顺序表的运算这一小节中的插入和删除运算
9. 具有100个结点的完全二叉树从根开始(根的编号为1),每层从左至右依次对结点编号,编号为47的结点的右儿子的编号为( )。
A) 没有右儿子 B) 48 C) 94 D) 95
答案:D
解析:参照二叉树的性质
10. 为了提高测试的效率,应该 ()
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
答案:D
解析:参照软件测试这一小节
11. 数据结构是研究数据的( )及它们之间的相互联系。
A.理想结构、物理结构 B.理想结构、逻辑结构
C.物理结构、逻辑结构 D.抽象结构、逻辑结构
答案:C
解析:见数据结构的定义
12. 组成数据的基本单位是( )。
A.数据项 B.数据类型 C.数据元素 D.数据变量
答案:C
解析:见数据结构概论中的基本概念和术语
13. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为( )。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构
答案:C
解析:见顺序存储结构的定义
14. 已知一个顺序存储的线性表,设每个结点需要占m个存储单元,若第一个结点的地址为da,则第i个结点的地址为()。
A. da+(i-1)*m B. da+i*m C. da-i*m D. da+(i+1)*m
答案:A
解析:由顺序存储结构的定义可推算得出
15. 链表是一种采用()存储结构存储的线性表。
A.顺序 B.链式 C.星式 D.网状
答案:B
解析:链表的定义
16. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分地址必须是连续的
C.一定是不连续的 D.连续或不连续都可以
答案:D
解析:在链式存储结构中,数据元素之间的逻辑关系由结点中的指针来表示,对存储单元的连续性没有要求。
17. 下面关于线性表的叙述中,错误的是()。
A) 线性表采用顺序存储,必须占用一片连续的存储单元
B) 线性表采用链接存储,不必占用一片连续的存储单元
C) 线性表采用顺序存储,便于进行插入和删除操作
D) 线性表采用链接存储,便于进行插入和删除操作
答案:C
解析:参见顺序表的缺点
18. 基于三元组表的稀疏矩阵,对每个非零元素aij,可以用一个()唯一确定。
A. 非零元素 B. 三元组(i,j,aij) C.aij D.i,j
答案:B
解析:参见稀疏矩阵的存储方式——三元组表,需要存储非零元素的值和其所在的行标和列标。
19. 任何一棵二叉树的叶结点在其先序、中序、后序遍历序列中的相对位置( )。
A. 肯定发生变化 B. 有时发生变化 C. 肯定不发生变化 D. 无法确定
答案:C
解析:先序、中序和后序遍历在遍历过程中,都是先遍历左子树再遍历右子树,因此在遍历序列中叶结点的相对位置不变
20. 顺序查找法适合于( ) 存储结构的查找表。
A.压缩 B.散列 C.索引 D.顺序或链式
答案:D
解析:顺序查找的定义中提到这种方法适用于较小的顺序表或链表
21. 用二分查找法对具有n 个结点的线性表查找的时间复杂性量级为( ) 。
A.O(n2) B.O(n lb n) C.O(n) D.O(lb n)
答案:D
解析:参照二分查找(折半查找)这一小节
22.具有24个记录的序列,采用起泡排序至少的比较次数是( )。
A.1 B.23 C.24 D.529
答案:B
解析:见起泡排序这一节的介绍:对任一组记录进行起泡排序时,至少需要进行n-1趟排序。
23. ( ) 方法是从未排序序列中依次取出元素与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。
A.归并排序 B.插入排序 C.快速排序 D.选择排序
答案:B
解析:见插入排序的定义
24.()方法是对序列中的元素通过适当的位置交换,将有关元素一次性地放置在其最终 位置上。
A.归并排序 B.插入排序 C.快速排序 D.选择排序
答案:C
解析:见快速排序的定义
25. 用户程序中的输入,输出操作实际上是由( )完成。
A、程序设计语言 B、编译系统 C、操作系统 D、标准库程序
答案:C
解析:操作系统的定义和功能
26. 当外围设备工作结束后,将使等待该外围设备传输信息的进程变为() 状态。
A.等待 B.运行 C.就绪 D.完成
答案:C
解析:参见进程的基本状态及其相互转换。
27. 在多道程序设计系统中,为了保证临界资源互斥地使用,各并发进程应互斥进入临界区。所谓临界区是指( )。
A. 一个缓冲区 B. 一段数据区 C. 同步机制 D. 一段程序
答案:D
解析:临界区的定义:进程中访问临界资源的代码段称为临界区
28. 页式存储管理中的页表由( ) 建立。
A.用户 B.编译程序 C.操作系统 D.编辑程序
答案:C
解析:参照页面存储管理这一小节
29. 位示图可用于( ) 。
A.文件目录的查找 B.磁盘空间的管理
C.主存空间的共享 D.实现文件的保护和保密
答案;B
解析:见文件存储空间的管理这一小节
30. 文件系统是指( )。
A. 文件的集合 B. 文件的目录
C. 实现文件管理的一组软件 D. 文件、管理文件的软件及文件存储介质
答案:D
解析:见文件系统的定义
三 简答题(每题6分,合计30分)
1. 衡量模块独立的两个标准是?它们各表示什么含义?
答案:衡量模块独立的两个标准是两个定性的度量标准:耦合性和内聚性。
(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块之间的独立性就越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素联系的越紧密,则它的内聚性就高。
耦合性与内聚性是模块独立的两个定性标准,将软件系统划分为模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
评分标准:耦合性2分,内聚性2分,最后点出“将软件系统划分为模块时,尽量做到高内聚低耦合”2分
2. 什么是面向数据流的设计方法?有哪些策略?
答案:该方法又称结构化设计方法(SD),它与结构化分析(SA)相衔接,按一定的设计策略将数据流图转换成软件的模块层次结构。有两种设计策略:
(1) 事务型分析设计:一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相互独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转变通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把他们分别映射成一个模块,最高层模块为系统模块,通过输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。
(2) 变换型分析设计:变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出功能。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输入、变换、输出功能。变换分析设计一般用于较底层数据流图向软件结构图的转变。
评分标准:概念2分,两种策略各占2分
3. 为了具有良好的程序设计风格,应注意哪些方面的问题?
答案:好的程序设计风格对于提高开发效率、保证软件质量有较大的帮助。在进行大型软件项目开发时会涉及到多个程序员,为了保证整体程序风格的一致,在项目规划时应该注意做到以下几点:
(1) 为了便于阅读和维护源程序,源程序中必须加上必要的注释,数据、变量也应当加上说明。
(2) 程序的结构应尽量简单。
(3) 所设计的输入输出应当尽量符合操作人员的习惯。
(4) 应适当考虑程序运行的时间效率和空间效率。
评分标准:概述占1分,四点全部答对5分,少答错答一点扣1分
4. 软件开发项目生存期各阶段包含哪些文档?
答案:(1)可行性研究与计划阶段:可行性研究报告,项目开发计划。
(2)需求分析阶段:项目计划,软件需求说明书,数据需求说明书,测试计划,用户手册。
(3)软件设计阶段:测试计划,数据设计说明书,详细设计说明书,用户手册,操作手册,开发月度报告。
(4)编码与单元测试阶段:用户手册,操作手册,开发月度报告。
(5)集成与测试阶段:测试分析报告,开发月度报告,项目开发总结。
(6)运行维护阶段:程序维护手册。
评分标准:每一阶段占1分,错答或漏答某一阶段所需文档扣1分
5. 面向对象的特征有哪些?
答案:(1)对象唯一性。每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。(2)分类性。分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。(3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
(4)多态性。多态性是指相同的操作或函数、过程可作用于多种类型的对象上获得不同结果。
评分标准:四点全部答对6分,少答错答一点扣1-2分。
四 应用题(每题10分 合计20分)
1. 一本书有一个封面、一个前言、一个目录、正文,正文里有文字和页面,文字由短文和字段组成,页面里有插图和表格,最后还有一个封底。试建立该书的对象模型。
答案:
评分标准:四个层次全部给出满分,2、3、4层各占3分,1层占1分
2. 如图1和2 所示是某公司员工工资管理的一部分,他们分别是同一功能的两个不同设计方案,你认为哪种设计方案较好?陈述理由。
设计方案1
设计方案2
答案:方案2好(2分)。利用衡量模块独立性的两个标准耦合性和内聚性判断设计方案优劣。图1中模块B的功能是取平均工资或最高工资,可见模块B包含两个功能,故模块B内聚弱(2分),而模块B与模块A的耦合是控制耦合,耦合程度较高,模块的相对独立性差(2分)。而在图2中,模块B分解成两个功能相对独立的模块B1和B2,模块B1和B2,模块B1和B2内聚程度高(2分),模块B1和B2与模块A之间的耦合是数据耦合,耦合程度较低(2分),因此模块的独立性好,所以方案2的设计好。
评分标准:见答案
页:
[1]