软件技术基础21秋西电答案5
一、 填空题(共20空,每空1分,共20分,填错不得分,也不扣分)
1. 常见的软件生存周期模型有瀑布模型、增量模型、快速原型模型、演化模型、_________、喷泉模型、智能模型等。
答案:螺旋模型
解析:见软件生存周期模型
2.在软件生存期的各个阶段中跨越时间最长的阶段是_________阶段
答案:软件维护
解析:软件维护的定义和主要任务
3. 面向对象设计的主要原则有模块化、抽象、信息隐藏、_________和_________。
答案:低耦合 高内聚
解析:见面向对象设计的主要原则
4._________是数据的基本单位
答案:数据元素
解析:见数据结构概论中的基本概念和术语
5. 数据结构是数据之间的相互关系,即数据的_________。
答案:组织形式
解析:见数据结构的定义
6. 线性表中元素的个数称为线性表的_________。
答案:长度
解析:线性表的定义
7. 采用顺序存储方法存储的线性表称为_________。
答案:顺序表
解析:顺序表的定义
8. 栈是一种运算受限的线性表,其中插入、删除的一端称为_________,另一端称为_________。
答案:栈顶 栈底
解析:栈的定义
9. 队列也称为________的线性表,简称为FIFO表。
答案:先进先出
解析:见队列的定义
10. 串中任意个连续的字符组成的子序列称为该串的_________,空串是任意串的_________。
答案:子串 子串
解析:见串的概念
11. 在树形结构中,结点包含一个数据元素及若干指向_________的分支。
答案:其子树根
解析:见树形结构的一些常用术语。
12. 树的存储结构有很多种,但主要使用的是_________和_________。
答案:顺序存储 链式存储
解析:参考树的概念这一小节
13. 在二叉树的第i层最多有_________个结点(i>=1)
答案:2i-1
解析:二叉树的性质
14. 哈夫曼树又称最优二叉树,是一类_________的树
答案:带权路径长度最短
解析:哈夫曼树的定义
15. 图的遍历是指从图中某一顶点出发访问图中的每一个顶点,且_________。
答案:每个顶点仅被访问一次
解析:参考图的遍历这一小节
16. 邻接表中的顺序存储部分部分称为_________,用于保存顶点信息。
答案:顶点表
解析:邻接表的定义
二 选择(每题1分,合计30分,选对得分,选错不扣分)
1.螺旋模型是一种将( )和增量模型结合起来的软件开发模型。
A. 瀑布模型 B. 专家系统 C. 喷泉模型 D. 变换模型
答案:A
解析:螺旋模型的定义
2.软件开发可行性分析研究的目的是( )。
A. 争取软件项目 B. 软件项目值得开发否 C. 设计软件 D. 规划软件项目
答案:B
解析:见软件生存周期各阶段的任务
3.软件需求分析的主要任务是确定所要开发的软件系统( )。
A. 如何做 B. 怎么做 C. 做什么 D. 对谁做
答案:C
解析:见软件生存周期各阶段的任务
4. 软件生存周期归纳为三个时期,下列()项不是其中的一个时期。
A) 测试期 B) 定义期
C) 维护期 D) 开发期
答案:A
解析:软件生存周期定义
5.结构化分析SA主要使用()两种描术手段。
A) 数据流图和数据字典 B) 数据流图和流程图
C) 流程图和文字说明 D) 流程图和数据字典
答案:A
解析:见结构化软件开发方法
6. 模块的独立性是软件模块化设计的关键之一,一般用()两个定性标准来度量模块的独立性。
A) 软件的质量和可重用性 B) 软件的质量和聚合
C) 内聚和耦合 D) 软件的质量和耦合
答案:C
解析:参见模块的独立性
7.在软件工程中,只根据程序功能说明而不关心程序内部逻辑的测试方法,称为()测试。
A)白盒法 B) 黑盒法 C)灰盒法 D)综合法
答案:B
解析:参见黑盒法的定义
8.对于顺序表的优缺点,以下说法错误的是( )。
A. 无需为表示结点间的逻辑关系而增加额外的存储空间
B. 可以方便地随机存取表中的任一结点
C. 插入和删除运算较为方便
D. 容易造成一部分空间长期闲置而得不到充分利用
答案:C
解析:顺序表在插入和删除运算时,只要依靠结点移动,需要移动大量数据,效率较低
9.循环链表的主要优点是( )。
A. 不再需要头指针
B. 已知某个结点的位置后,能够容易找到它的直接前趋
C. 在进行插入、删除运算时,能更好地保证链表不断开
D. 从表中任一结点出发都能扫描到整个链表
答案:D
解析:见循环链表的定义
10.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。
A. 顺序表 B. 单链表 C. 双链表 D. 单循环链表
答案:C
解析:参考双链表的定义
11. 稀疏矩阵的压缩存储方法有()。
A) 三列二维数组和邻接表 B) 邻接矩阵和三列二维数组
C) 邻接矩阵和邻接表 D) 三元组表和十字链表
答案:D
解析:参照稀疏矩阵的存储方法
12. 将68个结点的完全二叉树,按顺序存储结构存于数组A(1:68)中,叶子结点的最小顺序号是()。假定根结点的序号是1。
A) 65 B) 64 C) 35 D) 34
答案:C
解析:参照二叉树的性质
13. 高度为h(h>0) 的二叉树最少有()个结点。
A. h B. h-1 C. h+1 D. 2h
答案:A
解析:参照二叉树的性质
14. 关于顺序存储的叙述中,哪一条是不正确的()。
A.存储密度大 B.逻辑上相邻的节点物理上不必邻接
C.可以通过计算直接确定第i个节点的位置D.插入、删除操作不方便
答案:B
解析:见顺序存储的定义:数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的。
15. 一个向量第一个元素的存储地址是 100 ,每个元素的长度为 2 ,则第 5 个元素的地址是()。
A.110 B.108 C.100 D.120
答案:B
解析:由顺序存储结构的定义可推算得出
16. 由()组成的集合是一个数据对象。
A.不同类型的数据项 B.不同类型的数据元素
C.相同类型的数据项 D.相同类型的数据元素
答案:D
解析:见数据对象的定义
17. 线性表L在()情况下适用于使用链式结构实现。
A.需经常修改L中的结点值 B.需不断对L进行删除插入
C.L中含有大量的结点 D.L中结点结构复杂
答案:B
解析:见顺序表的缺点
18. 线性表是()。
A.一个有限系列,可以为空 B.一个有限系列,不能为空
C.一个无限系列,可以为空 D.一个无限系列,不能为空
答案:A
解析:见线性表的基本概念
19. 结构设计是一种应用最广泛的系统设计方法,是以()为基础、自顶向下、逐步求精和模块化的过程。
A、数据流 B、数据流图 C、数据库 D、数据结构
答案:B
解析:结构化设计方法的定义
20. PAD(Problem Analysis Diagram)图是一种()工具。
A、系统描述 B、详细设计 C、测试 D、编程辅助
答案:B
解析:参见软件详细设计的基本工具
21. 对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这种排序方法是()。
A) 直接选择排序 B) 直接插入排序 C) 快速排序 D) 冒泡排序
答案:C
解析:参照快速排序的定义
22. 以下不稳定的排序方法是( ) 。
A.直接插入排序 B.起泡排序 C.直接选择排序 D.二路归并排序
答案:C
解析:参见直接选择排序这一小节
23. 排序的目的是为了以后对已排序的数据元数进行( )操作。
A. 打印输出 B. 分类 C. 合并 D. 查找
答案:D
解析:见排序的基本概念
24. PV 操作是在信号量上的操作,当信号量的值为( ) 时,若有进程调用P 操作,则 该进程在调用P 操作后必定可以继续执行。
A. =0 B.≠0 C.>0 D.<0
答案:C
解析:当信息量的值减1后大于等于零,即信息量的值大于零时,表示当前有资源可用,调用P操作的进程继续运行。
25. 若当前进程因时间片用完而让出处理机时,该进程应转变为()状态。
A、就绪 B、等待 C、运行 D、完成
答案:A
解析:参见进程的基本状态及其相互转换。
26. 文件系统是指( )。
A. 文件的集合 B. 文件的目录
C. 实现文件管理的一组软件 D. 文件、管理文件的软件及文件存储介质
答案:D
解析:见文件系统的定义
27. 文件系统采用二级目录结构,这样可以( )。
A. 缩短检索文件的时间 B. 实现不同用户对文件的共享
C. 解决不同用户之间的文件名冲突问题 D. 以上选项都选
答案:D
解析:参见文件目录中对二级目录结构及优点的介绍
28. 虚拟设备技术是指用( ) 的技术。
A.共享设备代替独占设备 B. 独占设备代替共享设备
C.共享设备模拟独占设备 D. 独占设备模拟共享设备
答案:C
解析:见虚拟设备的定义:用共享设备来模拟独占设备的输入输出
29. 关系数据库系统能够实现的三种基本关系运算是( )。
A. 索引、排序、查询 B. 建库、输入、输出
C. 选择、投影、连接 D. 显示、统计、复制
答案:C
解析:参见关系数据库基础理论中对关系代数的介绍
30. E-R图中的主要元素是实体、( )和属性。
A. 记录型 B. 结点 C. 实体型 D. 联系
答案:D
解析:见E-R模型的主要构成元素(关系数据库基础理论)
三 简答题(每题6分,合计30分)
1. 什么是程序流程图?它有什么缺点?
答案:程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述软件设计的方法。从二十世纪四十年代末到七十年代中期,程序流程图一直是软件设计的主要工具。
程序流程图的主要缺点有:
(1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早的考虑程序的控制流程,而不去考虑程序的全局结构。
(2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
(3) 程序流程图不易表示数据结构。
评分标准:程序流程图概念(2分),主要缺点(4分),错答漏答一条扣1分
2. 什么是黑盒测试法?什么是白盒测试法?
答案:黑盒测试法是针对软件生存周期各阶段的软件文档进行的测试。黑盒测试法以需求规格说明书为依据,通过设计输入数据的用例,检查程序的输出是否满足所设计功能的需要。
白盒测试法是针对程序的语句结构对数据处理过程进行的测试。白盒测试法把要测试的程序对象看做是一个打开的盒子,为了检查程序处理的细节、程序的内部结构和数据结构是否有错误,设计出尽可能多的用例进行测试,从而找到程序中的错误。
评分标准:黑盒测试3分(概念2分,详细阐述1分),白盒测试3分(概念2分,详细阐述1分)
3. 常用的调试策略有哪些?
答案:常用的调试策略有:
(1)试探法。
(2)回溯法。调试人员分析错误征兆,确定最先发现的“症状”的地方,然后人工沿程序的控制流往回追踪源程序代码,直到找出错误根源或确定故障范围。
(3)对分查找法。如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量的正确值,然后检查程序的输出。
(4)归纳法。这种方法从线索出发,通过分析这些线索之间的关系而找出故障。
(5)演绎法。从一般原理或提前出发,经过删除和精华的过程推导出结论。
评分标准:全部答对6分,少答或错答一条扣1分
4. 维护的副作用有哪些?
答案:维护的目的是为了延长软件的使用寿命并让其创造更多的价值,经过一段时间的维护,软件中的错误减少了,功能增强了。但修改软件是危险的,每修改一次,潜伏的错误就可能增加一分。这种因修改而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用,数据副作用,文档副作用三种。
(1)编码副作用
在使用程序设计语言修改源代码时可能引入错误。
(2)数据副作用
在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件的错误。数据副作用是修改软件信息结构导致的结果。
(3)文档副作用
对数据流、软件结构、模块逻辑或任何其它有关特性进行修改时,必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺少条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。
评分标准:每条副作用各占2分(名称占1分,详细阐述占1分)
5. 软件文档的作用?
答案:软件文档的作用
在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在产品的开发生产过程中起着重要的作用。
(1) 提高软件开发过程的能见度。
把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。
(2) 提高开发效率
软件文档的编制,使得开发人员对各个开发阶段的工作否进行周密的思考、全盘权衡、从而减少返工,并且可在开发早期发现错误和不一致性,以便于及时加以纠正。
评分标准:总述占2分,两条作用各占2分
四 应用题(每题10分 合计20分)
1. 某商场在“十一”期间,顾客购物时付款有四种情况:普通顾客一次购物累计少于100元安A类标准付款(不打折),一次购物累计多于或等于100元,按B类标准付款(打九折);会员顾客一次购物累计少于1000元,按C类标准付款(打八折),一次购物累计等于或多于1000元,按D类标准付款(打七折)。请使用流程图设计付款算法。
答案:
评分标准:三个判断各占2分,计算价格总和和输出实际交款各占1分,开始、结束、及输入所购物品价格共占2分
2. 设计一个软件的开发成本为35000元,寿命为3年。未来3年的每年收益预计为23000元、24000元、27000元。银行年利率为10%。是对此项目进行成本效益分析,以决定其经济可行性。
答案:三年后,50000元的价值为:35000*(1+3*10%)=45500元
三年软件总获利为:23000*(1+2*10%)+24000*(1+1*10%)+27000=81000元>45500元。所以此项目盈利,经济可行。
评分标准:计算出3年后50000元的价值得4分,计算出三年后软件的获利得4分,得出最终结论2分。
页:
[1]