我是靠谱客的博主 落寞长颈鹿,最近开发中收集的这篇文章主要介绍《软件工程》复习题单选题二、 判断题三、 填空题四、简答题(共20分,每题5分),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单选题

基本概念部分(第1-3章)

1、关于数据与信息的描述中,( )是错误的。
A. 数据是记录某些事实的一种符号 B. 数据是信息的载体
C. 数据具有主观性,而信息具有客观性 D. 数据具有客观性,而信息具有主观性

2、关于信息的描述中,( )是错误的。
A. 信息的共享特性对其价值产生重大影响 B. 信息的价值并不因时间的改变而改变
C. 信息是客观事实的主观反映 D. 人们对信息的认识通常难以一次完成

3、( D )不是软件危机的表现形式。
A. 很难准确估计软件开发成本、进度 B. 软件产品不能完全满足用户要求
C. 软件产品可维护性、可靠性差 D. 硬件、软件日益廉价

4、( C )不是软件危机的表现形式。
A. 软件开发成本居高不下 B. 软件开发生产率低
C. 技术发展快 D. 难以保证软件质量

5、“软件危机”是指( C )。
A. 计算机病毒入侵软件系统 B. 利用计算机进行经济犯罪活动
C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统

6、开源软件由( )开发。
A. 组织内部开发人员 B. 爱好者社团
C. 特殊的公司雇员 D. 应用软件服务提供者

7、由互联网提供计算平台及相应的资源,无需用户大规模投资,这被称为( A )。
A. 云计算 B. 集中式计算
C. 租赁计算 D. 分布式计算

8、软件工程的基本要素包括方法、工具和( B )。
A. 人员 B. 过程
C. 软件系统 D. 硬件系统

9、软件生命周期的最后的一个阶段是( A )。
A. 软件运行与维护 B. 软件测试
C. 软件安装与培训 D. 编写用户文档

10、软件生命周期中时间最长的阶段是( C )。
A. 软件分析 B. 软件设计
C. 软件运行与维护 D. 软件实现

11、软件复杂性度量的参数包括( B )。
A. 效率 B. 规模
C. 完整性 D. 容错性

12、常见的软件开发模型有瀑布、演化、螺旋、喷泉模型,其中( A )模型适用于需求明确或很少变更的项目。
A. 瀑布 B. 演化
C. 螺旋 D. 喷泉

需求明确或很少变更 -----瀑布模型
面向对象----------------喷泉模型
瀑布+增量--------------螺旋模型
瀑布不足----------不能动态需求

13、常见的软件开发模型有瀑布、演化、螺旋、喷泉模型,其中( D )模型主要用来描述面向对象的软件开发过程。
A. 瀑布 B. 演化
C. 螺旋 D. 喷泉

14、螺旋模型是一种将瀑布模型和( A )结合起来运用的软件开发模型。
A. 增量模型 B. 喷泉模型
C. 变换模型 D. 原型模型

15、瀑布模型的关键不足在于( D )。
A. 过于简单 B. 过于灵活
C. 各个阶段需要进行评审 D. 不能适应需求的动态变更

16、( A )开发过程模型最不适用于开发初期对软件需求缺乏准确全面认识的情况。
A. 瀑布 B. 增量
C. 螺旋 D. 演化

17、某公司计划开发的产品技术含量很高,与客户相关的风险也很大,则该产品最适于采用( C )开发过程模型。
A. 增量 B. 瀑布
C. 螺旋 D. 原型

18、某公司要尽快开发并上市一款软件产品,但产品的某些需求尚需要进一步细化,则最不宜采用( A )模型来开发该产品。
A. 瀑布 B. 螺旋
C. 增量 D. 原型

19、可行性研究本质上是进行一次( B )需求分析与设计。
A. 全面的 B. 详细的
C. 彻底的 D. 简化、压缩的

20、项目开发因采用不成熟的前沿技术而带来的风险属于( B )风险。
A. 市场 B. 技术
C. 经济 D. 商业

结构化分析与设计部分(第4-6章)

21、结构化分析与设计方法是一种面向( C )的分析设计方法。
A. 模块 B. 数据结构
C. 数据流 D. 程序

22、结构化分析方法是以( A )等描述工具,即用直观的图形、简洁的语言来描述软件的逻辑模型。
A. DFD、DD B. DFD、SC
C. DFD、PAD D. DFD、IPO

23、一言以蔽之,系统需求阶段要解决的,就是系统( D )的问题。
A. 怎么做 B. 何时做
C. 能否做 D. 做什么

24、确定软件系统建设所需人数时,无需考虑( A )。
A. 系统的市场前景 B. 系统的规模
C. 系统的技术复杂性 D. 项目计划

25、所谓需求分析,就是SA详细了解用户要求,认真细致地调研、分析,最终建立目标系统逻辑模型并撰写( B )的过程。
A. 模块说明书 B. 软件规格说明
C. 项目开发计划 D. 项目开发合同

26、系统流程图是描述( B )的工具。
A. 逻辑系统 B. 物理系统
C. 程序系统 D. 体系结构

27、结构化开发中,数据流图是( A )阶段产生的成果。
A. 需求分析 B. 总体设计
C. 详细设计 D. 软件实现

28、软件开发过程中,需求阶段的输出不包括( B )。
A. 数据字典 B. 软件结构图
C. E-R图 D. 数据流图

29、 “软件产品必须能够在3秒内对用户请求作出响应”属于软件需求中的( B )。
A. 功能需求 B. 非功能需求
C. 设计约束 D. 逻辑需求

30、以下HR系统需求中,属于功能需求的是( A )。
A. 每个月在特定时间发放工资 B. 系统响应时间不超过3秒
C. 确保数据安全 D. 允许100个员工同时查询个人工资

31、结构化分析中,( B )是用以表达系统内部数据运行情况的主要工具。
A. 数据字典 B. 数据流图
C. E-R图 D. 判定树和判定表

32、The calculation of an teacher’s salary would be represented on a data-flow diagram as a( B )。
A. data flow B. data process
C. data store D. source

教师工资的计算将在数据流图上表示为数据处理

33、A computer-based file containing student information would be represented on a data-flow diagram as a( C ).
A. data flow B. data process
C. data store D. source

包含学生信息的基于计算机的文件将在数据流图上表示为数据存储

34、下列要素中,不属于数据流图的是( D )。
A. 加工 B. 数据流
C. 数据存储 D. 联系

35、数据流图的“加工处理”至少需要( D )。
A. 一个输入流 B. 一个输出流
C. 一个输入流或一个输出流 D. 一个输入流及一个输出流

36、使用数据流图给一个工资系统建模时,( A )可被认定为外部实体。
A. 代发工资的银行 B. 工资单
C. 考勤表 D. 计算水电费

37、数据流图对系统功能及其数据流进行建模,其顶层数据流图用于描述系统的( A )。
A. 输入和输出 B. 数据存储
C. 外部实体 D. 处理过程

38、结构化分析(SA)方法中,与数据流图结合使用的是( C )。
A. 模块结构图 B. 实体关系图
C. 数据字典 D. 甘特图

39、一言以蔽之,系统设计阶段要解决的,就是系统( A )的问题。
A. 怎么做 B. 何时做
C. 能否做 D. 做什么

设计---	怎么做	
需求--- 做什么

40、在( A )设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。
A. 概要 B. 详细
C. 结构化 D. 面向对象

41、结构化开发方法中,( D )主要包含对数据结构和算法的设计。
A. 体系结构设计 B. 数据设计
C. 接口设计 D. 过程设计

42、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( D )。
A. 软件层次结构 B. 软件开发过程
C. 模块层次结构 D. 模块的操作细节

43、在对数据流的分析中,寻找到变换中心是从( D )导出结构图的关键。
A. 数据结构 B. 实体关系
C. E—R图 D. 数据流图

44、面向数据流的设计方法将( C )映射成软件结构。
A. 数据流 B. 模块化
C. 控制结构 D. 信息流

45、为高质量地开发软件项目,在软件结构设计时,必须遵循( C )的原则。
A. 程序优化 B. 数据共享
C. 信息隐蔽 D. 质量控制

46、软件设计阶段一般可细分为( D )。
A. 逻辑设计与功能设计 B. 概念设计与物理设计
C. 模型设计与程序设计 D. 概要设计与详细设计

软件设计阶段一般可分为概要设计与详细设计

47、软件系统设计的主要目的是为系统制定蓝图,( D )并非软件设计模式所关注的内容。
A. 总体结构 B. 数据结构
C. 界面模型 D. 项目范围

48、划分模块时,一个模块的( A )。
A. 作用范围应在其控制范围之内 B. 控制范围应在其作用范围之内
C. 作用范围与控制范围互不包容 D. 作用范围与控制范围不受任何限制

49、软件结构图中,模块框之间有直线连接,则表示它们之间存在着( C )关系。
A. 组成 B. 连接
C. 调用 D. 顺序执行

50、在多层次的结构图中,其模块的层次数称为结构图的( A )。
A. 深度 B. 跨度
C. 粒度 D. 控制域

51、软件结构图的形态特征能反映程序重用率的是( A )。
A. 扇入 B. 扇出
C. 深度 D. 宽度

模块框之间有直线连接-----调用关系
形态特征能反映程序重用率的是-----扇入
多层次,模块的层次数称为结构图的---深度	

52、设计软件的模块结构时( C )不能改进设计质量。
A. 尽量减少模块扇出 B. 设计大小适中的模块
C. 将具有相似功能的模块合并 D. 完善模块的功能

53、软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,应尽量做到( B )。
A. 高内聚、高耦合 B. 高内聚、低耦合
C. 低内聚、高耦合 D. 低内聚、低耦合

54、耦合度、内聚度是度量软件模块独立性的重要准则,软件设计时应力求( C )。
A. 高内聚、高耦合 B. 低内聚、低耦合
C. 高内聚、低耦合 D. 低内聚、高耦合

55、内聚表示一个模块( B )。
A. 代码优化的程度 B. 代码功能的集中程度
C. 项目团队的凝聚力 D. 模块之间相互关联的程度

56、模块的独立性是由内聚性和耦合性来度量的,其中内聚性指的是( B )。
A. 模块间的联系程度 B. 模块的功能强度
C. 信息隐蔽程度 D. 接口的复杂程度

57、以下内聚形式中,( B )最能体现模块的独立性,是系统分析、设计的目标。
A. 逻辑内聚 B. 功能内聚
C. 时间内聚 D. 通信内聚

58、以下列表中,( B )的内聚度依次由高到低。
A. 功能、偶然、时间 B. 功能、过程、偶然
C. 偶然、时间、功能 D. 时间、偶然、功能

59、某模块实现两个功能,即对同一个数据结构区域读写数据,该模块的内聚类型为( D )内聚。
A. 时间 B. 过程
C. 逻辑 D. 通信

60、某模块内涉及多个相关功能,这些功能必须以特定的次序执行,则该模块的内聚类型是( B )。
A. 偶然内聚 B. 过程内聚
C. 时间内聚 D. 顺序内聚

61、某模块中有两个处理A和B分别对数据结构X进行数据的读、写操作,则该模块的内聚类型属于( C )内聚。
A. 过程 B. 逻辑
C. 通信 D. 内容

62、模块A执行几个逻辑上相似的功能,其通过参数来确定执行哪个功能,则该模块的内聚类型是( C )内聚。
A. 顺序 B. 过程
C. 逻辑 D. 功能

读写数据---------通信内聚
特定的次序执行---过程内聚
执行逻辑功能-----逻辑内聚	

63、模块A、B、C中都包含没有联系但相同的5个语句,为避免重复,将这5个语句抽出来组成模块D,则模块D的内聚类型属于( D )内聚。
A. 功能 B. 通信
C. 逻辑 D. 偶然

64、耦合度描述的是( D )。
A. 模块内各功能结合的程度 B. 模块内多个功能之间的接口
C. 模块之间公共数据的数量 D. 模块之间相互关联的程度

65、假设模块A和B都访问相同的全局变量和数据结构,则这两个模块的耦合类型为( A )耦合。
A. 公共 B. 数据
C. 标记 D. 控制

访问相同的全局变量和数据结构------公共耦合
模块A将信息通过结构体传递给模块B------标记耦合
模块A直接访问模块B的内部数据-----内容耦合

66、模块A将学号、姓名、性别等学生信息通过结构体传递给模块B,那么模块A、B之间的耦合类型属于( D )。
A. 数据耦合 B. 控制耦合
C. 内容耦合 D. 标记耦合

67、模块A直接访问模块B的内部数据,则这两个模块之间的耦合类型是( C )。
A. 数据耦合 B. 标记耦合
C. 内容耦合 D. 公共耦合

68、为了提高模块的独立性,模块之间最好的耦合形式是( A )。
A. 数据耦合 B. 控制耦合
C. 内容耦合 D. 公共耦合

69、下列模块耦合中,耦合度最低的是( A )。
A. 数据耦合 B. 控制耦合
C. 内容耦合 D. 公共耦合

70、模块A将某个班级某门课的成绩传递给模块B,模块B计算最高分、最低分、平均分并返回给模块A,则模块B在软件结构图中属于( A )模块。
A. 变换 B. 传入
C. 传出 D. 协调

71、决策树和决策表都是用于描述( C )的工具。
A. 数据流 B. 数据源
C. 数据处理逻辑 D. 数据存储

72、结构化语言是用于描述( A )的工具。
A. 数据处理逻辑 B. 数据源
C. 数据流 D. 数据存储

73、人机交互与输入/输出设计属于( D )阶段任务。
A. 系统分析 B. 可行性分析
C. 系统概要设计 D. 系统详细设计

面向对象分析与设计部分(第7-8章)

74、面向对象分析的第一步是( B )。
A. 定义类和对象 B. 确定问题域
C. 定义服务 D. 确定附加系统约束

75、面向对象分析过程中,可以从需求描述中选择( D )来识别对象。
A. 副词 B. 形容词
C. 名词短语 D. 动词短语

76、OOA的目的是获得对应用问题的理解,其主要活动不包括( A )。
A. 面向对象程序设计 B. 认定并组织对象
C. 确定基于对象的操作 D. 描述对象间的相互作用

77、不是面向对象分析阶段需要完成的( C )。
A. 认定对象 B. 组织对象
C. 实现对象及其相互关系 D. 描述对象间的相互作用

78、OOA、OOD是面向对象软件开发过程中的两个重要阶段,下列活动中,( C )不属于OOA。
A. 构件分析模型 B. 识别、分析类
C. 确定接口规格 D. 评估分析模型

79、面向对象分析需要找出软件需求中客观存在的所有实体对象,然后归纳、抽象出实体类,一般认为,( D )是寻找实体对象的有效方法之一。
A. 会议调查 B. 问卷调查
C. 电话调查 D. 名词分析

80、采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( D )。
A. 面向对象测试 B. 面向对象设计
C. 面向对象实现 D. 面向对象分析

81、面向对象中的( A )机制是对显示世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。
A. 继承 B. 封装
C. 多态 D. 抽象

82、面向对象的4个核心概念对象、类、继承和消息传递中,对象是封装( D )的整体。
A. 命名空间 B. 要完成的任务
C. 数据 D. 数据和行为

83、对象实现了数据和操作的结合, 使数据和操作( B )于对象的统一体中。
A. 结合 B. 封装
C. 隐藏 D. 抽象

84、( B )指的是将数据及对数据的操作组合在同一个单元中,使我们可以把类作为软件中的基本复用单元。
A. 继承 B. 封装
C. 多态 D. 抽象

85、软件部件的内部实现与外部可访问性的分离,体现了软件的( C )特性。
A. 继承 B. 共享
C. 封装 D. 抽象

86、采用继承机制创建子类时,子类中( D )。
A. 只能有父类中的属性 B. 只能有父类中的行为
C. 只能新增属性但不能新增行为 D. 可以新增属性和行为

87、若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A和类B的关系应为( B )。
A. 关联 B. 依赖
C. 聚合 D. 组合

88、若类A的某个属性是类B的一个对象,且类A对象消失时,类B对象也随之消失,那么类A和类B的关系应为( D )。
A. 关联 B. 依赖
C. 聚合 D. 组合

89、( A )是指子类可以自动拥有父类的全部属性和服务。
A. 继承 B. 多态
C. 消息 D. 封装

90、( C )是指一个对象向其他对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入和应答信息。
A. 继承 B. 多态
C. 消息 D. 封装

91、面向对象技术中,组合关系表示( D )。
A. 包与其中模型元素的关系 B. 用例之间的一种关系
C. 类及其对象的关系 D. 整体与部分之间的一种关系

92、( C )是一个类与它的一个或多个细化类之间的关系,即一般与特殊的关系。
A. 集合 B. 聚集
C. 泛化 D. 关联

93、类( A )之间存在“整体与部分”的关系。
A. 汽车与发动机 B. 汽车与驾驶员
C. 汽车与公共汽车 D. 汽车与飞机

94、类( B )之间存在“一般与特殊”的关系。
A. 汽车和轮船 B. 交通工具与飞机
C. 轮船与飞机 D. 汽车与飞机

95、( A )表示了对象之间的“is a”关系。
A. 继承 B. 组合
C. 引用 D. 聚合

96、( B )表示了对象之间的“has a”关系。
A. 继承 B. 组合
C. 引用 D. 聚合

97、( A )反映了类与类之间的层次关系。
A. 继承 B. 组合
C. 封装 D. 多态

98、( B )反映了一种整体与部分的关系。
A. 继承 B. 组合
C. 封装 D. 多态

表示对象之间的“is a”关系----	继承	
对象之间的“has a”关系---组合
类与类之间的层次关系---继承
反映了一种整体与部分的关系---组合

99、UML用例图中,参与者表示( A )。
A. 人、硬件或系统可以扮演的其他角色 B. 可以完成多种动作的相同用户
C. 不管角色的实际物理用户 D. 带接口的物理系统或硬件设计

100、对一个复杂用例中的业务处理流程进行进一步建模的最佳工具是UML的( D )。
A. 类图 B. 顺序图
C. 状态图 D. 活动图

101、UML的设计视图包含类、接口和协作,其中,设计视图的静态方面由类图和( C )呈现。
A. 状态图 B. 活动图
C. 对象图 D. 顺序图

102、UML的设计视图包含类、接口和协作,其中,设计视图的动态方面由交互图、( D )呈现。
A. 状态图和类图 B. 类图和活动图
C. 对象图和状态图 D. 状态图和活动图

103、UML中,( D )用于描述所开发的系统与外部系统或用户之间的交互。
A. 类图 B. 对象图
C. 部署图 D. 用例图

104、UML中,( C )用于按时间顺序描述对象之间的交互。
A. 状态图 B. 对象图
C. 序列图 D. 协作图

105、UML中的( A )显示外部参与者观察到的系统功能。
A. 用例视图 B. 进程视图
C. 实现视图 D. 逻辑视图

106、UML中的( D )从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能。
A. 用例视图 B. 进程视图
C. 实现视图 D. 逻辑视图

107、UML中的( C )显示的是源代码以及实际执行代码的组织结构。
A. 用例视图 B. 进程视图
C. 实现视图 D. 逻辑视图

108、UML中的构件是遵从一组接口并提供其实现,下列说法错误的是( C )。
A. 构件应该是可替换的 B. 构件应是组成系统的一部分
C. 构件表示的是逻辑而非物理模块 D. 构件和类处于不同的抽象层次

109、在面向对象的程序设计语言中,( C )。
A. 类的实例化是指对类进行初始化 B. 每个类只能创建一个实例
C. 类的实例化是指为类的实例分配存储空间 D. 每个类都必须创建一个实例

110、面向对象程序设计中,对象之间乃系通过( D )的方式进行通信。
A. 继承 B. 多态
C. 引用 D. 消息传递

111、关于算法与数据结构的关系,( D )是正确的。
A. 数据结构越复杂,算法的效率越高 B. 数据结构越简单,算法的效率越高
C. 算法的效率与数据结构无关 D. 算法的实现依赖于数据结构的设计

112、在选择软件开发用到的面向对象程序设计语言时,该语言( D )是无需着重考虑的因素。
A. 将来是否能够占据市场主导地位 B. 类库是否丰富
C. 开发环境是否成熟 D. 是否支持全局变量和全局函数的定义

113、以下关于面向对象设计的叙述中,错误的是( B )。
A. 高层模块不应该依赖于底层模块 B. 高层模块无法不依赖于底层模块
C. 抽象不应该依赖于细节 D. 细节可以依赖于抽象

114、结构化程序设计主要强调的是( D )。
A. 程序的规模 B. 程序的效率
C. 程序设计语言的先进性 D. 程序的易读性

115、OOP语言为( D )阶段提供支持。
A. 面向对象用例设计 B. 面向对象分析
C. 面向对象需求分析 D. 面向对象实现

116、程序设计语言提供若干基本类型及其相关操作,而( C )则允许开发者自定义新的数据类型及其操作。
A. 对象 B. 实例
C. 类 D. 引用

117、一个类可以具有多个同名但参数类型列表不同的方法,这被称为方法的( C )。
A. 调用 B. 重置
C. 重载 D. 重写

118、LOC是软件规模的一种量度,它表示( B )。
A. 软件功能数 B. 源代码行数
C. 单位成本 D. 工作量

其他部分(第9-11、13-14章)

119、在数据库逻辑结构设计阶段,需要系统分析阶段的( C )作为设计依据。
A. 程序文档、数据流图、数据字典 B. 需求说明文档、数据流图、程序文档
C. 需求说明文档、数据流图、数据字典 D. 需求说明文档、数据字典、程序文档

120、设有员工实体“Emp(工号,姓名,性别,年龄,出生年月,联系方式)”,其中,“联系方式”要求记录员工的手机号和办公室固话号,这意味着该实体中的( B )分别是派生属性和多值属性。
A. 年龄和出生年月 B. 年龄和联系方式
C. 出生年月和联系方式 D. 出生年月和年龄

121、数据库系统通常采用三级模式结构:外模式、模式和内模式。这三级模式分别对应于数据库的( B )。
A. 基本表、存储文件和视图 B. 视图、基本表和存储文件
C. 基本表、视图和存储文件 D. 视图、存储文件和基本表

122、E-R模型的基本成分是( C )。
A. 数据、对象、实体 B. 控制、联系、对象
C. 实体、联系、属性 D. 实体、属性、操作

123、关系规范化在数据库设计的( C )阶段进行。
A. 需求分析 B. 概念设计
C. 逻辑设计 D. 物理设计

124、数据库系统中的视图是一个( D )。
A. 真实存在的表,并保存了待查询的数据 B. 真实存在的表,仅部分数据源于基表
C. 虚拟表,查询时只能从一个基本表导出 D. 虚拟表,查询时可从基表或视图导出

125、通过数据库关系图实施插入、修改、删除约束,这是出于( )的考虑。
A. 数据独立性 B. 域完整性
C. 实体完整性 D. 参照完整性

126、确保所输入的成绩在0到100之间,这是出于( )的考虑。
A. 引用完整性 B. 域完整性
C. 实体完整性 D. 数据一致性

127、软件开发过程中,测试阶段的测试目标来自于( A )阶段。
A. 需求分析 B. 概要设计
C. 详细设计 D. 软件实现

128、测试的关键问题是( C )。
A. 如何组织对软件的测试 B. 如何验证程序的正确性
C. 如何设计、选择测试用例 D. 程序功能是否满足用户要求

129、与确认测试阶段有关的文档是( A )。
A. 需求规格说明书 B. 概要设计说明书
C. 详细设计说明书 D. 源程序

130、下列关于系统测试的描述中,属于“白盒测试”的是( A )。
A. 检查逻辑判断之真或假的执行情况 B. 检查功能的正确及遗漏与否
C. 检查性能是否满足预定要求 D. 检查是否出现各种夭折、终止错误

131、下列关于系统测试的描述中,属于“黑盒测试”的是( A )。
A. 检查功能的正确及遗漏与否 B. 测试内部数据结构是否有效
C. 对程序模块的执行路径进行测试 D. 检查循环体的边界是否正确

132、软件测试是软件开发中不可缺少的活动,通常在代码编写阶段进行( A )。
A. 单元测试 B. 集成测试
C. 验收测试 D. 系统测试

133、软件测试是软件开发中不可缺少的活动,检查软件的功能是否与用户要求一直是( C )的任务。
A. 单元测试 B. 集成测试
C. 验收测试 D. 系统测试

134、使用白盒测试方法时,应根据( A )和指定的覆盖标准确定测试数据。
A. 程序的内部逻辑 B. 程序结构的复杂性
C. 程序的功能 D. 使用说明书

135、不属于黑盒测试技术的是( B )。
A. 错误猜测 B. 逻辑覆盖
C. 边界值分析 D. 等价类划分

136、系统验收测试中,在模拟环境下用模拟数据运行系统的测试被称之为( A )。
A. 验证测试 B. 审计测试
C. 确认测试 D. 模块测试

137、系统验收测试中,在实际环境下用真实数据运行系统的测试被称之为( C )。
A. 验证测试 B. 审计测试
C. 确认测试 D. 模块测试

138、检查确定软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( C )。
A. 验证测试 B. 集成测试
C. 确认测试 D. 系统测试

139、基于构件的软件开发,强调使用可复用的软件“构件”来设计和构建软件系统,对所需的构件进行合格性检验、( C ),并将它们集成到新系统中。
A. 规模度量 B. 数据验证
C. 适应性修改 D. 正确性测试

140、某系统重用了第三方组件的目标码,则应采用( D )对组件进行测试。
A. 基本路径覆盖 B. 分支覆盖
C. 白盒测试 D. 黑盒测试

141、使用程序设计的控制结构导出测试用例的测试方法是( C )。
A. 边界测试 B. 系统测试
C. 白盒测试 D. 黑盒测试

142、在用户界面层次上对软件进行的测试属于( D )。
A. 边界测试 B. 系统测试
C. 白盒测试 D. 黑盒测试

143、系统维护的内容主要包括( )。
A. 程序与数据 B. 代码
C. 机器设备 D. 以上全部

144、选择开发工具时,应考虑功能、( A )、稳健性、硬件要求和性能、服务和支持。
A. 易用性 B. 易维护性
C. 可移植性 D. 可扩充性

145、( C )详细描述软件的功能、性能和人机界面,其目的是使用户了解如何使用软件。
A. 概要设计说明书 B. 详细设计说明书
C. 用户手册 D. 用户需求说明书

146、在软件维护阶段,为软件的运行增加监控设施属于( C )维护。
A. 改正性 B. 适应性
C. 完善性 D. 预防性

147、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型进行一些细微的改变,这一状况需要对该系统进行的是( B )维护。
A. 正确性 B. 适应性
C. 完善性 D. 预防性

148、要将Windows环境下运行的软件修改后运行于Unix环境下,所需修改的工作量主要取决于该软件的( D )。
A. 可扩充性 B. 可维护性
C. 复用性 D. 可移植性

149、在软件维护中,由于企业的外部市场环境和管理需求的变化而导致的维护工作,属于( B )维护。
A. 正确性 B. 适应性
C. 完善性 D. 预防性

150、系统交付使用后,为改进软件的图形输出效果而对软件进行的维护属于( C )维护。
A. 改正性 B. 适应性
C. 完善性 D. 预防性

151、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( C )。
A. 纠正性维护 B. 完善性维护
C. 适应性维护 D. 预防性维护

152、员工人数增加导致需要将工号由原来的4位改为6位,这种维护属于( C )。
A. 程序维护 B. 数据维护
C. 代码维护 D. 其他维护

153、以下系统维护类型中,占比最多的一类维护是( )。
A. 更正性维护 B. 适应性维护
C. 完善性维护 D. 预防性维护

154、以下系统维护类型中,占比最少的一类维护是( )。
A. 更正性维护 B. 适应性维护
C. 完善性维护 D. 预防性维护

155、各类软件维护活动中,( A )维护占整个维护工作的比重最大。
A. 完善性 B. 改正性
C. 适应性 D. 预防性

156、改正在软件开发阶段已经发生而系统测试阶段还没有发现的错误,这属于( A )维护。
A. 正确性 B. 适应性
C. 完善性 D. 预防性

157、软件维护主要有( B )三种副作用。
A. 编码、数据、测试 B. 编码、数据、文档
C. 编码、数据、调试 D. 编码、文档、测试

158、在软件设计和编码过程中,采取( C )的做法将使软件更加容易理解和维护。
A. 良好的程序结构,有无文档均可 B. 使用标准或规定之外的语句
C. 编写详细的文档,采用良好程序结构 D. 尽量减少程序中的注释

159、开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是( C )。
A. 系统开发合同 B. 系统设计说明书
C. 系统开发计划 D. 系统测试报告

160、软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中开发文档不包括( C )。
A. 软件需求说明 B. 可行性研究报告
C. 维护修改建议 D. 项目开发计划

161、软件产品的可靠性并不取决于( D )。
A. 潜在错误的数量 B. 潜在错误的位置
C. 软件产品的使用方式 D. 软件产品的开发方式

162、软件( D )是指一个软件在给定的时间间隔内和给定的条件下无失效运行的概率。
A. 可伸缩性 B. 可用性
C. 可维护性 D. 可靠性

163、( D )不属于软件质量特性的可移植性。
A. 适应性 B. 易安装性
C. 易替换性 D. 易理解性

164、软件( A )的提高,有利于软件可靠性的提高。
A. 容错性 B. 可移植性
C. 存储效率 D. 执行效率

165、软件系统的可维护性评价指标不包括( C )。
A. 可理解性 B. 可测试性
C. 可扩展性 D. 可修改性

166、系统因错误而发生故障时,一定程度上仍能完成预期的功能,则该软件被认为具有( A )。
A. 容错性 B. 可移植性
C. 可恢复性 D. 可靠性

167、In the following options,( A ) belongs to the system documentation.
A. Data-flow diagrams B. Quick reference guide
C. System administrator’s guide D. Release description

168、All of the following are types of user documentation EXCEPT( D )。
A. User’s guide B. Release description
C. System administrator’s guide D. Entity-relationship diagrams

二、 判断题

基本概念部分(第1-3章)

1、( × )说到底,所谓软件,不过就是规模大一点的程序。

2、( √ )用户不能精确地描述软件需求是产生软件危机的原因之一。

3、( √ )缺乏有力的方法学的指导和有效的开发工具的支持,是产生软件危机的其中一个原因。

4、( √ )开发大型软件容易产生疏漏和错误是产生软件危机的原因之一。

5、( × )与物理产品一样,软件也会磨损和老化。

6、( √ )与普通工业产品不同,交付使用的信息系统具有“样品即产品”的特点。

7、( × )跟普通工业产品类似,软件产品的生产成本也远高于研发成本。

8、( × )软件生存周期是从软件开始开发到开发结束的整个时间周期。

9、( × )软件开发项目组的生产率与项目组人数成正比。

10、( × )开发费用够时,尽可能增加开发人员可加速软件开发的进度。

11、( √ )软件开发工作量的计量单位是人年或人月。

12、( √ )软件的开发和运行经常受到硬件的限制和制约。

13、( √ )关于云计算,要特别加以关注的,就是其安全性。

14、( √ )开源软件被定义为其源码可以为公众使用的软件。

15、( √ )软件的可重用性(reusability)是指软件部件在多种场合使用的程度。

16、( √ )软件重用是提高软件开发生产效率和目标系统质量的重要途径。

17、( √ )生命周期法强调在系统开发的各个阶段都进行严格认真的评审。

18、( √ )瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

19、( √ )原型化方法的缺点是可能导致过早的设计。

20、( √ )面向对象的开发方法包括OOA、OOD和OOP。

21、( √ )可行性研究实质上是一次大大压缩、简化的系统分析与设计。

结构化分析与设计部分(第4-6章)

22、( √ )Data modeling is a subphase of system analysis.

23、( √ )Collection of information is at the core of systems analysis.

24、( × )如果企业选择从市场购买现成的应用软件,那么不必进行系统分析了。

25、( × )系统分析设计人员重在实干,未必需要良好的口头、书面表达能力。

26、( √ )软件需求是指用户对目标软件在功能、性能、行为、设计约束等方面的期望。

27、( √ )系统分析阶段的错误或遗漏,可能给系统的开发带来灾难性的结果。

28、( × )系统流程图是一种典型的描述系统逻辑模型的传统工具。

29、( × )数据流图描述了软件系统对数据的处理过程,即系统的物理模型。

30、( √ )数据流图、数据字典和业务规则描述共同构成系统的逻辑模型。

31、( √ )扇出数是指一个模块直接调用的模块的数量。

32、( × )模块间的联系越多,说明系统各模块结合的越好。

33、( √ )模块内的高内聚往往意味着低耦合。

34、( √ )模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于获得高内聚、低耦合度的软件产品。

35、( √ )软件详细设计说明书是程序设计的基本依据。

面向对象分析与设计部分(第7-8章)

36、( √ )面向对象设计的主要目标是提高软件的质量、可维护性及软件生产率。

37、( × )UML是一种典型的面向对象的分析、设计方法。

38、( × )UML只能应用于软件系统模型的建立。

39、( √ )类是关于对象性质和行为的描述,由数据和方法组成。

40、( √ )顺序图描述对象之间的交互关系,重点描述对象之间消息传递的时间顺序。

41、( √ )较之B/S结构,C/S结构下开发信息系统的成本更高、移植更难。

42、( × )较之C/S结构,B/S结构下所开发的系统更难移植。

其他部分(第9-11、13-14章)

43、( × )The deliverable from logical database design is a conceptual model.

44、( × )Each entity type in an E-R Diagram becomes an attribute in a relationship.

45、( × )A null value is used to represent the zero digit in a relation.

46、( × )The network model is the most common style for a logical database model.

47、( √ )SQL Server中的视图是一种虚拟表,并不能保存任何数据。

48、( √ )“性别”之类取值很少的列一般不应创建索引。

49、( √ )界面和对话设计的重点是如何向用户提供信息和从用户那里获取信息。

50、( √ )按照界面布局准则,在用户明确要求之前,系统不应永久保存数据。

51、( × )为提醒用户注意,用户界面设计中可以使用多一些鲜艳、醒目的颜色。

52、( √ )程序员的水平,同他在程序中使用goto语句的密度成反比。

53、( × )为编程方便,编码时可以尽可能使用全局变量和全局函数。

54、( √ )程序设计中应采用统一的标准和约定,以降低程序的复杂性。

55、( √ )调试程序时,找出错误比纠正错误更难。

56、( × )当然,软件测试的终极目的就是证明程序中不再存在任何错误。

57、( × )通过测试可以查出程序中的错误并最终证明程序中不再存在错误。

58、( √ )软件测试能证明程序有错误但不能证明程序中已经没有错误。

59、( × )软件质量的好坏由软件测试、验收人员负责,其他开发人员不必太过关心。

60、( × )软件测试的目的是无一遗漏的找出所有的错误。

61、( × )显然,要排除软件中的所有错误,穷举法是最现实的测试方法。

62、( √ )alpha测试,是指使用模拟数据进行的测试。

63、( √ )beta测试,是指在真实的用户环境中使用真实的数据进行的测试。

64、( √ )判定覆盖必须满足语句覆盖。

65、( √ )判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

66、( × )黑盒测试可有效检查模块内部逻辑结构的正确性。

67、( × )用黑盒测试时,测试用例是根据模块内部逻辑结构来设计的。

68、( × )白盒测试主要用于软件功能、性能、安全性和可靠性的测试。

69、( × )好的测试用例应能证明软件是正确的。

70、( × )如果软件测试没有发现错误,则说明软件是没有错误的。

71、( √ )应该远在软件测试开始之前就制定软件测试计划。

72、( √ )功能测试是系统测试的主要内容,其检查系统的功能、性能是否与需求规格说明书相同。

73、( √ )经验表明,模块中发现的错误越多,模块中残留的错误也就越多。

74、( √ )经验表明,程序中尚未发现的错误数目往往与已经发现的错误数目成正比。

75、( √ )文档是影响软件可维护性的决定因素。

76、( √ )随着软件复杂性的不断提高,软件的维护难度越来越大。

77、( × )信息系统的维护成本在开发、维护总成本中的占比呈现出逐年下降的趋势。

78、( √ )软件的可维护性差是软件维护工作量和费用激增的直接原因。

79、( × )预防性维护是指为适应软硬件环境的变化而对软件所作的修改。

80、( √ )软件维护产生的副作用是指修改软件而造成新的错误。

三、 填空题

基本概念部分(第1-3章)

1、到目前为止,软件生产经历了( 程序设计 )、( 程序系统 )和( 软件工程 )三个发展阶段。

2、软件工程的三要素是( 方法 )、( 工具 )和( 过程 )。

3、在信息处理和计算机领域内,一般认为软件是( 程序 )、( 数据 )和( 文档 )的总和。

4、软件工程是一门综合性的交叉学科,它涉及( 哲学 )、( 计算机科学 )、( 工程科学 )、( 管理科学 )、( 数学 )和( 应用领域知识 )。

5、喷泉模型是一种以用户需求为动力,以( 对象 )作为驱动的模型,适合于面向对象的开发方法。

6、 “结构化分析”、“结构化设计”、“面向对象分析”、“面向对象设计”和“面向对象程序设计”的英文缩略语依次是( SA )、( SD )、( OOA )、( OOD )和( OOP )。

7、 “计算机辅助软件工程”的英文缩略语是( CASE )。

结构化分析与设计部分(第4-6章)

8、可行性研究主要是需要从( 技术 )、( 经济 )、( 操作 )和( 社会 )可行性四个方面分析研究每种解决方法的可行性。

9、数据流图的基本组成部分包括( 数据流 )、( 数据存储 )、( 数据加工 )及( 数据源点/终点 | 外部实体 )。

10、( 数据流图 )和( 数据字典 )共同构成了软件的逻辑模型,是软件需求规格说明书的主要组成部分。

11、作为( 数据流图 )的重要补充,( 数据字典 )用于定义数据流图中的数据加工处理逻辑等内容。

12、作为对( 数据流图 )的补充描述,( 数据字典 )对数据流图中的数据流、数据存储、数据的加工处理过程等进行了详尽的描述。

13、( 数据字典 )从数据元素、数据结构、数据流、数据存储、处理过程和外部实体六个方面对( 数据流图 )进行补充描述。

14、软件结构设计以( 模块化 )为基础,( 自顶向下 )地将软件系统逐层划分成若干模块和过程。

15、( 软件结构图 )指的是软件系统的模块层次结构,反映将来程序的控制层次体系。

16、模块设计中,( 耦合 )用来衡量模块与模块之间的联系程度。

17、模块设计中,( 聚合 | 内聚 )用来衡量模块内部各元素之间的联系程度。

18、为保持模块的独立性,划分模块时尽量做到( 低耦合 )和( 高内聚 )。

19、变换型数据流由( 逻辑输入 )、( 变换中心 )和( 逻辑输出 )三部分组成。

20、过程设计语言(PDL)的重复结构有( FOR )结构、( WHILE )结构、( UNTIL )结构三种。

21、详细描述软件加工处理逻辑的常用工具包括( 结构化语言 )、( 判定树 | 决策树 )和( 判定表 | 决策表 )。

面向对象分析与设计部分(第7-8章)

22、( 封装 )是指将对象的( 属性 )和( 服务 )结合而成为一个独立的系统单位并尽可能隐藏对象的内部细节。

23、( 继承 )意味着特殊类“自动地拥有”或“隐含地复制”一般类的所有( 属性 )和( 服务 )。

24、( 类 )是具有相同( 属性 )和( 服务 )的一组对象的集合。

25、( 对象 )是软件系统中用来描述客观事物的一个实体,是构成系统的基本单位。

26、一个( 对象 )由一组( 属性 )和对其进行操作的一组( 服务 )构成。

27、类的实例化是指以类为模板创建类的( 实例 ),这里的实例又被称为( 对象 )。

28、( 属性 )是用来描述对象静态特征的数据。

29、( 服务 )是用来描述对象动态特征(行为)的一个操作序列。

30、( 一般-特殊 )结构用以表达事物之间的( 继承关系 ),例如学生与大学生的关系。

31、( 整体-部分 )结构用以表达事物之间的( 组成关系 ),例如房间与门、窗的关系。

32、( 实例连接 )反映对象与对象之间的( 静态联系 ),例如教师与学生之间的任课关系。

33、( 消息连接 )反映对象与对象之间的( 动态联系 ),例如教师考勤点名。

其他部分(第9-11、13-14章)

34、SQL Server所使用的逻辑数据库模型是( 关系 )模型。

35、目前最为常见的逻辑数据库模型是( 关系 )模型。

36、模式、非模式对话框中的( 模式 )对话框,用户必须先将其关闭才能继续工作。

37、用户界面的设计经历了( 字符 )和( 图形 )用户界面及多媒体人机界面设计三个阶段。

38、从结构化程序设计到( 面向对象程序设计 ),是程序设计方法的又一次飞跃。

39、软件测试的步骤,按时间先后次序依次是( 单元测试 )、( 集成测试 )、( 确认测试 )和( 系统测试 )。

40、单元测试时,需要为被测模块设计( 测试用例 )。

41、为了使应用软件适应计算机环境的变化而对软件进行修改,这种维护谓之( 适应性 )维护。

42、结构化程序设计思想提出前特别强调程序的运行效率,现在人们更重视程序的( 可理解性 )。

四、简答题(共20分,每题5分)

本题提供如下复习题。仅仅5分一题,并不希望您死记硬背大段文字描述,而是希望您用自己的理解三言两语作答,答对基本点就好。

1、试描述软件危机的表现(P6)。

A. 软件开发进度难以预测
B. 软件开发成本难以控制
C. 开发的软件产品不能满足用户的需求
D. 软件产品质量无法保证
E. 软件产品难以维护

关键字:进度,成本,用户的需求,质量,维护

2、试描述软件危机的原因(P7)。

软件的规模日益庞大

软件开发的管理困难

软件本身的独有特点,造成一些客观困难

软件开发和维护中许多错误认识,说方法的形成归结于计算机发展早期软件开发的个体化特点

生产方式落后

开发工具落后,生产率提高缓慢

关键字:规模,管理,独有特点,生产方式,开发工具

3、试描述软件工程的基本原理(P10)。

1、用分阶段的生命周期计划严格管理
2、坚持进行阶段评审
3、实行严格的产品控制
4、采用现代程序设计技术
5、结果应能清楚地审查
6、开发小组的人员应该少而精
7、承认不断改进软件工程实践的必要性

关键字:计划,评审,产品控制,设计技术,结果审查,人员少而精,改进实践

4、试描述软件工程所面临的主要问题(P15)。

①软件费用。
②软件可靠性。
③软件维护。
④软件生产率。
⑤软件重用。

关键字:费用,可靠性,维护,生产率,重用

5、简单描述你所理解的结构化开发方法(P30)。

用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法,它是一种面向数据流的开发方法。

结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。

结构化分析方法是以自顶向下,逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图,数据字典,结构化语言,判定表,判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。

结构化方法按软件生命周期划分,有结构化分析(SA),结构化设计(SD),结构化实现(SP)。

6、简单描述你所理解的面向对象的开发方法(P32)。

是一种运用对象、类、继承、封装、聚合、信息传送、多态性等概念来构造系统的软件开发方法

1、OOSD是一种把面向对象的思想应用于软件开发过程,是一种当今成熟的、普遍流行的软件开发方法
2、面向对象方法的解决思路是从现实世界中的客观对象入手,尽量运用人类的自然思维方式来构造软件系统。是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。
3、面向对象方法中,把一切都看成是对象。对象是功能抽象和数据抽象的统一,较过程稳定。

7、试述软件可行性研究的主要内容(P36)。

(1)经济可行性
(2)技术可行性
(3)开发方案的选择性
(4)法律可行性

8、试述软件可行性研究的基本步骤(P39)。

1系统定义
2对于现行系统进行分析研究
3导出新系统的逻辑模型
4设计方案
5推荐可行的方案
6编写可行性研究报告

9、试描述软件需求分析的主要难点(P56)。

1需求易变性
2问题的复杂性
3交流障碍
4不完备性和不一致性

10、试描述数据字典的主要内容(P74)。

数据流、数据存储、数据项和加工

11、试描述概要设计的基本任务(P81)。

1 设计软件系统结构
2.数据结构及数据库设计
3.编写概要设计文档
4.评审

12、试描述详细设计的基本任务(P111)。

数据结构设计
物理设计
算法设计
界面设计
其他设计
编写设计说明书

13、试描述人机界面的设计准则(P187)。

一致性
使用简便
启发性
减少重复的输入
减少人脑记忆的负担
容错性
及时反馈

14、简单描述你所理解的黑盒测试方法及其任务(P261)。

该方法把被测试对象看作一个黑盒子,只在软件的界面上进行测试,证实软件功能的可操作性,检查程序是否满足功能要求,是否很好的接收信息,并产生正确的输出
任务是发现错误:
是否有不正确或遗漏的功能
在界面上,能否正确的处理合理和不合理的输入数据,并产生正确的输出信息
访问外部信息是否有错
性能上是否满足要求等
初始化和终止错误

黑盒测试法: 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

15、简单描述你所理解的白盒测试方法及其所采用的主要技术(P261)。

是把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试,包含逻辑覆盖法和基本路径测试法

16、试描述软件维护的主要类型(P280)。

1改正性维护 2适应性维护 3预防性维护 4完善性维护

最后

以上就是落寞长颈鹿为你收集整理的《软件工程》复习题单选题二、 判断题三、 填空题四、简答题(共20分,每题5分)的全部内容,希望文章能够帮你解决《软件工程》复习题单选题二、 判断题三、 填空题四、简答题(共20分,每题5分)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部