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

news2025/4/16 16:50:12

试题一 软件架构(MYC 架构、扩展接口模式)

image

MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。
在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器(C)代表管理模块。

image

试题二 系统开发(数据流图元素、找 DFD 错误、CRUD矩阵)

【问题1】(8分)
请用300以内文字说明数据流图(Data Flow Diagram)的基本元素及其作用。

四种元素:
(1) External Agent(实体/外部代理):定义位于项目范围之外,但与正在被研发的系统有交互关系的人、部门、外部系统或组织。
(2) Process(加工/处理):在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作。
(3) Data Store(数据存储):静止的数据,表示系统中需要保存的数据。
(4) Data Flow(数据流):运动中的数据,表示到一个过程的数据输入,或者来自一个过程的数据输出。

image

试题三 嵌入式(构件获取和开发、构件标准、特点判断、构件接口)

【问题1】(9分)
请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。

基于构件的软件开发中,可以通过不同的途径来获取构件,
主要包括以下4种方法:
(1) 从现有构件中获得符合要求的构件,直接使用或做适应性修改,
得到可复用的构件;
(2) 通过遗留工程(Legacy Engineering),
将具有潜在复用价值的软件提取出来,得到可复用的构件;
(3) 从市场上购买现成的商业构件,
BPCOTS(Commercial Off-The-Shell)构件;
(4) 开发新的符合要求的构件。
开发构件通常采取3种策略:
(1) 分区(partitioning):
指的是将问题情景的空间分割成几乎可以独立研究的部分;
(2) 抽象(abstraction):
是对在给定实践内执行指定计算的软/硬件单元的一种抽象;
(3) 分割(segmentation):
是将结构引入构件的行为,支持对行为性质进行时序推理。
当前主流构件标准有:
(1) CORBA:由OMG(对象管理集团)制定;
(2) COM/DCOM:由Microsoft制定;
(3) EJB:由SUN的Java企业Bean制定。

image

image

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

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

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
敏感点是为了实现某种特定质量属性,一个或多个系统组件所具有的特性。
权衡点是影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
题干描述中,(i)描述的是系统架构风险;(g)描述的是敏感点;(f)描述的是权衡点。

试题五 Web应用(负载均衡(DNS、反向代理)、主从复制、数据库分区、Memcached)

【问题1】(10分)
针对目前出现的Web服务器负载过大问题,项目组决定在客户端与中间层Web服务器之间引入负载均衡器,通过中间层Web服务器集群来提高Web请求的并发处理能力。在讨论拟采用的负载均衡机制时,王工提出采用基于DNS的负载均衡机制,而李工则认为应采用基于反向代理的负载均衡机制,项目组经过讨论,最终确定采用李工提出的方案。请用200字以内的文字,分别简要说明两个机制的基本原理;并从系统执行效率、安全性及简易性等方面将两种机制进行对比,将对比结果填入表 5-1 中。

两种机制的基本原理:
基于DNS的负载均衡机制通过DNS服务器实现,通常通过循环复用具有同一域名的多个主机地址的服务器实现负载均衡。
反向代理负载均衡则是将来自Internet的连接请求以反向代理的方式动态转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。
两种机制的基本原理

image
【问题2】(7分)
针对并发数据库访问所带来的磁盘I/O瓶颈问题,项目组决定在数据层引入数据库扩展机制。经过调研得知系统数据库中存储的主要数据为以用户标识为索引的社交网络数据,且系统运行时发生的大部分数据库操作为查询操作。经过讨论,项目组决定引入数据库分区和MySQL主从复制两种扩展机制。数据库分区可采用水平分区和垂直分区两种方式,请用350字以内的文字说明在本系统中应采用哪种方式及其原因,并分析引入主从复制机制给系统带来的好处。

(1)本系统中应主要使用水平分区机制。根据已知信息,系统数据库中存储的主要数据为以用户标识为索引的社交网络数据,采用水平分区机制可根据用户标识将用户数据进行水平分割,用户操作时先将请求分发到不同数据库分区,再进行具体数据库操作,以提高数据库访问效率。
(2) 引入主从复制机制所带来的好处:
①避免数据库单点故障:主服务器实时、异步复制数据到从服务器,当主数据库宕机时,可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。
②提高査询效率:根据系统数据库访问特点,可以使用主数据库进行数据的插入、删除及更新等写操作,而从数据库则专门用来进行数据査询操作,从而将査询操作分担到不同的从服务器以提高数据库访问效率。

【问题3】(8分)
为进一步提高数据库访问效率,项目组决定在中间层与数据层之间引入缓存机制。赵工开始提出可直接使用MySQL的查询缓存(query cache)机制,但项目组经过分析好友动态显示等典型业务的操作需求,同时考虑已引入的数据库扩展机制,认为查询缓存尚不能很好地提升系统的查询操作效率,项目组最终决定在中间层与数据层之间引入Memcached分布式缓存机制。
(a)请补充下述关于引入Memcached后系统访问数据库的基本过程:系统需要读取后台数据时,先检查数据是否存在于(1)中,若存在则直接从其中读取,若不存在则从(2)中读取并保存在(3)中;当(4)中数据发生更新时,需要将更新后的内容同步到(5)实例中。(备选答案:数据库、Memcacbed缓存)
(b)请结合已知信息从缓存架构、缓存有效性及缓存数据类型等方面分析使用Memcached代替数据库查询缓存的原因。
image

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

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

相关文章

Transformers实战(一)快速入门命名实体识别、多项选择

Transformers实战(一)快速入门命名实体识别、多项选择 1、命名实体识别(NER) 1.1 命名实体识别简介 1.1.1 NER数据标注体系 命名实体识别(Named Entity Recognition,简称NER)是指识别文本中具有特定意义的实体,主要包括人名、…

【管理运筹学】第 10 章 | 排队论(4,系统容量有限制和顾客源有限的情形)

文章目录 引言一、系统的容量有限制( M / M / 1 / N / ∞ M/M/1/N/\infty M/M/1/N/∞)二、顾客源为有限的情形( M / M / 1 / ∞ / m M/M/1/\infty/m M/M/1/∞/m)写在最后 引言 了解了标准的 M / M / 1 M/M/1 M/M/1 模型后&#…

[UDS] --- DiagnosticSessionControl 0x10 service

1 会话 $10包含3个子功能,01 Default默认会话,02 Programming编程会话,03 Extended扩展会话,ECU上电时,进入的是默认会话(Default)。 为什么设计三个会话模式呢?因为权限问题。默认…

华为eNSP配置专题-路由策略的配置

文章目录 华为eNSP配置专题-路由策略的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、配置路由策略3.1、目标3.2、配置路由策略 华为eNSP配置专题-路由策略的配置 0、概要介绍 路由策略就是通过一系列工具…

Java SE 学习笔记(十四)—— IO流(2)

目录 1 字节流1.1 字节流写数据1.1.1 创建字节输出流对象1.1.2 字节流写数据 1.2 字节流读数据1.2.1 创建字节输入流对象1.2.2 字节流读数据 1.3 字节流复制文件1.4 流的刷新与关闭1.5 资源释放方式1.5.1 try-catch-finally1.5.2 try-with-resource 2 字符流2.1 字符流概述2.2 …

Spring中Bean的作用域

目录 一、什么是Bean的作用域 二、Scope注解 三、Bean的6种作用域 3.1 singleton单例模式 3.2 prototype 原型模式 3.3 request 3.4 session 3.5 application 3.6 websocket 一、什么是Bean的作用域 在之前学习的过程中,我们把作用域定义为:限定程序中变…

关于数字化转型的know how

关于定义——到底什么是“数字化转型”? 关于价值——数字化转型对企业到底有多重要? 关于框架——企业数字化转型的框架必备要素有哪些? 关于执行——企业数字化转型到底怎么做? 一、什么是数字化转型? 现在各种…

Flink将数据写入MySQL(JDBC)

一、写在前面 在实际的生产环境中&#xff0c;我们经常会把Flink处理的数据写入MySQL、Doris等数据库中&#xff0c;下面以MySQL为例&#xff0c;使用JDBC的方式将Flink的数据实时数据写入MySQL。 二、代码示例 2.1 版本说明 <flink.version>1.14.6</flink.version…

2000-2021年上市公司内部薪酬差距数据(原始数据+计算代码Stata do文档+计算结果)

2000-2021年上市公司内部薪酬差距数据&#xff08;原始数据计算代码Stata do文档计算结果&#xff09; 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;上市公司年报 3、指标&#xff1a; 原始数据指标&#xff1a;code、year、证券代码、应付职工薪酬、员工人数、支付…

美国IP代理如何获取?适用于哪些场景?

美国代理IP可以是静态&#xff08;不会改变&#xff09;或动态&#xff08;周期性更改&#xff09;&#xff0c;并且可以由专业的代理服务提供商提供。不同的代理IP服务提供商可能提供不同类型的代理&#xff0c;包括数据中心代理、住宅代理和移动代理&#xff0c;以满足不同用…

RT-Thread 7. RT-Thread Studio ENV修改MCU型号

1. 修改MCU型号 2.在ENV界面输入 scons -c scons --dist3. dist下为更新后完整源代码 4.导入RT-Thread Studio 发现GD32F330已经生效了。 5. 自己编写startup_gd32f3x0.S&#xff0c;准确性待验证 ;/* ; * Copyright (c) 2006-2021, RT-Thread Development Team ; * ; * SPD…

Vue组件样式设置,解决样式冲突问题

如果我们在不同的组件内&#xff0c;使用相同的类名&#xff0c;就会发生样式的冲突&#xff0c;使用后引入的组件中的样式&#xff1a; 一、scoped属性 在一个组件的style标签上添加scoped属性&#xff0c;该组件的所有样式都是该组件独有的&#xff0c;即使其他组件中有相同…

详解傅立叶变换,看这一文足矣!

从听到傅立叶变换这个名词后到现在已经四年了&#xff0c;这次终于对傅立叶变换有了一个基本的初步了解。记录一下&#xff0c;这个傅立叶变换也同时记录了我本科到研究生的四年&#xff0c;一路以来跌跌撞撞&#xff0c;没想到最后还是入了图像的坑 数字图像处理——傅立叶变换…

freeRTOS内部机制——创建任务的内部细节

创建任务的两个核心&#xff1a;栈和任务结构体 函数运行过程中的局部变量保存在哪里&#xff1f;他自己的栈中 任务被切换过后&#xff0c;在切换的瞬间&#xff0c;哪些寄存器的值保存在哪里&#xff1f;保存在任务结构体中 在任务创建函数中&#xff0c;会malloc动态分配…

【Javascript】函数隐藏参数ar

function test(a,b,c){console.log(abc);}test(1,2,3);这里的形参有三个分别是a&#xff0c;b&#xff0c;c分别对应实参1&#xff0c;2&#xff0c;3 假如在调用函数的时候多传入几个实参会怎么样&#xff1f; function test(a,b,c){console.log(arguments);console.log(a…

吃瓜教程3|决策树

ID3算法 假定当前样本集合D中第k类样本所占比例为pk&#xff0c;则样本集合D的信息熵定义为 信息增益 C4.5算法 ID3算法存在一个问题&#xff0c;就是偏向于取值数目较多的属性&#xff0c;因此C4.5算法使用了“增益率”&#xff08;gain ratio&#xff09;来选择划分属性 CA…

第四章 文件管理 六、文件的基本操作

目录 一、创建文件(create系统调用) 1、进行Create系统调用时&#xff0c;需要提供的几个主要参数: 2、操作系统在处理Create系统调用时&#xff0c;主要做了两件事: 二、删除文件(delete系统调用) 1、进行Delete系统调用时&#xff0c;需要提供的几个主要参数: 2、操作系…

【20年VIO梳理】

19-20年VIO 梳理 1. 开源代码介绍&#xff1a; DSM2. FMD Stereo SLAM&#xff1a;融合MVG和直接方法&#xff0c;实现准确&#xff0c;快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进&#xff1a;一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…

第四章 文件管理 五、文件存储空间管理

目录 一、逻辑结构和物理结构的比较 二、空闲表法 1、磁盘中的空闲块表 2、例子 3、如何回收空闲区间 ①回收区的前后都没有相邻空闲区; ②回收区的前后都是空闲区; ③回收区前面是空闲区; ④回收区后面是空闲区; 三、空闲链表法 1、分类 2、空闲盘块链 &#xff…

【顺序栈的表示和实现,顺序栈的初始化,是否为空,清空顺序栈,销毁顺序栈,】

文章目录 一、栈和队列的定义和特点1.1顺序栈的表示和实现1.2顺序栈的基本操作1.2.1顺序栈的初始化1.2.2判断顺序栈是否为空1.2.3清空顺序栈1.2.4销毁顺序栈1.2.5顺序栈的入栈 一、栈和队列的定义和特点 栈和队列是限定插入和删除只能在表的“端点”进行的线性表。 栈是先进后…