2017年下半年系统架构设计师考试下午真题(专业
解析+参考答案)
1、阅读以下关于软件架构评估的叙述,在答题纸上回答问题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】(12 分)
在架构评估过程中,质量属性效用树 (utility tree) 是对系统质量属性进
行识别和优先级排序的重要工具。请给出合适的质量属性,填入图 1-1 中 (1)、(2) 空白处;并选择题干描述的 (a)~(o) ,填入(3) ~(6) 空白处,完成该系
统的效用树。
【问题2】(13 分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用
300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) ~(o) 中分别选出 1个对系统架构风险、敏感点和权衡点最为恰当的描述。
2、阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1至问题 3. 【说明】
某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括:
(1)统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、身份认证、权限分级和单点登录等功能;
(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能;
在线考试答题软件(3)共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、资源检索、分类展示、资源评价和推荐等功能;
(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能;
(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于 Java EE 的 MVC 模式设计资源共享平
台的软件架构,如图 2-1 所示。
图2-1 资源共享平台软件架构
问题内容:【问题1】 (9 分)
MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构
将JavaEE 中 JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空(1)~(5)所示位置。
【问题2】(6 分)
项目组架构师王工提出在图 2-1 所示架构设计中加入EJ B构件,采用企业级JavaEE架构开发资源共享平台。请说明EJB构件中的 Bean (构件)分为哪三种
类型,每种类型Bean 的职责是什么。
【问题3】(10分)
如果采用王工提出的企业级 JavaEE 架构,请说明下列(a)-(e) 所给出的业务
功能构件中,有状态和无状态构件分别包括哪些。
(a)Identification Bean (身份认证构件)
(b)ResPublish Bean(资源发布构件)
(c)ResRetrieval Bean(资源检索构件)
(d)OnlineEdit Bean(在线编辑构件)
(e)Statistics Bean(统计分析构件)
3、阅读以下关于机器人操作系统架构的描述,回答问题 1至问题 3
【说明】
随着人工智能技术的发展,工业机器人已成为当前工业界的热点研究对象。某
宇航设备公司为了扩大业务范围,决策层研究决定准备开展工业机器人研制新
业务。公司将论证工作交给了软件架构师王工,王工经过分析和调研,从机器
人市场现状、领域需求、组成及关键技术和风险分析等方面开展了综合论证。
论证报告指出:首先,为了保障本公司机器人研制的持续性,应根据领域需求
选择一种适应的设计架构;其次,为了规避风险,公司的研制工作不能从零开始,应该采用国际开源社区所提供机器人操作系统 (Robot Operating System ,ROS)作为机器人开发的基本平台。
在讨论会上,架构师李工提出不同意见,他认为公司针对宇航领域已开发了某
款嵌入式实时操作系统,且被多种宇航装备使用,可靠性较高。因此应该采用现有架构体系
作为机器人的开发平台。会上王工说明了机器人操作系统与该款操作系统的差别,要沿用需要进行改造,技入较大。经过激烈讨论,公司领导同意了王工采用 ROS 的意见。
问题内容:【问题1】 (5分)
王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式,使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。
【问题2】 (10分)
ROS为应用程序间通信提供了主题(Topic) 、服务 (Service)和动作(Action) 三种消息通信方式,每种通信方式都有其特点。请将以下给出的三类通信的主要特点填入表 3-1 中(1)-(5) 的空白处,将答案写在答题纸上。
(a) 适合用于传输传感器信息〈数据流)
(b) 能够知道是否调用成功
(c) 一对多模式
(d) 有握手信号
(e) 服务执行完会有反馈
(f) 可以监控长时间执行的进程
(g) 较复杂
(h) 可能让系统过载(数据太多)
(i) 服务执行完之前,程序会等待
(j) 建立通信较慢
(k) 可能丢失数据
表3-1 ROS三类通信的主要特点
【问题3】 (10分)
ROS  的架构定义了 ROS 系统由多个各自独立的节点(组件〉组成,并且各个节点之间可以通过发布/订阅(Pu blish/Subscribe )消息模型进行通信。图 3-
1 给出一个简单机器人结构实例,请根据以下文字描述,补充图3-1 中(1)~(5) 处空白,将答案写在答题纸上。
"机器人开始阶段,所有节点都要注册 (Registration) 到 Master上,注册后,摄像头节点声明它要发布(Publish)一个叫做/image_data的消息。另外两个
节点(图像处理处理节点和图像显示节点)声明它们需要订阅( Subscribe) 这个/image_data消息。因此,一旦摄像头节点收到相机发送的数据(Data),就
立即将数据/image_data直接发送到另外两个节点。
4、阅读以下关于数据库设计的叙述,在答题纸上回答问题 1至问题 3。
【说明】
某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初
期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET平
台和SQL Server数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库;而李工认为本企业内部程序员缺
乏数据库开发经验,而且应用简单,应该采用 ORM (对象关系映射)方式。最终经过综合考虑,该软件企业采用了李工的建议。
随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售
多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商
务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的
数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新
设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问