系统架构设计师---2016年上午试题1
在嵌入式系统的存储部件中,存取速度最快的是(1)。
(1)A.内存 B.寄存器组 C.Flash D.Cache
【答案】B
【解析】本题考查嵌入式系统存储结构的基础知识
嵌入式系统的存储结构采用分级的方法来设计,从而使得整个存储系统分为四级,即寄存器组、高速缓冲(Cache)、内存(包括flash)和外存,它们在存取速度上依次递减,而在存储容量上逐级递增。
实时操作系统(RTOS)内核与应用程序之间的接口称为(2)。
(2)A.I/O接口 B.PCI C.API D.GUI
【答案】C
【解析】
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
所有操作系统(不仅仅只是嵌入式操作系统)给应用程序提供的接口,称之为API。
选项中的GUI,是用户与操作系统之间的接口:
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
嵌入式处理器是嵌入式系统的核心部件,一般可分为嵌入式微处理器(MPU)、微控制器(MCU)、数字信号处理器(DSP)和片上系统(SOC)。以下叙述中,错误的是(3)。
(3)A.MPU在安全性和可靠性等方面进行增强,适用于运算量较大的智能系统
B.MCU典型代表是单片机,体积小从而使功耗和成本下降
C.DSP处理器对系统结构和指令进行了特殊设计,适合数字信号处理
D.SOC是一个有专用目标的集成电路,其中包括完整系统并有嵌入式软件的全部内容
【答案】A
【解析】
MPU采用增强型通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而MPU在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,MPU 在功能方面与标准的微处理器基本上是一样的。A是错的。 MCU又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。B是对的。DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。C也是对的。SOC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。D也是对的。
某指令流水线由5段组成,各段所需要的时间如下图所示。
连续输入100条指令时的吞吐率为(4)。
(4)A. B. C. D.
【答案】C
【解析】
在题目给出的环境下,100条指令的执行时间为:
(Δt+3Δt+Δt+2Δt+Δt)+(100-1)*3Δt=305Δt
吞吐率=指令条数/执行时间=100/305Δt 。
某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间T为10μs,缓冲区送用户区的时间M为6μs,系统对每个磁盘块数据的处理时间C为2μs。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用双缓冲需要花费的时间为(5)μs,比使用单缓冲节约了(6)μs时间。
(5)A.100 B.108 C.162 D.180
(6)A.0 B.8 C.54 D.62
【答案】B C
【解析】
单缓冲区执行时间:(10+6+2)+(10-1)*(10+6)=162μs
双缓冲区执行时间:(10+6+2)+(10-1)*10=108μs
双缓冲比单缓冲节省162-108=54μs。
某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中地址项iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引,磁盘索引块和磁盘数据块大小均为4KB。该文件系统可表示的单个文件最大长度是(7)KB。若要访问iclsClient.dll文件的逻辑块号分别为6、520和1030,则系统应分别采用(8)。
(7)A.1030 B.65796 C.1049606 D.4198424
(8)A.直接地址索引、一级间接地址索引和二级间接地址索引
B.直接地址索引、二级间接地址索引和二级间接地址索引
C.一级间接地址索引、一级间接地址索引和二级间接地址索引
D.一级间接地址索引、二级间接地址索引和二级间接地址索引
【答案】D C
【解析】
直接索引范围:6*4KB=24KB ,对应逻辑块号:0-5;
一级间接索引范围:(4KB/4B)*4KB=4096KB ,对应逻辑块号:6-1029;
二级间接索引范围:(4KB/4B)*(4KB/4B)*4KB=4194304KB ,对应逻辑块号:1030以及上。
24KB + 4096KB + 4194304KB = 4198424KB。
给定关系模式R(A,B,C,D,E)、S(D,E,F,G)和π1,2,4,6(R ?S),经过自然连接和投影运算后的属性列数分别为(9)。
(9)A.9和4 B.7和4 C.9和7 D.7和7
【答案】B
【解析】
R与S进行自然连接后,结果属性集为:A,B,C,D,E,F,G。
投影操作后,结果为:A,B,D,F。
给定关系R(A1,A2,A3,A4)上的函数依赖集F={A1→A2A5,A2→A3A4,A3→A2},R的候选关键字为(10)。函数依赖(11)∈F+。
(10)A.A1 B.A1A2 C.A1A3 D.A1A2A3
(11)A.A5→A1A2 B.A4→A1A2 C.A3→A2A4 D.A2→A1A5
【答案】A C
【解析】
(10)通过绘制函数依赖图可以了解到,从A1出发,可以遍历全图,所以候选关键字为A1。
(11)F+是代表,F函数依赖集的闭包,通俗一点,就是从F函数依赖集能推导出来的依赖关系。
A3→A2A4是正确的。首先F中有直接的依赖关系:A3→A2,此外,又由A3→A2与A2→A4得出A3→A4。A3→A2与A3→A4合并为A3→A2A4。
假设某证券公司的股票交易系统中有正在运行的事务,此时,若要转储该交易系统数据库中的全部数据,则应采用(12)方式。
(12)A.静态全局转储 B.动态全局转储 C.静态增量转储 D.动态增量转储
【答案】B
【解析】
从题目中“系统中有正在运行的事务”可知应采用动态方式,从题目中“全部数据”可知应是全局转储,所以应采用:动态全局转储。
IETF定义的区分服务(DiffServ)模型要求每个IP分组都要根据IPv4协议头中的(13)字段加上一个DS码点,然后内部路由器根据DS码点的值对分组进行调度和转发。
(13)A.数据报生存期 B.服务类型 C.段偏置值 D.源地址
【答案】B
【解析】
区分服务是为解决服务质量问题在网络上将用户发送的数据流按照它对服务质量的要求划分等级的一种协议。
区分服务将具有相同特性的若干业务流汇聚起来,为整个汇聚流提供服务,而不是面向单个业务流来提供服务。每个IP分组都要根据其QoS需求打上一个标记,这种标记称为DS码点,可以利用IPv4协议头中的服务类型字段,或者IPv6协议头中的通信类别字段来实现,这样就维持了现有的IP分组格式不变。
在IPv6无状态自动配置过程中,主机将其(14)附加在地址前缀1111 1110 10之后,产生一个链路本地地址。
(14)A.IPv4地址 B.MAC地址 C.主机名 D.随机产生的字符串
【答案】B
【解析】
IPv6地址的格式前缀(FP)用于表示地址类型或子网地址,用类似于IPv4的CIDR表示方法表示。链路本地地址:前缀为1111 1110 10,用于同一链路的相邻节点间的通信。相当于IPv4的自动专用IP地址。为实现IP地址的自动配置,IPv6主机将MAC地址附加在地址前缀1111 1110 10之后,产生一个链路本地地址。
如果管理距离为15,则(15)。
(15)A.这是一条静态路由 B.这是一台直连设备
C.该路由信息比较可靠 D.该路由代价较小
【答案】C
【解析】
管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。
为什么要出现管理距离这个技术呢?
在自治系统内部,如RIP协议是根据路径传递的跳数来决定路径长短也就是传输距离,而像EIGRP协议是根据路径传输中的带宽和延迟来决定路径开销从而体现传输距离的。这是两种不同单位的度量值,我们没法进行比较。为了方便比较,我们定义了管理距离。这样我们就可以统一单位从而衡量不同协议的路径开销从而选出最优路径。正常情况下,管理距离越小,它的优先级就越高,也就是可信度越高。
对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。
AD值越低,则它的优先级越高。 一个管理距离是一个从0-255的整数值,0是最可信赖的,而255则意味着不会有业务量通过这个路由。
由此可见,管理距离是与信任相关的,只有选项C是相符的。
把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为(16)程序。(17)不是对Web服务器进行性能评估的主要指标。
(16)A.仿真测试 B.核心测试 C.基准测试 D.标准测试
(17)A.丢包率 B.最大并发连接数 C.响应延迟 D.吞吐量
【答案】C A
【解析】
(16)本题考查基本概念,应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序。
(17)丢包率不应作为Web服务器性能评估的主要指标,而应作为网络的相关指标。
电子政务是对现有的政府形态的一种改造,利用信息技术和其他相关技术,将其管理和服务职能进行集成,在网络上实现政府组织结构和工作流程优化重组。与电子政务相关的行为主体有三个,即政府、(18)及居民。国家和地方人口信息的采集、处理和利用,属于(19)的电子政务活动。
(18)A.部门 B.企(事)业单位 C.管理机构 D.行政机关
(19)A.政府对政府 B.政府对居民 C.居民对居民 D.居民对政府
【答案】B B
【解析】
ERP(Enterprise Resource Planning)是建立在信息技术的基础上,利用现代企业的先进管理思想,对企业的物流、资金流和(20)流进行全面集成管理的管理信息系统,为企业提供决策、计划、控制与经营业绩评估的全方位和系统化的管理平台。在ERP系统中,(21)管理模块主要是对企业物料的进、出、存进行管理。
(20)A.产品 B.人力资源 C.信息 D.加工
(21)A.库存 B.物料 C.采购 D.销售
【答案】C A
【解析】
(20)本题考查到的,是信息化的“三流”:信息流,资金流,物流。
(21) 采购与库存管理是ERP的基本模块,其中采购管理模块是对采购工作——从采购订单产生至货物收到的全过程进行组织、实施与控制,库存管理(Inventory Management,IM)模块则是对企业物料的进、出、存进行管理。
项目的成本管理中,(22)将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。
(22)A.成本估算 B.成本预算 C.成本跟踪 D.成本控制
【答案】B
【解析】本题考查成本预算的定义。
(23)是关于项目开发管理正确的说法。
(23)A.需求文档、设计文档属于项目管理和机构支撑过程域产生的文档
B.配置管理是指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合
C.项目时间管理中的过程包括活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划以及进度控制
D.操作员指南属于系统文档
【答案】C
【解析】
配置管理是PMBOK、IS09000和CMMI中的重要组成元素,它在产品开发的生命周期中,提供了结构化的、有序化的、产品化的管理方法,是项目管理的基础工作。配置管理是通过技术和行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施和过程。信息系统开发过程中的变更以及相应的返工会对产品的质量有很大的影响。
产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、计算机程序、部件及数据的集合。该集合中的每一个元素称为该产品配置中的一个配置项(Configuration Item,CI),配置项主要有两大类:
属于产品组成部分的工作成果,如需求文档、设计文档、源代码、测试用例等。
属于项目管理和机构支撑过程域产生的文档,如工作计划、项目质量报告、项目跟踪报告等。这些文档虽然不是产品的组成部分,但是值得保存。
软件系统的文档可以分为用户文档和系统文档两类。用户文档主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;系统文档描述系统设计、实现和测试等各方面的内容。
用户文档:用户文档是用户了解系统的第一步,它可以让用户获得对系统的准确的初步印象。用户文档至少应该包括下述5方面的内容:
(1)功能描述:说明系统能做什么;
(2)安装文档:说明怎样安装这个系统以及怎样使系统适应特定的硬件配置;
(3)使用手册:简要说明如何着手使用这个系统(通过丰富的例子说明怎样使用常用的系统功能,并说明用户操作错误时怎样恢复和重新启动);
(4)参考手册:详尽描述用户可以使用的所有系统设施以及它们的使用方法,并解释系统可能产生的各种出错信息的含义(对参考手册最主要的要求是完整,因此通常使用形式化的描述技术);
(5)操作员指南(如果需要有系统操作员的话):说明操作员应如何处理使用中出现的各种情况。
系统文档:所谓系统文档指从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是非常重要的。
(24)在软件开发机构中被广泛用来指导软件过程改进。
(24)A.能力成熟度模型(Capacity Maturity Model)
B.关键过程领域(Key Process Areas)
C.需求跟踪能力链(Traceability Link)
D.工作分解结构(Work Breakdown Structure)
【答案】A
【解析】
CMM即软件开发能力成熟度模型,是用来指导软件过程改进的。
(25)是关于需求管理正确的说法。
(25)A.为达到过程能力成熟度模型第二级,组织机构必须具有3个关键过程域
B.需求的稳定性不属于需求属性
C.需求变更的管理过程遵循变更分析和成本计算、问题分析和变更描述、变更实现的顺序
D.变更控制委员会对项目中任何基线工作产品的变更都可以做出决定
【答案】D
【解析】
过程能力成熟度模型(CMM)在软件开发机构中被广泛用来指导软件过程改进。该模型描述了软件处理能力的 5个成熟级别。为了达到过程能力成熟度模型的第二级,组织机构必须具有 6 个关键过程域 KPA(Key Process Areas)。故A选项错误。
除了文本,每一个功能需求应该有一些相关的信息与它联系,我们把这些信息称为需求属性。对于一个大型的复杂项目来说,丰富的属性类别显得尤为重要。例如,在文档中考虑和明确如下属性:创建需求的时间、需求的版本号、创建需求的作者、负责认可该软件需求的人员、需求状态、需求的原因和根据、需求涉及的子系统、需求涉及的产品版本号、使用的验证方法或者接受的测试标准、产品的优先级或者重要程度、需求的稳定性。故B选项错误。
需求的变更遵循以下流程:
(1)问题分析和变更描述。这是识别和分析需求问题或者一份明确的变更提议,以检查它的有效性,从而产生一个更明确的需求变更提议。
(2)变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改、系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。
(3)变更实现。这要求需求文档和系统设计以及实现都要同时修改。如果先对系统的程序做变更,然后再修改需求文档,这几乎不可避免地会出现需求文档和程序的不一致。
故C选项错误。
螺旋模型在(26)的基础上扩展而成。
(26)A.瀑布模型 B.原型模型 C.快速模型 D.面向对象模型
【答案】B
【解析】
(27)适用于程序开发人员在地域上分布很广的开发团队。(28)中,编程开发人员分成首席程序员和“类”程序员。
(27)A.水晶系列(Crystal)开发方法 B.开放式源码(Open source)开发方法
C.SCRUM开发方法 D.功用驱动开发方法(FDD)
(28)A.自适应软件开发(ASD) B.极限编程(XP)开发方法
C.开放统—过程开发方法(OpenUP) D.功用驱动开发方法(FDD)
【答案】A D
【解析】
(1) XP (Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的。它源于Smalltalk圈子,特别是Kent Beck和Ward Cunningham在20世纪80年代末的密切合作。XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的。
(2) Cockburn的水晶系列方法,水晶系列方法是由Alistair Cockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。
(3) 开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一地点工作。开放源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的“补丁”文件发给维护者。然后由维护者将这些“补丁”或是新增的代码并入源码库。
(4) SCRUM。SCRUM己经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。
(5) Coad的功用驱动开发方法(FDD-Feature Driven Development),FDD是由Jeff De Luca和大师Peter Coad提出来的。像其他方法一样,它致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周。
在FDD中,编程开发人员分成两类:首席程序员和“类”程序员(class owner)。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而“类”程序员则主要做源码编写。
(6) ASD方法,ASD (Adaptive Software Development)方法由Jim Highsmith提出,其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。
在软件系统工具中,版本控制工具属于(29),软件评价工具属于(30)。
(29)A.软件开发工具 B.软件维护工具
C.编码与排错工具 D.软件管理和软件支持工具
(30)A.逆向工程工具 B.开发信息库工具
C.编码与排错工具 D.软件管理和软件支持工具
【答案】B D
【解析】
软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件工具分为软件开发工具、软件维护工具 、软件管理和软件支持工具。
软件开发工具:需求分析工具、设计工具、编码与排错工具。
软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。
面向对象的分析模型主要由(31)、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的(32)、完整精确的类图、针对复杂对象的状态图和描述流程化处理过程的(33)等。
(31)A.业务活动图 B.顶层架构图 C.数据流模型 D.实体联系图
(32)A.功能分解图 B.时序关系图 C.用例实现图 D.软件部署图
(33)A.序列图 B.协作图 C.流程图 D.活动图
【答案】B C D
【解析】本题考查的是教程“4.4.2 面向对象的分析设计”的内容。
面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成。
设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括(34)、测试用例和领域知识等。
(34)A.项目范围定义、需求分析文档、设计文档
B.需求分析文档、设计文档、程序代码
C.设计文档、程序代码、界面原型
D.程序代码、界面原型、数据表结构
【答案】B
【解析】本题考查的是教程“4.5软件的重用”的内容。
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括需求分析文档、设计过程、设计文档、程序代码、测试用例、领域知识等。对于新的软件开发项目而言,它们或者是构成整个目标软件系统的部件,或者在软件开发过程中发挥某种作用。通常将这些软件元素称为软部件。
面向构件的编程(Component Oriented Programming,COP)关注于如何支持建立面向构件的解决方案。面向构件的编程所需要的基本支持包括(35)。
(35)A.继承性、构件管理和绑定、构件标识、访问控制
B.封装性、信息隐藏、独立部署、模块安全性
C.多态性、模块封装性、后期绑定和装载、安全性
D.构件抽象、可替代性、类型安全性、事务管理
【答案】C
【解析】
面向构件的编程(COP)关注于如何支持建立面向构件的解决方案。一个基于一般 OOP 风格的 COP 定义如下(Szyperski,1995): “面向构件的编程需要下列基本的支持:
——多态性(可替代性);
——模块封装性(高层次信息的隐藏);
——后期的绑定和装载(部署独立性);
——安全性(类型和模块安全性)。”
CORBA构件模型中,(36)的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,(37)是最终完成客户请求的服务对象实现。
(36)A.伺服对象激活器 B.适配器激活器
C.伺服对象定位器 D.可移植对象适配器POA
(37)A.CORBA对象 B.分布式对象标识
C.伺服对象Servant D.活动对象映射表
【答案】D C
【解析】
POA是对象实现与ORB其它组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。
CORBA对象可看作是一个具有对象标识、对象接口及对象实现的抽象实体。之所以称为抽象的,是因为并没有硬性规定CORBA对象的实现机制。由于独立于程序设计语言和特定ORB产品,一个CORBA 对象的引用又称可互操作的对象引用(Interoperable Object Reference)。从客户程序的角度看,IOR中包含了对象的标识、接口类型及其他信息以查找对象实现。
伺服对象(servant)是指具体程序设计语言的对象或实体,通常存在于一个服务程序进程之中。
客户程序通过对象引用发出的请求经过ORB担当中介角色,转换为对特定的伺服对象的调用。在一个CORBA对象的生命期中,它可能与多个伺服对象相关联,因而对该对象的请求可能被发送到不同的伺服对象。
对象标识(Object ID)是一个用于在POA中标识一个CORBA对象的字符串。
它既可由程序员指派,也可由对象适配器自动分配,这两种方式都要求对象标识在创建它的对象适配器中必须具有唯一性。
关于构件的描述,正确的是(38)。
(38)A.构件包含了一组需要同时部署的原子构件
B.构件可以单独部署,原子构件不能被单独部署
C.一个原子构件可以同时在多个构件家族中共享
D.一个模块可以看作带有单独资源的原子构件
【答案】A
【解析】
构件是一组通常需要同时部署的原子构件。构件和原子构件之间的区别在于,大多数原子构件永远都不会被单独部署,尽管它们可以被单独部署。相反,大多数原子构件都属于一个构件家族,一次部署往往涉及整个家族。
一个原子构件是一个模块和一组资源。
原子构件是部署、版本控制和替换的基本单位。原子构件通常成组地部署,但是它也能够被单独部署。一个模块是不带单独资源的原子构件(在这个严格定义下,Java 包不是模块——在 Java 中部署的原子单元是类文件。一个单独的包被编译成多个单独的类文件——每个公共类都有一个)。
模块是一组类和可能的非面向对象的结构体,比如过程或者函数。
面向服务系统构建过程中,(39)用于实现Web服务的远程调用,(40)用来将分散的、功能单一的Web服务组织成一个复杂的有机应用。
(39)A.UDDI(Universal Description,Discovery and Integration)
B.WSDL(Web Service Description Language)
C.SOAP(Simple Object Access Protocol)
D.BPEL(Business Process Execution Language)
(40)A.UDDI(Universal Description,Discovery and Integration)
B.WSDL(Web Service Description Language)
C.SOAP(Simple Object Access Protocol)
D.BPEL(Business Process Execution Language)
【答案】C D
【解析】
UDDI(Universal Description,Discovery&Integration),UDDI用于Web服务注册和服务查找;
WSDL(Web Service Description Language),WSDL用于描述Web服务的接口和操作功能;
SOAP(Simple Object Access Protocol),SOAP为建立Web服务和服务请求之间的通信提供支持。
BPEL(Business Process Execution Language For Web Services)翻译成中文的意思是面向Web 服务的业务流程执行语言,也有的文献简写成BPEL4WS,它是一种使用 Web 服务定义和执行业务流程的语言。使用BPEL,用户可以通过组合、编排和协调 Web 服务自上而下地实现面向服务的体系结构(SOA)。BPEL 提供了一种相对简单易懂的方法,可将多个 Web 服务组合到一个新的复合服务(称作业务流程)中。
基于JavaEE平台的基础功能服务构建应用系统时,(41)可用来集成遗产系统。
(41)A.JDBC、JCA和 Java IDL B.JDBC、 JCA和 JMS
C.JDBC、JMS和 Java IDL D.JCA、 JMS和 Java IDL
【答案】D
【解析】
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
JCA 标准化连接子是由 J2EE 1.3 首先提出的,它位于 J2EE 应用服务器和企业信息系统(EIS)之间,比如数据库管理、企业资源规划(ERP)、企业资产管理(EAM)和客户关系管理(CRM)系统。不是用 Java 开发的企业 应用或者在J2EE框架内的应用都可以通过JCA 连接。JCA 是在javax.resource 包和它的子包(cci,spi 和 spi.security)中定义的。(JCA 的缩写形式也用于 Java cryptography API 的缩写。)
JMS 是 Java 对消息系统的访问机制,但它本身并不实现消息。JMS 支持点对点分发的消息队列,也支持多个目标订阅的消息主题。当消息发布给一个主题的适合,消息就会发送给所有那个主题的订阅者。 JMS 支持各种消息类型(二进制、流、名-值表、序列化的对象和文本)。通过声明与 SQL 的WHERE 相近的句段,可以建立消息的过滤器。
Java IDL即idltojava编译器就是一个ORB,可用来在Java语言中定义、实现和访问CORBA对象。Java IDL支持的是一个瞬间的CORBA对象,即在对象服务器处理过程中有效。实际上,Java IDL的ORB是一个类库而已,并不是一个完整的平台软件,但它对Java IDL应用系统和其他CORBA应用系统之间提供了很好的底层通信支持,实现了OMG定义的ORB基本功能。
软件集成测试将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。从组装策略而言,可以分为(42)。集成测试计划通常是在(43)阶段完成,集成测试一般采用黑盒测试方法。
(42)A.批量式组装和增量式组装 B.自顶向下和自底向上组装
C.一次性组装和增量式组装 D.整体性组装和混合式组装
(43)A.软件方案建议 B.软件概要设计 C.软件详细设计 D.软件模块集成
【答案】C B
【解析】
(42)集成测试可以分为一次性组装和增量式组装,增量式组装测试效果更好。
(43)集成测试计划一般在概要设计阶段完成。
(44)架构风格可以概括为通过连接件绑定在一起按照一组规则运作的并行构件。
(44)A.C2 B.黑板系统 C.规则系统 D.虚拟机
【答案】A
【解析】
C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2风格中的系统组织规则如下:
(1)系统中的构件和连接件都有一个顶部和一个底部;
(2)构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;
(3)一个连接件可以和任意数目的其它构件和连接件连接;
(4)当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。
DSSA是在一个特定应用领域中为一组应用提供组织结构参考的软件体系结构,参与DSSA的人员可以划分为4种角色,包括领域专家、领域设计人员、领域实现人员和(45),其基本活动包括领域分析、领域设计和(46)。
(45)A.领域测试人员 B.领域顾问 C.领域分析师 D.领域经理
(46)A.领域建模 B.架构设计 C.领域实现 D.领域评估
【答案】C C
【解析】
(45)参与DSSA的人员可以划分为四种角色:领城专家、领城分析师、领域设计人员和领域实现人员。
1、领域专家
领域专家可能包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。领域专家的主要任务包括提供关于领域中系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品等。
领域专家应该熟悉该领域中系统的软件设计和实现、硬件限制、未来的用户需求及技术走向等。
2、领域分析人员
领域分析人员应由具有知识工程背景的有经验的系统分析员来担任。领域分析人员的主要任务包括控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中,根据现有系统、标准规范等验证领域模型的准确性和一致性,维护领域模型。
领域分析人员应熟悉软件重用和领域分析方法;熟悉进行知识获取和知识表示所需的技术、语言和工具;应具有一定的该领域的经验,以便于分析领域中的问题及与领域专家进行交互;应具有较高的进行抽象、关联和类比的能力;应具有较高的与他人交互和合作的能力。
3、领域设计人员
领域设计人员应由有经验的软件设计人员来担任。领域设计人员的主要任务包括控制核个软件设计过程,根据领域模型和现有的系统开发出DSSA,对DSSA的准确性和一致性进行验证,建立领域模型和DSSA之间的联系。
领域设计人员应熟悉软件重用和领域设计方法;熟悉软件设计方法;应有一定的该领域的经验,以便于分析领域中的问题及与领域专家进行交互。
4、领域实现人员
领域实现人员应由有经验的程序设计人员来担任。领域实现人员的主要任务包括根据领域模型和DSSA,或者从头开发可重用构件,或者利用再工程的技术从现有系统中提取可重用构件,对可重用构件进行验证,建立DSSA与可重用构件间的联系。
领域实现人员应熟悉软件重用、领域实现及软件再工程技术;熟悉程序设计;具有一定的该领域的经验。
(46) DSSA的基本活动包括:领域分析、领域设计、领域实现。
1、领域分析
这个阶段的主要目标是获得领城模型。领域模型描述领域中系统之间的共同的需求,即领域模型所描述的需求为领域需求。在这个阶段中首先要进行一些准备性的活动,包括定义领域的边界。从而明确分析的对象;识别信息源,整个领域工程过程中信息的来源,可能的信息源包括现存系统、技术文献、问题域和系统开发的专家、用户调查和市场分析、领域演化的历史记录等,在此基础上就可以分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。当领域中存在大量系统时,需要选择它们的一个子集作为样本系统。对样本系统需求的考察将显示领城需求的一个变化范围。一些需求对所有被考察的系统是共同的,一些需求是单个系统所独有的。很多需求位于这两个极端之间,即被部分系统共享。
2、领域设计
这个阶段的目标是获得DSSA。DSSA描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。建立了领域模型之后,就可以派生出满足这些被建模的领域需求的DSSA,由于领域模型中的领域需求具有一定的变化性,DSSA也要相应地具有变化性。它可以通过表示多选一的(alternative)、可选的(optional)解决方案等来做到这一点。模型和DSSA来组织的,因此在这个阶段通过获得DSSA,也就同时形成了重用基础设施的规约。
3、领域实现
这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息。这些可重用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到。它们依据领域模型和DSSA进行组织,也就是领域模型和DSSA定义了这些可重用信息的重用时机,从而支持了系统化的软件重用。这个阶段也可以看作重用基础设施的实现阶段。
值得注意的是,以上过程是一个反复的、逐渐求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前的步骤得到的结果进行修改和完善,再回到当前步骤,在新的基础上进行本阶段的活动。
(47)不属于可修改性考虑的内容。
(47)A.可维护性 B.可扩展性 C.结构重构 D.可变性
【答案】D
【解析】
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包含四个方面。
(1)可维护性(maintainability)。这主要体现在问题的修复上:在错误发生后“修复”软件系统。为可维护性做好准备的软件体系结构往往能做局部性的修改并能使对其他构件的负面影响最小化。
(2)可扩展性(extendibility)。这一点关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。
(3)结构重组(reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。
(4)可移植性(portability)。可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无关的方式组织软件系统,其他软件系统和环境被提取出。可移植性是系统能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能是两者的结合。在关于某个特定计算环境的所有假设都集中在一个构件中时,系统是可移植的。如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性。
某公司拟为某种新型可编程机器人开发相应的编译器。该编译过程包括词法分析、语法分析、语义分析和代码生成四个阶段,每个阶段产生的结果作为下一个阶段的输入,且需独立存储。针对上述描述,该集成开发环境应采用(48)架构风格最为合适。
(48)A.管道-过滤器 B.数据仓储 C.主程序-子程序 D.解释器
【答案】A
【解析】
“每个阶段产生的结果作为下一个阶段的输入”是典型的数据流架构风格的特点,选项中仅有管道-过滤器属于这种风格。
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组(49)。架构风格反映领域中众多系统所共有的结构和(50)。
(49)A.约束 B.连接件 C.拓扑结构 D.规则
(50)A.语义特征 B.功能需求 C.质量属性 D.业务规则
【答案】A A
【解析】
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,立刻就会明白系统是如何组织和工作的。
某公司拟开发一个扫地机器人。机器人的控制者首先定义清洁流程和流程中任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用(51)架构风格最为合适。
(51)A.面向对象 B.主程序-子程序 C.规则系统 D.管道-过滤器
【答案】C
【解析】
在本题所述的应用环境中,强调了自定义流程,然后按自定义流程来执行,这属于虚拟机风格的特征,备选答案中,仅有C选项属于虚拟机风格。
某企业内部现有的主要业务功能已封装成为Web服务。为了拓展业务范围,需要将现有的业务功能进行多种组合,形成新的业务功能。针对业务灵活组合这一要求,采用(52)架构风格最为合适。
(52)A.规则系统 B.面向对象 C.黑板 D.解释器
【答案】D
【解析】
依据题目要求,需要灵活组合业务,形成新的业务功能,这样虚拟机风格较为合适。但备选答案中A与D均属于虚拟机风格。
某公司拟开发一个语音搜索系统,其语音搜索系统的主要工作过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供搜索关键词等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用(53)架构风格最为合适。
(53)A.分层系统 B.面向对象 C.黑板 D.隐式调用
【答案】C
【解析】
语音识别是黑板风格的经典应用。
设计模式基于面向对象技术,是人们在长期的开发实践中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以复用这些软件设计办法、过程管理经验。按照设计模式的目的进行划分,现有的设计模式可以分为创建型、(54)和行为型三种类型。其中(55)属于创建型模式,(56)属于行为型模式。(57)模式可以将一个复杂的组件分成功能性抽象和内部实现两个独立的但又相关的继承层次结构,从而可以实现接口与实现分离。
(54)A.合成型 B.组合型 C.结构型 D.聚合型
(55)A.Adaptor B.Facade C.Command D.Singleton
(56)A.Decorator B.Composite C.Memento D.Builder
(57)A.Prototype B.Flyweight C.Adapter D.Bridge
【答案】C D C D
【解析】
(54)设计模式包括:创建型、结构型、行为型三大类别。
(55) Singleton是单例模式,属于创建型设计模式。
(56) Memento是备忘录模式,属于行为型设计模式。
(57) Bridge是桥接模式,它的特点是实现接口与实现分离。
某公司欲开发一个智能机器人系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景。其中“机器人系统主电源断电后,能够在10秒内自动启动备用电源并进行切换,恢复正常运行”主要与(58)质量属性相关,通常可采用(59)架构策略实现该属性;“机器人在正常运动过程中如果发现前方2米内有人或者障碍物,应在1秒内停止并在2秒内选择一条新的运行路径”主要与(60)质量属性相关,通常可采用(61)架构策略实现该属性;“对机器人的远程控制命令应该进行加密,从而能够抵挡恶意的入侵破坏行为,并对攻击进行报警和记录”主要与(62)质量属性相关,通常可采用(63)架构策略实现该属性。
(58)A.可用性 B.性能 C.易用性 D.可修改性
(59)A.抽象接口 B.信息隐藏 C.主动冗余 D.记录/回放
(60)A.可测试性 B.易用性 C.互操作性 D.性能
(61)A.资源调度 B.操作串行化 C.心跳 D.内置监控器
(62)A.可用性 B.安全性 C.可测试性 D.可修改性
(63)A.内置监控器 B.追踪审计 C.记录/回放 D.维护现有接口
【答案】A C D A B B
【解析】
(58、59、60、61)“机器人系统主电源断电后,能够在10秒内自动启动备用电源并进行切换,恢复正常运行”属于可用性,因为场景描述的是故障恢复问题。主动冗余是可用性的常见策略。
(62、63)“对机器人的远程控制命令应该进行加密,从而能够抵挡恶意的入侵破坏行为,并对攻击进行报警和记录”属于安全性,常见的策略是追踪审计。
DES加密算法的密钥长度为56位,三重DES的密钥长度为(64)位。
(64)A.168 B.128 C.112 D.56
【答案】C
【解析】
DES加密算法的密钥长度为56位,三重DES要用到2个DES的密钥,所以长度为112位。
下列攻击方式中,流量分析属于(65)方式。
(65)A.被动攻击 B.主动攻击 C.物理攻击 D.分发攻击
【答案】A
【解析】
在被动攻击(passive attack)中,攻击者的目的只是获取信息,这就意味着攻击者不会篡改信息或危害系统。系统可以不中断其正常运行。常见的被动攻击包括:窃听和流量分析。
主动攻击(active attack)可能改变信息或危害系统。威胁信息完整性和有效性的攻击就是主动攻击。主动攻击通常易于探测但却难于防范,因为攻击者可以通过多种方法发起攻击。常见的主动攻击包括:篡改、伪装、重放、拒绝服务攻击。
软件著作权保护的对象不包括(66)。
(66)A.源程序 B.目标程序 C.用户手册 D.处理过程
【答案】D
【解析】
软件著作权中规定:开发软件所用的思想、处理过程、操作方法或者数学概念不受保护。
M公司购买了N画家创作的一幅美术作品原件。M公司未经N画家的许可,擅自将这幅美术作品作为商标注册,并大量复制用于该公司的产品上。M公司的行为侵犯了N画家的(67)。
(67)A.著作权 B.发表权 C.商标权 D.展览权
【答案】A
【解析】
著作权法规定:美术作品的著作权不随原作品所有权的转变而发生变化。所以M公司购买N画家的美术作品,著作权不归M公司,而归N画家。M公司将美术作品注册为商标,是侵犯了N画家著作权的。
M软件公司的软件产品注册商标为N,为确保公司在市场竞争中占据优势,对员工进行了保密约束。此情形下,(68)的说法是错误的。
(68)A.公司享有商业秘密权 B.公司享有软件著作权
C.公司享有专利权 D.公司享有商标权
【答案】C
【解析】
在题目的描述中,未体现出有申请专利的行为,所以不享有专利权。
某公司有4百万元资金用于甲、乙、丙三厂追加投资。各厂获得不同投资款后的效益见下表。适当分配投资(以百万元为单位)可以获得的最大的总效益为(69)百万元。
(69)A.15.1 B.15.6 C.16.4 D.16.9
【答案】C
【解析】
以下关于数学建模的叙述中,不正确的是(70)。
(70)A.数学模型是对现实世界的一种简化的抽象描述
B.数学建模时需要在简单性和准确性之间求得平衡
C.数学模型应该用统一的、普适的标准对其进行评价
D.数学建模需要从失败和用户的反馈中学习和改进
【答案】D
【解析】
数学建模是利用数学方法解决实际问题的一种实践。即通过抽象、简化、假设、引进变量等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。 这是A和B的原因,数学模型是对于现实世界的一个特定对象,一个特定目的,根据特有的内在规律,做出一些必要的假设,运用适当的数学工具,得到一个数学结构。数学建模应该有一个统一的评价机制。至于D,数学建模并没有反馈机制。
The objective of(71)is to determine what parts of the application software will be assigned to what hardware. The major software components of the system being developed have to be identified and then allocated to the various hardware components on which the system will operate. All software systems can be divided into four basic functions. The first is(72).Most information systems require data to be stored and retrieved, whether a small file,such as a memo produced by a word processor, or a large database, such as one that stores an organization’s accounting records.The second function is the(73),the processing required to access data, which often means database queries in Structured Query Language. The third function is the (74),which is the logic documented in the DFDs, use cases,and functional requirements.The fourth function is the presentation logic,the display of information to the user and the acceptance of the user’s commands.The three primary hardware components of a system are (75).
(71)A.architecture design B.modular design
C.physical design D.distribution design
(72)A.data access components B.database management system
C.data storage D.data entities
(73)A.data persistence B.data access objects
C.database connection D.data access logic
(74)A.system requirements B.system architecture
C.application logic D.application program
(75)A.computers,cables and network B.clients,servers,and network
C.CPUs,memories and I/O devices D.CPUs,hard disks and I/O devices
【答案】A C D C B
【解析】
架构设计的目标是确定应用软件的哪些部分将分配到何种硬件。识别出正在开发系统的主要软件构件并分配到系统将要运行的硬件构件。所有软件系统可分为四项基本功能。第一项是数据存储。大多数信息系统需要数据进行存储并检索,不论是一个小文件,比如一个字处理器产生的一个备忘录,还是一个大型数据库,比如存储一个企业会计记录的数据库。第二项功能是数据访问逻辑,处理过程需要访问数据,这通常是指用SQL进行数据库查询。第三项功能是应用程序逻辑,这些逻辑通过数据流图,用例和功能需求来记录。第四项功能是表示逻辑,给用户显示信息并接收用户命令。一个系统的三类主要硬件构件是客户机、服务器和网络。