
阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。
【说明】
某软件公司拟为一所大型写字楼开发一套访客登记系统,以提升访客管理的效率和安全性。在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:
(a)网络失效后,系统需要在 3 分钟内发现并启用备用网络系统;
(b)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
(c)系统能够抵御 99.999% 的黑客攻击;
(d)能够连续运行的时间不小于240小时;
(e)系统可以数据进行导入导出,要求在1分钟内完成数据导出导出;
(f)系统根据用户量访问量的增加拓展空间,要求在3天完成;
(g)系统分为三个不同的国家语言,支持搜索自动填充补全等;
公司目前正在组织系统开发的相关人员对系统架构进行评估。
问题一:14分
在架构评估过程中,质量属性效用树是对系统质量属性进行识别和优先级排序的重要工具。请选择题干描述的(a)~(m),填入(1)~(6)空白处。
参考答案:
(1)a(2)安全性(3)可用性 (4)性能(5)可修改性(6)易用性
答案解析:
质量属性效用树是架构评估中常用的工具,其核心是识别、分类和排序系统的关键质量属性。题干中 (a)~(g) 的场景正对应了不同的质量属性。
(a) 网络故障切换要求系统能在 3 分钟内恢复服务,体现了系统的可用性;
(b) 查询请求处理时间与协议优化直接相关,这是典型的性能问题;
(c) 系统需抵御黑客攻击,保障数据与服务安全,体现安全性;
(d) 要求系统连续运行 240 小时,属于可用性的稳定性体现;
(e) 数据导入导出在 1 分钟内完成,这是性能要求;
(f) 用户访问量增加时,3 天内完成扩展,说明系统需具备较强的可修改性(可扩展性);
(g) 多语言与自动补全功能属于人机交互体验,体现易用性。
综上,正确匹配为(1)a(2)安全性(3)可用性(4)性能(5)可修改性(6)易用性。此题重点在于熟悉各类质量属性的定义与应用场景。
问题二:
针对质量属性可靠性可以使用ping/echo和心跳模式实现,请分别简述ping/echo和心跳的实现原理。张工认为从资源利用率的角度来看心跳比较适合,简述理由?
答案:
Ping/Echo 模式是主控端主动探测目标节点是否在线的一种机制,目标节点响应后即可判断其健康状态;而心跳机制是由被监控节点周期性向主控端发送心跳信号,主控端根据是否连续收到心跳来判断节点健康状态。
张工认为从资源利用率角度来看,心跳机制更适合大规模系统,因为它将压力从主控端分摊至各节点,避免了集中式的探测请求造成系统资源浪费,具备更好的扩展性与网络效率。