架构案例2017(五十二)

第5题

阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3.

【说明】
某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的B2C商品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。 同时,采用增加镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能。李工提出应同时结合负载均衡、缓存服务器、Web应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。

  1. Web 应用层
    (b) 界面层
    (c) 负载均衡层
    (d) CDN 内容分发
    (e) 主数据库
    (f) 缓存服务器集群
    (g) 从数据库
    (h) 写操作
    (i) 读操作
    (j) 文件服务器集群

(1)a Web应用层  错误,答案: d CDN

(2)dCDN内容分发  错误,答案:c 负载均衡

(3)f缓存服务器集群

  1. c负载均衡层  错误,答案:a web应用层
  2. e主数据库
  3. h写操作
  4. g从数据库
  5. i读操作

【问题:5.1】(5分)
请用200字以内的文字描述什么是"响应式 Web 设计",并列举2个响应式Web设计的实现方式。

答案:

响应式Web设计表示可以根据用户的行为以及不同的环境和设备,来做出对应的适配,来调整页面布局,比如根据移动端和pc端自动适配显示,提高用户体验

  1. 流式布局。
  2. 弹性布局加媒体查询

【问题:5.3】(4 分)
根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。

  1. 分摊单个服务器压力,读写分离,保证性能更高。
  2. 主动数据冗余备份,数据安全性更高。
  3. 更优秀的扩展性,当数据增多,只需要继续扩展集群服务器。
  4. 提升可用性,宕机自动选举先的主机。


第2题

阅读以下关于软件系统设计的叙述,在答题纸上回答问题1至问题3.
【说明】
某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括:
(1) 统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、身份认证、权限分级和单点登录等功能;
(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能;
(3) 共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、资源检索、分类展示、资源评价和推荐等功能;
(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能;
(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于Java EE的MVC 模式设计资源共享平台的软件架构,如图2-1所示。

【问题:2.1】(9 分)
MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将JavaEE 中 JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空 (1)~(5) 所示位置。

答案:

MVC有表示层,逻辑层,数据层。表示层展示用户看到的页面数据。逻辑层处理业务需求复杂的逻辑管理,关联表示层和数据层的交互。数据层则是数据的持久化,保证数据可靠性

视图层(View),控制层(Controller),模型(Model)。

视图层作用主要与用户交互,显示给用户数据查看,以及接受用户信息,不会处理业务逻辑。

控制层作用接受用户的输入并调用模型完成需求,主要作用是连接视图层和模型,查询模型或视图的数据返回给视图层,或者接受视图层的数据去处理模型。

模型作用应用程序的主体,主要处理业务逻辑和业务数据。

(1)JSP

(2)Servlet

3)JavaBean

(4)Service

(5)DAO

(3)Service

(4)JaveBean

【问题:2.2】(6 分)
项目组架构师王工提出在图2-1所示架构设计中加入EJB构件,采用企业级JavaEE架构开发资源共享平台。请说明EJB构件中的Bean (构件)分为哪三种类型,每种类型Bean的职责是什么。

答案:

EJB三种bean,Session Bean,Entry Bean和Message-Driven Bean

分别维护会话。负责数据持久化。负责消息异步处理。

【问题:2.3】(10分)
如果采用王工提出的企业 JavaEE架构,请说明下列(a)-(e) 所给出的业务功能构件中,有状态和无状态构件分别包括哪些。
(a)Identification Bean (身份认证构件)
(b)ResPublish Bean(资源发布构件)
(c)ResRetrieval Bean(资源检索构件)
(d)OnlineEdit Bean(在线编辑构件)
(e)Statistics Bean(统计分析构件)

有状态:a、b、d

无状态:c、e

有状态:ad

无状态:bce

【问题:4.1】(9分)
请用300字以内的文字分别说明数据库程序在线访问方式和ORM方式的优缺点,说明该软件企业采用ORM的原因。

答案:

数据库在线访问优点:

  1. 性能比ORM更好。
  2. 组装sql查询灵活,可以处理复杂sql。

缺点:

  1. 程序员sql能力需要增强。
  2. 修改维护稍微困难。

ORM方式优点:

  1. 减少程序员学习数据库成本。
  2. 代码量更少。

缺点:

  1. 性能稍微比在线访问差点。
  2. 不容易处理复杂sql。

【问题:4.2】(9分)
请用100字以内的文字说明新体系架构中增加数据访问层的原因。请根据图4-1所示,填写图中空白处(1) - (3)。

  1. 可以更灵活扩展,可以对接不同的数据库平台。
  2. 并且解耦数据层和业务中间层。

【问题:4.3】(7分)
应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景:;请解释说明工厂模式在数据访问层中的应用。

答案:

可以采用工程模式里的抽象工程模式,抽象工程可以无需关注具体的类,而创建一系列或相互依赖的对象,比如针对数据库mysql,oracle分别创建抽象工厂,当使用某个数据库的时候,代码直接指定对应的工厂即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上网冲浪发现多处XSS

突然的发现 今天上网冲浪,突然想起来有一种神器,叫废话生成器,之前是在哪里下了个软件玩了一下,然后就给删除了,因为我觉得这个软件不过就是调用了一个web接口实现的,一个网页能解决的事还要我下一个软件。…

麒麟系统 部署 kubernetes v1.18.5

1. 背景 手工部署 Kubernetes 二进制集群相对于使用自动化工具或发行版进行部署有一些优势: 定制性:手工部署允许您对 Kubernetes 集群的各个组件进行定制。您可以选择特定的版本、配置选项和插件,以满足您的需求。这种灵活性使您能够根据具…

系列八、Redis的事务

一、是什么 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不允许加塞。 二、能干嘛 一个队列中,一次性、顺序性、排他性的执行一些列命令。 三、怎么玩…

【蓝桥】奇怪的线段

一、题目 1、题目描述 在一维数轴上,小蓝画了 n n n 个闭区间线段,小桥会多次询问你,每次给定两个点 a , b a, b a,b,问有多少个区间包含 a a a 点,但是不包含 b b b 点。 输入格式 第一行输入两个整数 n , q…

【ARM Coresight Debug 系列 16 -- Linux 断点 BRK 中断使用详细介绍】

文章目录 1.1 ARM BRK 指令1.2 BRK 立即数宏定义介绍1.3 断点异常处理流程1.3.1 el1_sync_handler1.3.2 el1_dbg 跟踪 1.4 debug 异常处理函数注册1.4.1 brk 处理函数的注册 1.1 ARM BRK 指令 ARMv8 架构的 BRK 指令是用于生成一个软件断点的。当处理器执行到 BRK 指令时&…

【6-1 CString字符串类】武汉理工大学

6-1 CString字符串类 分数 20 作者 谢颂华 单位 武汉理工大学 定义一个字符串类CString,使其至少包含内容(contents)和长度(length)两个数据成员,要求定义以下成员函数:构造函数、显示字符串函数display()、求字符串长度函数getlength()和字符…

【2023年11月第四版教材】专题3 - 10大管理49过程输入、输出、工具和技术总结

专题3 - 10大管理49过程输入、输出、工具和技术总结 1 49个过程开展频次总结1.1 开展一次或仅在预定义时点开展的项目管理过程1.2 需要定期开展的过程1.3 需要持续开展的过程2 部分重要规律总结2.1 规划过程组的总体工作流程2.2 监控过程组的总体工作流程2.3 工作绩效数据、信息…

L1-039 古风排版 C++解法

题目再现 中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非…

4.2 抽象类

1. 抽象类概念 定义一个类时&#xff0c;常常需要定义一些成员方法用于描述类的行为特征&#xff0c;但有时这些方法的实现方式是无法确定的。例如&#xff0c;Animal类中的shout()方法用于描述动物的叫声&#xff0c;但是不同的动物&#xff0c;叫声也不相同&#xff0c;因此…

JMM 的设计意图

JMM 的设计意图 让我们来看JMM的设计意图。从JMM设计者的角度&#xff0c;在设计JMM时&#xff0c;需要考虑两个关键因素。 程序员角度编译器和处理器角度程序员对内存模型的使用。程序员希望内存模型易于理解、易于编程。程序员希望基于一个强内存模型来编写代码。编译器和…

从代码入手理解卡尔曼滤波器的原理之引入状态转换模型(四)

前面讲到没有外部控制输入,也没有其他动态模型来描述温度如何随时间变化。因此,状态x的预测值就是上一个状态的值。 默认在没有新的观测数据时,室温是恒定不变的。但在实际情况中,室温可能会随时间上升或下降,比如因为暖气的开启或窗户的打开。我们可以通过引入一个状态转…

倒计时4天|超硬核!第四届CID大会完整议程揭晓

CID大会官网&#xff1a; http://chinacid.org/ 原文链接&#xff1a;报名继续 | 超硬核&#xff01;第四届CID大会完整议程揭晓

TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化

作为一款在 Java 开发社区中广受欢迎的技术框架&#xff0c;SpringBoot 在开发者和企业的具体实践中应用广泛。具体来说&#xff0c;它是一个用于构建基于 Java 的 Web 应用程序和微服务的框架&#xff0c;通过简化开发流程、提供约定大于配置的原则以及集成大量常用库和组件&a…

使用Pytorch实现频谱归一化生成对抗网络(SN-GAN)

自从扩散模型发布以来&#xff0c;GAN的关注度和论文是越来越少了&#xff0c;但是它们里面的一些思路还是值得我们了解和学习。所以本文我们来使用Pytorch 来实现SN-GAN 谱归一化生成对抗网络是一种生成对抗网络&#xff0c;它使用谱归一化技术来稳定鉴别器的训练。谱归一化是…

YOLO目标检测——跌倒摔倒数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;公共安全监控、智能家居、工业安全等活动区域无监管情况下的人员摔倒事故数据集说明&#xff1a;YOLO目标检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富。使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含…

【Eclipse】取消按空格自动补全,以及出现没有src的解决办法

【Eclipse】设置自动提示 教程 根据上方链接&#xff0c;我们已经知道如何设置Eclipse的自动补全功能了&#xff0c;但是有时候敲变量名的时候按空格&#xff0c;本意是操作习惯&#xff0c;不需要自动补全&#xff0c;但是它却给我们自动补全了&#xff0c;这就造成了困扰&…

诚迈科技董事长王继平出席中国(太原)人工智能大会并发表演讲

10月14日—15日&#xff0c;2023中国&#xff08;太原&#xff09;人工智能大会在山西省太原市举办。诚迈科技在大会上全面展示了其在人工智能领域的一系列创新技术与解决方案&#xff0c;诚迈科技董事长、统信软件董事长王继平受邀出席产业数字化转型论坛并发表主题演讲&#…

面试58同城!面试官问我redis 雪崩、穿透、击穿怎么处理?

一、Redis 缓存雪崩 1.1 缓存雪崩的概念 缓存雪崩指的是在某个时间点&#xff0c;缓存中的大量数据同时失效&#xff0c;导致大量请求直接落到数据库上&#xff0c;造成数据库压力过大&#xff0c;甚至引发系统崩溃。 1.2 缓存雪崩发生的原因 缓存雪崩通常是由以下原因引起…

[已解决]llegal target for variable annotation

llegal target for variable annotation 问题 变量注释的非法目标 思路 复制时编码错误&#xff0c;自己敲一遍后正常运行 #** 将垂直知识加入prompt&#xff0c;以使其准确回答 **# prompt_templates { # "recommand":"用户说&#xff1a;__INPUT__ …

紫光展锐荣评“5G技术创新力企业”,5G赋能千行百业

近日&#xff0c;2023年第十七届中国通信产业榜隆重发布&#xff0c;紫光展锐凭借多年以来在通信和芯片技术上的积累&#xff0c;从众多参选者中脱颖而出&#xff0c;荣评“5G技术创新力企业”&#xff0c;并蝉联2023年通信产业榜“中国通信设备技术服务供应商100强”。 作为一…