2016年全国计算机二级考试——第三章 软件工程基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.软件是指()
A.程序
B.程序和文档
C.算法加数据结构
D.程序、数据与相关文档的完整集合[解析]软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。
本题为D
2.下列描述中正确的是
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据和相关文档的集合
[解析]软件是与计算机操作相关的计算机程序、规程、规则,以及可能有的文件、文档及数据;软件开发要受到计算机系统的限制;软件是一个逻辑实体,不是物理实体,软件具有抽象性。
因此本题为D
3.按软件的功能划分,需求分析工具软件属于
A.应用软件
B.系统软件
C.支撑软件
D.专用软件
[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C 4.由于软件危机的出现,20实际70年代人们提出了“______”的思想和方法。
[解析]p44 结构化程序设计
5.______是应用于计算机定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
[解析]软件工程
6.下面软件工程要素中哪一项提供软件工程项目的软件开发的各个环节的控制、管理的支持?
A.方法
B.工具
C.过程
D.技术
[解析]软件工程包含3个要素:方法、工具、过程。
方法是完成软件开发各项任务的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的哥哥环节的控制、管理。
本题选C
7.下面不属于软件工程的三个要素的是()
A.工具
B.过程
C.方法
D.环境
[解析]本题选D
8.软件工程研究的主要内容包括:______和软件工程管理。
[解析]软件开发技术
9.下列哪一项不是软件设计的基本原理?
A.抽象
B.完备性
C.模块化
D.信息隐蔽
[解析] p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C
10.下面哪一项不符合软件工程的原则?
A.把程序分解成独立的模块
B.采用封装技术把程序模块的实现细节隐藏起来
C.采用全局变量传递的方式,以简化模块之间的通信接口和通信量
D.程序的内外部接口保持一致,系统规格说明与系统行为保持一致
[解析]本题选C
11.软件工程的核心思想是把软件产品当作一个______产品来处理。
[解析]工程
12.把输入转化为输出的一组相关的资源和活动是______。
[解析]软件工程过程
13.在软件开发中,需求分析阶段产生的主要文档是()
A.可行性分析报告
B.软件需求规格说明书
C.概要设计说明书
D.集成测试计划
[解析]软件生命周期包括:1.定义阶段(可行性研究和需求分析);2.开发阶段(概要设计、详细设计、软件实现和软件测试);3.维护阶段(使用、维护和退役)。
可行性研究阶段产生的主要文档是可行性分析报告;需求分析阶段产生的主要文档是软件需求规格说明书;概要设计阶段产生的主要文档是概要设计说明书;软件测试阶段产生的主要文档是测试分析报告。
软件需求规格说明书(SRS)是需求分析阶段的最后成果,是软件开发中的重要文档之一,本题为B
14.软件产品从提出、实现、使用维护到停止使用退役的过程称为()
[解析]软件生命周期
15.下列选项中不属于软件生命周期开发阶段的是
A.软件测试
B.概要设计
C.软件维护
D.详细设计
[解析]软件生命周期包括软件定义、软件开发及软件维护三个阶段。
软件定义阶段的任务包括可行性研究与计划制定、需求分析;软件开发阶段的任务包括概要设计、详细设计、软件实现、软件测试;软件维护的任务包括软件的运行、维护和退役。
本题选C
16.软件设计属于软件生命周期中的下面的哪一个阶段?
A.软件定义
B.软件分析
C.软件开发
D.软件维护
[解析]本题选C
17.在软件生命周期中的哪一阶段能够确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划()A.可行性研究 B.需求分析 C.概要设计 D.详细设计
[解析]本题选A
18.下列叙述中正确的是()
A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束 D.软件维护是指修复程序中被破坏的指令[解析]软件交付使用后还需要进行维护;软件的生命周期是指软件产品从提出、实现、使用维护到停止使用退役的整个过程;软件维护主要是保证软件能正确有效地使用,不只是修复程序中被破坏的指令。
本题选A
19.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
A.概要设计
B.详细设计
C.可行性分析
D.需求分析
[解析]D
20.计算机辅助软件工程(CASE)是一个()
A.软件开发工具
B.软件开发环境
C.软件开发技术
D.软件开发方法[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C
21.全面支持软件开发过程的软件工具集合被称为________。
[解析]软件开发环境
22.下列叙述中正确的是
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C. 程序执行的效率只取决于所处理的数据量
D.以上说法都不对
[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C
23.软件开发环境是全面支持软件开发全过程的_______集合。
[解析]软件工具
24.在结构化方法中,软件功能分解属于下列软件开发中哪个阶段?
A.详细设计
B.需求分析
C.总体设计
D.编程测试
[解析]在结构化方法中,软件功能分解属于总体设计阶段。
本题选C
1.__________是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
[解析]软件需求
2.发现用于需求,求精、建模和定义用户需求的过程是______。
[解析]需求分析
3.软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书,以及()
A.阶段性报告
B.需求评审
C.总结
D.都不正确
[解析]需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
本题选B
4.Jackson方法是一种什么样的结构化分析方法?
A.面向数据流
B.面向对象
C.面向数据结构
D.面向控制流
[解析]p62 ,本题选C
5.结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以______和数据字典为主要工具,建立系统的逻辑型。
[解析]数据流图
6.______是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结构有共同的理解。
[解析]数据字典
7.在结构化分析使用的数据流图DFD中,利用______对其中的图形元素进行确切解释。
[解析]数据字典[分析]数据字典是对数据流图DFD中出现的被命名的图形元素的确切解释,常用的符号有=(表示“等于”、“定义为”、“由什么构成”)、+(表示“与”、“和”)、**(表示“注释”)、[…|…](表示“或”)
8.下列哪一项不是软件说明书的特点?()
A.正确性
B.无歧义性
C.可操作性
D.可修改性
[解析]软件需求规格说明书的特点有:正确性、无歧义性、可修改型、完整性、可验证性、一致性、可理解性、可追踪性。
本题选C
9.______是需求分析阶段的最后成果,是软件开发中的重要文档之一。
[解析]软件需求规格说明书
1.把软件需求转变为软件表示的过程是________,它确定了系统的物理模型。
[解析]软件设计
2.下列哪一项不是软件设计的基本原理?
A.抽象
B.完备性
C.模块化
D.信息隐蔽
[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C
3.软件设计中模块划分应遵循的准则是()
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
[解析]一般优秀的软件设计,应尽量做到高内聚低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
所以本题为 B
4.下列几种内聚类型中内聚性最强的是()
A.逻辑内聚 B.时间内聚 C.功能内聚 D.过程内聚
[解析]内聚性由弱到强依次是:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
本题选C
5.软件系统结构和数据结构及数据库的设计是在______设计中完成的。
[解析]概要
6.常用的软件结构设计工具是()
A.程序结构图
B.数据流图
C.控制流图
D.流程图
[解析]结构化分析方法的常用工具主要有:1.数据流图(DFD);2.数据字典(DD);3.判定表;
4.判定树。
软件结构设计工具主要有:1.程序流程图(PFD);2.N-S图;3.PAD图;4.PDL图。
所以本题为A
7.下列工具为需求分析常用工具的是()
A.PAD
B.PFD
C.N-S
D.DFD
[解析]本题为D
8.在软件开发中,需求分析阶段可以使用的工具是()
A.N-S图
B.DFD图
C.PAD图
D.程序流程图
[解析]在软件开发中,需求分析阶段可以使用的工具有:DFD图(数据流图)、数据字典(DD)、判断树和判定表;概要设计阶段可以使用的工具有:结构图SC(也称程序结构图);详细设计阶段可以使用的工具有:1.图形工具:程序流程图、N-S、PAD(问题分析图)、HIPO;
2.表格工具:判定表;
3.语言工具:PDL(伪码):测试、调试阶段一般采用各种方法。
B
9.在软件设计中,不属于过程设计工具的是()
A.PDL
B.PAD
C.N-S图
D.DFD
[解析]常见的过程设计工具有:1.图形工具:程序流程图;N-S图、PAD、HIPO;2.表格工具:判定表;3.语言工具:PDL。
结构化分析的常见工具有:DFD图(数据流图)、DD(数据字典)、判定树、判定表。
过程设计工具用在软件开发的详细设计阶段;结构化分析工具用在软件开发的需求分析阶段。
本题为D
1..从工程管理角度,软件设计一般分为两步完成,它们是()
A.概要设计与详细设计
B.数据设计与接口设计
C.软件结构设计与数据设计
D.过程设计与数据设计
[解析]软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。
从技术观点看,软件设计包括结构设计、数据设计、接口设计和过程设计。
从工程管理角度看,软件设计包括概要设计和详细设计。
因此本题选A
2.下面哪一项内容不是软件设计包括的?
A.软件结构设计
B.过程设计
C.接口设计
D.数据流设计
[解析]D
3.在软件设计中,不属于过程设计工具的是()
A.PDL(过程设计语言)
B.PAD图
C.N-S图
D.DFD图
[解析]常见的过程设计工具有:(1)图形工具:程序流程图(PFD);N-S图;PAD图;HIPO。
(2)表格工具:判定表。
(3)语言工具:PDL(伪码) 。
所以本题为 D
4.程序流程图中带有箭头的线段表示的是()
A.图元关系
B.数据流
C.控制流
D.调用关系
[解析]程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。
其中,用带箭头的线段表示控制流,用矩形表示加工步骤。
本题选C
5.下面叙述中错误的是()
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也成为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
[解析]软件测试是为了发现错误而执行程序的过程。
软件测试要严格执行测试计划,排除测试的随意性。
程序调试通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。
本题选A
6.程序测试分为静态分析和动态测试。
其中______是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
[解析]静态分析[分析]软件测试按是否需要执行被测软件的角度,可以分为静态测试和动态测试,按照功能分为白盒测试和黑盒测试。
静态测试包括代码检查、静态结构分析、代码质量度量等,静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。
静态测试不实际运行软件,主要通过人工进行。
动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。
7.下列叙述中正确的是
A.软件测试的主要目的是发现程序中的错误
B.软件测试的主要目的是确定程序中错误的位置
C.为了提高测试的效率,最好由程序编制者自己来完成软件测试的工作
D.软件测试是证明软件没有错误
[解析]软件测试是为了发现错误而执行程序的过程,所以软件测试的主要目的是发现程序中的错误。
为了提高软件测试的效率,程序员应该避免检查自己的程序。
软件测试是为了证明软件有错,而不能证明程序没有错。
本题选A
1.软件测试中的白盒和黑盒测试通常属于是()
A.静态测试
B.动态测试
C.系统测试
D.验证测试
[解析]动态测试是计算机的基本测试方法,主要包括白盒测试和黑盒测试方法。
本题选B
2.原因排除法属于()
A.软件调试方法
B.黑盒测试方法
C.白盒测试方法
D.动态测试方法
[解析]白盒测试方法有逻辑覆盖测试、基本路径测试;黑盒测试方法有等价类划分法、边界值分析法、错误推测法;软件调试方法有强行排错法、回溯法、原因排除法。
本题选A
3.边界值分析法属于哪一类测试的常用方法?
A.静态测试
B.白盒测试
C.黑盒测试
D.集成测试
[解析]白盒测试方法有逻辑覆盖测试、基本路径测试;黑盒测试方法有等价类划分法、边界值分析法、错误推测法;软件调试方法有强行排错法、回溯法、原因排除法。
本题选C
4.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接块(桩模块)。
其中___的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
[解析]驱动模块[分析]单元测试是针对某个模块进行的测试,在进行单元测试时经常要设计模拟环境。
所谓模拟环境就是指在单元测试中用一些辅助模块去模拟与被测模块的相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。
其中,驱动模块相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果。
桩模块通常用于代替被测模块调用的其他模块,其作用近做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。
5.按照软件测试的一般步骤,集成测试应在______测试之后进行。
[解析]软件测试的实施过程有4个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试。
所以本题为单元。
6.检查软件产品是否符合需求定义的过程是
A.单元测试
B.集成测试
C.确认测试
D.系统测试
[解析]单元测试是对模块进行正确性的检验;集成测试是对各模块按照设计要求组装成的程序进行测试,主要是发现与接口有关的错误;确认测试是检查软件的功能、性能及其他特征是否与用户的需求一致,是否满足规格说明书所列的各项要求和软件配置复审。
本题选C
7.下面对测试和调试的论述错误的是
A.调试的任务是修改错误,测试的任务是查找错误
B.调试主要发生在程序的开发阶段,测试贯穿整个软件生命周期
C.出现错误的地方很可能还有错误,对程序的测试和调试都是这样
D.由于调试的过程已经修正了错误,调试过的地方用不着再测试了
[解析]本题选D
8.下面哪一项不是按实施步骤对软件测试进行划分的?
A.单元测试
B.静态测试
C.确认测试
D.系统测试
[解析]软件测试的实施过程有4个步骤:单元测试、集成测试、确认(验收)测试和系统测试。
本题选B
9.软件调试的目的是
A.发现错误
B.改正错误
C.改善软件的功能
D.验证软件的正确性[解析]软件测试是为了发现错误而执行程序的过程;软件调试的任务是诊断和改正程序中的错误。
软件测试贯穿整个软件生命周期,调试主要在开发阶段。
本题选B
______的任务是诊断和改正程序中的错误。
[解析]软件调试。