软考系列(系统架构师)- 2017年系统架构师软考案例分析考点

news2025/1/16 15:01:16

试题一 软件架构(质量属性效用树、架构风险、敏感点、权衡点)

系统架构风险、敏感点和权衡点的定义

【问题2】(13分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) ~(o) 中分别选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

1.系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
2.敏感点是指为了实现某种特定的质量属性,一个或多个系统构件所具有的特性。
3.权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
实例:
(n) 如果"养护报告生成"业务逻辑的描述尚未达成共识,
   可能导致部分业务功能模块规则的矛盾,影响系统的可修改性(风险点)
(d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(敏感点)
(f) 更改系统加密的级别将对安全性和性能产生影响;(权衡点)

试题二 系统设计与建模(MVC、EJB、J2EE)

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

MVC架构包含三种元素是:模型、视图、控制器。
模型负责操作数据对象
视图负责提供用户操作界面
控制器负责按照输入指令和业务逻辑操作数据对象,并产生输出

image

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

(1)Session Bean(会话构件) 负责处理客户与服务端交互逻辑
(2)Entity Bean(实体构件) 表示数据库中存在的业务实体
(3)Message Driven Bean(消息驱动构件) 用于接收异步JMS消息

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

有状态构件 a 、d
无状态构件 b 、c、e

试题三 嵌入式( 机器人操作系统 ROS和RTOS、根据描述填流程图)

【问题1】(5分)
王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式,使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。

ROS与嵌入式实时操作系统的共同点:
(1)系统微型化
(2)系统专业性强
(3)软硬件依赖性强
(4)系统资源受限
 ROS与实时操作系统的差异
 实时性:ROS弱于嵌入式实时操作系统
 通信方式:ROS的通信方式较为丰富,嵌入式实时操作系统通信方式单一

image
image

试题四 数据库(ORM和数据库程序在线访问、数据访问层、工厂设计模式)

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

数据库程序在线访问方式优点
1、性能比ORM好
2、可以处理复杂查询语句
数据库程序在线访问方式缺点
1、要求程序员懂SQL语句
2、修改与维护相对困难
ORM优点
1、使用ORM可以大大降低学习和开发成本
2、程序员不再写SQL来进行数据库操作
3、减少程序代码量
4、降低由于SQL代码质量差而带来的影响
ORM缺点
1、不太容易处理复杂查询语句
2、性能较直接用SQL差
本题场景中之所以选择ORM,主要程序员缺乏开发经验,这样SQL语句质量风险大,学习成本高。
此外应用简单,不用担心ORM对性能的影响。

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

(1)由于涉及多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起
(2)数据管理变复杂之后,需要使用代码量增加,分单独层次有利于逻辑清晰
(3)业务逻辑应以相同方式应对异构数据库,此时需要单独的数据访问层屏蔽差异性

image

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

工厂设计模式定义了创建对象的接口,运行子类决定实例化哪个类,
而且允许请求者无须知道要被实例化的特定类,这样可以在不修改代码的情况下引入新类。
优点是(1)没有了将应用程序类绑定到代码中的要求,可以使用任何实现了接口的类;
       (2)允许子类提供对象的扩展版本
工厂设计模式的应用场景有:(1)类不能预料它必须创建对象的类;
                        (2)类希望子类指定它创建的对象。
在数据访问层定义采用工厂模式,定义统一的操纵数据库的接口,
然后根据数据库的不同,由类工厂决定实例化哪个类。
在具体类中实现特定的数据库访问类。
这样,就可以实现由客户端指定或根据配置文件来选择访问不同的数据库,
从而实现应用程序与数据库无关。

试题五 Web应用(响应式web 设计、高并发 web 架构、主从复制机制)

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

响应式 web 设计是指我们设计与开发的页面可以根据用户的行为和不同的设备环境
做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读和操作体验。
实现方式:媒体查询、流式布局、液态图片等

【问题2】(16分)
综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图5-1所示。请从选项(a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的Web应用系统架构设计图
image
【问题3】(4分)
根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。

1、提升性能
交易平台要求高并发,主从复制方式一主多从,不同的用户请求可以从不同的从数据库读取数据,
提高并发度。
2、可扩展性更优
如果采用单台数据库服务器,则访问量持续增加时,数据库瓶颈暴露,
且无法迅速解决问题。而主从结构可以快速增加从服务器数量,以满足需求。
3、提升可用性
一主多从,一台从服务器出现故障不影响整个系统正常工作。
4、负载均衡
一主多从分担任务,相当于负载均衡。
5.提升数据安全性
系统中的数据冗余存放多份,不会因为某台机器硬件故障而导致数据丢失。

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

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

相关文章

ubuntu20.04 nvidia显卡驱动掉了,变成开源驱动,在软件与更新里选择专有驱动,下载出错,调整ubuntu镜像源之后成功修复

驱动配置好,环境隔了一段时间,打开Ubuntu发现装好的驱动又掉了,软件与更新 那里,附加驱动,显示开源驱动,命令行输入 nvidia-smi 命令查找不到驱动。 点击上面的 nvidia-driver-470(专有&#x…

Spring 国际化:i18n

文章目录 i18n概述Java国际化Spring6国际化MessageSource接口使用Spring6国际化 i18n概述 国际化也称作i18n,其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户&…

【AI视野·今日CV 计算机视觉论文速览 第268期】Mon, 16 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 16 Oct 2023 Totally 61 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Vision-by-Language for Training-Free Compositional Image Retrieval Authors Shyamgopal Karthik, Karsten Roth, Massi…

SpringCloud-Nacos

一、介绍 (1)作为服务注册中心和配置中心 (2)等价于:EurekaConfigBus (3)nacos集成了ribbon,支持负载均衡 二、安装 (1)官网 (2) …

linux加密安全和时间同步

sudo实现授权 添加 vim /etc/sudoers luo ALL(root) /usr/bin/mount /deb/cdrom /mnt/ test ALL(root:ALL) ALL 在所有主机上 提权为root用户, 可以执行所有命令 户"test"被授权以"root"用户身份在任意主机上执行任意命令 切换luo用户使用 su…

微信小程序之会议OA系统首页布局搭建与Mock数据交互

目录 前言 一、Flex 布局( 分类 编程技术) 1、Flex布局是什么? 2、基本概念 3、容器的属性 3.1 flex-direction属性 3.2 flex-wrap属性 3.3 flex-flow 3.4 justify-content属性 3.5 align-items属性 3.6 align-content属性 4、项目…

实现mnist手写数字识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/Nb93582M_5usednAKp_Jtw) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** >- **🚀…

Python configparser模块使用教程

文章目录 .ini 拓展名文件简介.ini 文件格式1. 节2. 参数3. 注解 configparser 模块简介configparser 模块的初始化和读取获取 ini 中所有 section获取 section 下的 key获取 section 下的 value获取指点section的所用配置信息修改某个key,如果不存在则会出创建检查…

CUDA编程入门系列(五) Grid,Block,Wrap,Thread

一、CUDA程序层次结构 GPU上很多并行化的轻量级线程。 kernel在device上执行时实际上时启动很多线程,一个kernel所启动的所有线程称为一个网格grid。 同一个网格上的线程共享相同的全局内存空间,grid时线程结构的第一个层次。 网格又可以分为很多线程块b…

设置hadoop+安装java环境

上一篇 http://t.csdnimg.cn/K3MFS 基本操作 接着上一篇 先导入之前导出的虚拟机 选择导出到对应的文件夹中 这里修改一下保存虚拟机的位置(当然你默认也可以) 改一个名字 新建一个share文件夹用来存放共享软件的文件夹 在虚拟机的设置中找到这个设置…

计算机算法分析与设计(13)---贪心算法(多机调度问题)

文章目录 一、问题概述1.1 思路分析1.2 实例分析 二、代码编写 一、问题概述 1.1 思路分析 1. 设有 n n n 个独立的作业 1 , 2 , … , n {1, 2, …, n} 1,2,…,n,由 m m m 台相同的机器 M 1 , M 2 , … , M m {M_1, M_2, …, M_m} M1​,M2​,…,Mm​ 进行加工处…

使用 VS Code 作为 VC++ 6.0 的编辑器

使用 VS Code 作为 VC 6.0 的编辑器 由于一些众所周知的原因,我们不得不使用经典(过时)的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说,这个经典的 IDE 过于简陋,并且早已不兼容新的操作系…

搜维尔科技:“虚实结合” 体验式人机验证技术,助力通用汽车开启研发新篇章

虚拟现实(VR)技术为制造业带来了巨大的可能性。它使工程师能够以真实世界的比例完整体验他们的设计,就像身临其境一样。通过在VR中模拟制造过程,可以发现并解决许多问题,从而避免在实际生产中投入大量资源后才发现问题。VR模拟使不同团队之间的沟通和协作变得比较直观和高效。这…

前端视频无法自动播放的问题,基于Chrome浏览器的自动播放策略原理,详细解释加了autoplay属性之后视频仍然不能自动播放的问题,并提供了二种主流的解决方法

目录 一,什么是Chrome浏览器的自动播放策略?(原理讲解,懂了原理解决问题就会非常简单) 1.生活场景中的案例 2.Chrome自动播放策略 3.什么是媒体参与度 二: 案例演示(无法播放的情况&#x…

chatglm2微调—ptuning

Freeze: 即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或不进行TP或PP操作,就可以对大模型进行训练。 P-Tuning: 在输入的embedding层前,将prompt转换为可学习的额外一层embedding层. P-T…

算水质TDS加温度补偿

先上图,就图里这款水质检测,用树莓派3/4的话,要配个温度检测作为温度校正,以及一个adc 元器件。我选ds18b20和ads1115。 再把模拟数据计算过程放一下: 温度检测元器件在农历钟那里提过,就是同款。此处先测个…

网页构造与源代码

下载google浏览器 设置打开特定网址:www.baidu.com 查看网页或元素源代码 网页右键选择“检查”查看源代码 网页源代码 元素源代码

【Git】bad signature 0x00000000 index file corrupt. fatal: index file corrupt

问题描述 电脑写代码时蓝屏。重启后 git commit 出错。 error: bad signature 0x00000000 fatal: index file corrupt原因分析 当电脑发生蓝屏或异常关机时,Git 的索引文件可能损坏。 解决方案 删除损坏的索引文件。 rm -Force .git/index回退到上一个可用的版…

数据结构复盘——第七章:查找和匹配

文章目录 第一部分:折半查找1、查找的主要步骤2、折半查找的判定树 第一部分习题第二部分:分块查找第三部分:散列查找1、散列查找的常用术语2、常用的散列函数:3、处理冲突的方法:3.1 开放定址法3.2 拉链法(链接法、链…

【YOLO】语义分割和实例分割(四)

0 YOLO系列笔记 【YOLO】朴实无华的yolov5环境配置(一) 【YOLO】yolov5训练自己的数据集(二) 【YOLO】目标识别模型的导出和opencv部署(三) 1 前言 在之前的实践过程中,总结了如何使用YOLOv…