某公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和对象之间的关系。针对该需求,公司应该采用(问题1)架构风格最为合适。在架构设计阶段,公司的架构师识别出两个核心质量属性场景。其中,"在并发用户数量为10000人时,用户的请求需要在1秒内得到响应"主要与(问题2)质量属性相关;"对游戏系统进行二次开发的时间不超过3个月"主要与(问题3)质量属性相关。
本题考察的是软件体系结构风格和质量属性的相关概念。
游戏系统的架构需要支持大量的并发用户以及高度的可定制性,同时考虑到性能和可修改性等质量属性。
问题1:
A选项层次系统:层次系统架构适用于有层级关系的应用,比如数据库管理系统等,但不适合支持动态自定义的需求,错误。
B选项解释器:解释器架构风格适用于需要解析和执行用户定义的内容(如玩家自定义战役地图和对象行为),因此最适合该需求,正确。
C选项黑板:黑板架构用于解决需要多模块协作的问题,但不完全符合支持玩家自定义的需求,错误。
D选项事件驱动系统:虽然事件驱动适用于响应异步事件的场景,但并不专注于用户自定义内容的解析,错误。
所以选择 B。
问题2:
A选项性能:用户请求在1秒内响应属于性能的要求,符合描述,正确。
B选项吞吐量:吞吐量通常与系统处理的总数据量有关,而题干关注的是响应时间,错误。
C选项可靠性:可靠性与系统故障和恢复能力相关,而非响应时间,错误。
D选项可修改性:可修改性关注的是系统的可维护性,和性能无关,错误。
所以选择 A。
问题3:
A选项可测试性:虽然可测试性是一个重要的质量属性,但该场景更多是涉及到系统的可修改性,错误。
B选项可移植性:可移植性与系统能否在不同平台间迁移有关,与二次开发的需求无关,错误。
C选项互操作性:互操作性关注不同系统之间的交互,与二次开发的时间无关,错误。
D选项可修改性:二次开发的时间与系统的可修改性相关,符合描述,正确。
所以选择 D。
