某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如下:
- (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)、(2) 空白处;并选择题干描述的 (a)~(o) ,填入(3)~(6) 空白处,完成该系统的效用树。
【问题2】
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从 题干(a)~(o) 中分别选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。
【解答】【问题1】
- 效用树质量属性包括:性能、可用性、可靠性、健壮性、安全性、可修改性、可变性、易用性、可测试性、功能性和互操作性等。
- 性能质量,(c)为响应时间,(k)为吞度量,所以(3)填(k)
- 因为(b)为安全性,所以(1)填安全性,(f)也为安全性,所有(4)填(f)。
- 可用性(g)为网络故障,(j)为硬件故障,所以(5)填(j)
- (i)为可修改性,所以(2)填可修改性,(m)也为可修改性,所以(6)填(m)
【问题2】
- 风险点:架构都有与之相关的风险,无论是涉及可用性、可扩展性还是数据完整性的风险,即可能引起风险的因素,可称为风险点。架构风险分析是架构的关键活动之一。通过不断分析风险,架构师可以解决架构中的缺陷,并采取纠正措施来降低风险。
- (n)为风险点
- 敏感点:敏感点是一个或多个构件的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。
- (c)为敏感点,因为改变加密级别回对性能产生非常重要的影响。
- 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。
- (f)为权衡点,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。
- 性能(Performance)是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
- 可用性(Availability)是系统能够正常运行的时间比例。
- 可靠性(Reliability)是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
- 健壮性(Robustness)是指在处理或环境中,系统能够承受压力或变更的能力。
- 安全性(Security)是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
- 可修改性(Modification)是指能够快速地以较高的性能价格比对系统进行变更的能力。
- 可变性(Changeability)是指体系结构经扩充或变更成为新体系结构的能力。
- 易用性(Usability)是衡量用户使用一个软件产品完成指定任务的难易程度。
- 可测试性(Testability)是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
- 功能性(Functionality)是系统所能完成所期望工作的能力。
- 互操作性(Inter-operation)是指系统与外界或系统与系统之间的相互作用能力。



