首页 > 其他分享 >软考系列(系统架构师)- 2014年系统架构师软考案例分析考点

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

时间:2023-10-26 21:38:18浏览次数:40  
标签:架构 系统 数据库 软考 2014 构件 架构师 机制 数据

试题一 软件架构(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

标签:架构,系统,数据库,软考,2014,构件,架构师,机制,数据
From: https://www.cnblogs.com/wzqnxd/p/17790431.html

相关文章

  • 【软考高项】项目立项管理
    项目立项需要三个步骤:1)项目建议与立项申请2)项目可行性研究3)项目评估与决策每一个步骤都需要写一些文档,然后将文档送到下一个部门审核或审批,审批通过的话,就把提交的文档与审批文件一起作为下一个步骤的输入。......
  • 【软考高项】- 项目成本管理
    ......
  • 【软考高项】-项目范围管理
    ......
  • 关于软考相关知识点的学习
    1、如果流水线的子过程所用时间不一样,则吞吐率应为最长子过程的倒数2、磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内,则是顺序寻址3、高速缓存对于程序员是透明的4、选择替换算法的目标是使Cache获得最高的命中率......
  • 软考系列(系统架构师)- 2016年系统架构师软考案例分析考点
    试题一软件架构(质量属性、架构风格对比、根据描述填空)试题二系统开发(用例图参与者、用例关系、类图关系)学生、教师、管理员、时间、打印机【问题2】(7分)用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有......
  • P6419 [COCI2014-2015#1] Kamp
      题目描述一颗树nn个点,n−1n−1条边,经过每条边都要花费一定的时间,任意两个点都是联通的。有KK个人(分布在KK个不同的点)要集中到一个点举行聚会。聚会结束后需要一辆车从举行聚会的这点出发,把这KK个人分别送回去。请你回答,对于i=1∼ni=1∼n,如果在第ii个点举......
  • 2014腾讯校园招聘实习技术类笔试题目/STL小结
    STL就是StandardTemplateLibrary,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作......
  • Unity架构师必备开源框架:3天打造大厂商用框架
    现在Unity的相关技术已经都非常常熟了,如果你的技术能力与阅历够,搭建一个商用的游戏框架,你只需要3天的时间。今天给大家分享一个Unity老鸟3天能搭建一个自己的商用框架的几个必备的开源库,方便大家学习与使用,同时学习这些有前途的开源库也能让你在公司里面游刃有余。 对啦!这里有个......
  • JAVA架构师具备的技术和能力
    JAVA架构师是一种高级职位,需要具备深厚的技术实力和广泛的能力。以下是JAVA架构师常见的技术和能力要求:1、扎实的编程基础:JAVA架构师需要具备良好的编程能力和深入理解JAVA语言特性和编程范式,熟悉面向对象编程和设计模式。2、深入理解框架和技术栈:JAVA架构师需要熟练掌握常用的JAVA......
  • 架构师必备的37项技能清单
    几年前,我被问到“你是如何变成一名架构师的?”。基于这个话题,我们讨论了很多,比如必要的技术、经验以及所需要的知识储备等。这一次讨论促使我开始思考要成为一名架构师应该具备和学习的东西有哪些,成为一个优秀的架构师应该具备哪些能力和做哪些事情。为此我查阅资料,走访各位大佬,......