上半年软件评测师考试真题及答案上午卷Word文件下载.docx
《上半年软件评测师考试真题及答案上午卷Word文件下载.docx》由会员分享,可在线阅读,更多相关《上半年软件评测师考试真题及答案上午卷Word文件下载.docx(47页珍藏版)》请在冰点文库上搜索。
对于一个持续处理业务的系统而言,其(4)。
(4)A.响应时间越短,作业吞吐量越小B.响应时间越短,作业吞吐量越大
C.响应时间越长,作业吞吐量越大D.响应时间不会影响作业吞吐量
系统响应时间是指用户发出完整请求到系统完成任务给出响应的时间间隔。
作业吞吐量是指单位时间内系统完成的任务量。
若一个给定系统持续地收到用户提交的任务请求,则系统的响应时间将对作业吞吐量造成一定影响。
若每个任务的响应时间越短,则系统的空闲资源越多,整个系统在单位时间内完成的任务量将越大;
反之,若响应时间越长,则系统的空闲资源越少,整个系统在单位时间内完成的任务量将越小。
计算机各功能部件之间的合作关系如下图所示。
假设图中虚线表示控制流,实线表示数据流,那么a、b和c分别表示(5)。
(5)A.控制器、内存储器和运算器B.控制器、运算器和内存储器
C.内存储器、运算器和控制器D.内存储器、控制器和运算器
在一台计算机中,有以下6种主要的部件。
控制器(Controlunit):
统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。
运算器(亦称为算术逻辑单元,ArithmeticandLogicUnit,ALU):
对数据进行算术运算和逻辑运算。
内存储器(Memory或Primarystorage,简称内存):
存储现场操作的信息与中间结果,包括机器指令和数据。
外存储器(Secondarystorage或Permanentstorage,简称外存):
存储需要长期保存的各种信息。
输入设备(Inputdevices):
接收外界向计算机输出的信息。
输出设备(Outputdevices):
将计算即中的信息向外界输送。
现在的控制器和运算器是被制造在同一块超大规模集成电路中的,称为中央处理器,即CPU(CentralProcessingUnit)。
CPU和内存,统称为计算机的系统单元(Peripherals,简称外设)。
计算机各功能部件之间的合作关系如图所示。
下面关于编程语言的各种说法中,(6)是正确的。
(6)A.由于C语言程序是由函数构成的,所以也属于函数型语言
B.Smalltalk、C++、Java、C#都是面向对象语言
C.函数型语言适用于编写高速计算的程序,常用于超级计算机的模拟计算
D.逻辑型语言是在Client/Server系统中用于实现负载分散的程序语言
在面向对象的语言中,(7)。
(7)A.类的实例化是指对类的实例分配存储空间
B.每个类都必须创建一个实例
C.每个类只能创建一个实例
D.类的实例化是指对类进行初始化
【答案】A
类是用户定义的类型。
与语言定义的基本类型一样,有了类型后,就可以定义(创建)该类型的变量,其含义是系统为变量分配存储空间。
对于程序中定义的类,并不要求一定要创建其实例,对实例的数目也没有限制。
创建类的实例时,系统需要为该实例分配存储空间。
在统一建模语言(UML)中,描述系统与外部系统及用户之间交互的图是(8)。
(8)A.类图B.用例图C.对象图D.协作图
·
类图(classdiagram):
展现了一组对象、接口、协作和它们之间的关系。
在面向对象系统的建模中所建立的最常见的图就是类图。
类图给出系统的静态设计视图。
包含主动类的类图给出了系统的静态进程视图。
对象图(objectdiagram):
展现了一组对象以及它们之间的关系。
对象图描述了在类图中所建立的事物实例的静态快照。
和类图相同,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实的或原型案例的角度建立的。
用例图(usecasediagram):
展现了一组用例、参与者(actor)以及它们之间的关系。
用例图给出系统的静态用例视图。
这些图对系统的行为进行组织和建模是非常重要的。
序列图(sequencediagram):
是场景(scenano)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。
协作图(collaborationdiagram或communicationdiagram):
强调收发消息的对象的结构组织。
序列图和协作图都是交互图(interactiondiagram)。
交互图展现了一种交互,它由一组对象和它们之间的关系组成,包括它们之间可能发送的消息。
交互图关注系统的动态视图。
序列图和协作图是同构的,它们之间可以相互转换。
状态图(statediagram):
展现了一个状态机,它由状态、转换、事件和活度组成。
状态图关注系统的动态视图,它对于接口、类和协作的行为建模尤为重要,它强调对象行为的事件顺序。
活动图(activitydiagram):
是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。
活动图专注于系统的动态视图。
它对于系统的功能建模特别重要,并强调对象间的控制流程。
构件图(componentdiagram):
展现了一组构件之间的组织和依赖。
构件图专注干系统的静态实现视图。
它与类图相关,通常把构件映射为一个或多个类、接口或协作。
部署图(deploymentdiagram):
展现了运行处理节点以及其中的构件的配置。
部署图给出了体系结构的静态实施视图。
它与构件图相关,通常一个节点包含一个或多个构件。
某系统的进程状态转换如下图所示。
图中1、2、3和4分别表示引起状态转换时的不同原因。
原因4是由于(9);
一个进程状态转换会引起另一个进程状态转换的是(10)。
(9)A.就绪进程被调度B.运行进程执行了P操作
C.阻塞进程等待的事件发生了D.运行进程时间片到了
(10)A.1→2B.2→1C.3→2D.4→1
【答案】CB
图中原因1是由于调度程序的调度引起;
原因2是由于时间片用完引起;
原因3是由于I/O请求引起,例如进程执行了P操作,由于申请的资源得不到满足进入阻塞队列;
原因4是由于I/O完成引起的,例如某进程执行了V操作将信号量值减1,若信号量的值小于0,意味着有等待该资源的进程,将该进程从阻塞队列中唤醒使其进入就绪队列;
因此试题(9)的正确答案是C。
试题(10)选项A“1→2”不可能,因为调度程序从就绪队列中调度一个进程投入运行,不会引起另外一个进程时间片用完;
选项B“2→1”可能,因为当现运行进程的时间片用完,会引起调度程序调度另外一个进程投入运行;
选项C“3→2”不可能,因为现运行进程由于等待某事件被阻塞,使得CPU空闲,此时调度程序会从处于就绪状态的进程中挑选一个新进程投入运行;
选项D“4→1”不可能,一般一个进程从阻塞状态变化到就绪状态时,不会引起另一个进程从就绪状态变化到运行状态。
在操作系统中,虚拟设备通常采用(11)设备来模拟低速设备(如打印机)。
(11)A.Spooling技术,利用磁带B.Spooling技术,利用磁盘
C.脱机批处理技术,利用磁盘D.通道技术,利用磁带
所谓Spooling技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。
Spooling系统是由“预输入程序/输出程序”和“井管理程序”以及输入和输出井组成的。
其中,输入井和输出井是为了存放从输入设备输入的信息以及作业执行的结果,系统在磁盘上开辟的存储区域。
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。
若系统中字长为32位,磁盘上的物理块依次编号为:
0、1、2、…,那么8192号物理块的使用情况在位示图中的第(12)个字中有所描述。
(12)A.256B.257C.512D.1024
文件管理系统是在外存上建立一张位示图,记录文件存储器的使用情况。
每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,由于系统中字长为32位,所以每个字可以表示32个物理块的使用情况。
又因为文件存储器上的物理块依次编号为:
0,1,2,….因此8192号物理块在位示图中的第257个字中描述。
在数据库管理系统中,(13)不属于安全性控制机制。
(13)A.完整性约束B.视图C.密码验证D.用户授权
数据库系统的安全措施主要有权限机制、视图机制以及数据加密三个方面。
通过权限机制,限定用户对数据的操作权限,把数据的操作限定在具有指定权限的用户范围内在标准SQL中定义了授权语句GRANT来实现权限管理。
通过建立用户视图,用户或应用程序只能通过视图来操作数据,保证了视图之外的数据的安全性。
对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
数据库的完整性是指数据的正确性和相容性。
如学生的性别只能是男或女,百分制的成绩只能取0~100之间的整数值等。
为防止错误数据进入数据库,DBMS提供了完整性约束机制,通过对数据库表结构进行约束,当对数据进行修改时由系统对修改数据进行完整性检查,将错误数据拒绝于数据库之外。
因此在数据库管理系统中,完整性约束不属于安全性控制机制,而属于完整性约束机制。
某供应商数据库中的供应关系为SPJ(供应商号,零件号,工程号,数量),如下命令查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列。
SELECT工程号,(14)FROMSPJ
GROUPBY工程号
(15)
ORDERBY工程号DESC;
(14)A.AVG(数量)At平均数量B.AVG(数量)AS平均数量
C.平均数量AtAVG(数量)D.平均数量ASAVG(数量)
(15)A.HAVINGCOUNT(DISTINCT(供应商号))>
2
B.WhereCOUNT(供应商号)>
C.HAVING(DISTINCT(供应商号))>
D.Where供应商号>
2
【答案】BA
试题(14)正确的答案是选项B,因为SQL提供可为关系和属性重新命名的机制,这是通过使用具有如下形式的as子句来实现的。
Old-nameasnew-name
as子句即可出现在select子旬,也可出现在from子句中。
显然选项B满足上述规则:
试题(15)正确的答案是选项A,因为根据题意“某工程至少用了3家供应商(包含3家)供应的零件”,应该按照工程号分组,而且应该加上条件供应商的数目。
但是需要注意的是,一个工程项目可能用了同一个供应商的多种零件,因此,在统计供应商数的时候需要加上DISTINCT,以避免重复统计导致错误的结果。
假如按工程号JNO=’J1’分组,结果如下表所示。
从上表可以看出,如果不加DISTINCT,统计的数为7;
而加了DISTINCT,统计的数是5。
设关系模式R(A,B,C),传递依赖指的是(16);
下列结论错误的是(17)。
(16)A.若A→B,B→C,则A→CB.若A→B,A→C,则A→BC
C.若A→C,则AB→CD.若A→BC,则A→B,A→C
(17)A.若A→BC,则A→B,A→CB.若A→B,A→C,则A→BC
C.若A→C,则AB→CD.若AB→C,则A→C,B→C
【答案】AD
试题(16)正确的答案是选项A,因为选项A满足传递规则;
试题(17)正确的答案是选项D,因为选项A满足分解规则;
选项B是合并规则:
选项C中,A→C成立,则给其决定因素A再加上其他冗余属性B也成立;
选项D不成立,反例:
如AB为学号和课程号,C为成绩,则学号、课程号→成绩成立,但学号→成绩不成立。
同样,也可以用证明的方法来判定。
软件开发人员可以用(18)软件编写和修改程序。
(18)A.预处理B.文本编辑C.链接D.编译
软件开发人员可以用文本编辑软件编写和修改程序。
统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等。
这种软件过程的用例图(UseCaseDiagram)是通过(19)得到的。
(19)A.捕获需求B.分析C.设计D.实现
统一过程的基本特征是用例驱动、以架构为中心的迭代式增量开发。
其核心的工作流包括捕获用户需求、分析、设计、实现和测试等。
首先,开发人员通过和用户的沟通、了解,捕获用户需求并制作软件用例图(用况图),从而得到软件的用况模型。
然后分析并设计满足这些用例的系统,得到分析模型、设计模型和实施模型,进而实现该系统,最后通过测试模型来验证系统是否满足用况中描述的功能。
需求捕获过程中得到的用例将各个核心工作流结合为一个整体,驱动整个软件开发过程。
关于原型化开发方法的叙述中,不正确的是(20)。
(20)A.原型化方法适应于需求不明确的软件开发
B.在开发过程中,可以废弃不用早期构造的软件原型
C.原型化方法可以直接开发出最终产品
D.原型化方法利于确认各项系统服务的可用性
原型化软件开发方法的基本思想是软件开发人员对用户提出的需求和问题进行总结,就系统的主要需求取得一致意见后,构造一个软件原型(原型是软件的一个早期版本,通常反映最终软件的部分重要特性,原型应该是可以运行和修改的),使用户在试用原型过程中得到感受和启发,并做出反应和评价。
然后开发者根据用户的意见对原型进行改进,使之逐步完善,直到用户对系统完全满意为止。
这种开发方法的优点是需求表示清楚,用户满意度较高、可降低开始风险和开发成本。
所以原型化方法特别适应于原始需求不明确的软件,因为通过用户的不断使用和体验并提出的评价,使得不断修改的原型逐步达到用户要求。
通常,软件开发过程中会得到多个软件原型,只有得到用户认可的才是最终的产品。
基本思想:
开发人员对用户提出的问题进行总结,就系统的主要需求取得一致意见后,开发一个原型(原型是由开发人员与用户合作,共同确定系统的基本要求和主要功能,并在较短时间内开发的一个实验性的、简单易用的小型系统。
原型应该是可以运行的,可以修改的。
)并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。
优点:
(1)需求表示清楚,用户满意度较高。
(2)降低开始风险和开发成本。
缺点:
(1)原型法不适用于开发大型的信息系统。
(2)系统难于维护。
(3)如果用户合作不好,盲目纠错,会拖延开发进程。
适用范围:
(1)用户需求不清,管理及业务不稳定,需求经常变化。
(2)规模小,不太复杂。
(3)开发信息系统的最终用户界面。
CMM模型将软件过程的成熟度分为5个等级。
在(21)使用定量分析来不断地改进和管理软件过程。
(21)A.优化级B.管理级C.定义级D.可重复级
CMM的分级结构及其过程描述
(1)初始级:
软件过程的特点是无秩序或说无定规的,有时甚至是混乱的。
软件过程定义几乎处于无章法、无步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
(2)可重复级:
已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。
对类似的应用项目,有章可循并能重复以往所取得的成功。
(4)已管理级:
软件过程和产品质量有详细的度量标准。
软件过程和产品质量得到了定量的认识和控制。
(5)优化级:
通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对促进过程进行改进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,自然可以向上一更为成熟的高一级别迈进。
CMM体系不主张跨级别的进化,因为从第二级开始,每一个低级别的实现均是更高级别实现的基础。
软件(22)的提高,有利于软件可靠性的提高。
(22)A.存储效率B.执行效率C.容错性D.可移植性
软件可靠性是指软件按照用户的要求和设计的目标,执行其功能的正确程度,所以一个可靠的软件应当是正确的、完整的、一致的和健壮的。
通常,软件可靠性受到其他质量特性的影响,在4个备选项中,A、B、D都是不利于软件可靠性的因素。
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:
程序的表示、名称和版本号;
程序功能描述;
接口与界面描述;
输入/输出数据说明;
开发历史;
与运行环境有关的信息等。
下列叙述中不属于序言性注释的是(23)。
(23)A.程序对硬件、软件资源的要求
B.重要变量和参数说明
C.嵌入在程序中的SQL语句
D.程序开发的原作者、审查者、修改者、编程日期等
序言性注释给出程序的整体说明,对于理解程序具有引导作用。
“嵌入在程序中的SQL语旬”是数据库系统提供的一种应用程序接口,不是注释。
LOC是软件规模的一种量度,它表示(24)。
(24)A.软件功能数B.源代码行数C.每单位成本数D.工作量
LOC是LinesofCodes的缩写,指构成软件的源代码行数。
LOC主要用于估算软件成本和规模。
软件估算的另外一个传统参数是功能数目。
面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,(25)不属于面向对象分析阶段。
(25)A.构建分析模型B.识别分析类
C.确定接口规格D.评估分析模型
面向对象的软件开发过程包括分析、系统设计、开发类、组装测试和应用维护等。
其中分析过程包括问题域分析、应用分析,此阶段主要识别对象及对象之间的关系,最终形成软件的分析模型,并进行评估。
设计阶段主要构造软件总的模型,实现相应源代码,在此阶段,需要发现对象的过程,确定接口规格。
面向对象分析需要找出软件需求中客观存在的所有实体对象(概念),然后归纳、抽象出实体类。
(26)是寻找实体对象的有效方法之一。
(26)A.会议调查B.问卷调查C.电话调查D.名词分析
【答案】D
面向对象分析中寻找实体类中,名词分析法是通过分析需求文档中出现的名词来寻找实体类,它是面向对象分析的有效方法之一。
而会议调查、问卷调查和电话调查的目的并非寻找实体类,而是得到软件系统的需求。
在“模型-视图-控制器”(MVC)模式中,(27)主要表现用户界面,(28)用来描述核心业务逻辑。
(27)A.视图B.模型C.控制器D.视图和控制器
(28)A.视图B.模型C.控制器D.视图和控制器
【答案】AB
MVC模式是一个复杂的架构模式,其实现也显得非常复杂。
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。
模型(Model):
就是业务流程/状态的处理以及业务规则的制定。
业务模型的设计可以说是MVC最主要的核心。
控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
在进行面向对象设计时,采用设计模式能够(29)。
(29)A.复用相似问题的相同解决方案B.改善代码的平台可移植性
C.改善代码的可理解性D.增强软件的易安装性
因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果,而且会得到解决问题的最佳办法。
采用设计模式能够复用相似问题的相同解决方案,加快设计的速度,提高了一致性。
下面给出了四种设计模式的作用:
外观(Faç
ade):
为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用;
装饰(Decorate):
当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;
单件(Singleton):
保证一个类仅有一个实例,并提供一个访问它的全局访问点;
模板方法(TemplateMethod):
在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。
请根据下面叙述的场景选用适当的设计模式。
若某面向对象系统中的某些类有且只有一个实例,那么采用(30)设计模式能够有效达到该目的;
该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQLServer、DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,(31)设计模式可抽象出相同的数据库访问过程;
系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色