2016年全国计算机二级考试——第三章 软件工程基础
- 格式:doc
- 大小:69.50 KB
- 文档页数:6
第三章软件工程基础一、选择题(1) 下列叙述中正确的是( )A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误【答案】A【解析】本题考查软件工程中测试的目的和方法。
仅就软件测试而言,,它的目的是发现软件中的错误,但是,发现错误并不是最终目的,最终目的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。
由于测试的目标是暴露程序中的错误.从心理学角度看,由程序的编写者自己进行测试是不恰当的。
因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作。
因此,经过上述分析可知选项A的说法是正确的,而选项B、c、D的说法是错误的。
(2)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题【答案】C【解析】软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。
所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维护。
软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。
由此可见,选项A、B和D的说法均不正确.选项C正确。
(3)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图【答案】D【解析】数据流图DFD,是结构化分析方法最主要的一种图形工具,不属于过程设计具。
(5)用黑盒技术测试用例的方法之一为A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试【答案】A【解析】黑盒测试主要方法有等价值划分法、边界值分析法、错误推测法、因果图法等。
白盒测试的主要方法有逻辑覆盖、基本路径测试循环覆盖等。
只有A 属于黑盒测试。
(6)软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和A)阶段性报告B)需求评审C)总结D)都不正确【答案】B【解析】需求分析的四个方面是:需求获取、需求分析、编写需求分析说明书和需求评审。
2016年9月二级公共基础知识总结——计算机二级新大纲第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
1.软件是指()A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合[解析]软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。
本题为D2.下列描述中正确的是A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合[解析]软件是与计算机操作相关的计算机程序、规程、规则,以及可能有的文件、文档及数据;软件开发要受到计算机系统的限制;软件是一个逻辑实体,不是物理实体,软件具有抽象性。
因此本题为D3.按软件的功能划分,需求分析工具软件属于A.应用软件B.系统软件C.支撑软件D.专用软件[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C 4.由于软件危机的出现,20实际70年代人们提出了“______”的思想和方法。
[解析]p44 结构化程序设计5.______是应用于计算机定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
[解析]软件工程6.下面软件工程要素中哪一项提供软件工程项目的软件开发的各个环节的控制、管理的支持?A.方法B.工具C.过程D.技术[解析]软件工程包含3个要素:方法、工具、过程。
方法是完成软件开发各项任务的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的哥哥环节的控制、管理。
本题选C7.下面不属于软件工程的三个要素的是()A.工具B.过程C.方法D.环境[解析]本题选D8.软件工程研究的主要内容包括:______和软件工程管理。
[解析]软件开发技术9.下列哪一项不是软件设计的基本原理?A.抽象B.完备性C.模块化D.信息隐蔽[解析] p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C10.下面哪一项不符合软件工程的原则?A.把程序分解成独立的模块B.采用封装技术把程序模块的实现细节隐藏起来C.采用全局变量传递的方式,以简化模块之间的通信接口和通信量D.程序的内外部接口保持一致,系统规格说明与系统行为保持一致[解析]本题选C11.软件工程的核心思想是把软件产品当作一个______产品来处理。
[解析]工程12.把输入转化为输出的一组相关的资源和活动是______。
[解析]软件工程过程13.在软件开发中,需求分析阶段产生的主要文档是()A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划[解析]软件生命周期包括:1.定义阶段(可行性研究和需求分析);2.开发阶段(概要设计、详细设计、软件实现和软件测试);3.维护阶段(使用、维护和退役)。
可行性研究阶段产生的主要文档是可行性分析报告;需求分析阶段产生的主要文档是软件需求规格说明书;概要设计阶段产生的主要文档是概要设计说明书;软件测试阶段产生的主要文档是测试分析报告。
软件需求规格说明书(SRS)是需求分析阶段的最后成果,是软件开发中的重要文档之一,本题为B14.软件产品从提出、实现、使用维护到停止使用退役的过程称为()[解析]软件生命周期15.下列选项中不属于软件生命周期开发阶段的是A.软件测试B.概要设计C.软件维护D.详细设计[解析]软件生命周期包括软件定义、软件开发及软件维护三个阶段。
软件定义阶段的任务包括可行性研究与计划制定、需求分析;软件开发阶段的任务包括概要设计、详细设计、软件实现、软件测试;软件维护的任务包括软件的运行、维护和退役。
本题选C16.软件设计属于软件生命周期中的下面的哪一个阶段?A.软件定义B.软件分析C.软件开发D.软件维护[解析]本题选C17.在软件生命周期中的哪一阶段能够确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划()A.可行性研究 B.需求分析 C.概要设计 D.详细设计[解析]本题选A18.下列叙述中正确的是()A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束 D.软件维护是指修复程序中被破坏的指令[解析]软件交付使用后还需要进行维护;软件的生命周期是指软件产品从提出、实现、使用维护到停止使用退役的整个过程;软件维护主要是保证软件能正确有效地使用,不只是修复程序中被破坏的指令。
本题选A19.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A.概要设计B.详细设计C.可行性分析D.需求分析[解析]D20.计算机辅助软件工程(CASE)是一个()A.软件开发工具B.软件开发环境C.软件开发技术D.软件开发方法[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C21.全面支持软件开发过程的软件工具集合被称为________。
[解析]软件开发环境22.下列叙述中正确的是A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C. 程序执行的效率只取决于所处理的数据量D.以上说法都不对[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C23.软件开发环境是全面支持软件开发全过程的_______集合。
[解析]软件工具24.在结构化方法中,软件功能分解属于下列软件开发中哪个阶段?A.详细设计B.需求分析C.总体设计D.编程测试[解析]在结构化方法中,软件功能分解属于总体设计阶段。
本题选C1.__________是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
[解析]软件需求2.发现用于需求,求精、建模和定义用户需求的过程是______。
[解析]需求分析3.软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书,以及()A.阶段性报告B.需求评审C.总结D.都不正确[解析]需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
本题选B4.Jackson方法是一种什么样的结构化分析方法?A.面向数据流B.面向对象C.面向数据结构D.面向控制流[解析]p62 ,本题选C5.结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以______和数据字典为主要工具,建立系统的逻辑型。
[解析]数据流图6.______是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结构有共同的理解。
[解析]数据字典7.在结构化分析使用的数据流图DFD中,利用______对其中的图形元素进行确切解释。
[解析]数据字典[分析]数据字典是对数据流图DFD中出现的被命名的图形元素的确切解释,常用的符号有=(表示“等于”、“定义为”、“由什么构成”)、+(表示“与”、“和”)、**(表示“注释”)、[…|…](表示“或”)8.下列哪一项不是软件说明书的特点?()A.正确性B.无歧义性C.可操作性D.可修改性[解析]软件需求规格说明书的特点有:正确性、无歧义性、可修改型、完整性、可验证性、一致性、可理解性、可追踪性。
本题选C9.______是需求分析阶段的最后成果,是软件开发中的重要文档之一。
[解析]软件需求规格说明书1.把软件需求转变为软件表示的过程是________,它确定了系统的物理模型。
[解析]软件设计2.下列哪一项不是软件设计的基本原理?A.抽象B.完备性C.模块化D.信息隐蔽[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C3.软件设计中模块划分应遵循的准则是()A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合[解析]一般优秀的软件设计,应尽量做到高内聚低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
所以本题为 B4.下列几种内聚类型中内聚性最强的是()A.逻辑内聚 B.时间内聚 C.功能内聚 D.过程内聚[解析]内聚性由弱到强依次是:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
本题选C5.软件系统结构和数据结构及数据库的设计是在______设计中完成的。
[解析]概要6.常用的软件结构设计工具是()A.程序结构图B.数据流图C.控制流图D.流程图[解析]结构化分析方法的常用工具主要有:1.数据流图(DFD);2.数据字典(DD);3.判定表;4.判定树。
软件结构设计工具主要有:1.程序流程图(PFD);2.N-S图;3.PAD图;4.PDL图。
所以本题为A7.下列工具为需求分析常用工具的是()A.PADB.PFDC.N-SD.DFD[解析]本题为D8.在软件开发中,需求分析阶段可以使用的工具是()A.N-S图B.DFD图C.PAD图D.程序流程图[解析]在软件开发中,需求分析阶段可以使用的工具有:DFD图(数据流图)、数据字典(DD)、判断树和判定表;概要设计阶段可以使用的工具有:结构图SC(也称程序结构图);详细设计阶段可以使用的工具有:1.图形工具:程序流程图、N-S、PAD(问题分析图)、HIPO;2.表格工具:判定表;3.语言工具:PDL(伪码):测试、调试阶段一般采用各种方法。
B9.在软件设计中,不属于过程设计工具的是()A.PDLB.PADC.N-S图D.DFD[解析]常见的过程设计工具有:1.图形工具:程序流程图;N-S图、PAD、HIPO;2.表格工具:判定表;3.语言工具:PDL。
结构化分析的常见工具有:DFD图(数据流图)、DD(数据字典)、判定树、判定表。
过程设计工具用在软件开发的详细设计阶段;结构化分析工具用在软件开发的需求分析阶段。
本题为D1..从工程管理角度,软件设计一般分为两步完成,它们是()A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计[解析]软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。
从技术观点看,软件设计包括结构设计、数据设计、接口设计和过程设计。
从工程管理角度看,软件设计包括概要设计和详细设计。
因此本题选A2.下面哪一项内容不是软件设计包括的?A.软件结构设计B.过程设计C.接口设计D.数据流设计[解析]D3.在软件设计中,不属于过程设计工具的是()A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图[解析]常见的过程设计工具有:(1)图形工具:程序流程图(PFD);N-S图;PAD图;HIPO。