2017-架构师案例(九)

news2024/9/22 10:02:51

某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括:

(1)统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、身份认证、权限分级和单点登录等功能;

(2)共亨资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能;

(3)共亨资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、资源检索、分类展示、资源评价和推荐等功能;

(4)资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能;

(5)系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。

项目组经过分析和讨论,决定采用基于Java EE的MVC 模式设计资源共享平台的软件架构,如图2-1所示。

【问题:2.1】(9 分)

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

解析:

MVC包含Model,view,Controller。

分别是展示层 view,负责给用户展示数据和接收数据。

控制层controller,则是负责接收用户数据,并且连接model层。

Model层把数据持久化到数据库。

1JSP

2Servlet

3service

4JavaBean

5DAO

【问题:2.2】(6 分)

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

解析:

会话bean:负责数据请求,服务区会话传输数据。

实体bean:负责处理数据和数据库的交互,把数据持久化到数据库。

消息bean:负责异步数据的传输。

【问题:2.3】(10分)

如果采用王工提出的企业 JavaEE架构,请说明下列(a)-(e)所给出的业务功能构件中,有状态和无状态构件分别包括哪些。

(a)ldentification Bean(身份认证构件)

(b)ResPublish Bean(资源发布构件)

(c)ResRetrieval Bean(资源检索构件)

(d)OnlineEdit Bean(在线编辑构件)

(e)Statistics Bean(统计分析构件)

解析:

有状态的:a,b,d

无状态的:c,e

有状态的:a,d

无状态的:b,c,e


问题2

某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET平台和SQLServer数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在 线访问的方式访问数据库;而李工认为本企业内部程序员缺乏数据库开发经验,而且应用单,应该采用0RM (对象关系映射)方式。最终经过综合考虑,该软件企业采用了李工的建议。

随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1所示。

【问题:4.1】(9分)

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

解析:

ORM访问的优缺点:

  1. 优点是不需要懂sql,方便it人员上手
  2. 缺点是灵活性差,不能自定义sql。
  3. 没有sql维护成本更低。

在线访问方式:

  1. 优点是灵活性更高,随意定义sql查询
  2. 缺点是需要it人员懂sql,上手稍微难点。
  3. 维护成本增加。

因为该项目开发人员缺乏数据库的开发经验,而且应用简单,所以采用ORM。

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

解析:

增加数据访问层的原因:

1为了支持多种异构数据平台,需要把业务代码和数据平台结构分离,不适合于业务代码混合。

2分离后,单独增加层次感,逻辑更清晰。

3分层后更方便扩展和维护。

1 执行业务逻辑

2 工厂层

3 数据库访问接口层

【问题:4.3】(7分)

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

解析:

抽象工厂设计模式可以生产一系列的对象,不需要去指定具体的类,优点是不需要去单独创建对象,在一起更方便维护。应用场景是当需要创建许多对象的时候。

在数据库访问层可以采用工程模式,更灵活的访问数据库。

【说明】

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

【问题:5.1】(5分)

请用200字以内的文字描述什么是"响应式 Web 设计",并列举2个响应式Web设计的实现方式。

解析:

1流式布局

2弹性布局加媒体查询

【问题:5.2】(16 分)综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图5-1所示。请从选项(a)-()中为架构图中(1)(8)处空白选择相应的内容,补充支持高并发的Web应用系统架构设计图。

a  web应用层

B 界面层

C 负载均衡层

D CDN内容分发

E 主数据库

F 缓存服务器集群

G 从数据库

H 写操作

I 读操作

J 文件服务器集群

1 d CDN内容分发

2 c 负载均衡层

3 f缓存服务器集群

4 a web应用层

5 e 主数据库

6 h 写数据

7 g 从数据库

8 I读数据

【问题:5.3】(4 分)

根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。

解析:

1高可用,当其中一个数据库宕机,不会影响整个系统无法运行。

2性能提升,主数据库写数据,从数据库读数据,读写分离。

3扩展性好,可以增加服务器方便扩展。

4数据更安全,不会因为一台硬件故障,而导致数据丢失。

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

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

相关文章

微信小程序--详情实现日期选择期(年月日)

案例&#xff1a; html: <view class"huanhang"><view class"fontBold">发起时间&#xff1a;</view><view class"fontBold"> <picker class"getBusTime" mode"date" data-namesa"staDa…

aop时什么,用时统计怎么开发

spring aop,作用&#xff1a;可以对service层代码进行监听&#xff0c;统计每个方法用时 aop是什么&#xff1a;面向切面编程&#xff08;aop开发出来的代码&#xff09; 用在哪里&#xff1a;&#xff08;压测/提效&#xff09; 1.controller层方法用时不用统计,核心都在服务…

Vue+Vite+Element Plus基础操作

Vue.js 是一个流行的前端框架&#xff0c;‌而 Vite 是一个快速构建前端应用的新型开发服务器和构建工具&#xff0c;‌两者结合可以显著提升开发效率和体验。‌ Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;‌它易于上手且功能强大。‌Vue 的核心库只关注视图层&a…

前端构建工具|vite快速入门

认识vite vite组成部分 Vite是一种新型前端构建工具&#xff0c;能够显著提升前端开发体验。它主要由两部分组成&#xff1a; 一个开发服务器&#xff0c;它基于 原生 ES 模块 提供了 丰富的内建功能&#xff0c;如速度快到惊人的 模块热更新&#xff08;HMR&#xff09;。一…

DERPNSTINK: 1-打靶渗透【附代码】(权限提升)

DerpNStink 靶机下载地址&#xff1a; https://www.vulnhub.com/entry/derpnstink-1,221/#downloadhttps://www.vulnhub.com/entry/derpnstink-1,221/#download 1. 主机发现端口扫描目录扫描操作系统等信息收集 1.1. 主机发现 nmap -sn 192.168.7.0/24|grep -B 2 08:00:27…

Rabbit高级特性 - 消息重试机制(两种实现)

文章目录 消息重试机制概述实现方式一&#xff1a;基于消息手动确认机制&#xff0c;返回 nack 实现配置文件交换机、队列、绑定生产者接口消费者演示和结论 实现方式二&#xff1a;基于重试配置实现配置文件交换机、队列、绑定生产者接口消费者演示和结论 消息重试机制 概述 …

对深度学习神经网络做了小改进,效果提升明显,可以发论文吗?

小改了深度学习神经网络某一层&#xff0c;效果提升显著&#xff0c;可以发顶会吗&#xff1f; 结论就是&#xff0c;当然可以发&#xff0c;只是能不能发出高质量论文&#xff0c;中稿顶会&#xff0c;还得看你这个小改进的具体情况还有你讲故事的能力。 先说改进的具体情况…

国家统计局中国主要城市面板数据(1990-2023年)

数据说明&#xff1a;数据来源于国家统计局&#xff0c;指标包含&#xff1a;城市、年份、第三产业增加值、第一产业增加值 地区生产总值、第二产业增加值、年末户籍人口、城镇非私营单位在岗职工平均工资 房地产开发投资额、房地产开发住宅投资额、房地产开发办公楼投资额、房…

什么是股指期权与股指期货的套利策略?

沪深300股指期权和沪深300股指期货就像是孪生兄弟&#xff0c;它们不仅到期时间一样&#xff0c;结算价格也一样&#xff0c;而且都是现金结算。这意味着&#xff0c;如果你用期权的方式“造”出一个期货来&#xff0c;跟市场上真实交易的期货&#xff0c;在到期那天&#xff0…

Eclipse 首选项(Preferences)

设置首选项 该对话框可通过框架管理但是其他插件可以设置其他页面来管理首选项的配置。 我们可以通过 Window 菜单选择 Preferences 菜单项来开启该对话框。 首选项页面有多个分类组成。你可以在左侧菜单中展开各个节点来查看首选项的配置。 左上角的输入框可以快速查找首选…

#子传父父传子props和emits #封装的table #vue3

#子传父&父传子props和emits #封装的table #vue3 父组件&#xff1a;emits defineEmits props 子组件&#xff1a; 子组件 <template><el-table v-bind"$attrs" ref"innerTableRef" v-loading"loading" border :data"tabl…

鸿蒙HarmonyOS开发:如何灵活运用动画效果提升用户体验

文章目录 一、动画概述1、动画的目的 二、显式动画 (animateTo)1、接口2、参数3、AnimateParam对象说明4、示例5、效果 三、属性动画 (animation)1、接口2、参数3、AnimateParam对象说明4、系统可动画属性4、示例5、效果 一、动画概述 动画的原理是在一个时间段内&#xff0c;…

QT使用ui文件创建窗口

目录 带ui文件 添加状态栏 资源文件的使用 添加文件资源 使用文件资源 带ui文件 编辑 添加状态栏 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);// 添加状态栏ui->statusbar->addWidget(new QLab…

codeforces查看题解

文章目录 1. 步骤一&#xff1a;右键单击箭头指向位置&#xff0c;根据提示打开链接2. 步骤二&#xff1a;左键单击箭头指向位置3. 结果&#xff1a;红线上方是参考代码&#xff0c;下方是测试样例4. 补充&#xff1a;① 右边这个方框可以筛选想要查看代码的状态(Accepted、Wro…

AI在医学领域:残差扩散模型预测特发性肺纤维化 (IPF)

关键词&#xff1a; IPF 进展预测、残差扩散模型、临床信息 特发性肺纤维化&#xff08;Idiopathic Pulmonary Fibrosis&#xff0c;IPF&#xff09;是一种严重且不可逆的肺部疾病&#xff0c;它会导致肺部组织出现瘢痕和增厚&#xff0c;从而引起呼吸困难。。及时对IPF进行治…

Unity入门4——常用接口

C#中常用类和接口 DateTime&#xff1a;表示某个时刻 DateTime.Now&#xff1a;拿到系统当前时间DtaTime.TimeOfDay&#xff1a;获取此实例当天的时间 Quaternion&#xff1a;用来旋转&#xff0c;采用四元数&#xff0c;由w&#xff08;实部&#xff09;和x,y,z&#xff08;虚…

ChinaJoy 2024: 维塔士携自研游戏亮相,探讨数据驱动游戏开发

2024年7月30日,上海——全球领先的视频游戏开发公司维塔士精彩亮相第二十一届中国国际数码互动娱乐展览会(ChinaJoy),并首次公开自研游戏《唐传奇:琵琶行》DEMO试玩。在展会首日举办的2024中国游戏开发者大会(CGDC)上,来自维塔士西安工作室的执行制作人熊鹏昱受邀发表题为《维塔…

springboot的拦截器,监听器,过滤器,servlet的使用(三大组件)

目录 1. 拦截器1.1 简介1.2 使用 2. 监听器2.1 简介2.2 使用 3. 过滤器3.1 简介3.2 使用 4. servlet4.1 简介4.2 使用 5. 例子6. 心得 1. 拦截器 1.1 简介 Spring Boot 拦截器&#xff08;Interceptor&#xff09;是Spring MVC中用于在请求处理流程中执行某些操作的组件。它们…

Open3D 三维重建-Alpha Shapes (α-形状)

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键函数 2.1.1函数 2.1.2参数详解 2.2完整代码 三、实现效果 3.1原始点云 3.2处理后点云 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff08;长期更新…

08-PCB工程文件的创建

1.创建工程文件 2.创建原理图库 3.创建PCB元件库 4.创建原理图 5.创建PCB 6.改名&#xff0c;保持和项目名一致 最后save。