1、2008年上半年软件水平考试(高级)系统分析师下午(案例分析)试题真题试卷及答案与解析 1 阅读以下关于某电子政务项目的叙述,回答问题 1至问题 4。 电子政务是指政府机构利用信息化手段来实现政府职能。 某市房地产交易网站是市建设委员会实施电子政务的门户,网站包括以下栏目:项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪和在线答疑等,其中业务办理栏目中又包括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理和评估行业管理等项目,多数的业务办理项目需要管 理部门多级审批。 1 一般而言,电子政务业务分为三个领域,如图 1-1所示 (箭头表示信息的流向
2、)。请在图中 (1)、 (2)、 (3)空中填写恰当的内容。 2 电子政务根据其服务的对象不同,基本上可以分为 4种模式: G2G、 G2B、 G2C和 G2E。请根据本题中房地产交易网站的栏目内容,说明该市建设委员会的电子政务系统包括了哪些模式 ?为什么 ? 3 本题中的电子政务项目在进行需求分析时,系统分析师需要有效地获取需求,进行需求建模。需求建模包括域建模、用例建模、组件和服务建模、性能建模等。请用 300字以内文字分 别简要叙述什么是用例建模、组件和服务建模、性能建模。 4 系统分析师必须能够与具有不同背景的利益相关者 (如政府各个部门、房地产开发企业和购房者等 )进行沟通交流,以提
3、取和细化需求,并向这些利益相关者描述系统的体系结构。请用 50字以内文字简要叙述常用的沟通交流技巧。 5 阅读以下关于软件开发方面的叙述,回答问题 1至问题 4。 当前企业中的业务都是在全球化、快速变化的环境中运营的,传统的软件开发过程无法适应由此产生的快速软件开发需求。 20世纪 90年代后期,一些软件开发人员在 Agile Allicance 2001中系统地阐述了敏捷开发的原则,试图强调灵活性在快速且有效地生产软件中所发挥的作用。目前,众多的软件生产企业已经在实际的软件开发过程中接纳并实践了敏捷开发方法中的基本原则。 5 敏捷开发有许多典型方法,包括极限编程 (eXtreme Progr
4、amming)、 Scrum、Crystal和 DSDM等。请问这些方法共同的基本原则是什么 ? 6 敏捷开发的支持者往往夸大该方法的优点,但是在实践中,敏捷方法的基本原则有时确实很难实施。请用 200字以内的文字说明敏捷方法中哪些原则在实践中难以实施。 7 敏捷开发方法中最有名的是极限编程。请说明极限编程中的结对编程 (Pair Programming)的概念。 8 敏捷开发方法在具体实践过程中,往往需要开发环境或工具的支持,一般称为快速应用开发技术和可视化开发技术。请用 150字以内的文字说明快速应用开发技术所包含的工具有哪些,并简要说明可视化开发技术的基本概念和技术原理。 9 阅读以下关
5、于嵌入式系统软件设计方面的叙述,回答问题 1至问题 3。 某公司承担了一项嵌入式系统软件开发项目。该项目主要用于车载电子系统中监视发动机及燃油系统等系统工作状况,并通过综 合仪表显示给驾驶员。经过多次与用户沟通,形成以下技术要求: (1)本项目的硬件平台由主处理机模块和多种接口模块组成,底板采用标准 VME总线 (硬件结构图如图 3-1所示 ),具体硬件模块配置如下。 主处理机模块 (CPM)采用 PowerPC755,主频 266MHz,配有 SDRAM存储器和FLASH存储器;提供一个定时 /计数器;支持 16级中断和二级 cache。 输入输出模块 (IOC)支持 16路 RS422接口
6、信号,传输速率不低于 115.2kbps, IOC模块与CPM模块的数据交换采用 64KByte双端口存储器。 离散量接口模块 (DAM)支持64路开关型离散量输入输出接口; 2路频率量输入; 12位 A/D转换器和 12位:D/A转换器。 图形处理模块 (GPM)用于显示图形,支持 OpenGL标准接口软件。 MBI模块主要提供 1553B外总线接口, PSM为电源支持模块。 (2)本项目软件主要工作在 CPM模块中,完成对外部设备的数据采集、分析和相应的控制,将监视结果以图形方式显示给驾驶员。该系统的软件主要包括外部接口驱动软件、 VME数据传输软件、处理软件、图形显示和外总线 (1553
7、B)数据交换软件。要求数据的采集必须确保每 帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧。详细的技术要求如下。 16路 RS422接口主要完成对汽车燃油系统、动力系统和驾驶员命令的数据采集与控制。 RS422数据传输格式将以 32Byte为基本数据块,分别以 20ms、 40ms、 60ms和 1s四个不同周期交换数据。 64路离散量数据主要监控发动机工作状态,要求每 10ms采集一次,并在下一个 10ms周期内将发动机状况显示到驾驶员座舱。 多路模拟量数据主要采集发动机转速、油量及汽车的其他数据,为驾驶员监控汽车状态提 供必要的量化数据。模拟量数据的
8、刷新频率为 1s。 外总线 (1553B)主要完成该系统与汽车其他电子系统的数据交换。 公司将本项目交给项目主管李工实施,要求李工按技术要求完成本项目的软件设计工作,公司根据合同关于 “数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧 ”的要求,提醒李工设计中重点考虑整个系统的实时性问题。李工完成设计后,提交公司评审,会上就李工设计中存在的缺陷展开了激烈讨论,最终达成一致。 9 李工在设计 IOC模块软件时指出:为了使 CPM模块能够及时处理 RS422数据,在 IOC与 CPM间的双端口存储器中为每个 422通道设计一级缓冲,当某通道
9、接收一个字节时,就将数据放入缓冲,由 CPM接收 (其结构如图 3-2所示 )。这样的好处在于每当有数据输入时, CPM模块可立即读取,而增大双口缓冲的目的是在CPM来不及处理时可防止数据的丢失。同时, IOC中的程序相对简单、实时性好、可以不考虑 422通道的数据传输周期,只要按查询方式对 16路 422输入进行查询读取即可。 会上,王工提出了强烈的反对意见,认为这种设计方法绝对不可取,这种方法只考虑了软件的简单 与便利,而没有针对软件特点考虑问题,在设计中对实时性、负载平衡分配及实现算法上均存在缺陷,必须改进。 (1)你认为李工的设计在实时性、负载平衡分配和实现算法上存在怎样的缺陷 ?详细
10、说明理由。 (2)请给出 IOC模块和 CPM模块之间双口存储器数据交换方法。 10 如果 CPM模块中采用了嵌入式实时操作系统,请根据本项目的需求,用 300字以内的文字说明 CPM模块中数据采集任务应如何划分 ?系统对任务调度的最小调度周期如何计算 ?各个任务周期及优先级如何定义 ? 11 请用 150字以内的文字说明针对 IOC模块的多路 RS422接口的数据采集,其驱动程序使用中断方式或查询方式的主要差别是什么 ?主要优缺点有哪些 ? 12 阅读以下关于分布式数据库的叙述,回答问题 1至问题 3。 随着传统的数据库技术的成熟和计算机网络技术的发展,分布式数据库系统的研究与开发受到人们越
11、来越多的关注。分布式数据库支持数据独立性和分布透明性。用户不必关心数据的逻辑分区,不必关心数据物理位置分布的细节,也不必关心副本的一致性问题。 12 请用 200字以内的文字叙述分布式数据库的主要特性和优缺点。 13 在数据库中,某个业务表中 的数据量很大,急速膨胀,在这样的情况下,为了保持高的数据响应速度,根据数据的 (1)和 (2)原则,可以对数据表进行分片设计。一般有两种分片方法: (3)和 (4)。 请在空 (1)、 (2)、 (3)和 (4)处填写恰当的内容,并用 200字以内的文字叙述数据表分片满足的条件并给出简要说明。 14 分布式数据库中各局部数据库应满足集中式数据库的基本需求
12、,除此以外还应保证数据库的数据全局 (5)、并发操作的 (6)和故障的全局 (7)。 请在空 (5)、 (6)和 (7)处填写恰当的内容并用 300字以内的文字简述保持数据 库一致性的方法。 15 阅读以下关于 Web应用方面的叙述,回答问题 1至问题 3。 Web 2.0是目前 Internet上 Web应用的新模式,其概念由 Tim OReilly于 2003年首先提出。目前 Internet上已经有很多基于 Web 2.0的 Web应用系统,例如Facebook、 Wikipedia、 Blogger、 del.icio.us、 YouTube和 Flickr等,其应用涵盖各个方面。 1
13、5 请用 200字以内的文字叙述基于 Web 2.0的 Web应用与传统 Web应用的重要不同点,并给出简要 解释 (列举 5个方面的不同点即可 )。 16 基于 Web 2.0的 Web应用十分强调用户的体验与感受, Ajax是目前广泛使用的表现层技术。请用 200字以内的文字简要介绍 Ajax的概念和核心思想,并说明在使用 Ajax时,从效率方面考虑需要注意的问题 (列举三个即可 )。 17 某房地产信息网站欲整合 Google提供的地图信息 (Google Maps)和 Craigslist(美国最大的分类广告网站 )提供的房地产信息,为用户提供新的房地产信息增值服务。负责网站建设的工程
14、师提出了两种解决方案,第一种方案拟采用传统的应 用系统集成方法,集成来自不同源的数据。另外一种采用基于 Web 2.0的 Mashup技术,从不同的数据源抽取数据,聚合并转换数据,在不同的上下文使用,具体如表5-1所示。请阅读并完成表中空白部分 (标号 (1) (8)处 )。2008年上半年软件水平考试(高级)系统分析师下午(案例分析)试题真题试卷答案与解析 1 【正确答案】 (1)政府办公自动化 (或办公自动化系统 ) (2)政务信息查询 (或政务信息发布系统 ) (3)公共政务办公 (或政务业务办理系统 ) 【试题解析】 问题 1分析:所谓电子政务,是指国家 机关在政务活动中全面应用现代化
15、信息技术进行管理和办公,以及为社会公众提供服务。政务活动主要包括:政府部门及时发布政务信息,供公众了解和使用;政府通过网络互动处理公众需要办理的事务,倾听公众的呼声,同时对公众的要求、意见和建议做出及时的回应;政府机构内部要实现自动化和网络化办公,从而大幅度地提高办公效率;公务员要通过网络来获得政府内部的工作信息及外部的相关信息,从而为日常政务的处理和领导决策提供参考。因此,根据政府机构的业务构成,通常电子政务主要包括三个应用领域:政务信息查询,面向社会公众和企业组织,为其提供 政策、法规、条例和流程的查询服务;公共政务办公,借助因特网实现政府机构的对外办公,如申请、申报等,提高政府的运作效率
16、;增加透明度;政府办公自动化,以信息化手段提高政府机构内部办公的效率,如公文报送、信息通知和信息查询等。 问题 2分析:电子政务根据其服务对象的不同,基本上可以分为 4种模式:政府对政府 (Government to Government, G2G)、政府对企业 (Government to Business, G2B)、政府对公众 (Government to Citizen, G2C)及政府对公务员(Government to Employee, G2E)。题目中指出房地产交易网站包括以下栏目:项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪和在线答疑等,其中业务办理栏目中又包
17、括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理和评估行业管理等,这些栏目主要是面向购房者 (个人 )或房地产经销商 (企业 )的,故涉及 G2C和 G2B。另外,由于许多业务需要多级审批,系统后台还包括了面向公务员的子系统,即 G2E。 问题 3分析:系统分析师要有效地获取需求,首先要进行建 模,包括创建体系结构的表示形式以捕获需求、就解决方案方法进行交流及分析所提出的系统设计等,其目的是使用模型来表现系统中的关键方面。 域建模指的是,对问题域创建相应的模型并且把它划分为若干个内聚组的过程。域模型是一种用于理解问题域的工具。构造域模型,包括以下几个步骤:标
18、识并确定参与者及其活动的特征,标识管理操作策略,收集有关实现这些活动、操作的信息,将相关的要素划分为子域,确定结果域及它们之间交互的特征。 用例模型描述了各种参与者 (人和其他系统 )和系统之间的主要交互。用例应该说明系统如何支持域和业 务流程模型中的业务流程。用例建模可以描述利益相关者(例如,用户和维护人员 )所看到的系统行为。 组件模型为子系统、模块和组件的层次结构分配需求和职责。服务模型将应用程序定义为一组位于外部边界 (用例 )、架构层之间的抽象服务接口,并且提供了通用的应用程序和基础结构 (安全、日志记录和配置等 )。支持应用程序需求的这组服务可以与现有的内部和外部提供的接口规范相匹
19、配。 性能建模主要关注构建和部署应用程序的速度、构建、维护和运行的费用、该应用程序满足其需求的程度、必须使用该应用程序的人的代价、该应用程序会对其他 应用程序和基础结构产生的影响等。可以将这些方面分为应用程序的质量属性,如执行时间、资源使用、开发复杂性和维护复杂性等。 问题 4分析:系统分析师必须能够与具有高度复杂背景的利益相关者进行沟通交流,以提取和细化需求,并向这些利益相关者描述系统的体系结构。沟通交流的技巧主要包括如下方面。 (1)组交互。与不同组中的成员进行交流,而这些人具有不同的背景、技能和日程安排。通常,这包括与各种参与者开会,所有的人一起或者集中其中部分人。 (2)演示。向广泛的
20、听众介绍所提出的体系结构。创建清楚且有效的演示 文档,该文档需要避免使用填满了项目符号的大量幻灯片,力求使用图形的表示方法,并围绕相关的图表展开介绍。 (3)调查。通过各种调查来发现需求。调查的问题应该是清楚的、明确的并且具有启发性的。 (4)访谈。与组织中各个级别的利益相关者进行访谈,他们可能来自于不同的技术和业务部门。 (5)书面方式。通常,书面交流需要比口头交流更加小心。与面对面的直接交流相比,它无法 (表情图标除外 )通过面部的表情和身体语言来传达微妙的暗示。这在电子邮件消息中尤其困难,它很容易就会被误解。 2 【正确答案】 包 括如下模式。 G2B:栏目中有申办预售许可、申请预售登记
21、等,针对房地产开发商企业。 G2C栏目中有权属登记申请等,主要是针对购房个人。 G2E:因为题目中指出多数业务办理项目需要政府主管部门多级审批,所以系统后台还包括办公自动化系统。 3 【正确答案】 用例建模描述各种参与者 (人和其他系统 )和系统之间的主要交互。用例建模可以描述利益相关者 (例如,用户和维护人员 )所看到的系统行为。 组件建模确定系统的子系统、模块和组件结构,为子系统、模块分配需求和职责,每个组件元素作为一个自包含 的单元,用于开发、部署和执行。服务建模提供了通用的应用程序,并将应用程序定义为一组抽象服务接口。 性能建模是对系统的性能进行度量,为每个组件确定性能指标。包括执行时
22、间、资源使用、开发复杂性和维护复杂性等质量属性。 4 【正确答案】 调查,访谈,演示,组交互 (会议 )和书面交流 (电子邮件 )等。 5 【正确答案】 (1)客户参与。 (2)增量式移交。 (3)开发团队的技术应该得到承认和发扬。团队成员应该保持他们自己的工作风格,不落俗套。 (4)接受变更。 (5)保持简单性。 【试题解析】 本题 考查软件开发方法。 2001年, Kent Beck和其他 16位知名软件开发者、软件工程作家及软件咨询师(被称为敏捷联盟 )共同签署了 “敏捷软件开发宣言 ”。该宣言声明 “我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们
23、认为:个体和交互胜过过程和工具;可工作软件胜过宽泛的文档;客户合作胜过合同谈判;响应变化胜过遵循计划。亦即,虽说上述右边的各硕很有价值,但我们认为左边的各项具有更大的价值。 ” 目前比较典型的敏捷过程模型有极限编程、 Scrum、 Crystal和 DSDM等,虽然过程模型实践上有差异,但都是遵循了敏捷宣言或者是敏捷联盟所定义的原则。这些原则包括客户参与、增量式移交、简单性、接受变更、强调开发者的作用和及时反馈等。 虽然敏捷开发方法近年来发展很快,但在实施的过程中也暴露出来很多问题,一些敏捷方法的基本原则很难实施。其中主要有如下 4点。 (1)客户参与往往依赖于客户参与的意愿和客户自身的代表性
24、。 (2)团队成员的性格可能不适合激烈的投入,可能无法做到与其他成员之间的良好沟通。 (3)对系统中的变更作出优先级排序可能是极端困难的。 (4)维护系统的简洁性往往需要额外的工作,但迫于移交时间表的压力,可能没有时间执行系统简化过程。 敏捷开发方法中最著名的是极限编程。极限编程中提出了 12个实践操作,其中一个是结对编程。开发人员成对工作,检查彼此的工作并提供支持,圆满完成任务。但是,配对是灵活的,一个开发人员在一天可能与多个伙伴配对。 敏捷开发方法在具体实践过程中,往往需要开发环境或工具的支持,这些工具包括数据库编程语言、界面生成器、与办公应用的连接和报告生成器等。可视化开发是一种通过集成
25、细粒度可复用软件组件来构造软件的快速 应用开发方法。可视化编程技术的主要思想是用图形工具和可重用部件来交互地编制程序,可视化编程一般基于事件驱动的原理。一般可视化编程工具还有应用专家或应用向导提供模板,按照步骤对使用者进行交互式指导,让用户定制自己的应用,然后就可以生成应用程序的框架代码,用户再在适当的地方添加或修改以适应自己的需求。 6 【正确答案】 (1)客户参与往往依赖于客户参与的意愿和客户自身的代表性。 (2)团队成员的性格可能不适合激烈的投入,可能无法做到与其他成员之间的良好沟通。 (3)对系统中的变更作出优先级排序可能是极端困难 的。 (4)维护系统的简洁性往往需要额外的工作,但迫
26、于移交时间表的压力,可能没有时间执行系统简化过程。 7 【正确答案】 结对编程:开发人员成对工作,检查彼此的工作并提供支持,圆满完成任务。 8 【正确答案】 快速应用开发中所包括的工具如下。 (1)数据库编程语言。 (2)界面生成器。 (3)与办公应用的连接。 (4)报告生成器。 可视化开发是一种通过集成细粒度可复用软件组件来构造软件的快速应用开发方法。 可视化开发技术的主要思想是用图形工具和可重用部件来交互地编制程序。 可视化开 发一般基于事件驱动的原理。 9 【正确答案】 (1)从本题 (2)中的技术要求 的描述可以看出, RS422的数据是按32Byte为基本数据块进行传输的,这说明数据
27、块应是连续发送的。 实时性:李工提出的在: IOC接收到一个字节后就发送给 CPM模块,这不但影响了 IOC的实时性,同时也影响了 CPM的实时性。 负载平衡分配:从命题上可以看出 IOC是智能设备,可以独立完成 RS422的数据采集,按李工设计方法, IOC的处理能力没有充分发挥,而加大了 CPM模块负载量,使得两模块的负载不平衡。 实现算法 :基于前两个设计缺陷的存在,使得实现算法上软件的功能模块设计不完整、增大了 CPM模块上的软件设计复杂度、没有有效地利用硬件资源。 (2)IOC和 CPM之间的数据交换设计办法如下。 将 IOC和 CPM两模块的任务负载量划分均衡,具体使 IOC按每个
28、 RS422通道的 32Byte为基本数据块进行接收,一次统一提交给 CPM模块。 在 IOC模块中为每个通道设计 1 2个 32Byte缓冲区。 IOC在接到一个字节后,将数据放入每个 32Byte缓冲区,当一个完整的数据块接收完成后,一次性地将数据发送给 CPM模块。 IOC的软件可以使用中断方式或查询方式进行数据接收,一旦数据块的头字节到达后,使用查询方式连续将 32个字节接收完成。 CPM模块的通道采集程序可一次性读取完成的数据块,这样就降低了 CPM的数据采集负载。 【试题解析】 从本题给出的命题内容可以看出,此题是一种嵌入式软件设计课题,主要考查考生对嵌入式软件设计 (尤其是实时软
29、件设计 )中的基本方法掌握程度,能否正确地根据用户需求,理解技术要求,完成一种满足实际命题要求的软件设计。本题主要考查考生对以下实时系统基本技术知识的掌握。 (1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,设计软件时,应充分考虑硬件平台的配置和系统的实际技术特点,掌握好这一点尤其重要。 (2)实时系统必须保证在规定的时间范围内完成预先规定处理工作。而本题给出的多个数据采样、处理时间要求,是嵌入式实时系统设计中主要面临的设计问题。对仅有一个处理器而言,如何安排好多个任务协调处理的顺序,即任务的优先顺序,是考查考生综合设计能力最有效的方法。 (3)本题给出的硬件平台结构根据
30、系统的处理量,按功能划分成了多个处理单元,考生应从题中可以隐含看 出。那么,在软件设计中应充分发挥本题所给出的条件,学会使用负载平衡方法分配每个处理机所承担的任务,达到各个处理单元的负载基本相同,以增强系统的实时性。 问题 1分析:本问题主要考查考生对本题的理解能力和具体设计中如何充分发挥各自处理单元的能力。设计时应重点考虑 IOC处理模块和主处理模块问的任务接口功能的划分问题。李工给出的方案不是不可行,只能说是不是最优方法。李工设计方案中的缺陷主要体现在如下两个方面:其一是系统实时性不是太好;其二是 IOC和 CPM工作负载不平衡,如果 CPM能够有充分的处理能力 (速度极快 ),完全可以按
31、每个字节接收 16路 RS422数据,那么 IOC就可以不用智能模块设计了,这样也可降低成本。但是,考生应清楚,这样的设计要求 CPM要不断响应 IOC模块的数据到达请求,势必使 CPM要消耗大量的时间处理此事务,而根据本题给出的技术说明 “RS422数据传输格式将以 32Byte为基本数据块 ”,因此,李工的设计方法是不可取的。只有 CPM模块按每帧 32Byte一次接收完成,才可以大大降低 CPM模块任务负载,确保 CPM的大部分时间处理自己的工作。 如果考生能充分理解此题,问题 1的第二问将会迎刃而解。 问题 2分析:本问题主要考查考生针对本题提出的不同周期任务的周期要求,在采用操作系统
32、情况下,如何设计 CPM中不同任务的工作时序。这里主要考查考生对操作系统的掌握程度,理解操作系统中任务调度的抢占式优先级调度的基本原理,并根据具体任务的时间关系,画出任务的优先级分配图。这也是考核考生对实时系统的基础知识。 问题 3分析:本问题主要考查考生的实际经验,如果考生从事过此类课题的开发工作,应该理解驱动程序的设计方法,中断方式和查询方式是数据采集常用的方法之一,这要根据具体系统的技术要求,进行综合考虑。如果考生 掌握了两者之间的差别,应该能够分析出本问题的优缺点。 10 【正确答案】 (1)根据本题 (2)中对数据采集的技术要求,按照采集任务周期划分, CPM模块中的软件应划分成:一
33、个 10ms任务、一个 20ms任务、一个 40ms任务、一个 60ms任务、两个 1s任务和一个非周期任务。其中: 10ms任务主要负责 64路离散量数据的采集、处理和显示; 20ms任务主要负责具有 20ms数据交换周期的 RS422通道的数据采集; 40ms任务主要负责具有 40ms数据交换周期的 RS422通道的数据采集; 60ms任务主要负责具有 60ms数据交换周期的 RS422通道的数据采集; 1s任务有两个。一个任务主要负责具有 1s数据交换周期的 RS422通道的数据采集,另一个任务主要负责多路模拟量数据采集; 非周期任务主要负责该系统与汽车其他电子系统的数据交换。 (2)系
34、统对任务调度的最小调度周期应为所有任务周期的最大公约数,即 10ms、20ms、 40ms、 60ms、 1s的最大公约数是 10ms。 (3)根据实时系统常用的小周期任务优先调度的算法, CPM上 7个任务的优先级顺序应为: 非周期任务 1s任务 1=1s任务 2 60ms任务 40ms任务 20ms任务 10ms任务 (优先级最低 )( 优先级最高 ) 11 【正确答案】 (1)主要差别如下。 中断方式是在程序接收或发送每一个字节时,均产生中断信号,发中断主要通知处理器一个字节已经发送完成;接收中断主要通知处理器 RS422接口中有一个字节数据达到。 查询方式主要用程序读取 RS422接口
35、的寄存器,判别接口是否有数据到达或接口发送缓冲区是否空。 (2)优缺点如下。 中断方式:及时响应数据、不会产生数据丢失;系统开销大、实现 较复杂。 查询方式:软件实现简单、接收数据快、系统开销小;不能及时响应。 在实现时,可根据具体要求,将两种方式结合使用。 12 【正确答案】 分布式数据库具有物理分布性、位置自治性与协作性,支持数据独立性、集中与自治相结合的控制、适度数据冗余度、分布的事务管理。 优点:具有灵活的体系结构、分布式的管理和控制、系统的高可靠性和可用性、高扩展性、局部处理、响应速度快、经济性能优越。 缺点:系统开销通信较大、复杂的存取结构、保持数据一致性算法复杂、数据的安全性和保
36、密性要求高。 【 试题解析】 本题目考查分布式数据库的主要特点和优缺点,同时考查在数据量很大的情况下数据表分片的设计及分片需要满足的条件,以及保持数据库一致性的方法。 分布式数据库具有物理分布性、位置自治性与协作性,支持数据独立性、集中与自治相结合的控制、适度数据冗余度、分布的事务管理。优点包括具有灵活的体系结构、分布式的管理和控制、系统的高可靠性和可用性、高扩展性、局部处理、响应速度快、经济性能优越。缺点包括系统开销通信较大、复杂的存取结构、保持数据一致性算法复杂、数据的安全性和保密性要求高。 在数据库中,某个 业务表中的数据量很大,急速膨胀,在这样的情况下,为了保持高的数据响应速度,根据数
37、据的时间局部性和空间局部性原则,可以对数据表进行分片设计。一般有两种分片方法:水平分片和垂直分片。 数据表分片满足完备性条件,可重构条件和不相交条件。其中完备性条件是指必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却未被映射到任何一个片段;可重构条件是指必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。不相交条件是指要求一个 全局关系被分割后所得的各个数据片段互不重叠 (对垂直分片的主键除外 )。 分布式数据库中各局部数据库应满足集中式数据库的基本需求,除此以外还应保证数据库的数据全局一致性、并
38、发操作的可串行性和故障的全局可恢复性。保持数据库一致性的方法是要保持数据副本的一致性,保证分布式事务的 ACID属性和故障恢复的一致性。 13 【正确答案】 (1)时间局部性 (2)空间局部性 (3)水平分片 (4)垂直分片 数据表分片满足的条件如下。 (1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于 全局关系的数据却未被映射到任何一个片段。 (2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。 (3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠 (对垂直分片
39、的主键除外 ) 14 【正确答案】 (5)一致性 (6)可串行性 (7)可恢复性 保持数据库一致性的方法,要点如下。 (1)数据副本的一致性; (2)保证分布式事务的 ACID属性; (3)故障恢复的一致性。 15 【正确答案】 基于 Web 2.0的 Web应用与传统 Web应用的重要不同点如下。 (1)因特网作为平台。使用浏览器和网络服务,为数量巨大的客户提供服务。 (2)利用集体智慧。鼓励用户参与贡献,聚集大众智慧; (3)数据是下一个 Intel Inside;数据管理已经成为 Web 2.0应用的核心。 (4)软件发布周期的终结;新版本的快速发布和用户参与的开发模式。 (5)轻量型编
40、程模型;支持松散结合的轻量级编程模型,考虑聚合而不是协调。 (6)软件超越单一设备。 (7)丰富的客户体验。强调可供编程性和丰富的用户体验。 【试 题解析】 本题考查的是基于 Web2.0的 Web应用程序的特点, Ajax和Mashup技术等,其思想和概念相对较新。 问题 1分析:本问题考查基于 Web2.0的 Web应用程序与传统程序相比不同的特点,这些特点在 Tim OReilly于 2005年 9月发表的文章 What is Web 2.0?(http:/ (1)互联网作为平台 。 (2)利用集体智慧。 (3)数据是下一个 Intel Inside。 (4)软件发布周期的终结。 (5)
41、轻量型编程模型。 (6)软件超越单一设备。 (7)丰富的客户体验。 问题 2分析:本问题主要考查基于 Web2.0的 Web应用在表现层的问题,具体考查 Ajax技术的概念和应用。事实上, Ajax并不是一种全新的技术,而是几种现有技术的组合。 (1)XHTML和 CSS。 (2)使用文档对象模型 (Document Object Model)作动态显示和交互。 (3)使用 XML和 XSLT做数据交互和操作。 (4)使用 XMLHttpRequest进行异步数据接收。 (5)使用 JavaScript将它们绑定在一起。 针对这些技术的特点,在使用 Ajax时,从性能方面考虑,需要注意以下几个
42、问题。 (1)替换部分而不是全部 HTML网页 (这是 Ajax核心思想的体现 )。 (2)不要在没有必要的情况下使用轮询计时器 (由于 JavaScript是单线程的语言,不恰当的使用轮询计时器会大大降低程序的运行效率 )。 (3)根据不同的情况,考虑传递不 同格式的数据 (Java Script、 XML、 HTML和XHTML等 )。 (4)充分利用客户端的动态特性和计算能力减轻服务端负载。 问题 3分析:本问题主要考查传统的应用集成方案和基于 Web 2.0和 Mashup技术的集成方式的比较和差异。传统的企业应用集成方案一般需要现有系统平台API层的支持,如 Java平台、 Java
43、 EE和 .NET等,集成过程涉及面较广,相对复杂。而基于 Web的应用与数据集成时,仅需要使用由现有 Web应用程序 (如Google Maps)公开的基于 Web的 API(或者 Web服务 )来构建应用程序,避免了复杂的集成过程。因此, (1)处应该填写 “仅需要使用现有 Web应用程序公开的,基于 Web的 API(或 Web服务 )构建应用程序,集成过程相对简单 ”。基于 Web2.0和Mashup技术,可以直接 Mashup两个或者更多的 Web API,以创建某种新的特性与功能,因此在 (2)处应该填写 “使用 Mashup技术集成两个或者更多的 Web API,创建新的特性与功
44、能 ”。对于 (3)和 (4),传统集成方式下的表现层大多采用静态展现技术,当客户端发送请求时,往往需要刷新整个网页。对于 (5),传统集成方式的客户端大多采用静态展现技术,当客户端发送请求时,往往需要刷新整个网页。对于 (6)、 (7)、 (8),基于 Web 2.0和 Mashup技术的集成方案使用 SOA的思想集成底层系统,强调功能暴露与服务组合,以服务的形式集成并暴露现有系统的能力。 16 【正确答案】 1 Ajax并不是一种全新的技术,而是几种现有技术的组合。 (1)XHTML和 CSS。 (2)使用文档对象模型作动态显示和交互。 (3)使用 XML和 XSLT做数据交互和操作。 (
45、4)使用 XMLHttpRequest进行异步数据接收; (5)使用 JavaScript将它们绑定在一起。 2在使用 Ajax时,从性能方面考虑,需要注意以下几个问题。 (1)替换部分而不是全部 HTML网页。 (2)不要在没有必要的情况下使用轮询计时器。 (3)根据不同的情况,考虑传递不同格式的数据 (Java Script、 XML、 HTML和XHTML等 )。 (4)充分利用客户端的动态特性和计算能力减轻服务端负载。 17 【正确答案】 (1)使用现有 Web应用程序公开的,基于 Web的 API(或 Web服务 ) (2)集成两个或者更多的 Web API (3)静态展现技术 (4)刷新 整个网页 (5)基于 Web的 API (6)SOA (7)功能暴露与服务组合 (8)服务