201105系分下午真题

第 1 题

阅读以下关于数字视频监控告警系统的叙述,回答问题 1 至问题3
随着宽带应用快速发展,用户要求系统服务提供商提供基于互联网的多种服务。数字视频监控作为一种区域级的安全监控方式,越来越为更多的用户所使用。数字视频监控告警系统采用与数字视频监控相结合的多媒体技术和基于互联网的信息传递方案,为企业用户以及个人用户提供多种媒体的、不同时间、地点的信息通知服务。数字视频监控告警系统可以将用户需要查看的监控视频或告警信息,通过互联网门户系统以多种媒体方式传送给用户,方便用户随时随地了解与自身相关的视频信息。

【问题1】(10分)

在设计数字视频监控告警系统时,张工将该系统划分为五个层次:服务代理层、门户服务层、流程服务总线层、业务流程应用管理层和企业服务层,其中流程服务总线层是整个数字视频监控告警系统的核心,实现了服务消息、服务指令与数据的集中传递。系统五个层次在实现时可以采用图1-1左侧所示的技术或工具,请将系统的5个层次填入空(1)~(5),使其与左侧技术或工具相对应。
                                                                              

                                                                                                                图1-1 数字视频监控告警系统架构图

【问题2】(8分)
请用300字以内文字说明服务代理层、门户服务层、业务流程应用管理层和企业服务层的主要功能。
【问题3】(7分)
张工认为,系统设计实现时需要重点关注系统的私密性、实时性、稳定性和扩展性,为什么?请用300字以内文字说明。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>系统设计
  • 试题答案:

    【问题1
    (1)门户服务层 (2)业务流程应用管理层 (3)流程服务总线层
    (4)服务代理层 (5)企业服务层
    【问题2
    服务代理层:提供了在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。
    门户服务层:提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据各自的习惯和兴趣,定制门户的页面结构和服务内容。
    业务流程应用管理层:提供了系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行环境。
    企业服务层:企业服务层包含了数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。
    【问题3
    私密性:由于系统涉及的是各个公司或个人的专有的视频监控信息,所以要求系统保证视频信息的私密性,严格限制访问权限。
    实时性:对于突发的监控告警信息,为了避免进一步的损失,所以要求系统提供很高的实时性,可以向用户快速提供入侵告警信息或其他告警信息。
    稳定性:系统应该具备长时间不间断运行的能力,并在用户峰值时,也可以提供很好的服务。
    扩展性:作为统一的门户接入平台,系统应该可以连接多种视频系统,并随着技术与用户需求发展,提供更多种的服务方式,所以要求系统具有较高的可扩展性。

  • 试题解析:

    【问题1

    空(1)应填“门户服务层”,因为,Web Portal即门户网站。采用Web Portal架构技术形成多种媒体互通的数字视频监控多媒体集成系统,为用户提供多视角、多媒体的综合视频监控方案。
    空(2)应填“业务流程应用管理层”、空(3)应填“流程服务总线层”、空(4)应填“服务代理层”,因为,当新的服务加入到现有系统时,管理人员通过业务流程应用管理层定义业务流程→流程服务总线层→配置服务代理,当配置服务代理(Service Agent)连接成功后,管理人员可以方便快速的将其加入到现有的业务运行环境中。显然,空(5)应填“企业服务层”。

    问题2
    门户服务层:提供信息展现的功能,向各类用户提供个性化的服务。用户可以根据各自的习惯和兴趣,定制门户的页面结构和服务内容。各个展现模块通过下层组件和具体的服务相关联。
    业务流程应用管理层:提供了系统管理人员定义业务流程、重组优化现有业务流程、模拟测试业务流程等功能,同时提供了各类服务的运行环境。在新的服务加入到现有系统中时,管理人员在配置服务代理(Service Agent)连接成功后,可以方便快速的将其加入到现有的业务运行环境中。
    服务代理层:提供了在流程服务总线上接收或发送各类具体业务服务的消息与指令的功能。各个服务代理将其对应的业务服务发出的指令发布到流程服务总线上,同时接收由流程服务总线上的与自身相关的指令消息,并传递给各类服务执行。
    企业服务层:企业服务层包含了数字视频监控多媒体集成系统中的各类具体的企业应用,如数字视频监控系统服务、网站门户服务、电子邮件警告服务等。各类企业服务为整个系统提供了多种的服务支持,并且在对于符合该层次结构的服务也可以方便快速的加入到现有的系统体系中。
    【问题3
    作为数字视频监控告警系统在设计时必须注意以下几方面:
    (1)私密性:具备权限和访问级别控制的功能,以保障公司或个人的专有的视频监控信息私密性;
    (2)实时性:当突发事件发生时,必须反应迅速,接警时间极短,报警控制器检测到报警信号后,必须及时告警和处理;
    (3)扩展性:由于现代技术的快速发展,系统应该具备可扩展性,以适应新技术、新设备;
    (4)稳定性:是数字视频告警系统的基本要求,因为告警系统必须具备长时间不间断运行的能力,特别是在用户峰值时,也能保证信息的通畅、快速以实现对公司或个人情况的有效监控。

第 2 题

阅读以下机载信息处理系统数据管理软件开发的叙述,回答问题1至问题3。  
A公司承接了开发机载信息处理系统数据管理软件的任务。该机载信息处理系统数据管理软件在机载设备中的地位十分重要,因此对该软件的安全性和可靠性有很高的要求。尽管对设备供电的稳定性有较充分的考虑及措施,但鉴于该机载信息处理系统中存储的数据至关重要,用户仍提出在任何时候设备断电都不应对数据造成破坏。该机载信息处理系统采用非易失的NandFlash(按串行方式访问的Flash)作为存储介质,该NandFlash的特点是以页为最小存储管理单位,每一页只有在擦除后才可写入,擦写是有寿命的,假设每页可擦写十万次。NandFlash在使用过程中可能受到其它机载电子设备的干扰而发生一位的跳变,即读出的数据块中可能存在一位是错误的。为了机载软件的安全,在这样的条件下也要保证系统正确运行。

【问题1(7分)
A公司指派李工组织进行需求分析,并完成机载信息处理系统数据管理软件需求规格说明。以下4条需求描述摘录自该需求规格说明,请判断这4条描述是否满足软件需求的一般要求,如果不满足,请指出存在的问题,并将答案填写在答题纸中。
(1)软件应能够纠正一位读错误;
(2)软件一般应提供存储介质的均匀擦写功能,以解决因频繁擦写NandFlash的某一固定块而导致该NandFlash过早损害的问题;
(3)NandFlash擦写是有寿命的;
(4)软件对安全性和可靠性有很高的要求。


<strong>【问题2</strong><strong>】(9</strong><strong>分)</strong><br>
在开发上述信息处理系统数据管理软件过程中,按照总体设计单位要求,采用开发库、受控库和产品库三库进行软件配置管理,并规定软件产品装机后,该数据管理软件项目在受控库中保存3年。但到发布后第2年时,用户报告了一个bug,经分析,是数据管理软件的一个缺陷。此时,A公司重新调配人员对该数据管理软件进行变更。图3-1是A公司软件变更管理的流程,请从配置管理的角度分析此次变更应开展哪些活动,在图中的(1)到(6)处填写恰当的活动,答案填写在答题纸对应处。<br>
(注:CCB,Change Control Board,变更控制委员会。)<br>
<strong>【问题3</strong><strong>】(9</strong><strong>分)</strong><br>
针对用户提出在任何时候设备断电都不应对数据造成破坏并保证数据系统的完整性的要求, A公司指派王工进行机载信息处理系统数据管理软件设计。王工设计了一种数据完整性保护机制,图3-2是该机制处理流程的示意图。请将表3-1列出的数据完整性保护机制活动索引按照正确的顺序填入图3-2的数据完整性保护机制处理流程中,并将答案写在答题纸的对应栏中。<br><div style="text-align: center;"><img src="../images/shiti/2021-04/771/n8Q7Btpgey.png" style="max-width:100%;"><br></div>
<p></p>

表3-1  数据完整性保护机制的主要活动

 

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>嵌入式方向
  • 试题答案:

    【问题1】
    (1)满足
    (2)不满足。原因:需求描述中不能使用“一般”这样的模糊术语。
    (3)不满足。原因:所提的需求不具体,未量化,不可测试。
    (4)不满足。原因:“很高”术语模糊,此提法不可验证。

    【问题2
    (1)变更影响分析   (2)确定基线    (3)受控库
    (4)开发库   (5)测试/验证   (6)升级装机软件
    【问题3
    (1)f  或  数据块数请求  (2)d  或  寻找并分配空闲的数据块
    (3)c  或  写入新的数据  (4)b  或  更新事务点
    (5)a  或  扫描维护数据一致性   (6)e  或  删除被替换的数据块

  • 试题解析:

    本题主要考查开发机载信息处理系统数据管理软件的分析与设计,考查重点是如何结合硬件系统和平台的特点,设计对应的软件系统,另外还需要考生了解软件变更管理和系统数据完整性保护机制等知识。
    【问题1】
    本题主要考查软件需求规格说明书的书写方式及判断,软件需求说明必须明确、清晰,并以量化的形式指明对应的指标。对于问题中描述:
    (1)软件应能够纠正一位读错误;该需求描述清晰明确,符合需求规格说明的书写要求。
    (2)软件一般应提供存储介质的均匀擦写功能,以解决因频繁擦写NandFlash的某一固定块而导致该NandFlash过早损害的问题;该说明中出现了“一般”这样的说法,而在需求描述中不能出现这样的模糊术语。
    (3)NandFlash擦写是有寿命的;该描述中所提的需求不具体,未量化,不可测试。
    (4)软件对安全性和可靠性有很高的要求。该描述中“很高”术语模糊,不可验证。
    【问题2】
    本题主要考查软件变更管理的知识,考生需要根据问题中的管理流程补充其中的空白处,根据题目描述,在题目中的流程中,空白(1)出现在提出解决方案之后,因此应该进行“变更影响分析”;空白(2)出现在通过评审之后,因此应该“确定基线”;空白(3)、(4)的活动应该是“将受控库中的代码导入代码库,准备修改代码”;空白(5)发生在修改代码后,因此应该进行验证和测试;空白(6)出现在建立基线并导入产品库之后,因此应该进行升级装机软件的工作。
    【问题3】
    本题主要考查数据完整性保护机制和对应的数据处理流程,根据流程描述,比较合理的过程是:(1)初始化;(2)如果没有掉电,则进行数据块数请求;(3)如果没有掉电,则开始寻找并分配空闲的数据块;(4)如果没有掉电,则开始写入新的数据;(5)如果没有掉电,则更新事物点;(6)如果在(5)后发生掉电,则需要扫描维护数据一致性;(7)上述过程完成后,删除被替换的数据块。因此根据这个处理流程,只需要将合适的动作填入空白处即可。

第 3 题

阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。
某软件公司开发基于云计算的分布式文档协作平台(DDCP),系统部分需求如下所示:
(1)实现文档的分布式存储,客户端可随时随地上传和下载文档;
(2)支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端;
(3)要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。
项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细的分析和讨论,同意了张工的建议,采用GFS作为分布式文档协作平台的文件系统架构。

【问题1(12分)
请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。
【问题2  (8分)
针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。
                                                                     

                                                                                                                     图2-1 DDCP系统架构

【问题3(5分)
请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。
 

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>系统设计
  • 试题答案:

    【问题1
    GFS与HDFS相比的相同点是:单一控制机和多台工作机;通过数据分块和复制实现可靠性和高性能;树状文件系统结构;
    GFS与HDFS相比的不同点是:多次写入和多客户端并发增加数据;Master单点失效问题;数据快照的支持;实时性支持。
    针对系统需求,文档协作要求多客户端并发写入文件支持;解决主服务器单点失效问题;系统补偿操作需要数据快照。
    【问题2
    读数据过程:

    1. 应用程序将读数据请求发送给DDCP客户端;
    2. DDCP客户端访问DDCP主服务器请求所需数据位置信息;
    3. DDCP主服务器查询数据分块和地址信息发送给DDCP客户端;
    4. DDCP客户端根据地址信息向DDCP块服务器发送读数据请求;
    5. DDCP块服务器将所请求数据发送给DDCP客户端;
    6. DDCP客户端将数据转发给应用程序。
      并发写数据过程:
      1.并发写的应用程序分别将数据和写数据请求发送给DDCP客户端;
    7. DDCP客户端依次访问DDCP主服务器请求所写数据位置信息;
    8. DDCP主服务器依次查询数据分块和地址信息发送给DDCP客户端;
    9. DDCP客户端将所要写入的数据重新组织,将属于同一个DDCP块服务器的数据按照分组报文和分组序列信息发送给DDCP块服务器数据缓存(Primary);
    10. DDCP客户端将所写数据按照分组报文发送给DDCP块服务器数据缓存(Secondary);
    11. DDCP块服务器数据缓存(Primary)按照分组序列将数据写入到DDCP块服务器数据块(Primary);
    12. DDCP块服务器(Primary)将分组序列发送给DDCP块服务器(Secondary);
    13. DDCP块服务器数据缓存(Secondary)按照分组序列将数据写入DDCP块服务器数据块(Secondary);
    14. DDCP块服务器(Secondary)将写入完成信息发送给DDCP块服务器(Primary);
    15. DDCP块服务器数据(Primary)将写数据完成信息发送给DDCP客户端。
      【问题3
      GFS中采用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于复制及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。</p>

  • 试题解析:

    分布式数据存储系统是实现云计算和面向服务计算等分布式计算模型的基础,采用不同的分布式文件系统架构决定了分布式数据存储系统的运行效率、可伸缩性、容错能力及安全性等。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,从而实现了数据的分布式存储和管理。Google的GFS文件系统和Hadoop分布式文件系统HDFS是当前最流行的两种分布式文件系统参考架构。
    本题主要考查应试者对于分布式文件系统设计的掌握情况,特别是GFS和HDFS分布式文件系统架构的设计。本题结合一个典型的实际项目案例,首先要求分析GFS和HDFS之间的异同,然后针对系统需求分析采用GFS文件系统的原因;针对项目中所设计的DDCP基础架构,分析数据读写操作的过程;最后针对具体的单点失效问题,说明两种分布式文件系统架构所提供的解决方案。
    问题1
    本题要求考生针对GFS和HDFS两种分布式文件系统架构的特点展开分析并进行总结。
    (1)GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,虽然运行在多台普通硬件设备上,但是它提供了灾难冗余的能力,为大量客户机提供高性能的服务。一个GFS集群中包含了一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。GFS存储的文件被分割为固定大小的Chunk并分配标识,缺省提供3个存储复制节点,Master节点管理所有的文件系统元数据,GFS客户端代码以库的形式被链接到客户程序里,无论是客户端还是Chunk服务器都不需要缓存文件数据。
    (2)HDFS是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS采用Master/Slave架构,一个HDFS集群由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问,集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。一个文件被分成一个或多个数据块,这些块存储在一组Datanode上,Namenode执行文件系统的命名空间操作并确定数据块到具体Datanode节点的映射,Datanode在Namenode的统一调度下负责处理文件系统客户端的读写请求。
    问题2
    本题要求考生认真分析图中给出的DDCP系统架构,依据图中节点之间的数据传输关系描述数据传输过程。
    (1)读数据的过程:应用程序将读数据请求发送给客户端后,客户端访问主服务器请求所需数据位置信息,主服务器查询数据分块和地址信息返回给客户端,客户端根据地址信息向块服务器发送读数据请求,块服务器将所请求数据发送给客户端,客户端将数据转发给应用程序。
    (2)写数据的过程:应用程序分别将数据和写数据请求发送给客户端,客户端依次访问主服务器请求所写数据位置信息,主服务器依次查询数据分块和地址信息发送给客户端,客户端将所要写入的数据重新组织,将属于同一个块服务器的数据按照分组报文和分组序列信息发送给块服务器数据缓存(Primary),客户端将所写数据按照分组报文发送给块服务器数据缓存(Secondary),块服务器数据缓存(Primary)按照分组序列将数据写入到块服务器数据块(Primary),块服务器(Primary)将分组序列发送给块服务器(Secondary),块服务器数据缓存(Secondary)按照分组序列将数据写入块服务器数据块(Secondary),块服务器(Secondary)将写入完成信息发送给块服务器(Primary),块服务器数据(Primary)将写数据完成信息发送给客户端。
    问题3
    本题要求应试者掌握单点失效问题产生的原因,并能够结合GFS和HDFS架构的特点进行分析,说明所采用的解决方案。

第 4 题

阅读以下关于数据库架构设计的叙述,回答问题1至问题3
某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展(Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展(Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。

【问题1】(11分)  
请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。 

表 4-1 关系数据库模式和NoSQL模式之间的比较


【问题2(8分)
与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?
【问题3(6分)
在实际应用中,NoSQL数据库存在的问题有哪些?

 
**答案与解析** - 试题难度:较难 - 知识点:案例分析>数据库方向 - 试题答案:

【问题1】
关系数据库模式和NoSQL模式的特点比较:

 表4-1  关系数据库模式和NoSQL模式之间的比较


选择李工方案的原因分析:
(1)社交网络系统对于数据库并发负载要求非常高,对于数量较大的数据库并发写要求,关系型数据库难以满足;
(2)海量数据的高效率存储和访问需求,数百万账号信息,关系型数据库查询效率很低;
(3)可扩展性需求,可以通过增加更多的服务器节点来实现扩展。
【问题2】
NoSQL数据库支持的数据存储类型有:
(1)表格/列存储:存储稀疏表格数据,类似于传统的二维表格式存储;
(2)文档存储:用于存储非结构化或半结构化文件;
(3)图像存储:利用节点、边和属性的方式存储图片类数据,常被用于存储社交网络服务中;
(4)键值存储:类似哈希表一样存储简单的键值对,有基于内存和基于磁盘两种实现方式;
(5)对象和多值存储:对象数据库存储面向对象语言中的对象,多值数据库存储表格型数据,每个单元格中可存储多个值;
【问题3】
 NoSQL数据库存在的问题是:
(1)成熟度不够,大量关键特性有待实现;
(2)开源数据库产品的支持力度有限;
(3)数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库;
(4)NoSQL数据库专家较少,大部分都处于学习阶段。

  • 试题解析:

    传统关系型数据库在需要处理大规模并发数据访问的社交网络应用场景下,暴露出了很多问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询和检索速度;需要将数据存储无缝扩展到整个集群环境下,并且能够支持在线扩展等。NoSQL数据库模式打破了传统关系型数据库的范式约束、SQL查询语言和事务一致性,实现了以键值数据格式存储的Hash数据库。
    本题主要考查应试者对于关系型数据库和NoSQL数据模式的掌握情况,特别是关系型数据库和NoSQL数据库模式的特点和实现方式。本题结合一个典型的实际项目案例,首先要求应试者分析关系型数据库和NoSQL模式之间的异同,然后针对系统需求分析采用NoSQL数据库模式的原因;针对NoSQL数据库模式的典型应用,列举出其能够支持的数据存储方式及其特点;最后分析在实际应用中还需要在哪些方面进行改进以提升其应用效果。
    问题1】
    本题要求考生针对关系数据库模式和NoSQL模式的特点进行分析。关系数据库利用加锁机制支持并发操作,执行效率较低,利用关系表的方式存储数据,通过SQL语言和数据库进行交互,主要通过提升硬件配置等向上扩展方式提升性能,B树和哈希是常用的索引结构,其能够广泛应用于多个领域;NoSQL作为新兴的数据库模式处理并发的效率较高,支持海量数据存储和查询,利用增加分布存储的数据库节点数目扩展性能,主要以键值方式存储数据,在对于大规模并发数据处理的分布式应用中有更好的表现。根据项目的实际应用需求,所以采用NoSQL模式更为合适。
    【问题2】
    本题要求考生掌握NoSQL数据模式所支持的数据类型。常见的数据类型包括表格/列存储、文档存储、图像存储、键值存储、对象和多值存储等。
    【问题3】
    本题要求应试者分析NoSQL数据库模式在实际应用中的不足之处。作为一种新兴的数据库模式,其实现的完整性、应用范围和专业知识等与成熟的关系型数据库相比还有一定的差距。

第 5 题

某电子商务公司进行机构重组后,业务规模和用户规模不断扩大,现有的在线销售系统已经无法满足公司的发展要求。公司决策层对现有系统的不足进行了认真分析,决定提高现有系统客户端访问速度,增强客户端的动态交互能力,并提高整个系统代码的模块化和重用性,最终完成网上交易系统的改造与升级。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用开发浏览器插件的方式提高客户端访问速度并增强访问体验,通过重写服务端代码提高系统的模块化和重用性。另外一位系统分析师李工则提出采用Ajax技术提高客户端性能,采用JavaScript技术进一步增强客户端的动态交互能力,并在服务端采用JavaScript技术提高系统代码的模块化和重用性。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。

【问题1】(8分)
请从系统的客户端开发和服务端开发两个方面说明为何没有采用王工提出的方法。
【问题2】  (9分)
请说明什么是Ajax 技术,并从信息表示、动态显示及交互、数据交换和异步数据交换四个功能特点说明Ajax包含的基本技术,对应填入表5-1中的(1)、(2)、(3)、(4)空白中。

 表5-1 Ajax技术包含的基本技术


【问题3】(8分)
在论证服务端实现策略时,李工以“用户身份验证”和“客户请求信息传递与返回”两个应用场景为例说明在服务端采用JavaScript技术的优势。请给出李工可能的论证过程。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>Web技术
  • 试题答案:

    【问题1】
    从客户端开发方面来看,由于现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,王工提出的“浏览器插件的增强方式” 需要针对不同浏览器开发对应的插件,这样存在重复开发的问题且工作量巨大;另一方面,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便。李工提出的“基于Ajax的客户端增强方式”只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足;另一方面,而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。
    从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“在服务端采用JavaScript技术”能够与采用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。
    综合上述两个方面,可以看出应该采用李工的解决方案。
    【问题2】
    Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。

     表5-1 Ajax技术包含的基本技术


【问题3】
在“用户身份验证”这一应用场景中,需要在客户端与服务端同时对用户的输入进行验证:在客户端,需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果在服务端采用JavaScript功能,则可以实现相似或相同代码的重用,提高系统的可维护性。
在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为客户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较低。如果在服务端采用JavaScript技术,则可以使用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。

- 试题解析:

本题考查的是Web应用系统的分析与设计,主要考查JavaScript在Web应用系统中的作用。
【问题1】
本题考查Web应用系统升级时的方案选择问题。根据题干描述,系统升级的目的是提高现有系统客户端访问速度,增强客户端访问体验,并提高整个系统代码的模块化和重用性。因此需要根据问题描述,从客户端开发和服务端开发两个方面,结合三个升级目标进行全面论述。
从客户端开发方面来看,在线交易系统是一个典型的B/S系统,采用浏览器插件的客户端增强方法与基于Ajax技术的客户端增强方法相比,存在两个明显的缺陷:第一,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便;而采用Ajax技术对客户端进行增强时只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足。第二,现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,采用浏览器插件的增强方式需要针对不同浏览器开发对应的插件,这样存在重复开发的问题且工作量巨大。而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。
从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“服务端JavaScript技术”能够与采用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。
综合上述两个方面,可以看出应该采用李工的解决方案。
【问题2】
主要考查对Ajax技术涵盖的基本技术的理解与掌握。
Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。Ajax所包含的基本技术有:
使用XHTML+CSS来表示信息;
使用JavaScript操作DOM(Document Object Model)进行动态显示及交互;
使用XML和XSLT进行数据交换及相关操作;
使用XMLHttpRequest对象与Web服务器进行异步数据交换;
使用JavaScript将所有的东西绑定在一起。
Ajax技术的优点包括:
(1)能在不更新整个页面的前提下维护数据。使得Web应用程序更为迅捷地响应用户动作,并避免在网络上发送没有改变过的信息;
(2)通过将部分计算转移到客户端,减轻了服务器的处理量,增强了用户体验;
(3)Ajax不需要浏览器插件支持,辅助开发工具与开发库较多;
Ajax技术的缺点包括:
(1)可能破坏浏览器后退按钮的正常行为;
(2)使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中;
(3)一些手持设备(如手机、PDA等)目前还不能很好的支持Ajax;
(4)对流媒体的支持没有Flash和Java Applet等技术好。
【问题3】
主要考查服务端JavaScript的实际应用和分析。
在“用户身份验证”这一应用场景中,需要同时在客户端与服务端同时对用户的输入进行验证:在客户端,需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果采用服务端JavaScript功能,则可以实现相似或相同代码的重用,提高系统的可维护性。
在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为客户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较低。如果采用服务端JavaScript技术,可以采用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。
服务端JavaScript的主要缺点有:
(1)缺乏成熟的类库。在数据操作,数据存储等方面能力较弱。
(2)对标准的支持不够。目前的服务端引擎对CommonJS的支持有待加强。
开发和执行效率较低。在服务端缺少良好的开发环境和类库支持,执行效率也较为低下。

results matching ""

    No results matching ""