2016年系统架构设计师考试下午试题加答案(五)

系统架构设计师 责任编辑:长颈鹿 2016-11-03

添加老师微信

备考咨询

加我微信

摘要:2016年下半年软考系统架构设计师将于11月12日举行。考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

>>>>>2016下半年软考考前串讲网络班特惠开班!讲师解析知识点,赠送历年真题!


      2016年下半年系统架构设计师考试将于11月12日举行。考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

      阅读以下关于分布式系统设计的说明,回答问题。

      某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和I/O端口冲突等原因,这些设备需要分散安装在多个不同的计算机系统中。该系统上线运行后将为企业最终用户提供7×24小时的不问断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。

      项目组决定基于ISO的开放分布进程(ODP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。

      46、ODP从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图中不同视点所关注的核心内容,将备选的架构视点填入图中的(1)~(5)备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、逻辑信息架构。

1.png

      47、在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件)来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统;而李工则认为可基于基本的进程间通信机制自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认真讨论,最终采用了王工的方案。请用400字以内文字,从构件管理支持、互操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系统所提供的基本支撑。

      48、由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考虑的核心问题之一。如图所示是当前分布式基础设施中支持分布式对象互操作的基本机制,请将相应部件名称填入图中(1)~(2);基于图给出的结构,用300字以内文字说明完成一次分布式对象调用的详细步骤。

2.png

      参考答案

      46、(1)企业业务架构

      (2)逻辑信息架构

      (3)计算接口架构

      (4)分布式工程架构

      (5)技术选择架构

      [解析]本题考查考生对典型分布式系统架构设计相关基础知识的掌握,要求考生了解基于ODP的架构设计过程中不同架构视点所关注的核心工作,充分理解现有分布式基础设施为分布式系统构建提供的各种基本支撑,掌握分布式对象互操作的基本原理与交互过程。本问题考查考生对ODP架构视点的理解程度。

      ISO定义的ODP参考模型为分布式计算进程提供了一个基本框架,它定义了分布式系统中包括开放性、整体性、灵活性、可塑性、联合性、可操作管理性、优质服务、安全性和透明性等在内的重要性质。其体系结构视点把抽象的符号或图表(如UML图表)运用到具体的体系结构开发任务中,每个视点有具体的建模目标和系统相关者。ODP从5个标准的视点组织分析了系统的架构,描述了同一系统的不同重要方面,这些视点包括企业业务架构、逻辑信息架构、计算接口架构、分布式工程架构和技术选择架构。

      企业业务架构从IT的角度,对企业的业务结构、企业机构与业务的关系、企业内部的关系以及企业与外部机构的关系进行整理定义。该架构视点关注的核心内容包括业务目标、业务对象和业务策略等。

      逻辑信息架构标识出系统必须知道什么,这种架构通过一个对象模型来表达,强调定义系统状态的属性。该架构视点关注的核心内容包括信息、对象、信息联合和信息行为等。

      计算接口架构定义顶层的应用程序接口,这些是完全工程化的子系统边界的接口,这些接口的架构控制对于一个支持变化和控制复杂性的稳定的系统结构来说,是非常重要的。该架构视点关注的核心内容包括子系统的一致性、应用程序接口和接口行为等。

      分布式工程架构定义了底层结构的需求,而独立于所选择的技术,它很好地解决了包括物理位置、系统规模可变性和通信服务质量等在内的复杂系统策略。该架构视点关注的核心内容包括软件分配、过程分配和服务质量等。技术选择架构确定了实际的技术选择,所有其他视点都独立于这些决定,一个系统的选择过程包括初始概念机制的确认、具体机制的标识及最终实际机制的选择。该架构视点关注的核心内容包括概念性机制、具体的机制和实际的机制等。

      基于上述分析,图中的(1)~(5)应分别填写企业业务架构、逻辑信息架构、计算接口架构、分布式工程架构和技术选择架构。

      47、(1)构件管理支持:现有分布式基础设施一般通过构件容器为构件提供基本的运行环境;具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。

      (2)互操作支持:现有分布式基础设施均提供了高层通信协议,以屏蔽节点的物理特性以及各节点在处理器、操作系统、程序设计语言等方面的异构性;基于互操作支持,开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码。

      (3)公共服务支持:现有分布式基础设施通常将针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序;其提供的常见公共服务包括命名服务、事务服务、安全服务、持久性服务等。

      本问题考查考生对现有分布式基础设施的理解。

      随着软件系统规模与复杂度的不断提高,软件开发过程中复杂度高、开发周期长、可靠性保证难等突出问题并没有得到根本缓解,而分布式软件面临更大的挑战,分布式软件所运行的网络环境具有明显的分布性、开放性、演化性、异构性、并发性等特征,因此分布式软件必须解决互操作、数据交换、分布性、可行性等一系列更复杂的问题。现有的分布式基础设施为三层/多层结构的分布式软件系统提供了各种开发支撑,由于三层结构的分布式软件的核心为中间层,因此支撑主要集中在对中间层开发的支撑上。现有基础设施为分布式软件系统提供的基本支持与分布式软件所运行的网络环境密切相关,具体可归结为提供构件运行环境、提供互操作机制与提供公共服务三个方面,基于分布式基础设施提供的支持,可以在更短时间构造出质量更高的分布式系统。

      (1)提供构件运行环境:现有分布式基础设施均提供构件化的基本支持,支持方便开发与使用符合特定规范的构件(分布式对象)。中间件一般通过构件容器为构件提供基本的运行环境,具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。

      (2)提供互操作机制:因为分布式软件跨越了多台计算机,因此跨越网络的交互是每个分布式系统必须解决的首要问题,现有分布式基础设施均集成了早期远程过程/方法调用中间件的功能,提供了很强的高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统等方面的异构性。基于中间件的互操作支持,开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码。

      (3)提供公共服务:除了互操作的支持外,现有分布式基础设施将早期各种中间件中针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序。公共服务又称为系统级服务,是指由中间件(应用服务器)实现的、应用程序使用的软件系统中共性程度高的功能成分。与应用程序中开发人员开发的构件实现的功能不同,公共服务通常不实现应用系统中具体的业务逻辑,而是为具体业务逻辑的实现提供共性的支持,而开发人员开发的构件则实现具体的业务逻辑。常见的公共服务包括命名服务、事务服务、安全服务、持久性服务等。

      48、(1)存根/桩

      (2)框架或

      (1)代理

      (2)存根

      一次远程调用的过程如下。

      ①客户程序将调用请求发送给客户端桩,对于客户程序来说,桩就是服务程序在客户端的代理。

      ②客户端桩负责将远程调用请求进行编组并发送给通信总线。

      ③调用请求经通信总线传送到服务端框架。

      ④服务端框架将调用请求解组,并分派给真正的远程对象实现(服务程序)。

      ⑤服务程序完成客户端的调用请求,将结果返回给服务端框架。

      ⑥服务端框架将调用结果编组,并发送给通信总线。

      ⑦调用结果经通信总线传送到客户端桩。

      ⑧客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果。本问题考查考生对现有分布式对象互操作机制的理解。

      各种互操作通信协议,包括RPC、IIOP、DCOM通信协议、JRMP、RMI/IIOP等,均可以帮助应用程序完成编组与解组等跨越网络通信的底层工作。这些高层通信协议尽管具体的实现细节不尽相同,但是在实现方式上与开发模式上均采用了RPC中相同的通信模型与类似的开发模式,它们采用的通信模型称为存根/框架(也称为桩/框架或代理/存根)结构。

      RPC是一种广泛使用的分布式应用程序处理方法。应用程序使用RPC来远程执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。需要注意的是,这里的“远程”既可以指不同的计算机,也可以指同一台计算机上的不同进程。一个RPC应用可分为两个部分,分别是服务器和客户。这里的“服务器”和“客户”是指逻辑上的进程,而不是指物理计算机。支持RPC的软件如图所示。

3.png

      在图中,通信模块实现请求-应答协议,在客户和服务器之间传递请求和应答消息。服务器提供一个或多个远程过程,客户向服务器发出远程调用。服务器和客户可以位于同一台计算机,也可以位于不同的计算机,甚至可运行在不同的操作系统之上。它们通过网络进行通信,相应的存根(stub)过程和运行支持提供数据转换和通信服务,从而屏蔽不同的操作系统和网络协议。存根过程用来解码请求消息中的参数、调用相应的服务过程和编码应答消息中的返回值。服务过程实现服务接口中的过程。调度程序根据请求消息中的过程标识选择一个服务器存根过程。客户存根过程(也称为客户端桩)、服务器存根过程(Skeleton,也称为服务端框架)和调度程序都可由接口编译器根据服务的接口定义而生成。在这里,RPC通信是同步的。如果采用线程的方式,则可以进行异步调用。在RPC模型中,客户和服务器只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的服务器。因此,RPC为分布式计算提供了强有力的支持。同时,RPC所提供的是基于过程的服务访问,客户与服务器进行直接连接,没有中间机构来处理请求,因此,也具有一定的局限性。例如,RPC通常需要一些网络细节以定位服务器;在客户发出请求的同时,要求服务器必须是活动的。

      在该结构中,由客户端桩替客户端完成与服务端程序交互的具体底层通信工作,客户程序中的远程对象引用实际上是对本地桩的引用;而服务端框架则负责替服务端完成与客户端交互的具体底层通信工作。由于客户端桩与服务端框架分别位于客户端与服务端程序的进程内,因此开发人员开发客户端与服务端程序时只需分别与本进程内的桩与框架构件交互即可实现与远端的交互,而负责底层通信的客户端桩与服务端框架在开发过程中自动生成而非由开发人员编写,从而为开发人员省去了底层通信相关的开发工作。在存根/框架机制的支撑下,客户程序与分布式对象之间按照以下8个步骤完成一次远程调用。

      ①客户程序将调用请求发送给客户端桩,对于客户程序来说,桩就是服务程序在客户端的代理。

      ②客户端桩负责将远程调用请求进行编组并发送给通信总线。

      ③调用请求经通信总线传送到服务端框架。

      ④服务端框架将调用请求解纠,并分派给真正的远程对象实现(服务程序)。

      ⑤服务程序完成客户端的调用请求,将结果返回给服务端框架。

      ⑥服务端框架将调用结果编组,并发送给通信总线。

      ⑦调用结果经通信总线传送到客户端桩。

      ⑧客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果。


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取