2017年下半年系统架构设计师真题+答案解析
案例1
某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如 下:
(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个对系统架构风险、敏感点和权衡点最为恰当的描述。
参考答案:
【问题1】
(1)安全性
(2)可修改性
(3)(h)
(4)(l)
(5)(j)
(6)(m)
【问题2】
系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
敏感点是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。
权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
风险点:(n)
敏感点:(d)
权衡点:(f)
案例2
参考答案:
【问题1】
MVC架构包含:视图、控制器、模型。
视图(View):视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。
控制器(Controller):控制器接受用户的输入并调用模型和视图去完成用户的需求。该部分是用户界面与Model的接口。一方面它解释来自于视图的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面,它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。
模型(Model):模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。
(1)JSP
(2)Servlet
(3)JavaBean
(4)Service
(5)DAO
【问题2】
EJB中的Bean分三种类型:Session Bean、Entity Beans 和 Message-Driven Bean。
Session Bean的职责是:维护一个短暂的会话。
Entity Beans 的职责是:维护一行持久稳固的数据。
Message-Driven Bean的职责是:异步接受消息。
【问题3】
有状态:(a)、(d)
无状态:(b)、(c)、(e)
案例3
【问题3】 (4 分)
根据李工的提议,新的 B2C商品交易平台引入了主从复制机制。请针对 B2C商品交易平台的特点,简要叙述引入该机制的好处。
参考答案:
【问题1】
响应式web设计是指我们设计与开发的页面可以根据用户的行为和不同的设备环境做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读和操作体验。
实现方式:
(1)流式布局
(2)弹性布局(如弹性图片)
(3)媒体查询
【问题2】
(1)(d)
(2)(c)
(3)(f)
(4)(a)
(5)(6)(e)(h)
(7)(8)(g)(i)
【问题3】
1、提升性能。
交易平台要求高并发,主从复制方式一主多从,不同的用户请求可以从不同的从数据库读取数据,提高并发度。
2、可扩展性更优。
如果采用单台数据库服务器,则访问量持续增加时,数据库瓶颈暴露,且无法迅速解决问题。而主从结构可以快速增加从服务器数量,以满足需求。
3、提升可用性。
一主多从,一台从服务器出现故障不影响整个系统正常工作。
4、相当于负载均衡。
一主多从分担任务,相当于负载均衡
5、提升数据安全性。
系统中的数据冗余存放多份,不会因为某台机器硬件故障而导致数据丢失。