每日打卡题86-90答案
86、【2016年真题】 难度:一般
CORBA构件模型中, (1) 的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调, (2) 是最终完成客户请求的服务对象实现。
(1)A.伺服对象激活器 B.适配器激活器
C.伺服对象定位器 D.可移植对象适配器POA
(2)A.CORBA对象 B.分布式对象标识
C.伺服对象Servant D.活动对象映射表
答案:(1)D (2)C
解析:
POA是对象实现与ORB其它组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。
CORBA对象可看作是一个具有对象标识、对象接口及对象实现的抽象实体。
之所以称为抽象的,是因为并没有硬性规定CORBA对象的实现机制。由于独立于程序设计语言和特定ORB产品,一个CORBA对象的引用又称可互操作的对象引用(Interoperable Object Reference)。从客户程序的角度看,IOR中包含了对象的标识、接口类型及其他信息以查找对象实现。
伺服对象(servant)是指具体程序设计语言的对象或实体,通常存在于一个服务程序进程之中。
客户程序通过对象引用发出的请求经过ORB担当中介角色,转换为对特定的伺服对象的调用。在一个CORBA对象的生命期中,它可能与多个伺服对象相关联,因而对该对象的请求可能被发送到不同的伺服对象。
象标识(Object ID)是一个用于在POA中标识一个CORBA对象的字符串。它既可由程序员指派,也可由对象适配器自动分配,这两种方式都要求对象标识在创建它的对象适配器中必须具有唯一性。
87、【2016年真题】 难度:一般
基于JavaEE平台的基础功能服务构建应用系统时, 可用来集成遗产系统。
A.JDBC、JCA和 JavaIDL B.JDBC、 JCA和 JMS
C.JDBC、JMS和 Java IDL D.JCA、 JMS和 JavaIDL
答案:D
解析:
遗产系统可以由JCA、 JMS和 JavaIDL构成。
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基本功能。
88、【2016年真题】 难度:一般
( )属于可修改性考虑的内容。
A.可维护性 B.可扩展性 C.结构重构 D.可变性
答案:D
解析:
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包含四个方面。
(1)可维护性(maintainability)。这主要体现在问题的修复上:在错误发生后“修复”软件系统。为可维护性做好准备的软件体系结构往往能做局部性的修改并能使对其他构件的负面影响最小化。
(2)可扩展性(extendibility)。这一点关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。
(3)结构重组(reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。
(4)可移植性(portability)。可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无关的方式组织软件系统,其他软件系统和环境被提取出。可移植性是系统能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能是两者的结合。在关于某个特定计算环境的所有假设都集中在一个构件中时,系统是可移植的。 如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性。
89、【2016年真题】 难度:一般
某公司拟为某种新型可编程机器人开发相应的编译器。该编译过程包括词法分析、语法分析、语义分析和代码生成四个阶段,每个阶段产生的结果作为下一个阶段的输入,且需独立存储。针对上述描述,该集成开发环境应采用( )架构风格最为合适。
A.管道-过滤器 B.数据仓储 C.主程序-子程序 D.解释器
答案:A
解析:
在管道和过滤器软件体系结构中,每个模块都有一组输入和一组输出。每个模块从它的输入端接收输入数据流,在其内部经过处理后,按照标准的顺序,将结果数据流送到输出端,以达到传递一组完整的计算结果实例的目的。它最典型的应用是在编译系统。一个普通的编译系统包括词法分析器,语法分析器,语义分析与中间代码生成器,优化器,目标代码生成器等一系列对源程序进行处理的过程。题干描述适合管道-过滤器模式。
90、【2016年真题】 难度:一般
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组 (1) 。架构风格反映领域中众多系统所共有的结构和 (2) 。
(1)A.约束 B.连接件 C.拓扑结构 D.规则
(2)A.语义特征 B.功能需求 C.质量属性 D.业务规则
答案:(1)A (2)A
解析:
架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。