软件工程习题及答案.docx
软件工程习题及答案
一、单选题(1~30题)
1.软件工程的目标是()
A.开发出高质量的软件
B.开发出满足用户需求的软件
C.以较低的成本开发出高质量的软件
D.以较低的成本开发出满足用户需求的软件
答案:C
解析:软件工程的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的软件产品,核心是以较低成本开发高质量软件。
2.可行性研究主要从()方面进行研究。
A.技术可行性,经济可行性,操作可行性
B.技术可行性,经济可行性,系统可行性
C.经济可行性,系统可行性,操作可行性
D.经济可行性,系统可行性,时间可行性
答案:A
解析:可行性研究通常从技术可行性(技术上能否实现)、经济可行性(是否有经济效益)和操作可行性(是否容易操作使用)三个方面进行。
3.需求分析阶段的任务是确定()
A.软件开发方法
B.软件开发工具
C.软件系统的功能
D.软件开发费用
答案:C
解析:需求分析的基本任务是准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题,即确定软件系统的功能。
4.数据字典是对数据定义信息的集合,它所定义的对象都包含于()
A.数据流图
B.程序框图
C.软件结构
D.方框图
答案:A
解析:数据字典是对数据流图中出现的所有被命名的图形元素的定义的集合,为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。
5.软件结构图中,模块框之间若有直线连接,表示它们之间存在()
A.调用关系
B.组成关系
C.链接关系
D.顺序执行关系
答案:A
解析:在软件结构图中,模块框之间的直线连接表示模块之间的调用关系。
6.耦合度最高的是()
A.数据耦合
B.公共耦合
C.控制耦合
D.内容耦合
答案:D
解析:内容耦合是耦合度最高的一种耦合方式,它指一个模块直接访问另一个模块的内部数据,或者一个模块不通过正常入口转到另一模块内部,或者两个模块有一部分程序代码重叠等情况。
7.内聚程度最低的是()
A.偶然内聚
B.逻辑内聚
C.时间内聚
D.功能内聚
答案:A
解析:偶然内聚是指一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起,内聚程度最低。
8.软件详细设计主要采用的方法是()
A.结构化程序设计
B.模型设计
C.结构化设计
D.流程图设计
答案:A
解析:软件详细设计主要采用结构化程序设计方法,该方法强调程序的易读性和可维护性,使用顺序、选择、循环三种基本控制结构来构造程序。
9.程序的三种基本控制结构是()
A.过程、子程序和分程序
B.顺序、选择和循环
C.递归、迭代和回溯
D.调用、返回和转移
答案:B
解析:程序的三种基本控制结构是顺序结构、选择结构和循环结构,任何复杂的程序都可以由这三种基本结构组合而成。
10.为了提高测试的效率,应该()
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
答案:D
解析:为了提高测试效率,应选择发现错误可能性大的数据作为测试数据,这样可以用较少的测试用例发现更多的错误。
11.软件测试的目的是()
A.证明软件的正确性
B.找出软件中的所有错误
C.发现软件中的错误
D.评价软件的质量
答案:C
解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。
12.软件调试的目的是()
A.找出错误所在并改正之
B.排除存在错误的可能性
C.对错误性质进行分类
D.统计出错的次数
答案:A
解析:软件调试是在测试发现错误之后,找出错误的原因和位置并改正错误的过程。
13.软件维护的类型有()
A.改正性维护、适应性维护、完善性维护和预防性维护
B.纠错性维护、适应性维护、改善性维护和预防性维护
C.纠错性维护、适应性维护、完善性维护和改进性维护
D.改正性维护、适应性维护、改善性维护和预防性维护
答案:A
解析:软件维护的类型包括改正性维护(修改软件中的错误)、适应性维护(使软件适应新的环境)、完善性维护(增加新功能或改进现有功能)和预防性维护(为未来的改进做准备)。
14.以下不属于软件项目管理的主要内容的是()
A.人员管理
B.进度管理
C.成本管理
D.算法设计
答案:D
解析:软件项目管理的主要内容包括人员管理、进度管理、成本管理、质量管理等,算法设计属于软件开发技术层面的内容。
15.软件生