软件设计师 知识点拾遗 2022年上半年部分并2021年下半年
软件设计师 知识点拾遗 2022年上半年部分并2021年下半年
2022年的题做了30多道题之后才发现题不全,然后又重新做了下2021年下半年的题,今天错的是20个,又有一点进步~
一、2022年上半年部分题

不再赘述DRAM和SRAM的具体概念,要强调的是SRAM的功率要比DRAM更大,这是因为DRAM比SRAM更高的集成率使得其在相同容量下所用的芯片更少一些,降低了功率输出。

首先,所谓的多级中断的含义是系统中存在多个不同优先级的中断源,当高优先级中断正在执行时,允许被更高优先级的中断打断,形成嵌套处理机制。因此,堆栈的“后进先出”特性完美匹配中断嵌套场景,每次中断只需压栈(PUSH)现场信息,返回时弹栈(POP)即可自动恢复。

- A选项,精简指令集的设计目标之一就是简化指令,使大多数指令能在单时钟周期内完成,提高执行效率。
- B选项,由于在RISC中有更多的寄存器,因此硬布线控制器比较适合它;而CISC需要通过微代码解释复杂指令,所以普遍采用微程序控制器。
- C选项,显而易见。
- D选项,现代RISC和CISC架构均广泛采用流水线技术以提高指令吞吐量。

- 著作权:著作权的保护期一般为作者终生加上其死后的50年,不可延长。
- 专利权:发明专利保护期20年,实用新型/外观设计10年,均不可延长。
- 商标权:保护期10年,但可无限续展(每次续展延长10年),只需在到期前申请并缴纳费用。
- 商业秘密权:保护期理论上是永久的(只要信息保持秘密性),但一旦公开即失效,无需延长。

对比维度 | 边界值分析法 | 判定覆盖 |
---|---|---|
定义 | 通过测试输入域的边界值及邻近值来发现错误。 | 确保程序中的每个逻辑判断(真/假)至少执行一次。 |
核心目标 | 验证边界条件的正确处理。 | 覆盖所有逻辑分支,保证条件完整性。 |
典型示例 | 测试"年龄≥18"时输入17、18、19。 | 测试if (A && B) 需覆盖A真/B真、A假/B假等组合。 |
测试阶段 | 黑盒测试 | 白盒测试 |

众所周知,视图是一个虚拟表,但是其中保存的是视图的查询逻辑,亦即视图定义,而非查询结果。视图每次会查询动态生成结果,数据字典不缓存结果,否则无法反映基表变化。

经典记不清,在树中存在如下关系:
其中,代表度为m的结点的个数。
二、2021年下半年

当存在侵权行为时,赔偿责任通常仅由故意或者存在重大过失的侵权方承担,在本题中即由广大公司(经销商)承担,而鸿达公司这些善意使用者支付合理费用之后可以继续使用该软件。

增量模型有以下不足之处:如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就需要重新开发。综上所述,增量模型强调开发阶段性早期计划,并且有较高的系统管理成本。

系统测试是软件测试的重要阶段,其目标是验证整个系统是否符合用户需求。因此,测试用例的设计必须基于需求分析阶段的输出,而非其他开发阶段的产物。
- 概要设计:决定系统如何分解为模块,但系统测试关注的是整体功能,而非模块间交互(这是集成测试的范畴)。
- 详细设计:涉及具体算法或数据库设计,属于开发细节,系统测试不验证这些内容。
- 软件实现:代码是测试的执行对象,但测试目标仍需从需求中提取。

- 可行性研究报告:规划阶段核心文档,用于评估项目是否可行(用户需参与讨论)。
- 总体规划报告:规划阶段输出,明确系统目标和范围(用户需确认)。
- 项目开发计划:分析阶段可能制定初步开发计划(用户可能参与评审)。
- 用户使用手册:系统完成后编写,指导终端用户操作,不用于前期交流。

在面向对象当中,类之间的关系主要有以下4种,按耦合强度从弱到强排序:
- 依赖:临时性使用,不具有长期持有关系。
- 关联:长期持有引用。
- 聚合:整体与部分可以独立存在。
- 组合:部分不可能脱离整体存在。
注:本题答案众说纷纭,能够清晰认识概念即可。

存储过程将SQL逻辑(如UPDATE user SET balance=…)隐藏在存储过程中,第三方仅调用sp_update_balance(),无需知道具体表名或字段。这样一来,可限制第三方直接操作表的权限,仅允许执行特定存储过程。也能避免SQL注入风险,且表结构变更时只需修改存储过程,不影响调用方。