一、单选题(10题,每题3分:共30分)
1.需求分析阶段的任务是确定
A 软件开发方法 B 软件开发工具 C 软件开发 D 软件系统的功能
参考答案:D
2.软件设计中模块划分应遵循的准则是
A.低内聚低耦合
B.高耦合高内聚
C.高内聚低耦合
D.以上说法均错误
参考答案:C
参考解析:根据软件设计原理提出如下优化准则:①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。③软件结构的深度、宽度、扇入、扇出应适当。④模块的大小要适中。C正确。
3.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A.1,2,3,A,B,C
B.C,B,A,1,2,3
C.C,B,A,3,2,1
D.1,2,3,C,B,A
参考答案:C
参考解析:栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选c。
4.软件工程的出现主要是由于 ( C )。
A 、程序设计方法学的影响 B 、其它工程科学的影响
C、软件危机的出现 D 、计算机的发展
解析:软件危机是指在计算机软件开发和维护的过程中所遇到的一系列严重问题,为了软件危机,出现了软件工程。
5.软件开发的结构化生命周期方法将软件生命周期划分成 ( A )
A 、计划阶段、开发阶段、运行阶段 B 、计划阶段、编程阶段、测试阶段
C 、总体设计、详细设计、编程调试 D 、需求分析、功能定义、系统设计
解析:送分题。
6.软件测试的目标是(B)。
A、证明软件是正确的 B 、发现错误,降低错误带来的风险
C、排除软件中的所有错误 D 、与软件调试相同
解析:软件测试无法证明软件是正确的,也无法排除软件中的所有错误。它的目标是发现错误。
7.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对 象来驱动的模型是( C )。
A.原型模型 B.瀑布模型 C.喷泉模型 D.螺旋模型
8.在软件生存周期的瀑布模型中一般包括计划、(C)、设计、编码、测试、维护等阶段。
A. 可行性分析 B. 需求采集 C. 需求分析 D. 问题定义
9.成功的测试是指运行测试用例后( B )。
A.未发现程序错误 B.发现了程序错误 C.证明程序正确性 D.改正了程序错误
10.软件可行性研究一般不考虑( D )
A、是否有足够的人员和相关的技术来支持系统开发
B、是否有足够的工具和相关的技术来支持系统开发
C、待开发软件是否有市场、经济上是否合算
D、待开发的软件是否会有质量问题
二、填空题(5题,每题3分:共15分)
(1) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
答:存储结构#物理结构
(2) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
答:实体
(3) 数据库系统的三级模式分别为外模式、______模式与内模式。
答:概念
(4) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
答:投影
(5) 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
答:黑盒
三、判断题(5题,每题3分:共15分)
(1)UML只能应用于软件系统模型的建立。(X)
(2) 模块内的高内聚往往意味着模块间的松耦合。(√ )
(3) 软件的开发与运行经常受到硬件的限制和制约。(√)
(4) 软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )
(5) 软件测试的目的是为了无一遗漏的找出所有的错误。(X)
四、简答题(4题,每题10分:共40分)
1.软件工程的本质特征?
答:软件工程关注于大型程序的构造;软件工程的中心课题是控制复杂性;软件经常变化;开发软件的效率非常重要;和谐的合作是开发软件的关键;必须有效的支持它的用户。
2.软件工程的目的?
答:提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。
3.软件过程改进的原因?
答:提高软件质量,提高软件生产效率,降低软件的开发成本,更好的控制软件开发活动,并积累软件开发经验。
4.可行性研究的目的?
答:用最小的代价在尽可能短的时间确定问题是否能够解决。