全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
某在线购物系统的用例建模中,有如下描述: (1) 顾客执行“结算”时,仅当尚未登录系统才执行“登录”;若已登录则不执行“登录”。 (2) “支付”用例执行时,总会执行“验证支付密码”,且“验证支付密码”也被“修改支付密码”用例执行。 (3) “信用卡支付”和“第三方支付”都是一种特殊的“支付”,在需要支付时可替代“支付”。 请按(1)(2)(3)的顺序,分别填写“结算”与“登录”、“支付”与“验证支付密码”、“信用卡支付”与“支付”之间最恰当的用例关系名称:___、___、___。
登录后查看答案
用例建模通常包含若干步骤。某学生将五个步骤打乱为:甲、评审并验证用例模型;乙、识别参与者;丙、撰写用例描述(事件流);丁、确定系统边界;戊、识别用例并用用例图表达。请按规范流程将这些步骤重新排序,并在空位中填出正确顺序(用甲、乙、丙、丁、戊表示):第一步是____,第二步是____,第三步是____,第四步是____,第五步是____。
用例建模的一般步骤为:先确定系统____,再识别参与者,然后识别____并为每个用例编写用例描述,最后绘制用例图并检查模型的一致性与完整性。
某团队为校园停车计费系统编写软件需求规格说明书(SRS)。初稿中包含如下条目:①“系统须对进入停车场的车辆自动识别车牌并记录入场时间”;②“系统响应时间不得超过2秒”;③“停车费率暂定,待与后勤处商定后补充”;④“系统须支持同时处理不少于500辆车的同时进出记录”。依据SRS编写规范,需求条目应当满足无歧义、完整、可验证的要求,其中条目③因费率未确定而不满足____特性,条目④中的“同时”一词存在____问题,需改为明确的量化表述(如“并发处理不少于500条进出记录”);条目②属于需求规格说明中的____需求(填“功能”或“非功能”),条目①属于____需求(填“功能”或“非功能”)。
某团队为开发网上订餐系统开展面向对象分析与设计工作,流程依次为:①理解并明确用户需求;②建立反映问题域静态结构的类模型;③用例建模以刻画系统功能与参与者交互;④建立描述对象动态行为的动态模型;⑤进行系统设计并实现与测试。正确的执行顺序(按序号排列)为____。
某审批系统采用责任链模式,请求沿处理者A→B→C→D依次传递,规则如下:A处理所有奇数请求;B处理能被2整除且小于1000的请求;C处理能被7整除的请求;D处理所有到达它的请求。每个处理者若能处理则处理并终止传递,否则传给下一个。现有三个请求依次提交:1078、896、2025,则处理它们的处理者依次为____(用字母表示,如"A;B;C")。
某报销审批采用责任链模式,处理者依次为组长L、经理M、总监D、总裁P。规则:请求金额x(万元)满足条件C_L(x): x≤1;C_M(x): 1<x≤5;C_D(x): 5<x≤20;C_P(x): x>20。请求沿L→M→D→P正向传递,每个处理者先判断自己能否处理,能处理则处理并终止传递,否则传给后继。现有一笔金额为8万元的报销请求,该请求最终由____处理(填角色代号),在到达该处理者之前共经历了____次传递(即传递动作发生的次数)。
某主题对象 S 按注册顺序在 ArrayList 中保存观察者,通知时用索引 i 从 0 开始,每次循环调用 observers.get(i).update(),然后 i 自增,直到 i ≥ observers.size()。初始观察者依次为 O1、O2、O3、O4(注册顺序即此)。各观察者的 update() 行为:O1 收到通知时立即注销 O2;O3 收到通知时立即注册新观察者 O5;其他观察者不做任何操作。本次通知过程中,实际收到通知的观察者依次是 ____。
某框架的模板方法定义为:final void process(){ begin(); if(needCheck()) stepA(); stepB(); end(); },其中 needCheck() 是钩子方法,begin()、stepB()、end() 均为父类具体方法。某子类重写 needCheck(),第一次调用返回 true,第二次返回 false。若该模板方法被连续执行两次,则两次执行中由该 process() 直接调用的方法(含父类钩子方法)总次数为____次。
某园林渲染引擎用享元模式绘制树木:每棵树的固定三维网格模型(占40KB)作为内部状态被所有树木共享;每次渲染时客户端传入该树的坐标与缩放比例(合计占8KB)作为外部状态。若不使用享元,每棵树单独保存一份网格模型和一份外部数据;使用享元后共享一份网格模型并各自保存外部数据。现有300棵树,则使用享元模式后相比不使用享元,内存占用共减少____KB。
某离线数据校验工具有两项独立设计:甲模块将不同校验规则封装为对象,由调用端注入,运行中可更换整套规则;乙模块由父类固定“载入数据→执行校验→记录结果”的顺序,子类只重写校验步骤。按甲、乙的顺序,它们分别体现____与____。
某文本处理类的父类定义 execute(),依次调用读取、解析、输出三个步骤;子类可分别实现这些步骤,但不能改变调用顺序。按照模板方法模式,父类的 execute() 体现了____。
某网络游戏的背包界面用享元模式渲染装备图标:装备的品质图标为内部状态(键为(部位,品质)二元组),装备在格子中的位置与数量为外部状态。享元工厂维护一个不淘汰对象的享元池,getFlyweight(key) 命中则返回池中对象,未命中则创建并登记。初始池为空,界面刷新时依次请求以下 8 次:(武器,史诗)、(头盔,稀有)、(武器,史诗)、(护甲,普通)、(头盔,史诗)、(武器,普通)、(护甲,普通)、(武器,史诗)。刷新后,享元池中登记的享元对象共有 ____ 个,而 8 次请求中被共享复用(即命中池中已有对象)的次数共有 ____ 次。
某虚拟展馆用享元对象表示同款展柜。展柜的固定外形参数在多个展柜实例间保持不变;每次展示时,客户端传入展柜的灯光亮度和摆放方位。按享元模式,固定外形参数属于____状态,灯光亮度和摆放方位属于____状态。
某绘图应用采用抽象工厂模式。抽象工厂 ShapeFactory 声明了 createShape() 与 createFill() 两个方法。系统中现有三个具体工厂:CanvasFactory、SvgFactory 和 PdfFactory,分别创建对应平台下的形状与填充对象。客户端只依赖抽象工厂和抽象产品接口。若现在需要新增一种产品类型,即在抽象工厂中增加 createStroke() 方法,并要求原有的三个具体工厂都能创建描边对象,则至少需要修改的已有具体工厂类的个数是 ___。
某订单金额计算组件 calculate() 返回 500。现有两个装饰器:折扣装饰器 D 将所包装对象的返回值乘以 0.8;满减装饰器 R 将所包装对象的返回值减去 50。若将 calculate 对象用这两个装饰器各包装一次,最终 calculate() 返回 350,则最外层的装饰器是 ___(填 D 或 R)。
某跨平台音频播放系统中:(A) 已有旧类 LegacyDecoder,仅提供方法 startDecode(File),而新框架要求的统一接口为 Player.open(File);开发时新建一个中间类实现 Player 接口并内部调用 LegacyDecoder.startDecode,使旧类可无缝接入新框架。(B) 系统中“播放器抽象(普通播放、增强播放)”与“音频解码实现(软解、硬解)”分属两个独立变化的维度,设计时让播放器抽象持有解码实现的引用,使二者可独立扩展互不影响。场景(A)体现的是___模式,场景(B)体现的是___模式;从意图上看,适配器模式的目的是转换已有接口以___,而桥接模式的目的是分离抽象与实现以使二者___(后两空各填题干中给出的对应短语:'符合目标接口' / '独立变化')。
某素材库设计了两个代理:P 仅在用户首次请求素材内容时才创建体积较大的真实素材对象;Q 在每次转发请求前检查用户是否具有读取权限。两者都与真实素材对象实现相同接口。按各代理的主要控制目的,P 属于____,Q 属于____;代理与真实对象共同实现的是____。
甲对象把多个子系统的调用步骤组织成一个简化入口;乙对象与某个真实对象提供相同接口,并在请求到达时控制是否访问该真实对象。两者都可能让客户端调用更方便,但按核心意图区分,甲属于____,乙属于____。
某在线考试系统包含题库加载、组卷引擎、阅卷服务三个子系统类。现引入外观类 ExamFacade,客户端只需调用其 startExam() 方法即可完成开考流程,无需了解子系统内部细节。在外观模式中,承担“向客户端提供统一高层接口、封装并协调子系统调用”这一职责的角色称为____角色,而 ExamFacade 正是充当该角色的具体实现。