资源描述
l 在输入输出控制方法中,采用(1)可以使得设备与主存间的数据块传送无需CPU干预。
(1)A.程序控制输入输出 B. 中断
C.DMA D. 总线控制
解析:
Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。
DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有三种方式:
◎ 停止CPU访内 ◎周期挪用方式 ◎DMA与CPU交替访内存
缺点: 因为DMA允许外设直接访问内存,从而形成对总线的独占。
参考答案: C
l 若某计算机采用8位整数补码表示数据,则运算(2)将产生溢出。
(2)A.127+1 B.-127-1
C.-127+1 D.127-1
参考答案:A
l 若内存容量为4GB,字长为32.则(3)
(3)A.地址总线和数据总线的宽度都为32
B.地址总线的宽度为30,数据总线的宽度为32
C.地址总线的宽度为30,数据总线的宽度为8
D.地址总线的宽度为32,数据总线的宽度为8
解析:4GB=4*2^30B=2^32B 所以地址总线和数据总线的宽度都为32 。参考答案:A
l 设用2K X 4位的存储芯片组成16K X 8位的存储器(地址单元为0000H~3FFFH,每个芯片的地址空间连续),则地址单元0B1FH所在芯片的最大地址编号为 (4)
(4)A.0000H B.2800H C.2000H D.0800H
参考答案 D
解析:2K*4位的存储器芯片,要组成8位的存储器,所以在逻辑上可以把前面的存储器看作是1K*8的,这个是按照地址来说的。也就是说每一个单元存储芯片的地址范围是3FFH(2^10),所以看答案,0800H+3FFH=BFF,由此可以看出0B1FH包含在其中,所以答案为D。
或:2K*4相当于 1K*8,需要16个
1K=1024=0400H也就是每片3FF,算下来开始空间0000,0400,0800,0C00 所以,0B1F在0800开头的那块上
l 编写汇编语言程序时,下列寄存器中程序员可访问的是(5)
(5)A.存储器地址寄存器(MAR) B.指令寄存器(IR)
C.存储器数据寄存器(MDR) D.程序计数器(PC)
解析:为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。有些机器中也称PC为指令指针IP(Instruction Pointer)。参考答案:D
l CMM对软件测试没有提供单独的关键过程领域(KPA),所以许多研究机构和测试服务机构从不同角度出发提出有关软件测试方面的能力成熟度模型,其中软件测试成熟度模型(TMM)是当前影响力最大的软件测试过程模型。TMM制定了五个成熟度等级,它们依次是:初始级,阶段定义级,集成级。管理和度量级,(6)。
(6) A. 优化、缺陷预防和可重复级 B. 优化缺陷预防和质量控制级
C.缺陷预防和质量控制级 D. 优化和质量控制级
解析: TMM制定了五个成熟度等级:初始级,阶段定义级,集成级,管理和度量级,优化、缺陷预防和质量控制级。各级成熟度水平包含了一组成熟度目标和子目标,以及支持它们的任务、职责和活动。如图所示:
参考答案:B
l 以下关于软件生命周期的叙述不正确的是(7)。
(7) A.软件生命周期包括以下几阶段:项目规划,需求定义和需求分析、软件设计、程序编码、软件测试、运行维护
B.程序编码阶段是将软件设计的结果转换成计算机可运行的程序代码。为了保证程序的可读性、易维护性和提高程序的运行效率,可以通过在该阶段中制定统一并符合标准的编写规范来使编程人员程序设计规范化
C.软件设计阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等
D.需求分析阶段对软件需要实现的各个功能进行详细分析。软件需求一旦确定,在整个软件开发过程就不能再变化,这样才能保证软件开发的稳定性,并控制风险
解析:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 参考答案:D
l 在软件工程中,不属于软件定义阶段的任务是(8)。
(8)A.制定验收测试计划 B. 制定集成测试计划
C.需求分析 D. 制定软件项目计划
解析 B
l 软件设计阶段一般又可分为(9)。
(9)A.逻辑设计与功能设计 B. 概要设计与详细设计
C.概念设计与物理设计 D. 模型设计与程序设计
解析:
软件工程基本概念:软件设计阶段一般又可分为概要设计与详细设计。
参考答案:B
(10)程序描述语言(PDL)是软件开发过程中用于 阶段的描述工具。
A.需求分析 B. 概要设计
C.详细设计 D. 编程
参考答案:C
过程设计语言PDL:PDL也称为伪码,这是一个笼统的名称,现在有许多种不同的过程设计语言在使用。它是用正文形式表示数据和处理过程的设计工具。
软件详细设计
1. PAD图指问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.
2. 过程设计语言(Process Design Language,简称PDL),也称程序描述语言(Program Description Language),又称为伪码.它是一种用于描述模块自法设计和处理细节的语言.
l 软件测试的目的是(11)。P7
(11) A. 试验性运行软件 B. 找出软件中全部错误
C. 证明软件正确 D. 发现软件错误
解析:软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
关于软件测试的目的,有以下的一些观点:
①、软件测试是为了发现错误而执行程序的过程;
②、测试是为了证明程序有错,而不是证明程序无错误。
③、一个好的测试用例是在于它能发现至今未发现的错误;
④、一个成功的测试是发现了至今未发现的错误的测试。
参考答案: D
l 按照测试实施组织,可将测试划分为开发方测试、用户测试、第三方测试。下面关于开 发方测试的描述正确的是(12)。P11
①开发方测试通常也叫“验证测试”或“Alpha测试”
②开发方测试又称“Beta测试”
③开发方测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后在开始
④开发方测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件
(12) A. ②③ B. ①③ C. ②④ D. ①②③
解析:
按实施组织划分有开发方测试(a测试)、用户测试(B测试)、第三方测试
开发方测试(a测试):通常也称为“验证测试”或“a测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。
用户测试(B测试):通常被看成是一种“用户测试”。 β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试。B测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。
第三方测试:第三方测试也称为独立测试,是由相对独立的组织进行的测试。由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试。
参考答案:B
l 黑盒测试法是根据产品的(13)来设计测试用例的。P57
(13)A.功能 B. 输入数据 C. 应用范围 D.内部逻辑
黑盒测试:也称功能测试。
它是通过软件外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子、完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是程序是否按照需求说明书的规定正常实现。
参考答案:A
l 软件生命周期中持续时间最长的是(14)阶段。
(14) A.需求分析 B. 程序编码 C. 软件测试 D.软件运行维护
解析:软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。
参考答案:D
l 软件工程概念的提出是由于(15)。
(15) A.计算技术的发展 B. 软件危机的出现
C. 程序设计方法学的影响 D.其他工程科学的影响
解析:软件工程概念的提出是由于软件危机的出现。
参考答案: B
l 关系数据库管理系统应能实现的专门关系运算包括(16).。
(16)A、选择、索引、统计 B、选择、投影、连接
C、关联、更新、排序 D、显示、打印、制表
解析:关系数据库管理系统应能实现的专门关系运算包括选择、投影、连接。
参考答案:B
l 为了是软件测试更加高效,应遵循的原则包括(17)。P8
① 所有的软件测试都应追溯到用户需求、充分注意缺陷群集现象
② 尽早地和不断地进行软件测试、回归测试
③ 为了证明程序的正确性,尽可能多的开发测试用例
④ 应由不同的测试人员对测试所发现的缺陷进行确认
⑤ 增量测试,由小到大
(17)A、①②③④ B、①②③⑤ C、②③④ D、①②④⑤
解析:软件测试原则(八大原则)
1)、所有的软件测试都应追溯到用户需求
2)、应把“尽早地和不断的进行软件测试”作为测试者的座右铭
3)、完全测试是不可能的,测试需要终止
5)、充分注意测试中的群集现象
6)、程序员避免测试自己的程序(注意不是指对程序的调试)
7)、尽量避免测试的随意性,增量测试,由小到大
8)、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
参考答案:D
l 软件测试信息流的输入包括(18)。P21
① 软件配置(包括软件开发文档、目标执行程序、数据结构)
② 开发工具(开发环境、数据库、中间件等)
③ 测试配置(包括测试计划、测试用例、测试驱动程序等)
④ 测试工具(为提高软件测试效率,使用测试工具为测试工作服务)
(18)A、①②③④ B、①②④ C、①③④ C、②④⑤
解析:软件测试信息流的输入包括软件配置、测试配置、测试工具。
参考答案:C
l ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于软件使用质量描述,不正确的是(19)。
(19) A、它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性
B、使用质量的属性分为四个特性:有效性,生产率,安全性和满意度
C、使用质量是基于用户、开发者、维护者观点的质量
D、使用质量的获得依赖于取得必须的外部质量,而外部质量的获得则依赖于取得必须的内部质量
解析:影响软件质量可分为:可直接测量(如每个功能点错误)、间接度量(可用性、可维护性)
包括:质量模型、外部度量、内部度量、使用质量度量。
外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、可维护性和可移植性
ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于软件使用质量描述,使用质量是从用户角度看待的质量,其属性分为4种:有效性、生产率、安全性和满意度。
使用质量是从用户角度看待的质量。
使用质量的获得依赖于取得必须的外部质量,而外部质量的获得则依赖于取得必须的内部质量。
参考答案:C
l V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试对应的开发阶段是(20)。
(20)A、需求分析阶段 B、概要设计阶段
C、详细设计阶段 D、编码阶段
解析:V模型中单元测试对应于编码阶段,集成测试对应于详细阶段,系统测试对应于概要设计阶段,验收测试对应于需要分析阶段。
参考答案 B
l 下面关于软件测试模型的描述中,不正确的包括(21)。
① V模型的软件测试策略既包括低层测试又包括了高层测试,高层测试是为了源代码的正确性,低层测试是为了使整个系统满足用户的需求
② V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段
③ W模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试
④ H模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行
⑤ H模型中测试准备和测试实施紧密结合,有利于资源调配
(21)A.①⑤ B. ②④ C. ③④ D.②③
解析:P14
V模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求
V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段
W模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试
H模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行
参考答案:A
l 程序设计语言一般可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序具有(22)等特点。
(22)A.开发效率低,运行效率低 B.开发效率高,运行效率低
C.开发效率低,运行效率高 D.开发效率高,运行效率高
解析:程序设计语言一般可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序具有开发效率低,运行效率高 参考答案:C
l 广义的软件测试由“确认”、“验证”、“测试”3个方面组成,其中“确认”是(23)。
(23)A.想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标
B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致
C.检查某样东西是否符合事先已定好的标准
D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备性和正确性
解析:确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定,它包含的信息就是软件确认测试的基础。检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致
参考答案:A
l 与设计测试用例无关的文档是(24)。
(24) A.项目开发计划 B.需求规格说明书
C.设计说明书 D.源程序
参考答案:A
l 白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有(25)。
(25) A.代码检查法 B.逻辑覆盖法
C.基本路径测试法 D.结构覆盖法
解析:典型的白盒测试方法包括:静态测试、动态测试。其中静态测试包括:代码检查法、静态结构分析法、静态质量度量法。 参考答案:(25) A
l 结构化分析(Structured Analysis,简称SA)是面向数据流的需求分析方法,(26)不属于SA工具。
(26)A. 分层的数据流图 B. 数据词典
C. 问题分析图 D. 描述加工逻辑的结构化语言、判定表或判定树
解析:SA 法的描述工具
⑴ 分层的数据流图
⑵ 数据词典
⑶ 描述加工逻辑的结构化语言、判定表或判定树。
问题分析图(PAD) 是一种改进的图形描述方式,可以用来取代流程图。
PAD支持SP方法,它仅具有顺序、选择、循环三类基本成分(图4.64),其中选择和循环又有几种形式,图4.65列出了PAD的所有基本成分及相应的流程图表示和PASCAL结构,这是PASCAL标准风格的PAD表示。
参考答案:C
l 螺旋模型综合了(27)的优点,并增加了这两种模型忽略的风险分析。
(27)A. 瀑布模型和演化模型 B. 瀑布模型和喷泉模型
C. 演化模型和喷泉模型 D. 原型和喷泉模型
解析:瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
参考答案:A
l 软件评审作为质量控制的一个重要手段,已经被业界广泛使用。评审分为内部评审和外部评审。关于内部评审的叙述,正确的包括(28)
①. 对软件的每个开发阶段都要进行内部评审
②. 评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与
③. 评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定
④. 内部评审由用户单位主持,由信息系统建设单位组织,应成立评审委员会
(28)A. B. C. D.
解析:关于内部评审:
对软件的每个开发阶段都要进行内部评审
评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与
评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定,一般不超过7人。
参考答案:B
l 软件质量保证的主要目标不包括(29)
(29)A .通过预防、检查与改进来保证软件质量
B.保证开发出来的软件和软件开发过程符合相应标准与规程
C.收集软件产品、软件过程中存在的不符合项,在项目总结是进行分析
D.确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要
软件质量保证(Software Quality Assurance,简称SQA)
即参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量;在许多质量体系还不是很成熟的公司,维护和发展这些质量标准、流程规范等也是由质量保证人员进行。行内有个这样的说法:“软件质量保证并不能够保证软件的质量”,事实也是如此,软件质量的好坏不是一个人,一个部门能够决定的。但是,我们可以把提高软件的质量作为我们从事软件质量保证工作的目标。
参考答案:C
l 软件设计要遵循的基本原则包括(30)
①. 模块化 .抽象 .封装 .信息隐蔽
(30) A. B. C. D.
l 关于软件质量,(31)的叙述是正确的。
①. 软件满足规定或潜在用户需求特性的总和
②. 软件特性的总和,软件满足规定用户需求的能力
③. 是关于软件特性具备“能力”的体现
④. 软件质量包括“代码质量”、“外部质量”和“使用质量”三部分
(31)A. B. C. D.
解析:软件质量实体特性的总和,满足明确或隐含要求的能力。是关于软件特性具备“能力”的体现
软件质量包括“内部质量”、“外部质量”和“使用质量”三部分
参考答案: A
l 关于软件测试与质量保证,正确的理解的是(32)P7
(32)A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物
B.软件测试不是软件质量保证工作中的内容
C.软件测试是软件质量保证的重要手段
D.软件质量保证人员就是软件测试人员
解析:
软件测试和质量保证的区别
1)、QA主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找问题或评估;
质量的保证的重要工作通过预防、检查与改进来保证软件质量。
采用“全面质量管理”和“过程改进”的原理开展质量保证工作。
关注的是软件质量的检查与测量。
QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求。
2)、软件测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析
测试人员要“执行”程序软件,对过程中的产物-----开发文档和源代码进行走查,运行软件,以找出问题,报告质量。
测试人员必须假设软件存在的问题,测试中所作的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。
软件测试与质量保证:通常,人们将“质量标准、配置管理、测试测量”,作为质量管理的三大支柱,而将“SQA计划、SQA进度、SQA评审和审计”,作为质量管理三大要素。
质量管理与控制的三个层次
(1) 事先的预防措施:制订软件过程开发规范和软件产品质量标准,对软件开发和管理人员进行这方面知识和技能的定向培训;(规范是对行为的约束、标准是对产品的约束、规程是对操作的约束)
(2) 事中的跟踪监控措施:按照CMM/CMMI或ISO9000的过程管理思想,对软件过程和软件产品的质量控制提供可视性管理;
(3) 事后的纠错措施:对软件工作产品和软件产品加强评审和检测。评审是在宏观上框住您,在微观上挑剔您,找出不符合项。检测是为了发现Bug,改正错误。
结论:软件质量保证措施,应以提前预防和实时跟踪为主,以事后测试和纠错为辅。
l (33)不是正确的软件测试目的。
(33)A.尽最大的可能找出最多的错误
B.设计一个好的测试用例对用户需求的覆盖度达到100%
C.对软件质量进行度量和评估,以提高软件的质量
D.发现开发所采用的软件过程的缺陷,进行软件过程改进
l 设计功能测试用例的根本依据是(34)
(34)A.用户需求规格说明书 B. 用户手册
C.被测产品的用户界面 D. 概要设计说明书
解析:功能测试关注的是系统功能是否正确实现,其主要依据文档是需求分析文档,集成测试中相关的功能测试会涉及概要设计和详细设计文档。参考答案:A
l 关于软件测试与软件开发的认识,不正确的是(35)
(35)A.软件生命周期各个阶段都可能产生错误
B.软件测试是独立于软件开发的一个工作
C.软件开发的需求分析和设计阶段就应开始测试工作
D.测试越早进行,越有助于提高被测软件的质量
解析:软件测试是贯穿于软件开发过程的。软件生存周期的各个阶段中都少不了相应的测试,软件生存周期各个阶段的测试分别对应于软件测试过程中的单元测试、集成测试、系统测试和确认测试,如下图所示。这种对应关系有利于软件开发过程的管理和软件质量的控制。
测试工程师与开发工程师目标一致、行为对立、并行工作,有生产就必然有质检,二者的工作相辅相成,开发人员和测试人员的主要矛盾就集中在对bug的定义上。
l 软件测试原则中指出“完全测试是不可能的”,主要原因是(36).
(36) A.输入量太大、输出结果太多以及路径组合太多
B.自动化测试技术不够完善
C.测试的时间和人员有限
D.仅仅靠黑盒测试不能达到完全测试
l 产品的功能性测试的内容不包括(37)。
(37)A.适合性 B.易用性 C.正确性 D.互操作性
l 以下关于设计功能测试用例的叙述,(38)是不正确的。
(38) A.尽量用80%测试用例覆盖20%的核心业务模块
B.功能测试用例中不包括功能的依从性测试用例
C.功能测试用例中包括业务流,也包括测试数据
D.功能测试用例的设计应注意缺陷群集现象
l 以下不属于软件测试对象的有(39)项。
(39) ①需求规格说明书 ②软件的程序模块
③概要设计说明书与详细设计说明书 ④软件的用户手册
A.2 B.3 C.4 D.0
l 以下关于不同类型的软件测试的叙述,正确的是(40)。
(40) A.单元测试不是模块测试
B.多个模块不能平行地独立进行测试,应该顺序执行
C.系统测试是检验程序单元或不见之间的接口关系
D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求
解析:确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求 参考答案:D
l 以下关于白盒测试和黑盒测试的理解,正确的是(41)。
(41) A.白盒测试通过对程序内部结构的分析、检测来寻找问题
B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态
C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法
D.在软件生命周期各个阶段都需要用白盒测试方法
解析:白盒测试通过对程序内部结构的分析、检测来寻找问题;
黑盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态;
单元测试可应用白盒测试方法,集成测试既有黑盒测试也有白盒测试方法
在软件生命周期各个阶段不一定都需要用白盒测试方法
l V模型是其有代表意义的测试模型,以下理解正确的是(42)。
(42) A.V模型认为通过对测试阶段是与开发阶段并行的
B.V模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关系
C.V模型造成需求分析阶段隐藏的问题一直到后期的验收反测试才发现
D.V模型是对W模型的改进
解析:V模型造成需求分析阶段隐藏的问题一直到后期的验收反测试才发现。
l 网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略日志存储和用户管理,这里LDAP指的是(43)。
(43) A.轻量目录访问协议 B. 本地目录访问协议
C.轻量数据访问协议 D. 本地数据访问协议
目录和目录服务 LDAP(Lightweight Directory Access Protocol)轻型目录访问协议是目录访问协议的一种。
l 计算以下控制流程图的环路复杂度V(G),正确答案是(44)。
(44) A.V(G)=2 B.V(G)=4 C.V(G)=9 D.V(G)=11
l 对需求说明书评测的内容包括(45)。
①. 系统定义的目标是否与用户的要求一致
②. 被开发项目的数据流与数据结构是否足够、确定
③. 与所有其它系统交互的重要接口是否都已经描述
④. 主要功能是否已包含在规定的软件范围之内,是否都已充分说明
⑤. 确定软件的内部接口与外部接口是否已明确定义
(45) A.
B.
C.
D.
解析:
需求说明书评测内容:
作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。评审的主要内容是:
① ·系统定义的目标是否与用户的要求一致;
② ·系统需求分析阶段提供的文档资料是否齐全;
③ ·文档中的所有描述是否完整、清晰、准确反映用户要求;
④ ·与所有其它系统成分的重要接口是否都已经描述;
⑤ ·被开发项目的数据流与数据结构是否足够,确定;
⑥ ·所有图表是否清楚,在不补充说明时能否理解;
⑦ ·主要功能是否已包括在规定的软件范围之内,是否都已充分说明;
⑧ ·软件的行为和它必须处理的信息、必须完成的功能是否一致;
⑨ ·设计的约束条件或限制条件是否符合实际;
⑩ ·是否考虑了开发的技术风险;
⑪ ·是否考虑过软件需求的其它方案;
⑫ ·是否考虑过将来可能会提出的软件需求;
⑬ ·是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;
⑭ ·有没有遗漏,重复或不一致的地方;
⑮ ·用户是否审查了初步的用户手册或原型;
⑯ ·软件开发计划中的估算是否受到了影响.
为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行。评审结束应有评审负责人的结论意见及签字。除分析员之外,用户/需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作。一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。
l 加密和解密是明文和密文之间的可逆转换,(46) 不属于加密算法。
(46)A.RSA B.SHA C.DES D.AES
解析:常见加密算法
DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
RC2和 RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;
BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
MD5:严格来说不算加密算法,只能说是摘要算法
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。(可参见MD5算法词条)
SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些外,都不容许使用其他的;
其它算法
如ElGamal、Diffie-Hellman、新型椭圆曲线算法ECC等。
SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说时对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。
参考答案:B
l 假设A、B为布尔变量,对于逻辑表达式(A &&B ||C),需要(47)测试用例才能完成判定覆盖(DC)。
(47)A. 2 B. 3 C. 4 D. 5
解析:
判定覆盖(DC)
l 设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真’值和‘假’值,或者使得程序中的每一个取‘真’分支或取‘假’分支至少经历一次,因此又称分支覆盖
如:A&&(B||C),A||(B||C)
A=T,B=T,C=T
A=F,B=F,C=F
l 可以满足语句覆盖
l 缺点:主要对整个表达式最终取值进行度量,忽略了表达式内部取值
l 以下关于汇编语言的叙述中,错误的是(48)。
(48)A. 汇编语言源程序中的指令语句将被翻译成机器代码
B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段
C. 汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出
D. 汇编程序先将源程序中的伪指令翻译成机器代码,然后在翻译指令语句
解析:本题考查汇编语言的基本概念。
伪指令是汇编程序直接执行的,不对应于程序中的机器代码,所以D是错误的。
参考答案:(48) D
l 设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息:“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。
学生实体Students中的“家庭住址”是一个(49)属性;为使数据库模式设计更合理,对于关系模式Students(50).
(49)A.简单 B.多值 C.派生 D.复合
(50)
展开阅读全文