全国计算机技术与软件专业技术资格(水平)考试
高级 系统架构设计师 2017 年 下半年 下午试卷 案例
试题一 阅读以下关于软件架构评估的叙述,在答题纸上回答问题 1 和问题 2 。
【说明】
某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系 统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如 下:
(a) 系统用户分为高级管理员、数据管理员和数据维护员等三类;
(b) 系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御; (c) 正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应;
(d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计; (e) 系统的用户名不能为中文,要求必须以字母开头,长度不少于 5 个字符; (f) 更改系统加密的级别将对安全性和性能产生影响;
(g) 网络失效后,系统需要在 10 秒内发现错误并启用备用系统;
(h) 查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有 1024*768 的分 辨率, 40 帧 /秒的速率;
(i) 在系统升级时,必须保证在 10 人月内可添加一个新的消息处理中间件; (j) 系统主站点断电后,必须在 3 秒内将请求重定向到备用站点;
(k) 如果每秒钟用户查询请求的数量是 10 个,处理单个请求的时间为 30 毫秒,则系统 应保证在 1 秒内完成用户的查询请求;
(l) 对桥梁信息数据库的所有操作都必须进行完整记录;
(m) 更改系统的 Web 界面接口必须在 4 人周内完成;
(n) 如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能 模块规则 的矛盾,影响系统的可修改性
(O) 系统必须提供远程调试接口,并支持系统的远程调试。
在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候 选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题: 1.1 】(12 分) 在架构评估过程中,质量属性效用树 (utilitytree) 是对系统质 量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图 1-1 中 ( 1)、(2) 空白处;并选择题干描述的 (a)~(o) ,填入(3) ~(6) 空白处,完成该系统的效用树。
【问题: 1.2 】(13 分) 在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构 决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) ~(o) 中分别选出 1 个对系统架构风险、敏感点和权衡点最为恰当的描述。
试题二 阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3.
【说明】
某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创 的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和 共享。该资源共享平台的主要功能模块包括:
(1) 统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、 身份认证、权限分级和单点登录等功能;
(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料 上传、资源审核和资源发布等功能;
(3) 共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、 资源检索、分类展示、资源评价和推荐等功能;
(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属 性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功 能;
(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源 导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于 JavaEE 的 MVC 模式设计资源共享平台的软件架构, 如图 2-1 所示。
图 2-1 资源共享平台软件架构
【问题: 2.1 】(9 分)
MVC 架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将 JavaEE 中 JSP 、 Servlet 、 Service 、 JavaBean 、 DAO 五种构件分别填入空 (1)~(5) 所示位置。
【问题: 2.2 】(6 分)
项目组架构师王工提出在图 2-1 所示架构设计中加入 EJB 构件,采用企业级 JavaEE 架构开 发资源共享平台。请说明 EJB 构件中的 Bean (构件)分为哪三种类型,每种类型 Bean 的职 责是什么。
【问题: 2.3 】(10 分)
如果采用王工提出的企业 JavaEE 架构,请说明下列(a)-(e) 所给出的业务功能构件中, 有状态和无状态构件分别包括哪些。
(a)IdentificationBean (身份认证构件)
(b)ResPublishBean(资源发布构件)
(c)ResRetrievalBean(资源检索构件)
(d)OnlineEditBean(在线编辑构件)
(e)StatisticsBean(统计分析构件)
试题三 阅读以下关于机器人操作系统架构的描述,回答问题 1 至问题 3
【说明】
随着人工智能技术的发展,工业机器人已成为当前工业界的热点研究对象。某宇航设备公 司为了扩大业务范围,决策层研究决定准备开展工业机器人研制新业务。公司将论证工作 交给了软件架构师王工,王工经过分析和调研,从机器人市场现状、领域需求、组成及关 键技术和风险分析等方面开展了综合论证。论证报告指出:首先,为了保障本公司机器人 研制的持续性,应根据领域需求选择一种适应的设计架构;其次,为了规避风险,公司的 研制工作不能从零开始,应该采用国际开源社区所提供机器人操作系统 (RobotOperating System , ROS)作为机器人开发的基本平台。在讨论会上,架构师李工提出不同意见,他认为公司针对宇航领域已开发了某款嵌 入式实 时操作系统,且被多种宇航装备使用,可靠性较高。因此应该采用现有架构体系作为机器 人的开发平台。会上王工说明了机器人操作系统与该款操作系统的差别,要沿用需要进行 改造,技入较大。经过激烈讨论,公司领导同意了王工采用 ROS 的意见。
【问题: 3.1 】(5 分)
王工拟采用的 ROS 具有分布式进程框架,以点对点设计以及服务和节点管理器方式, 使得 执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功 能包集的方式分组,因而可以容易地分享和发布。请用 400 字以内文字说明 ROS 与嵌入式 实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。
【问题: 3.2 】(10 分)
ROS 为应用程序间通信提供了主题(Topic) 、服务 (Service)和动作 (Action) 三种消息 通信方式,每种通信方式都有其特点。请将以下给出的三类通信的主要特点填入表 3-1 中( 1)-(5) 的空白处,将答案写在答题纸上。
(a) 适合用于传输传感器信息〈数据流)
(b) 能够知道是否调用成功
(c) 一对多模式
(d) 有握手信号
(e) 服务执行完会有反馈
(f) 可以监控长时间执行的进程
(g) 较复杂
(h) 可能让系统过载(数据太多)
(i) 服务执行完之前,程序会等待
(j) 建立通信较慢
(k) 可能丢失数据
【问题: 3.3 】(10 分)
ROS 的架构定义了 ROS 系统由多个各自独立的节点(组件〉组成,并且各个节点之间可以通 过发布/订阅(Publish/Subscribe )消息模型进行通信。图 3-1 给出一个简单机器人结构 实例,请根据以下文字描述,补充图 3-1 中(1)~(5) 处空白,将答案写在答题纸上。 "机器人开始阶段,所有节点都要注册 (Registration) 到 Master 上,注册后,摄像头节 点声明它要发布(Publish)一个叫做/image_data 的消息。另外两个节点(图像处理处理节 点和图像显示节点)声明它们需要订阅( Subscribe) 这个/image_data 消息。因此, 一旦 摄像头节点收到相机发送的数据(Data),就立即将数据/image_data 直接发送到另外两个节点。
试题四 阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3 。
【说明】
某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基 本的网上销售、订单等功能需求。该软件企业很快决定基于.NET 平台和 SQLServer 数据库 进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在 线访问的方式访 问数据库;而李工认为本企业内部程序员缺乏数据库开发经验,而且应用筒单,应该采用 ORM (对象关系映射)方式。最终经过综合考虑,该软件企业采用了李工的建议。随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企 业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支 持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上 述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设 计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1 所示。
【问题: 4.1 】(9 分)
请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软 件企业采用 ORM 的原因。
【问题: 4.2 】(9 分)
请用 100 字以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填 写图中空白处(1) - (3)。
【问题: 4.3 】(7 分)
应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式 来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景:;请解释说 明工厂模式在数据访问层中的应用。
试题五 阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 至问题 3.
【说明】
某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的 B2C 商 品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交 易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系 统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对 系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可 以应用响应式 Web 设计满足客户从不同设备正确访问系统的需求。 同时,采用增加镜像站 点、 CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅 依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍 存在崩溃可能。李工提出应同时结合负载均衡、缓存服务器、 Web 应用服务器、分布式文 件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工 的思路,完成新系统的架构设计。
【问题: 5.1 】(5 分)
请用 200 字以内的文字描述什么是"响应式 Web 设计",并列举 2 个响应式 Web 设计的实现 方式。
【问题: 5.2 】(16 分)
综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构 图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图。
(a) Web 应用层
(b) 界面层
(c) 负载均衡层
(d) CDN 内容分发
(e) 主数据库
(f) 缓存服务器集群
(g) 从数据库
(h) 写操作
(i) 读操作
(j) 文件服务器集群
【问题: 5.3 】(4 分)
根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对 B2C 商品交易平台 的特点,简要叙述引入该机制的好处。
参考答案
试题一 答案: 解析: (1) 安全性
(2) 可修改性
(3) (h)
(4) (l)
(5) (j)
(6) (m)
系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。 敏感点是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。 权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
风险点:(n) 敏感点:(d) 权衡点:(f)
试题二 答案: 解析: MVC 架构包含:视图、控制器、模型 视图(View):视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收 用户的输入数据,但是它并不进行任何实际的业务处理。 控制器(Controller):控制器接受用户的输入并调用模型和视图去完成用户的需求。该部 分是用户界面与 Model 的接口。一方面它解释来自于视图的输入,将其解释成为系统能够 理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面, 它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。 模型(Model):模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为 多个视图提供数据。
(1) JSP (2) Servlet (3) Service (4)JavaBean (5) DAO
EJB 中的 Bean 分三种类型: SessionBean 、 EntityBeans 和 Message-DrivenBean 。SessionBean 的职责是:维护一个短暂的会话 EntityBean的职责是:维护一行持久稳固的数据 Message-DrivenBean 的职责是:异步接受消息 有状态:(a)、(d)
无状态:(b)、(c)、(e)
试题三 答案: 解析: ROS 与嵌入式实时操作系统的共同点:
(1) 系统微型化
(2) 系统专用性强
(3) 软硬件依赖性强
(4) 系统资源受限
ROS 与嵌入式实时操作系统的差异: 实性性: ROS 弱于嵌入式实时操作系统
通信方式: ROS 的通信方式较为丰富,嵌入式实时操作系统通信方式单一。
(1) (2) (c)(k)
(3) (4) (f)(i)
(5) (j)
(1) Registration (2) Data (3) Publish (4) Subscribe (5) Subscribe
试题四 答案: 解析: 数据库程序在线访问方式优点:
1 、性能比 ORM 好
2 、可以处理复杂查询语句 数据库程序在线访问方式缺点: 1 、要求程序员懂 SQL 语句
2 、修改与维护相对困难
ORM 优点:
1 、使用 ORM 可以大大降低学习和开发成本。
2 、程序员不用再写 SQL 来进行数据库操作。
3 、减少程序的代码量。
4 、降低由于 SQL 代码质量差而带来的影响。
ORM 缺点
1 、不太容易处理复杂查询语句。
2 、性能较直接用 SQL 差。
本题中的场景之所以选择 ORM ,主要考虑的是程序缺数据库开发经验,这样 SQL 语句质量 有很大风险。同时学习成本很高。此外应用简单,不也担心 ORM 对性能的影响。 增加数据访问层的原因:
(1) 由于涉及到多种异构数据库平台,数据访问复杂性增加,不宜与业务逻辑混合在一起
(2) 数据管理变复杂之后,需要使用的代码量增加,分单独层次有利于让逻辑更清晰。
(3) 业务逻辑应以相同的方式应对异构的数据库,此时需要单独的数据访问层屏蔽差异性。 (1) 执行业务逻辑 (2) 工厂层 (3) 数据访问接口层 工厂模式分抽象工厂与工厂方法,题目中的场景适合采用抽象工厂设计模式。 抽象工厂设计模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它 们具体的类。其优点是可以非常方便的创建一系列的对象,其使用场景也是创建系列对象 的情况。在本题中,可以针对 Oracle 、 MySQL 、 SQLServer 分别建立抽象工厂,若指定当 前工厂为 Oracle 工厂,则创建出来的数据库连接,数据集等一系列的对象都是符合Oracle 操作要求的。这样便于数据库之间的切换。
试题五 答案: 解析: 响应式 web 设计是指我们设计与开发的页面可以根据用户的行为 和不同的设备环境做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读 和操作体验。
实现方式:
(1) 流式布局
(2) 弹性布局加媒体查询 (1) (d)
(2) (c)
(3) (f)
(4) (a)
(5) (6) (e)(h)
(7) (8) (g)(i)
1 、提升性能交易平台要求高并发,主从复制方式一主多从,不同的用户请求可以从不同的从数据库读 取数据,提高并发度。
2 、可扩展性更优 如果采用单台数据库服务器,则访问量持续增加时,数据库瓶颈暴露,且无法迅速解决问 题。而主从结构可以快速增加从服务器数量,以满足需求。
3 、提升可用性 一主多从,一台从服务器出现故障不影响整个系统正常工作。
4 、相当于负载均衡一主多从分担任务,相当于负载均衡
5 、提升数据安全性 系统中的数据冗余存放多份,不会因为某台机器硬件故障而导致数据丢失。
标签:架构,真题,软考,数据库,系统,用户,访问,2017,ROS From: https://blog.csdn.net/yuanmayuzhou/article/details/143644958