单选题
某公司欲开发一个在线交易系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与______质量属性相关,通常可采用______架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与______质量属性相关,通常可采用______架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与______质量属性相关,通常可采用______架构策略实现该属性。
【正确答案】
C
【答案解析】[解析] 软件质量属性是影响软件架构设计的重要因素。性能、可用性、安全性等是常见的软件质量属性。
性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。依题意,“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与“性能”质量属性相关。通常,实现“性能”质量属性的架构设计策略有:①增加可用资源(更快的处理器、多处理器、更大的内存以及速度更快的网络等);②改善资源需求(减少计算复杂度、优化各个进程的内存和CPU占用率等);③资源管理(并发、数据复制等);④资源调度(先进先出队列、优先级队列)等。
可用性是指系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示可用性。依题意,“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与“可用性”质量属性相关。通常,实现“可用性”质量属性的架构设计策略有:①Ping/Echo;②心跳;③异常;④主动冗余(热重启);⑤检查点/回滚;⑥进程监视器等。
安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。依题意,“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与“安全性”质量属性相关。通常,实现“安全性”质量属性的架构设计策略有:①抵御攻击(授权、身份认证和限制访问等);②攻击检测(入侵检测等);③从攻击中恢复(部分可用性策略、电子盘技术等);④信息审计(审计追踪)等。