某公司欲开发一个在线交易系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景。其中"当系统面临断电故障后,需要在1小时内切换至备份站点并恢复正常运行"主要与 (问题1) 质量属性相关,通常可采用 (问题2) 架构策略实现该属性;"在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应"主要与 (问题3) 质量属性相关,通常可采用 (问题4) 架构策略实现该属性;"对系统的消息中间件进行替换时,替换工作需要在5人/月内完成"主要与 (问题5) 质量属性相关,通常可采用 (问题6) 架构策略实现该属性。
软件质量属性是衡量系统架构优劣的核心维度,其中可用性聚焦系统持续提供服务的能力,体现为故障发生后能否快速恢复正常运行,关键指标包含平均故障间隔时间、故障恢复时长,常见实现策略有冗余部署、心跳机制、故障转移等,操作隔离可缩小故障影响范围,监控工具主要辅助故障发现但不直接实现恢复;性能衡量系统的响应与处理能力,核心指标为响应时间、吞吐量、并发承载量,针对高并发下的快速响应需求,可通过资源调度类策略优化,比如负载均衡、弹性伸缩、线程池连接池配置、优先级调度等;可修改性关注系统的灵活调整能力,即修改或替换组件时对现有功能的影响程度及成本,常用策略包括接口-实现分离、信息隐藏、模块化设计,这类设计能降低组件替换的工作量与周期。除此之外,还有安全性(保障合法访问、阻止非法入侵)、易用性(提升用户操作友好度)、互操作性(实现跨系统兼容协作)、可测试性(便于系统验证与问题排查)等其他质量属性,共同构成架构设计的核心考量体系。
本题考察的是软件质量属性的相关概念。
性能指的是系统的响应能力,代表参数通常是响应时间和吞吐量。常见的架构策略包括资源调度和优先级队列等。
可用性指系统能够正常运行的时间比例,代表参数有故障间隔时间。常见的设计策略包括冗余和心跳等。
可修改性是指系统在不影响现有功能的情况下进行修改的能力,通常需要采用信息隐藏、接口-实现分离等设计策略。
问题 1:
A选项性能:性能关注的是响应时间和吞吐量,并不涉及系统在故障后的恢复能力,因此错误。
B选项安全性:安全性是指系统在向合法用户提供服务的同时阻止非法用户使用,因此与系统的备份和恢复无关。错误。
C选项可用性:可用性涉及系统在遇到故障时是否能够恢复正常工作,直接与“断电故障后恢复”相关。因此,正确。
D选项可修改性:可修改性与系统的恢复能力无关,因此错误。
所以选择 C。
问题 2:
A选项操作隔离:操作隔离主要与系统的故障容忍度相关,虽然它能在故障发生时提供隔离,但不涉及系统恢复。错误。
B选项资源调度:资源调度侧重于管理系统资源的分配和利用,主要影响系统的性能,并不适用于可用性相关的恢复问题。错误。
C选项心跳:心跳机制用于检查系统各部分的健康状态,并确保在发生故障时可以快速切换到备份站点,符合“断电故障后恢复”的需求。正确。
D选项内置监控器:内置监控器用于实时监控系统的运行状态,但其主要作用是发现问题而非恢复。错误。
所以选择 C。
问题 3:
A选项性能:性能关注的是系统在高并发情况下的响应能力,直接与“0.5秒内响应”相关,因此正确。
B选项易用性:易用性是指系统的可操作性和用户友好度,与交易请求的响应时间无关。错误。
C选项可用性:可用性关注系统是否能够在故障时恢复,虽然这涉及到系统的健康状态,但与响应时间要求无关。错误。
D选项互操作性:互操作性关注系统与其他系统的兼容性,而不涉及并发时的响应时间。错误。
所以选择 A。
问题 4:
A选项主动冗余:可用性战术(多活/主备),主要提升故障容忍,对响应时间并不直接优化,错误。
B选项资源调度:性能关键战术,包括负载均衡、弹性伸缩、线程/连接池、队列与背压、优先级调度等,直接面向“1000并发、0.5秒响应”目标,因此正确。
C选项抽象接口:可修改性战术,促进行为隐藏与替换,非性能优化主线,错误。
D选项记录/回放:多用于可测试性/可靠性验证与问题复现,与性能目标不匹配,错误。
所以选择 B。
问题 5:
A选项可用性:可用性指系统在出现故障时能够恢复运行,而消息中间件替换的工作与系统的功能修改相关,属于可修改性。错误。
B选项安全性:安全性侧重于防止未经授权的访问,与消息中间件的替换无关。错误。
C选项可测试性:可测试性主要与软件系统的测试能力相关,而与系统修改能力无关。错误。
D选项可修改性:可修改性关注系统的灵活性和可维护性,消息中间件替换的需求正体现了这一点,因此正确。
所以选择 D。
问题 6:
A选项接口-实现分离:接口-实现分离是可修改性的重要设计策略,它能帮助系统在不影响其他部分的情况下进行修改,正适用于消息中间件的替换。正确。
B选项记录/回放:记录/回放主要用于审计和故障分析,与消息中间件替换的灵活性无关。错误。
C选项内置监控器:内置监控器主要用于实时监控系统运行状态,与系统修改的灵活性无关。错误。
D选项追踪审计:追踪审计主要与安全性和合规性相关,而与系统的修改性无关。错误。
所以选择 A。
