问答题 阅读以下关于软件架构评估的说明,根据要求回答下面问题。
[说明]
某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应。
(b)信用卡支付必须保证99.999%的安全性。
(c)对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计。
(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统。
(e)需要在20人月内为系统添加一个新的CORBA中间件。
(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率。
(g)更改加密的级别将对安全性和性能产生影响。
(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点。
(i)假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的。
(i)用户信息数据库授权必须保证99.999%可用。
(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性。
(l)更改Web界面接口必须在4人周内完成。
(m)系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。
问答题 在架构评估过程中,质量属性效用树(Utility Tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入下图中的(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。
【正确答案】
【答案解析】(1)可修改性
(2)可用性
(3)(f)
(4)(l)
(5)(h)
(6)(b) 软件质量属性是影响软件架构设计的重要因素。常见的软件质量属性中,性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来定量表示性能。例如,“正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应”和“交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率”,这些描述的是系统的“性能”属性。
可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价来衡量可修改性。可修改性包含可维护性、可扩展性、结构重组、可移植性等方面。例如,“需要在20人月内为系统添加一个新的CORBA中间件”和“更改Web界面接口必须在4人周内完成”,这些描述的是系统的“可修改性”属性。
可用性是指系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示可用性。例如,“网络失效后,系统需要在1.5分钟内发现错误并启用备用系统”和“主站点断电后,需要在3秒内将访问请求重定向到备用站点”,这些描述的是系统的“可用性”属性。
安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。根据系统可能受到的安全威胁可分为机密性、完整性、不可否认性、可控性等特性。例如,“信用卡支付必须保证99.999%的安全性”和“用户信息数据库授权必须保证99.999%可用”,这些描述的是系统的“安全性”属性。
质量属性效用树是对质量属性进行分类、权衡、分析的架构分析工具,主要关注系统的性能、可用性、可修改性和安全性4个方面。
问答题 在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。
【正确答案】
【答案解析】系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患
敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性
权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性
系统架构风险——(k)
敏感点——(c)
权衡点——(g) 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。例如,“目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性”描述的是系统的架构风险。
敏感点是指为了实现某种特定的质量属性,一个或多个系统组件(或组件之间的关系)所具有的特性。研究敏感点有助于架构师在如何实现某个系统质量目标时明确应注意什么。例如,“对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计”描述的是敏感点。
权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。例如,“更改加密的级别将对安全性和性能产生影响”描述的是权衡点。提高加密级别可能提高系统的安全性,但可能要耗费更多的处理时间,从而导致系统性能降低。若对某些机密消息的处理有严格的时间延迟要求,则加密级别将成为一个权衡点。