试题四(共25分)阅读以下Web应用系统架构设计的说明,在答题纸上回答问题1至问题3。【说明】某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展

题目

试题四(共25分)

阅读以下Web应用系统架构设计的说明,在答题纸上回答问题1至问题3。

【说明】

某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。

在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。

【问题1】(7分)

请根据题干描述,对市场策略跟踪与分析系统的数据源特征与数据操作方式进行分析,完成表4-1中的(1)~(3),并用200字以内的文字说明李工方案的优点。

【问题2】 (12分)

请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。

【问题3】(6分)

表现层状态转换( REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。


相似考题

3.试题五(共 25 分)阅读以下关于Web 应用系统负载均衡的问题,在答题纸上回答问题1至问题3。某电子商务公司的主要业务是书籍、服装、家电和日用品的在线销售。随着公司业务发展和用户规模的不断扩大,现有的网上交易系统无法正常处理日益增大的请求流量,公司决策层决定升级其网上交易系统。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用基于高性能主机系统的方法进行系统升级,另外一位系统分析师李工则提出采用基于负载均衡集群的方法进行系统升级。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。【问题 1】(9 分)请从系统的可用性、可伸缩性和应用特点三个方面说明公司为何没有采用王工提出的方法。【问题 2】(8 分)负载均衡通常分为传输层负载均衡和应用层负载均衡两类。请基于这种分类方式,说明基于 DNS 的负载均衡方法和基于 HTTP 重定向服务器的负载均衡方法分别属于哪类负载均衡方法,并用200字以内的文字说明这两种方法实现负载均衡的方式。【问题 3】(8 分)在确定使用基于负载均衡集群的系统升级方法后,李工给出了一个基于LVS(Linux Virtual Server)的负载均衡集群实现方案。公司的系统分析师在对现有系统进行深入分析的基础上,认为以下两个实际情况对升级方案影响较大,需要对该方案进行改进。1. 系统需要为在线购物提供购物车功能,用来临时存放选中的产品。2. 系统需要保证向所有的VIP 用户提供高质量的服务。针对上述描述,首先说明每种情况分别会引入哪些与负载均衡相关的问题,并用 200字以内的文字说明针对不同的问题,应该如何改进李工的解决方案。

4.试题四(共25分)阅读以下关于系统设计与开发工具集成的说明,在答题纸上回答问题1至问题 3。【说明】TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求:(1)目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;(2)目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;(3)集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;(4)集成框架应能集成一些常用的第三方实用工具,如即时通信,邮件系统等。集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。【问题1】 (8分)ESB 是目前企业级应用集成常用的基础架构。请列举出 ESB 的 4 个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性 3 个方面说明为何采用ESB作为集成框架的基础架构。【问题2】 (12分)在 ESB 基础架构的基础上,请根据题干描述中的 4 个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。【问题3】 (5分)请指出在实现工具之间数据格式的灵活转换时,通常采用的设计模式是什么,并对实现过程进行简要描述。

参考答案和解析
正确答案:

试题四
【问题1】

通过对系统的数据源特征和数据操作方式进行分析可以看出,待集成的数据均为持久型数据(文件或数据库),系统对数据的访问均为只读非实时性的。针对上述应用特征,李工提出的面向资源的架构方式以对数据资源的只读访问为核心,通过数据唯一标识直接对各种数据进行访问与获取,系统架构清晰、实现简单、效率较高。
【问题2】
从数据获取方式看,王工的方案需要将现有的多个系统和异构的数据源包装为服务,采用Web服务暴露数据接口,客户端需要通过服务调用获取数据,这种方法工作量大,复杂度较高。李工的方案则绕开了复杂的功能封装,只需要明确数据的位置与标识,通过特定的网络协议直接使用标识定位并获取数据,与王工的方案相比工作量小,实现简单。
从数据交互方式看,王工的方案采用远程过程调用和异步XML消息等模式实现数据交互,这种方式适合于系统之间功能调用时进行的少量数据传输,而在进行单纯的数据访问时效率不高,稳定性也较差。李工的方案则以数据资源为核心,在对数据资源进行标识的基础上,通过标识符直接对数据资源进行访问与交互,实现简单且效率较高。
从数据访问的上下文无关性看,王工的方案中数据访问是上下文有关的,具体表现在每次客户端进行数据请求都需要附加唯一的请求标识,并且服务端需要区分不同的客户端请求,效率较低。李工的方案中数据访问是上下文无关的,客户端通过全局唯一的统一资源标识符(URI)请求对应的数据资源,服务端不需要区分不同的客户端请求。
【问题3】
REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
REST中将资源、资源的表现和获取资源的动作三者进行分离。

更多“ 试题四(共25分)阅读以下Web应用系统架构设计的说明,在答题纸上回答问题1至问题3。【说明】某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的”相关问题
  • 第1题:

    阅读以下关于变更的叙述,回答问题1至问题3。

    [说明]

    在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题:

    请用150字以内的文字,说明上述情况中存在着哪些问题?


    正确答案:[解答要点] 上述情景中存在的主要问题有: (1)对用户的要求未进行记录; (2)对变更请求未进行足够的分析也没有获得批准; (3)在修改过程中没有注意进行版本管理: (4)修改完成后未进行验证; (5)修改的内容未和项目干系人进行沟通。
    [解答要点] 上述情景中存在的主要问题有: (1)对用户的要求未进行记录; (2)对变更请求未进行足够的分析,也没有获得批准; (3)在修改过程中没有注意进行版本管理: (4)修改完成后未进行验证; (5)修改的内容未和项目干系人进行沟通。 解析:变更控制是项目管理的重要内容。近年来,项目规模不断扩大、复杂性越来越高,
    项目中出现变更的次数也越来越多。如何对变更进行有效的控制成为每个项目经理必须重视的问题。
    第一步:总结出问题的要点。
    本题主要考查变更控制的基本流程及实施方法。
    [问题1]
    考查对案例中变更过程与有效的变更控制之间的差异。

  • 第2题:

    试题一(共25分)

    阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题 3。

    【说明】

    某公司欲针对 Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。

    在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、 功能变更、 数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

    【问题 1】(7分)

    在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

    【问题 2】(12分)

    请完成表1-1 中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。

    【问题 3】(6分)

    图1-1 是李工给出的架构设计示意图, 请将恰当的功能描述填入图中的(1)~(4)。


    正确答案:

    试题一分析
    【问题1】
    本题主要考查软件架构风格的定义,并考查对两种与本题相关的架构风格的定义。软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
    【问题2】
    本问题是一道填表题,其核心是对两种架构风格在算法变更、功能变更、数据表示变更和性能等方面的特点进行比较。其中共享数据的主程序-子程序在算法变更方面灵活性较差,算法变更时一般需要重新编译整个系统;在功能变更方面也比较差;在数据表示方面,当需要变更时,也意味着程序传递参数的变化以及整个程序的调整,表现比较差;在性能方面,由于整个程序处在一个紧耦合的状态,因此性能较高。管道-过滤器架构风格在算法变更方面实现比较简单,只需要修改过滤器的实现即可;在功能变更方面也比较简单;在数据表示方面,需要同时改变数据格式和过滤器的结构,相对比较复杂;在性能方面,由于整个系统是松耦合连接在一起的,因此性能不高。
    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高;KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高;KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。针对这些考虑,可以看出应该采用管道-过滤器的架构风格。
    【问题3】
    本问题是一道读图题,考查用户对系统架构的理解程度。根据题干中的关键描述“…接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读…”和“…公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动…”,可以看出整个系统的流程是:输入→文档检索→查询结果按字母排序→剪切行首单词→单词插入行尾→输出。

    解答要点
    【问题1】
    软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;
    根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高。
    KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高。
    KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。
    综合上述分析,可以看出应该采用李工提出的管道-过滤器架构风格。

  • 第3题:

    阅读以下关于 Web 应用设计开发的描述,在答题纸上回答问题 1 至问题 3。某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下:系统的参与者包括乘客、出租车司机和平台管理员三类;系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核;系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能;针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、完成等业务过程的处理:系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。
    【问题1】(9分)请说明微服务架构的优点和缺点。
    【问题2】(8分)识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1中的(1)~(4)。表1-1 微服务名称及所包含业务功能

    【问题3】(8分)答对4条即可应用网关是实现微服务的主要技术之一,请简述应用网关的作用。


    答案:
    解析:
    【问题1】
    微服务优点:
    (1)每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
    (2)微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。
    (3)微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
    (4)微服务能使用不同的语言开发。
    (5)去中心化。每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库。
    微服务缺点:
    (1)很难在不采用分布式事务的情况下跨服务实现功能
    (2)测试工作更加困难
    (3)跨服务实现要求功能要求团队之间的紧密协作
    (4)部署复杂【问题2】
    (1)支付信息审核(2)支付信息更新(3)在线支付(4)订单管理【问题3】
    1、提供统一入口2、可以进行权限身份认证等安全管理3、可以根据流量进行限流4、数据缓存5、性能监控等6、异常重试7、服务降级

  • 第4题:

    阅读以下说明,回答问题1至问题3。

    【说明】

    需求分析是应用系统开发的基础,通过访问、面谈或调研获得用户需求意见。多媒体应用系统设计的需求分析显然不同于普通的应用程序设计,在用户需求提出后,设计人员要不断进行探索和酝酿,对问题的认识应逐步深入。

    需求分析的具体任务和目的是什么?


    正确答案:需求分析的具体任务是将用户对应用系统的全部需求用“需求规格说明”文档准确地描述出来其目的是为应用系统的设计提供可行的方案。
    需求分析的具体任务是将用户对应用系统的全部需求用“需求规格说明”文档准确地描述出来,其目的是为应用系统的设计提供可行的方案。

  • 第5题:

    阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题1至问题3。【说明】某软件开发企业受对外贸易公司委托开发一套跨境电子商务系统,项目组从多个 方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为300万元,建设期为1年,运营期为4年,该方案现金流量表如表1-1所示。【问题1】(12分)软件系统可行性分析包括哪几个方面?用200以内文字说明其含义。


    答案:
    解析:
    【问题1】(12分)答案:系统可行性分析包括以下个方面:(1)经济可行性。主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。(2)技术可行性。研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。(3)法律可行性。具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。(4)用户使用可行性。从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。【问题2】(7分)