skip to content
Logo Logo ZhenXI Blog

软考之旅再进京, 二度北上赴考程(二)

/ 12 min read

27 数据库:三级模式二级映像

image-20250311124735196 image-20250311125331687 image-20250311125012261 image-20250311125107391 image-20250311125209213 image-20250311125424512 image-20250311125717554 image-20250311125742368

28 关系模型

image-20250311130041318 image-20250311132059383 image-20250311132632458 image-20250311132922131 image-20250311133054755 image-20250311144525671 image-20250311151335914 image-20250311151559522 image-20250311151808403 image-20250311151910765 image-20250311152203014 image-20250311152619744

看错了:B

image-20250311153454425 image-20250311153927379 image-20250311154006596 image-20250311154422590 image-20250311154709874 image-20250311154903331 image-20250311155103910 image-20250311155244082 image-20250311155555009

29 SQL

image-20250320222139110 image-20250320222419146 image-20250320222553443 image-20250320222858731 image-20250320222951282 image-20250320224242926 image-20250321194658856 image-20250321194804832 image-20250321195029971 image-20250321195240786 image-20250321195530498 image-20250321195716490 image-20250321195754608 image-20250321200035655

授权权限

image-20250321200640850

收回权限

image-20250321200655991 image-20250321200815346 image-20250321201542965 image-20250321201638454

视图

image-20250321201814799 image-20250321202413230 image-20250321202630714

索引

image-20250321202809011 image-20250321203325328

30 关系模式

image-20250321204914486 image-20250321212238932 image-20250321212310240

候选码

image-20250321211115964 image-20250321211151230 image-20250321211239462 image-20250321211304970 image-20250321211354420

C是冗余的!把其去掉还能得到,D去掉得不到2推4!

image-20250321211557265 image-20250321211710584 image-20250321211829275 image-20250321211914939 image-20250321212027739 image-20250321212126890

范式

image-20250321213146406 image-20250321214825129 image-20250322075242787 image-20250322080501804 image-20250322081928312 image-20250322084159810

C,满足BC范式

image-20250322084948354 image-20250322085046009 image-20250322085707148 image-20250322085822576 image-20250322085951515 image-20250322090441977

1NF A,选错了

image-20250322092258749 image-20250322092401419

无损链接

image-20250322092503101 image-20250322092630873 image-20250322093105307 image-20250322093304955 image-20250322093829999

31 数据库设计

image-20250322154720251 image-20250322205649051 image-20250322205741350

52选C,属于符合属性

image-20250322213024932 image-20250322213343782 image-20250323083714911 image-20250323084005319

54选择B,确实就诊

image-20250323084443441 image-20250323084633359 image-20250323084800711
阶段主要任务与活动作用与目的核心输出物
需求分析1. 收集用户需求(功能、性能、安全等) 2. 定义业务规则与流程 3. 确定系统边界与用户角色 4. 识别数据范围与约束1. 明确需求边界,确保与用户共识 2. 为后续设计提供无歧义的输入 3. 降低后期返工风险需求说明文档(SRS) 数据流图(DFD) 数据字典(初步版) 用户角色矩阵
概念设计1. 创建实体关系(ER)图 2. 定义实体、属性、联系 3. 抽象业务逻辑剔除技术依赖 4. 验证一致性1. 将需求转化为通用概念模型 2. 确保设计与业务对齐 3. 规划数据库逻辑框架ER模型图 业务规则说明书 数据分类清单
逻辑设计1. 转换为关系模型 2. 定义约束(主键、外键、唯一性等) 3. 数据标准化消除冗余1. 将概念模型具体化为逻辑结构 2. 确保数据完整性与一致性 3. 独立于具体数据库系统数据字典(最终版) 关系模型图(含约束定义)
物理设计1. 选择存储结构(索引、分区、表空间) 2. 优化查询性能 3. 配置硬件资源与负载均衡1. 根据DBMS特点适配设计 2. 提升性能与资源利用效率 3. 确保物理部署可行性索引方案文档 分区策略方案 存储配置文档
实施阶段1. 编写DDL创建表结构 2. 导入初始数据 3. 功能与性能测试1. 将设计转化为可运行的数据库实例 2. 验证设计的可行性与兼容性DDL脚本文件 测试报告 数据导入日志 实际数据库实例
运行与维护1. 监控性能/优化 2. 管理数据备份与恢复 3. 动态调整设计与修复1. 保障系统长期稳定运行 2. 根据业务变化迭代设计 3. 确保数据安全与灾备能力性能优化记录 备份策略文档 系统升级日志 数据异常修复记录
image-20250323085039796 image-20250323085106292 image-20250323085722738 image-20250323085745277 image-20250323085814093 image-20250323085917825 image-20250323091852010 image-20250323091913213 image-20250323092101919 image-20250323095525586

共享锁只能加共享锁、排它什么都不能加!

image-20250323095823305 image-20250323095942092

分布式数据库:

image-20250323100108061 image-20250323100258994 image-20250323100415818 image-20250323100432256 image-20250323100503540 image-20250323100512865 image-20250323100836272 image-20250323101017263 image-20250323101035038 image-20250323101217532 image-20250323103054424 image-20250323103113187 image-20250323103140412

32 面向对象

类的分类与总结

类别对象表示主要任务与特点
实体类现实世界中的真实实体(人、物)- 存储数据,以属性为核心 - 行为较少,通常仅含 getter/setter - 无业务逻辑或极简逻辑 - 对应数据库实体或业务领域对象
接口类(边界类)用户或系统交互的接口- 提供用户或系统与系统交互的界面 - 处理输入/输出并转换格式 - 分为“人接口”和“系统接口”两类
控制类协调系统活动流程- 管理活动流,协调其他类协作 - 不包含数据或界面逻辑 - 遵循控制类设计模式(如指挥者模式、控制器模式)
image-20250323170531213 image-20250323170636174 image-20250323171051832 image-20250323171136850 image-20250323172639260 image-20250323172806633 image-20250323173123156 image-20250323173207338

方法重载

image-20250323173557613 image-20250323173748468 image-20250323173841867

封装

image-20250323174054407 image-20250323210811879 image-20250323210827407 image-20250323210902199 image-20250323211018032 image-20250323211058026 image-20250323211448398 image-20250323211547769

继承、覆盖

image-20250323211650919 image-20250323212954914 image-20250323212300536 image-20250323212548067 image-20250323212700920 image-20250323212742892 image-20250323213248569 image-20250323213330186 image-20250323213406860

多态

image-20250323213456772 image-20250323214803787 image-20250323214846902 image-20250323214925540 image-20250323215256629 image-20250323215348824 image-20250323215448891 image-20250323215513666 image-20250323215649639 image-20250323215732017 image-20250323215828338 image-20250323215921491

静态绑定 动态绑定

image-20250328080344667 image-20250328080411456 image-20250328080437988 image-20250328080509379 image-20250328080706141 image-20250328080724918

面向对象原则(背)

image-20250328080811889 image-20250331102553272 image-20250331102924093 image-20250331103201261 image-20250331103209807 image-20250331103331509 image-20250331103421647 image-20250331103512381

面向对象分析

image-20250402090852689

附上说明:

活动名称描述输入/输出示例
1. 认定对象从需求、用例或场景中识别系统的核心对象(即需要建模的实体或概念)。输入:用例、用户需求 输出:候选对象清单例如:分析电商系统时,认定“客户”“订单”“商品”为关键对象。
2. 组织对象通过类间关系(如继承、聚合、组合、关联)将对象组织成合理的层级或结构。输入:候选对象 输出:类图或关系图将“VIP客户”设计为“客户”的子类,体现继承关系;“订单”和“商品”通过关联关系连接。
3. 描述对象间的相互作用描述对象之间如何协作完成系统功能(如调用方法、传递消息)。输入:类关系 输出:交互图(如顺序图)“订单”对象调用“支付系统”对象的“完成支付”方法,触发事务处理。
4. 确定对象的操作定义每个对象对外暴露的方法或行为(例如,“登录”“删除”等操作)。输入:用例/需求 输出:操作列表定义“账户”类的操作:存款()取款()查询余额()等。
5. 定义对象的内部信息确定对象的数据属性(即对象的状态信息或存储的数据)。输入:用例/需求 输出:属性列表定义“客户”类的属性:客户ID姓名联系方式
image-20250402091830698 image-20250402092123348 image-20250402092258615 image-20250402092408010 image-20250402092459655 image-20250402092557703 image-20250402092753693 image-20250402092838709 image-20250402092904247 image-20250402093150541 image-20250402093318536 image-20250402094112903 image-20250402094152676 image-20250402094253754 image-20250402100002212 image-20250402100030875 image-20250402100733235

33 UML

image-20250402101558153 image-20250402103005904 image-20250402103236483 image-20250402104026363 image-20250402162548761 image-20250402164320762

41选B 关联关系包括聚合组合

image-20250402165037283 image-20250402164908982 image-20250402164942323 image-20250402165120436 image-20250402165158619 image-20250402165409608 image-20250402165522997 image-20250402165638911 image-20250402165749018 image-20250405135431816 image-20250405135702554 image-20250405140150642

选A

image-20250405140505532

多对多

类图

image-20250405141033891 image-20250405142544831 image-20250405142815500
特征重载(Overloading)覆盖(Overriding)
存在范围同一个类内部。发生在继承关系的父子类之间(子类覆盖父类的方法)。
目的提供多种参数形式,调用同一逻辑的不同变体。子类提供父类方法的特定实现(多态性)。
image-20250405143009281 image-20250406091002312

43选D

image-20250406091634216 image-20250406093550452

对象图

image-20250406093748040 image-20250406094159507

用例图

image-20250406100304801
对比项包含关系(Include)扩展关系(Extend)
定义主用例必须包含被包含用例的行为,必须在执行时完成。扩展用例可选附加在基础用例上,仅在满足特定条件时触发。
符号箭头(主用例 → 被包含用例),标注 <<include>><<include>>: [条件]箭头(扩展用例 → 基础用例),标注 <<extend>> 并附带条件,如 <<extend>>: [条件]
方向主用例被包含用例扩展用例基础用例
执行条件强制执行,被包含用例是主用例的必要步骤。条件执行,扩展用例仅在满足条件时触发。
触发时机在主用例的固定位置插入行为(如步骤中间或结尾)。在基础用例的某个点插入行为,需明确触发条件。
语义表示必需的部分-整体关系,强调必要性。表示可选的增强关系,强调灵活性。
适用场景身份验证、数据校验等核心流程中不可或缺的功能。登录后提示“忘记密码”、购物车使用优惠券、权限检查等可选功能。
关系类型主用例/基础用例从用例条件/描述
包含关系登录系统身份验证用户登录时必须执行身份验证,否则登录失败。
订单支付输入支付密码支付过程中必须输入并校验支付密码。
扩展关系购买商品应用优惠券当用户选择优惠券时,在支付前触发优惠券抵扣。
查看个人信息修改密码当用户选择“修改密码”选项时,在个人信息页面触发密码修改流程。
image-20250406105741158 image-20250406105812895

序列图(顺序图)

image-20250406110142606 image-20250406110318616 image-20250406152032991

正确选项:B;应该是找箭头指向的落点!!!

image-20250406153440019 image-20250406153854730

通信图

image-20250406154010309 image-20250406160035464 image-20250406160248669

状态图

image-20250406160641368 image-20250407104018508 image-20250407104738503 image-20250407105138968 image-20250407105501603 image-20250407105852456 image-20250407113355151

活动图

image-20250409110846573 image-20250410094212001 image-20250410094524544 image-20250410094555393 image-20250410094958159

构件图

image-20250410095117234 image-20250410100252882 image-20250410100321971 image-20250410100424594

43 D

部署图

image-20250410100731315 image-20250410101236819 image-20250410101323052 image-20250410101421134

分类

image-20250410102056292 image-20250410102409657 image-20250410102907453

34 设计模式

image-20250410110733864

设计模式分类

image-20250410110834262

工厂模式

image-20250411150809798 image-20250412164233181 image-20250414094651940

抽象工厂

image-20250414094806158 image-20250414103446289 image-20250414095909839 image-20250414100004367

生成器模式

image-20250414101753957 image-20250414103251398 image-20250414102229158 image-20250414102325980 image-20250414102841241 image-20250414103318160

原型模式

image-20250414103558573 image-20250414104256743

单例模式

image-20250414104424635 image-20250414110329588 image-20250414110429595 image-20250414110530348

适配器模式

image-20250414111702471 image-20250414120224351 image-20250414120245587

桥接模式

image-20250414120427908 image-20250414152908219

假设我们正在开发一个绘图程序,需要支持不同的形状(如圆形、矩形)和不同的颜色(如红色、蓝色)。如果直接通过继承来实现,比如创建 RedCircleBlueCircleRedRectangleBlueRectangle 等类,会导致类数量爆炸(形状和颜色的组合数量),并且难以扩展(新增一种颜色或形状需要创建多个新类)。

桥接模式可以解决这个问题:将形状(抽象)和颜色(实现)分离,通过组合的方式实现灵活的扩展。

image-20250414121429940 image-20250414121611023

45选A

image-20250414152821491

组合模式

image-20250414153117180 image-20250414160222594 image-20250414195220938 image-20250414195525397

装饰器模式

image-20250414195827376 image-20250414200530829

外观模式

image-20250414200654514 image-20250414201515807 image-20250414201911747 image-20250414202256957

享元模式

image-20250414202438715 image-20250414202541790 image-20250414204823847

代理模式

image-20250414205047807 image-20250414205806410

责任链模式

image-20250414211010933

命令模式

image-20250414211434500 image-20250415084321336 image-20250415084432018 image-20250415084757206

解释器模式

image-20250415084831771 image-20250415085612532

迭代器模式

image-20250415085656273 image-20250415091120741

中介模式

image-20250415090937879 image-20250415091038181 image-20250415091230555

备忘录模式

image-20250415092121372

观察者模式

image-20250415102622870 image-20250415113504513 image-20250415120840437 image-20250415120946230 image-20250415152420645 image-20250415152654509 image-20250415153301395

状态模式

image-20250415153540310 image-20250415154635339 image-20250415155300208

策略模式

image-20250415161728616

模板方法

image-20250422135331165

访问者模式

image-20250422135532572

35 计网

层次功能主要she’bei
应用层网关
网络层 (Layer 3)负责数据包路由和转发,处理 IP 地址,决定数据路径路由器
数据链路层 (Layer 2)在相邻节点间传输数据帧,提供错误检测和纠正,处理 MAC 地址交换机 (Switch)、网桥 (Bridge)、网卡 (NIC)
物理层 (Layer 1)传输原始比特流,定义物理连接的电气和机械特性(如电压、连接器)集线器 (Hub)、中继器 (Repeater)、电缆、光纤
image-20250422201825480 image-20250422202011119 image-20250422202151887 image-20250422202352071 image-20250422202559694 image-20250422202636665

协议簇

image-20250422202803033 image-20250422202916875 image-20250422203114862 image-20250422204147402 image-20250422204246584

25 时间、空间复杂度

image-20250310102519736 image-20250310105855945 image-20250310110231894 image-20250310110456839 image-20250310110837914 image-20250310111056586 image-20250310111427740 image-20250310111849558 image-20250310112153015