软件工程期末复习题(3+1套内附答案)

第一套

一 单项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
下面关于数据流图建模规则的描述正确的是()。
数据流图中的过程用于存储数据。 
数据流表示软件系统中运动的数据,其名称必须是名词性描述。 
外部实体指的是与软件系统交互的人或组织。 
外部实体可以直接向数据存储输入数据,也可以直接从中读取数据。
[我的答案] 数据流表示软件系统中运动的数据,其名称必须是名词性描述。
[参考答案] 数据流表示软件系统中运动的数据,其名称必须是名词性描述。

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
下列关于软件开发的描述不正确的是()。
软件是独立于计算机硬件的一部分,但它又依赖于计算机硬件。 
软件既是一种复杂的逻辑实体,又是一种工具。 
软件的核心是程序,另外还包括文档、数据和模型。 
软件发展的趋势是规模越来越大、功能越来越复杂。
[我的答案] 软件的核心是程序,另外还包括文档、数据和模型。
[试题解析] 软件=程序+数据+文档
[参考答案] 软件的核心是程序,另外还包括文档、数据和模型。

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
ER图是数据库设计的基础,因此又称为()。
数据模型 
数据库概念模型 
数据库逻辑结构设计模型 
数据里物理模型
[我的答案] 数据库概念模型
[参考答案] 数据库概念模型

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
关于白盒测试的描述不正确的是()。
企业中进行白盒测试的要求是做到语句覆盖。 
代码覆盖程度越强的方法发现缺陷的几率就越高。 
白盒测试的要求是必须做到条件组合覆盖。 
经过白盒测试的程序必须还要进行黑盒测试。
[我的答案] 白盒测试的要求是必须做到条件组合覆盖。
[试题解析] C、通常要求至少做到语句覆盖。
[参考答案] 白盒测试的要求是必须做到条件组合覆盖。

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
测试用例设计时,主要工作是()。
设计测试场景的输入数据 
设计测试场景的输入与输出数据 
设计测试场景的输出数据 
以上都不是
[我的答案] 设计测试场景的输入与输出数据
[参考答案] 设计测试场景的输入与输出数据

试题6 满分值:1.0分   状态:已答   实际得分:1.0分
下列关于敏捷原则说法错误的是()。
在整个项目开发期间,业务人员和开发人员必须天天在一起工作。 
即使到了开发后期,也可以改变需求。 
最有效果的、最有效率的传递信息的方法,是面对面的交谈。 
首要的进度度量标准是代码量。
[我的答案] 首要的进度度量标准是代码量。
[参考答案] 首要的进度度量标准是代码量。

试题7 满分值:1.0分   状态:已答   实际得分:1.0分
在()年的NATO会议上,软件工程的术语被首次提出。
1966 
1968 
1970 
1972
[我的答案] 1968
[参考答案] 1968

试题8 满分值:1.0分   状态:已答   实际得分:1.0分
软件工程是一个包含多领域知识的复杂学科,要成为一个软件工程师也需要掌握()。
软件技术知识、良好的交流沟通能力和职业素养。 
全方位的软件技术知识。 
软件技术知识和软件管理知识。 
至少3门程序设计语言。
[我的答案] 软件技术知识、良好的交流沟通能力和职业素养。
[试题解析] 课本P11
[参考答案] 软件技术知识、良好的交流沟通能力和职业素养。

试题9 满分值:1.0分   状态:已答   实际得分:1.0分
下列关于敏捷联盟宣言的理解错误的是()。
个体和交互胜过过程和工具,表明团队的构建比开发环境的构建重要得多。 
可以工作的软件胜过面面俱到的文档,表明过多的文档比过少的文档更糟糕。 
客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作内容 的过多交互。 
响应变化胜过遵循计划,表明项目计划不能考虑过远,只需要为下两周做详细计划即可,再远的时间可制定简略 的规划。
[我的答案] 客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作 内容的过多交互。
[参考答案] 客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队详细明确地制定合同,避免开发时关于工作 内容的过多交互。

试题10 满分值:1.0分   状态:已答   实际得分:1.0分
下列不是软件危机的表现的是()。
软件开发成本超支。 
软件在使用一段时间后会被淘汰。 
软件质量不可靠。 
软件开发生产率无法满足人们对软件生成的要求。
[我的答案] 软件在使用一段时间后会被淘汰。
[试题解析] 软件应用一段时间后被淘汰是必然规律。
[参考答案] 软件在使用一段时间后会被淘汰。

二 不定项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
需求获取活动()。
目的是从空白开始建立最初的原始需求。 
是从人、文档或者环境中获取需求的过程。 
获取到的活动并非是定义良好的需求。 
只需要获取和分析用户的功能需求即可。
[我的答案] 获取到的活动并非是定义良好的需求。 是从人、文档或者环境中获取需求的过程。 目的是从空白开始建立最初的原始需求。
[试题解析] D、只需要获取和分析用户的功能需求即可。(目标、功能、性能需求等)
[参考答案] 目的是从空白开始建立最初的原始需求。 是从人、文档或者环境中获取需求的过程。 获取到的活动并非是定义良好的需求。

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
关于软件设计分层设计的理解正确的是()。
软件设计分为高层设计和低层设计 
高层设计又称为体系结构设计 
软件分层设计的做法,体现了自顶向下逐层分解的思想 
详细设计关注的是数据结构和算法的设计
[我的答案] 软件分层设计的做法,体现了自顶向下逐层分解的思想
[试题解析] A、软件设计分为高层设计和低层设计(高层、中层、低层设计) B、高层设计又称为体系结构设计(体系 结构设计包括高层设计和部分中层设计) D、详细设计关注的是数据结构和算法的设计(详细设计主要完成中层设计和 部分低层设计,包括过程、调用;类、协作的设计;数据结构、算法设计;类型、语句、控制结构的设计)
[参考答案] 软件分层设计的做法,体现了自顶向下逐层分解的思想

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
需求指的是用户的期望,关于对需求的理解正确的是()。
根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。 
需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需 求。 
可以将软件需求分为功能需求和性能需求。 
功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。
[我的答案] 功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。 需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需求。 根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。
[试题解析] C、可以将软件需求分为功能需求和性能需求。(功能、性能、质量属性、对外接口、约束、数据需求)
[参考答案] 根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。 需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需求。 功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
以需求为基础开发系统测试用例需要()。
将开发需求转换为测试需求 
从测试需求中提取测试要点 
为测试要点设计测试用例 
将测试用例整理形成测试用例文档
[我的答案] 将测试用例整理形成测试用例文档 为测试要点设计测试用例 从测试需求中提取测试要点 将开发需求转换为测试需求
[参考答案] 将开发需求转换为测试需求 从测试需求中提取测试要点 为测试要点设计测试用例 将测试用例整理形成测试用例文档

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
结构化需求分析模型包括()。
数据流图 
实体关系图 
状态转图 
数据字典
[我的答案] 数据字典 状态转图 实体关系图 数据流图
[参考答案] 数据流图 实体关系图 状态转图 数据字典

三 判断题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
软件生存周期模型必须要将所有类型的过程、活动和任务考虑在内,形成满足每个软件 项目需要的模型。
[我的答案] 错误
[参考答案] 错误

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
软件生存周期模型是对软件生存周期中过程、活动和任务的组织。
[我的答案] 正确
[参考答案] 正确

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
软件生存周期的含义是表明软件的演化和发展具有周期性,每过一段时间就需要更新。
[我的答案] 错误
[参考答案] 错误

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
环境图也称顶层数据流图,它仅包括一个数据处理过程,即目标系统。
[我的答案] 正确
[参考答案] 正确

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
实体与属性的区别在于,实体是复合信息,而属性是原子(不可再分)信息。
[我的答案] 正确
[参考答案] 正确

第二套

一 单项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
下列不是软件危机的表现的是()。
软件开发成本超支。 
软件在使用一段时间后会被淘汰。 
软件质量不可靠。 
软件开发生产率无法满足人们对软件生成的要求。
[我的答案] 软件在使用一段时间后会被淘汰。
[试题解析] 软件应用一段时间后被淘汰是必然规律。
[参考答案] 软件在使用一段时间后会被淘汰。

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
数据流图将软件系统建模为输入、处理、存储与输出的协同工作,其侧重描述系统的 ()。
数据规格 
处理规格 
控制规格 
术语词条
[我的答案] 处理规格
[参考答案] 处理规格

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
关于白盒测试的描述不正确的是()。
企业中进行白盒测试的要求是做到语句覆盖。 
代码覆盖程度越强的方法发现缺陷的几率就越高。 
白盒测试的要求是必须做到条件组合覆盖。 
经过白盒测试的程序必须还要进行黑盒测试。
[我的答案] 白盒测试的要求是必须做到条件组合覆盖。
[试题解析] C、通常要求至少做到语句覆盖。
[参考答案] 白盒测试的要求是必须做到条件组合覆盖。

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
关于黑盒测试的描述正确的是()。
黑盒测试就是把测试对象看作一个黑盒子,目的是测试代码结构。 
黑盒测试依据测试对象的规格说明来设计输入和输出数据。 
进行等价类测试时,要重点测试有效等价类数据。 
针对边界情况设计测试用例后,就不用考虑等价类测试用例了。
[我的答案] 黑盒测试依据测试对象的规格说明来设计输入和输出数据。
[试题解析] A、黑盒测试的目的是测试功能是否满足需求规格。C、重点测试无效等价类。D、边界值法是等价类法的 有效补充,但不能取代。
[参考答案] 黑盒测试依据测试对象的规格说明来设计输入和输出数据。

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
软件项目管理是()一切活动的管理。
需求分析 
软件设计过程 
模块设计 
软件生命周期
[我的答案] 软件生命周期
[参考答案] 软件生命周期

试题6 满分值:1.0分   状态:已答   实际得分:1.0分
软件产品与物质产品有很大的区别,软件产品是一种()产品。
有形 
消耗 
逻辑 
文档
[我的答案] 逻辑
[参考答案] 逻辑

试题7 满分值:1.0分   状态:已答   实际得分:1.0分
软件产品的质量是由()阶段的工作决定的。
需求分析 
软件设计 
软件构建 
软件测试
[我的答案] 软件设计
[参考答案] 软件设计

试题8 满分值:1.0分   状态:已答   实际得分:0.0分
下列关于软件开发的描述不正确的是()。
软件是独立于计算机硬件的一部分,但它又依赖于计算机硬件。 
软件既是一种复杂的逻辑实体,又是一种工具。 
软件的核心是程序,另外还包括文档、数据和模型。 
软件发展的趋势是规模越来越大、功能越来越复杂。
[我的答案] 软件既是一种复杂的逻辑实体,又是一种工具。
[试题解析] 软件=程序+数据+文档
[参考答案] 软件的核心是程序,另外还包括文档、数据和模型。

试题9 满分值:1.0分   状态:已答   实际得分:0.0分
软件公司为了提高软件可维护性而进行的代码重构称为()。
修正性维护 
完善性维护 
适应性维护 
预防性维护
[我的答案] 修正性维护
[参考答案] 预防性维护

试题10 满分值:1.0分   状态:已答   实际得分:1.0分
实体关系图侧重于对软件系统的()建模。
功能 
行为 
质量 
数据
[我的答案] 数据
[参考答案] 数据

二 不定项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
结构化详细设计过程将需求阶段的(),转换为()模型。
DFD 
ERD 
结构图 
数据库逻辑设计
[我的答案] 结构图 DFD
[参考答案] DFD 结构图

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
需求获取活动()。
目的是从空白开始建立最初的原始需求。 
是从人、文档或者环境中获取需求的过程。 
获取到的活动并非是定义良好的需求。 
只需要获取和分析用户的功能需求即可。
[我的答案] 获取到的活动并非是定义良好的需求。 是从人、文档或者环境中获取需求的过程。 目的是从空白开始建立最初的原始需求。
[试题解析] D、只需要获取和分析用户的功能需求即可。(目标、功能、性能需求等)
[参考答案] 目的是从空白开始建立最初的原始需求。 是从人、文档或者环境中获取需求的过程。 获取到的活动并非是定义良好的需求。

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
下列软件及软件工程的发展历程述不正确的是()。
软件从规模和复杂程度上呈现规模越来越大,复杂度越来越高的趋势。 
软件工程越来越重视理论、原则的总结与提出。 
结构化方法比面向对象方法更适合于大规模复杂软件系统的开发。 
基于复用的大型软件系统的开发技术、软件体系结构等一系列技术是随着大规模复杂系统开发需求而产生的。 
由于软件规模越来越大,复杂程度越来越高,使得软件开发成本远远高于其他软件工程活动的成本。
[我的答案] 由于软件规模越来越大,复杂程度越来越高,使得软件开发成本远远高于其他软件工程活动的成本。 结构化方法比面向对象方法更适合于大规模复杂软件系统的开发。 软件工程越来越重视理论、原则的总结与提出。
[试题解析] B、软件工程越来越重视理论、原则的总结与提出。 / 更加重视最佳实践方法的使用。 C、结构化方法比面 向对象方法更适合于大规模复杂软件系统的开发。 / 面向对象方法比结构化方法更适合 E、由于软件规模越来越大,复 杂程度越来越高,使得软件开发成本远远高于其他软件工程活动的成本。 /维护成本远远高于开发成本
[参考答案] 软件工程越来越重视理论、原则的总结与提出。 结构化方法比面向对象方法更适合于大规模复杂软件系统的开发。 由于软件规模越来越大,复杂程度越来越高,使得软件开发成本远远高于其他软件工程活动的成本。

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
下列关于21世纪前10年的描述正确的是()。
硬件环境向更广和更小两个层次展开,分布式环境和嵌入式设备及移动终端大规模普及。 
基于Internet的大规模Web应用成为主流,面向消费大众的软件产品需求出现了爆炸式增长。 
软件开发方法与技术与上世纪90年代相同。 
RUP逐渐被敏捷方法取代,软件开发过程不再被重视。 
软件工程方法开始在各领域深入,根据领域特点选择开发技术组织开发过程,重视软件的可变更性及用户价值。
[我的答案] 软件工程方法开始在各领域深入,根据领域特点选择开发技术组织开发过程,重视软件的可变更性及用户价值。 基于Internet的大规模Web应用成为主流,面向消费大众的软件产品需求出现了爆炸式增长。 硬件环境向更广和更小两个层次展开,分布式环境和嵌入式设备及移动终端大规模普及。
[试题解析] C、软件开发方法与技术与上世纪90年代相同。 在之前的基础上有了进一步的发展和完善。 D、RUP逐渐 被敏捷方法取代,软件开发过程不再被重视。 依然被重视。
[参考答案] 硬件环境向更广和更小两个层次展开,分布式环境和嵌入式设备及移动终端大规模普及。 基于Internet的大规模Web应用成为主流,面向消费大众的软件产品需求出现了爆炸式增长。 软件工程方法开始在各领域深入,根据领域特点选择开发技术组织开发过程,重视软件的可变更性及用户价值。

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
结构化需求分析模型包括()。
数据流图 
实体关系图 
状态转图 
数据字典
[我的答案] 数据字典 状态转图
实体关系图 数据流图
[参考答案] 数据流图 实体关系图 状态转图 数据字典
三 判断题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
环境图也称顶层数据流图,它仅包括一个数据处理过程,即目标系统。
[我的答案] 正确
[参考答案] 正确

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
代码就是设计,所以我们可以直接编写代码而不用设计。
[我的答案] 错误
[试题解析] 错。代码关注的是详细设计的细节。而设计还要完成高层和中层设计。
[参考答案] 错误

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
软件详细设计是在软件体系结构设计之后,以需求开发的结果和软件体系结构的结构为 出发点的。
[我的答案] 正确
[参考答案] 正确

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
经过测试后,即使没有发现错误,也不能说软件是没有问题的。
[我的答案] 正确
[参考答案] 正确

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
软件生存周期模型是对软件生存周期中过程、活动和任务的组织。
[我的答案] 正确
[参考答案] 正确

第三套

一 单项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
实体关系图侧重于对软件系统的()建模。
功能 
行为 
质量 
数据
[我的答案] 数据
[参考答案] 数据

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
软件产品的质量是由()阶段的工作决定的。
需求分析 
软件设计 
软件构建 
软件测试
[我的答案] 软件设计
[参考答案] 软件设计

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
软件体系结构定义为()
{component, connector, configuration} 
{models, connector} 
{object, collaboration, message, }
[我的答案] {component, connector, configuration}
[参考答案] {component, connector, configuration}

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
OO中,对象之间的协作是通过()来实现的。
关联 
泛化 
依赖 
实现 
消息
[我的答案] 消息
[参考答案] 消息

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
关于黑盒测试的描述正确的是()。
黑盒测试就是把测试对象看作一个黑盒子,目的是测试代码结构。 
黑盒测试依据测试对象的规格说明来设计输入和输出数据。 
进行等价类测试时,要重点测试有效等价类数据。 
针对边界情况设计测试用例后,就不用考虑等价类测试用例了。
[我的答案] 黑盒测试依据测试对象的规格说明来设计输入和输出数据。
[试题解析] A、黑盒测试的目的是测试功能是否满足需求规格。C、重点测试无效等价类。D、边界值法是等价类法的 有效补充,但不能取代。
[参考答案] 黑盒测试依据测试对象的规格说明来设计输入和输出数据。

试题6 满分值:1.0分   状态:已答   实际得分:1.0分
集成测试( )。
主要采用白盒测试方式,目的是证明模块功能正确。 
主要采用黑盒测试,主要是发现模块内程序错误。 
是证明模块功能正确性的测试,主要由开发人员完成。 
主要采用白盒+黑盒的测试方式,是为了检验系统功能。
[我的答案] 主要采用白盒+黑盒的测试方式,是为了检验系统功能。
[参考答案] 主要采用白盒+黑盒的测试方式,是为了检验系统功能。

试题7 满分值:1.0分   状态:已答   实际得分:1.0分
下列关于敏捷软件开发说法错误的是()。
敏捷软件开发是一种应对快速变化的需求的一种开发方法。 
敏捷软件开发强调文档的重要性。 
敏捷软件开发注重程序员团队与业务专家的密切协作。 
敏捷软件开发希望频繁的交付新的软件版本。
[我的答案] 敏捷软件开发强调文档的重要性。
[参考答案] 敏捷软件开发强调文档的重要性。

试题8 满分值:1.0分   状态:已答   实际得分:1.0分
软件产品与物质产品有很大的区别,软件产品是一种()产品。
有形 
消耗 
逻辑 
文档
[我的答案] 逻辑
[参考答案] 逻辑

试题9 满分值:1.0分   状态:已答   实际得分:1.0分
在()年的NATO会议上,软件工程的术语被首次提出。
1966 
2020/6/16 测试结果
etcnew.sdut.edu.cn/meol/common/question/test/student/stu_qtest_result.jsp?testId=132648441 4/7
1968 
1970 
1972
[我的答案] 1968
[参考答案] 1968

试题10 满分值:1.0分   状态:已答   实际得分:1.0分
测试用例设计时,主要工作是()。
设计测试场景的输入数据 
设计测试场景的输入与输出数据 
设计测试场景的输出数据 
以上都不是
[我的答案] 设计测试场景的输入与输出数据
[参考答案] 设计测试场景的输入与输出数据

二 不定项选择题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
MVC是一种体系结构风格,其中M、V、C分别是关于()的抽象。
业务逻辑 
表现 
控制 
数据 
调用
[我的答案] 业务逻辑 表现 控制
[参考答案] 业务逻辑 表现 控制

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
结构化详细设计过程将需求阶段的(),转换为()模型。
DFD 
ERD 
结构图 
数据库逻辑设计
[我的答案] DFD 结构图
[参考答案] DFD 结构图

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
在进行人机交互设计时,需要遵循()原则。
简洁设计 
一致性设计 
低出错率设计 
易记性设计
[我的答案] 简洁设计 一致性设计 低出错率设计 易记性设计
[参考答案] 简洁设计 一致性设计 低出错率设计 易记性设计

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
交互图的一种形式称为顺序图,关于顺序图的描述正确的是()。
顺序图用于描述软件系统的数据处理过程。 
顺序图是一个类似二维表的结构,纵轴为时间轴,横轴表示了参与协作的对象。 
顺序图中将对象的交互(协作)表示为消息,消息按照时间顺序,在顺序图中从左向右排列。( 
顺序图中的消息的实质是发送者对象的方法。
[我的答案] 顺序图是一个类似二维表的结构,纵轴为时间轴,横轴表示了参与协作的对象。
[试题解析] A、顺序图用于描述软件系统的数据处理过程。(描述数据处理过程的是DFD;顺序图描述的是特定上下文 环境中一组对象的交互行为) C、顺序图中将对象的交互(协作)表示为消息,消息按照时间顺序,在顺序图中从左向 右排列。(消息从上到下排列) D、顺序图中的消息的实质是发送者对象的方法。(接收者对象的方法)
[参考答案] 顺序图是一个类似二维表的结构,纵轴为时间轴,横轴表示了参与协作的对象。

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
概念类图的基本元素不包括()。
对象和类 
链接和关联 
继承 
消息
[我的答案] 消息
[试题解析] D、消息(顺序图的符号)
[参考答案] 消息

三 判断题
试题1 满分值:1.0分   状态:已答   实际得分:1.0分
实体与属性的区别在于,实体是复合信息,而属性是原子(不可再分)信息。
[我的答案] 正确
[参考答案] 正确

试题2 满分值:1.0分   状态:已答   实际得分:1.0分
软件详细设计是在软件体系结构设计之后,以需求开发的结果和软件体系结构的结构为 出发点的。
[我的答案] 正确
[参考答案] 正确

试题3 满分值:1.0分   状态:已答   实际得分:1.0分
经过测试后,即使没有发现错误,也不能说软件是没有问题的。
[我的答案] 正确
[参考答案] 正确

试题4 满分值:1.0分   状态:已答   实际得分:1.0分
当软件的一个版本被淘汰时,则该软件的生存周期就结束了。
[我的答案] 错误
[参考答案] 错误

试题5 满分值:1.0分   状态:已答   实际得分:1.0分
代码就是设计,所以我们可以直接编写代码而不用设计。
[我的答案] 错误
[试题解析] 错。代码关注的是详细设计的细节。而设计还要完成高层和中层设计。
[参考答案] 错误

2020年6月——期末考试题:

一 单项选择题
试题1 满分值:2.0分   状态:已答  
以下有关软件工程基本概念的说法中,不正确的是_____________________。
软件发展的趋势是规模越来越大、功能越来越复杂。 
软件既是一种复杂的逻辑实体,又是一种工具。 
软件的核心是程序,另外还包括文档、数据和模型。 
软件是独立于计算机硬件的一部分,但它又依赖于计算机硬件。
[我的答案] 软件的核心是程序,另外还包括文档、数据和模型。

试题2 满分值:2.0分   状态:已答  
需求工程活动包括_____________________两个方面。
需求获取和需求分析 
需求分析和需求管理 
需求分析和规格说明 
需求开发和需求管理
[我的答案] 需求开发和需求管理


试题3 满分值:2.0分   状态:已答  
需求指的是用户的期望,关于对需求的理解不正确的是_____________________。
功能需求是软件系统需求中最常见、最主要和最重要的需求,也是最为复杂的需求。 
根据抽象层次及程度,将需求分为业务需求、用户需求和系统级需求。 
可以将软件需求分为功能需求和性能需求。 
需求分析的过程就是将描述目标的业务需求,以及描述用户期望的用户需求最终转为为描述系统行为的系统级需

[我的答案] 可以将软件需求分为功能需求和性能需求。


试题4 满分值:2.0分   状态:已答  
数据流图(DFD)将软件系统建模为输入、处理、存储与输出的协同工作,其侧重描述 系统的_____________________。
处理规格 
术语词条 
控制规格 
数据规格
[我的答案] 处理规格


试题5 满分值:2.0分   状态:已答  
下面关于用例建模的描述中,不正确的是_____________________。
用例模型包括用例图和用例描述。 
用例描述又称用例规格,是用文本形式描述出用例的参与者、目标及交互场景。 
用例图的元素只包括参与者和用例。 
用例是不同条件下系统对某一用户的请求的响应,由一组交互的行为序列组成,帮助实现用户的一个完整目的。
[我的答案] 用例图的元素只包括参与者和用例。


试题6 满分值:2.0分   状态:已答  
“项目应当在12个月内完成”这是_____________________。
系统需求 
过程需求 
硬件需求 
项目需求
[我的答案] 项目需求


试题7 满分值:2.0分   状态:已答  
根据下面对应的概念类图,池塘(Pond)和鸭子(Duck)类之间是 _____________________关系。


继承 
组合 
聚集 
关联
[我的答案] 聚集


试题8 满分值:2.0分   状态:已答  
面向对象中,对象之间的协作是通过_____________________来实现的。
依赖 
泛化 
消息 
关联
[我的答案] 消息


试题9 满分值:2.0分   状态:已答  
对于下面的代码,耦合类型为_____________________。

class Math

{

  int number;

  public double sqrtANumber()

{      

return Math.sqrt(number);  

}

}
控制耦合 
印记耦合 
数据耦合 
公共耦合
[我的答案] 数据耦合

试题10 满分值:2.0分   状态:已答  
以下模型中,可用于开发风险较大的软件的是_____________________。
增量模型 
原型模型 
螺旋模型 
瀑布模型
[我的答案] 螺旋模型

试题11 满分值:2.0分   状态:已答  
以下需求描述的是对负载(Load)的性能需求的是_____________________。
系统所有对用户信息的查询应当在6秒内完成 
系统在监测到心电异常,必须在0.1秒内发出警报 
系统应当可存储1000万条销售信息 
系统可同时允许100万用户进行数据文件的备份和下载
[我的答案] 系统可同时允许100万用户进行数据文件的备份和下载

试题12 满分值:2.0分   状态:已答  
以下有关软件测试的说法中,不正确的是_____________________。
黑盒测试主要用于对功能的测试 
大多数软件都做不到“零缺陷” 
白盒测试主要是对程序内部逻辑结构的测试 
成功的测试是发现所有错误的测试
[我的答案] 成功的测试是发现所有错误的测试

试题13 满分值:2.0分   状态:已答  
以下有关人机交互设计的说法中,不正确的是_____________________。
人机交互设计不仅关注静态界面布局,也重视软件产品的动态过程 
简洁、一致性、低出错率、易记性设计都是典型的人机交互设计原则 
人机交互设计依据精神模型进行隐喻设计 
对于人机交互设计所得的界面无法进行客观评估
[我的答案] 对于人机交互设计所得的界面无法进行客观评估

试题14 满分值:2.0分   状态:已答  
根据下面对应的构件图,属于“需求接口”的是_____________________。


更新计划 
图中不存在需求接口 
预订 
计划制订者
[我的答案] 预订

试题15 满分值:2.0分   状态:已答  
以下不属于软件设计质量标准的是_____________________。
易复用 
可扩展 
易修改 
可理解
[我的答案] 易复用

试题16 满分值:2.0分   状态:已答  
以下有关面向对象设计的说法中,不正确的是_____________________。
利用信息隐藏提高易用性 
追求高内聚低耦合 
通过协作建立动态模型 
通过职责建立静态模型
[我的答案] 利用信息隐藏提高易用性

试题17 满分值:2.0分   状态:已答  
关于黑盒测试的描述正确的是()。
针对边界情况设计测试用例后,就不用考虑等价类测试用例了。 
进行等价类测试时,要重点测试有效等价类数据。 
黑盒测试依据测试对象的规格说明来设计输入和输出数据。 
黑盒测试就是把测试对象看作一个黑盒子,目的是测试代码结构。
[我的答案] 黑盒测试依据测试对象的规格说明来设计输入和输出数据。

试题18 满分值:2.0分   状态:已答  
根据下面对应的详细类图,其中visibility(可视)属性属于_____________________。


以上都不对 
public(公有)成员 
protected(受保护)成员 
private(私有)成员
[我的答案] protected(受保护)成员

试题19 满分值:2.0分   状态:已答  
根据下面对应的功能模块关系描述,其内聚形式属于_____________________。


过程内聚 
时间内聚 
逻辑内聚 
通信内聚
[我的答案] 通信内聚

试题20 满分值:2.0分   状态:已答  
以下有关顺序图的描述中,不正确的是_____________________。
顺序图描述的是对象的之间的相互协作,是典型的交互图。 
需求分析阶段需要提供详细顺序图。 
顺序图中的消息有同步消息、异步消息和返回消息之分。 
顺序图可看作是二维图表,纵轴可以看作是时间轴。
[我的答案] 需求分析阶段需要提供详细顺序图。

二、问答题
试题1 满分值:5.0分   状态:已答  
在软件工程实践中,有人认为“软件工程存在最好的解决方案,也应该追求最好的方 案”,请辨析该说法是否正确,并给出相应的解释说明。
[我的答案]
答:“软件工程存在最好的解决方案,也应该追求最好的方案”这句话在我看来是不正 确的。    因为:软件工程追求的是足够好,不是最好。软件工程都要以成本效益比有效为生 产成功的基本条件。成本是软件开发的耗费,效益是客户为了得到软件产品愿意付出的 费用。 如果一个项目做到最好需要花费太多成本 虽然做出来的东西是好的 但是这个工

试题2 满分值:5.0分   状态:已答  
有人认为在软件测试中,应当找出软件中所有的缺陷和不足,从而确保软件产品的质 量,请辨析该描述是否正确,并给出相应的解释说明。
[我的答案] 答:这个说法不正确。原因如下:    软件测试的主要目的是验证和确认产品的质量,不是找到所有错误。    没有一个软件是完美的,软件都是做到与时俱进,软件测试只是验证软件的质量, 后期还有维护阶段可以慢慢的发现并修改bug。一个大型项目想要做到面面俱到还是很 难的

试题3 满分值:5.0分   状态:已答  
根据抽象程度的不同,软件设计可以为分高层设计、中层设计和低层设计,各自的关注 点在哪?并简要说明为什么需要分层进行软件设计。
[我的答案] 答:    高层设计:基于反映软件高层抽象的构建层次,描述系统的高层结果、关注点和设 计决策;    中层设计:更加关注组成构件的模块的划分、导入/导出、过程之间的调用关系或者 类之间的协作;    低层设计:深入模块和类的内部,关注具体的数据结构、算法、类型、语句和控制 结构等。        分层进行软件设计的原因: 在处理复杂性时 分解 抽象和层次结构是基本的思路 软件工程为了解决设计中

试题4 满分值:5.0分   状态:已答  
软件体系结构={部件(component),连接件(connector),配置(configuraion)} (Shaw,1995),如何理解这一定义?并简要说明应当如何进行软件体系结构的设 计

[我的答案]
答:    定义:软件体系结构={部件(component),连接件(connector),配置 (configuraion)}    部件:软件体系结构的组成基本单位之一,承载系统的主要功能,包括处理与数 据;    连接件:软件体系结构的另一个组成基本单位之一,定义部件之间的交互,是连接 的抽象表示;    配置:对“形式”的发展,定义了“部件”以及“连接件”之间的关联方式,将他 们组成系统的总体结构;    定义的理解:一个软件系统的体系结构规定了系统的计算部件和部件之间的交互。
    体系结构设计过程:    1、分析关键需求和项目约束;    2、选择体系结构风格;    3、进行软件体系结构逻辑(抽象)设计;    4、依赖逻辑设计进行软件体系结构物理(实现)设计;    5、完善软件体系结构设计; 6、定义构件接口

试题5 满分值:5.0分   状态:已答  

试说明什么是分解(decomposition)和抽象(abstraction),并简要说明为什么分解与抽 象是软件设计的核心思想。
[我的答案] 答:    分解:横向上将系统分割成几个相对简单的子系统,以及各子系统直接的关系;    抽象:纵向上聚焦各子系统之间的接口。    分解与抽象是软件设计的核心思想,是因为“分而治之”是软件设计解决复杂度难 题的主要出路。

试题6 满分值:5.0分   状态:已答  
试举例说明什么是“桩”(stub)和“驱动”(driver),并说明其在软件工程中的应 用。
[我的答案] 答:    桩程序:是被测试部件的交互环境,它扮演成被测试部件需要调用的其他系统部 件。    驱动程序:负责创建被测试部件的执行环境,并驱动和监控被测试用例的过程,判 定用例的执行结果。 软件工程中的应用 进行软件测试 将系统的单个部件独立出来运行 单独测试该…

试题7 满分值:5.0分   状态:已答  
已知定义有整型变量X,Y,有如下代码: X=X+Y; Y=X-Y; X=X-Y; 试分析此段代码的作用,尝试从软件工程的角度说明这段代码存在的问题。
[我的答案] 答:这段代码的作用是交换X和Y的值。
存在的问题:    1、不是易读的代码,没有给出注释;    2、直接使用整形变量有时不能交换两个变量的值;        

试题8 满分值:5.0分   状态:已答  
试举例说明可靠性(Reliability)和可用性(Availability)的区别。
[我的答案] 可靠性:是保证软件的正常,不管输入的数据是合法数据还是非法数据,程序内部都不 会毁坏。还是可以完整的运行。
可用性:主要关注在于软件是否可以在正常的条件运行。
区别:两者可靠性关注的点要多一些。可靠性不仅可用,而且还多了一个错误输入时的 处理。


试题9 满分值:5.0分   状态:已答  
已知输出身高体重函数体定义为: void print(int params[]){        System.out.println("身高"+params[0]);        System.out.println("体重"+params[1]); } 试指出其所属耦合类型,并尝试修改代码以降低其耦合程度。
[我的答案] 耦合类型:印记耦合 修改代码: void print(int height, int weight) {    System.out.println("身高"+height);    System.out.println("身高"+weight); }


试题10 满分值:5.0分   状态:已答  
如何理解“为变更而设计”?
[我的答案] 答:”为变更而设计“的方法一是要封装潜在变更,二是使用多态实现OCP,三是DIP 减少耦合,他们的目的都是”信息隐藏“。    因为系统的需求是变化的,软件的用户受众也是在变化中的,软件都会有版本被淘 汰,一个真正好的工程是会随着这些变化而与时俱进的,只有这样软件才有更高的价 值 信息隐藏是为变更而设计的主要思想 信息隐藏的原因是软件中有很多地方可能会


试题11 满分值:5.0分   状态:已答  
以下A、B题项二选一作答: A)试简要说明设计模式的目的,以及如何评价设计模式的优劣。 B)试简要说明软件维护的目的以及逆向工程的作用。
[我的答案] B 系统维护的目的:在交付之后修改软件系统或者其部件的活动过程,以修正缺陷、提高 性能或其他属性、适应变化的环境。 逆向工程的作用: 抽取软件系统的需求与设计而隐藏实现细节,然后在需求与设计的 层次上描述软件系统,以建立对系统更加准确清晰的理解。


试题12 满分值:5.0分   状态:已答  
以下A、B题项二选一作答: A)在软件开发工作量的估计中,常用“人·月”作为单位,这样80人开发1个月和10人 开发8个月,所得工作量都可表示为80人·月,试讨论这种工作量计算方式的问题所在。 B)试简要说明为什么要“信息隐藏”,并列举出至少两种以上实现“信息隐藏”的机 制
[我的答案] B “信息隐藏”原因:信息隐藏是为变更而设计的主要思想,信息隐藏的原因是软件中有 很多地方可能会实现变更,为了防止被别人窃取劳动成果,所以要实现信息的隐藏。 实现”信息隐藏“的机制:封装、多态、DIP方法。

  • 21
    点赞
  • 318
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值