目录
面向对象设计
| 模式 | 个人理解 |
| 抽象工厂模式 | 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。(一系列接口) |
| 工厂模式 | 定义一个用于创建对象的接口,让子类决定实例化哪个类。(实例化推迟) |
| 生成器/构建起模式 | 将一个复杂的构建与它的表示分离,使得同样的构建过程可以有不同表示。(相同组件分离共建) |
| 原型模式 | 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。(复制) |
| 单例模式 | 一个类仅有一个实例。 |
| 模式 | 个人理解 |
| 适配器模式 | 原不相容的接口,能协同工作。(转换接口,如充电接口) |
| 桥接模式 | 把变化部分拆开,进行连接,让变化部分独立变化。(继承树拆分) |
| 组合模式 | 整体——>部分,层次结构。(树形目录结构) |
| 装饰模式 | 基础类+内容或职责。(附加职责,扩展) |
| 外观模型 | 系统一组接口,合成一个类接口。(对外统一接口) |
| 享元模式 | 提供支持大量细粒度对象共享的有效方法。 |
| 代理模式 | 为其他对象提供一种代理以控制这个对象的访问。 |
| 模式 | 个人理解 |
| 职责链模式 | 传递职责,请求不能处理时,往下发。 |
| 命令模式 | 日志记录,可撤销。(封装为一个对象) |
| 中介者模式 | 不直接饮用。(A-B-C,使用中介对象,进行交互。) |
| 观察者模式 | 当一种一对多关系,一个发生改变,会发出通知和更新。 |
| 状态模式 | 内部状态改变,而改变它的行为状态。(状态变成类) |
| 策略模式 | 多算法封装,可以不改变算法结构而使用不同的算法。(多方案切换) |
| 解释器模式 | 给定一个语言,作为表示,并定义一个解释器。 |
| 迭代器模式 | 提供顺序访问,且不需暴露内部表示。 |
| 备忘录模式 | 对内部做备份,可以恢复。 |
| 模板模式 | 提供算法公共部分,将变的部分留给子类。 |
| 访问者模式 | 在不改变各元素下,进行新的操作。(类似访问者) |
其中工厂模式、适配器模式、解释器模式,可以表示类模式,也可表示对象模式。其他只表示对象模式。
| 原则 | 内容 |
| 接口隔离原则 | 使用多个专用接口比使用单一的总接口要好。 |
| 开放-封闭原则 | 软件实体(类、模块、函数等)应该是可以扩展的,即开放的;但是不可修改的,即封闭的。 |
| 共同封闭原则 | 包中所有的类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。 |
| 组合重用原则 | 要尽可能使用组合,而不是继承关系达到重用目的。 |
| 单一职责原则 | 设计目的单一的类。 |
| 李氏替代原则 | 子类可以替代父类 |
| 依赖倒置原则 | 要依赖抽象而不是具体实现。针对接口编程,不要针对实现编程。 |
| 迪米特原则(最少知识法则) | 一个对象应当对其他对象有尽可能的了解。 |
| 耦合类型 | 描述 |
| 非直接耦合 | 模块无关,联系靠调用。 |
| 数据耦合 | 借参传递一些简单数据。 |
| 标记耦合 | 传输记录 |
| 控制耦合 | 传控制逻辑信息。 |
| 外部耦合 | 访问全局变量。 |
| 公共耦合 | 共同数据环境。(如公共内存) |
| 内容耦合 | 不通过正常入口直接对模块进行访问。 |
耦合度从上往下逐渐递增。
| 静态绑定 | 编译+过程 |
| 动态绑定 | 调用执行+过程 |
| 递归查询 | 一般客户机与服务器之间。 |
| 迭代查询 | 服务器与服务器之间。 |
开发
| 任务 | |
| 词法分析 | 一个一个识别。 |
| 语法分析 | 分析表达式、语句等。 |
| 语义分析 | 分析有没有静态语义错误,如除零操作。 |
| 中介代码生成 | 最常用的一种中间代码是与汇编语言指令非常相似的三地址码。(可省略) |
| 代码优化 | 优化代码。 |
| 目标代码生成 | 生成。 |
| 模型 | 特征 |
| 瀑布模型 | 结构化方法,需求明确。 |
| 原型模型 | 迭代方法,需求不明确,系统规模不大,不复杂。 |
| 螺旋模型 | 迭代方法,需求不明确,大项目,复杂,有风险。瀑布和原型的结合。 |
| 增量模型 | 迭代方法,由一个核心,不断叠加。 |
| 喷泉模型 | 具有迭代性和无间隙性,面向对象的开发方法。 |
| V模型 | 开发与测试结合 |
数据库
| 三级模式 | |
| 模式 | 也是概念模式,对应基本表,描述数据的逻辑结构和特征。 |
| 内模式 | 对应文件,数据的存储等。 |
| 外模式 | 对应视图,提供用户与数据库的接口。 |
| 二级映射 | |
| 模式/内模式映射 | 保证数据的物理独立性。 |
| 外模式/模式映射 | 保证数据的逻辑独立性。 |
| 设计 | |
| 概念设计 | 用户角度、E-R图 |
| 逻辑设计 | 将E-R图转换为关系模式 |
| 物理模式 | 物理存储方法、索引等。 |
操作系统
| 马上寻址 | 地址码就是操作数,速度最快。 |
| 直接寻址 | 指令的地址码就是操作数在主存内的地址,也就是存地址,通过地址寻找操作。 |
| 间接寻址 | 给操作数地址的地址,这样可以提高寻址灵活性,扩大寻址范围,但是因为多次访问,速度会慢一些。 |
| 寄存器寻址 | 地址码的地址是寄存器的地址,相比较内存地址,访问寄存器中操作数的地址会更快一些。 |
| 寄存器间接寻址 | 寄存器保存的是寄存器的地址。 |

CPU:
计算机的主机中包含两大部件:CPU和内存(主存储器)。而对于声卡、显卡、鼠标键盘这些都是属于外设的。
对于CPU,我们需要了解的就是运算器和控制器,以及这两者中的一些寄存器。
①算术逻辑单元 ALU:它是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。
②累加寄存器 AC:通常简称累加器,它是一个通用寄存器,功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。
③数据缓冲寄存器 DR:作为CPU和内存、外设之间数据传送的中转站,作为CPU和内存、外设之间在操作速度上的缓冲。
④状态条件寄存器 PSW:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。
⑤程序计数器 PC:用于存放下一条指令的地址。当一条指令被获取后,程序计数器的地址加1,指向下一条指令的地址。
⑥指令寄存器 IR:用于存放当前从主存储器读出的正在执行的一条指令。
⑦地址寄存器 AR:用于保存当前CPU所访问的内存单元的地址。
⑧指令译码器 ID:计算机执行一条指令时,首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能,这个分析工作由指令译码器来完成。
算法分析与设计:

来源:软考——常用排序算法_遣隽命运的博客-优快云博客_软考排序算法
1、直接插入排序
是一种最简单的排序算法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。当有序表为空时,该记录插入在有序表第一位。()

2、简单排序
也称为直接选择排序。每一趟从第一个元素开始,进行比较,每一趟选出待排序记录序列中的最小值,放在已排序好的记录序列的最后面。

3、冒泡排序
是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,使得小的记录往左移,大的记录往右移。

4、希尔排序

5、快速排序
快速排序实质上就是每次从待排序记录序列中选出一个基准元素,把比基准元素小的放在基准元素的左边,比基准元素大的放在基准元素的右边。然后对基准元素左右的记录序列继续进行排序。

6、堆排序

7、归并排序
归并排序就是将两个或两个以上的有序表合并成一个有序表的过程。

软件工程知识
ISO/IEC软件质量模型规定的质量特征有:

信息安全
1、对称加密技术
用同种密钥加密,用同种密钥解密。
缺点:加密强度不高,密钥分发困难。
常见算法:DES,3DES,AES,RC-5,IDEA算法等。
2、非对称加密技术
由公钥加密,私钥解密。
缺点:加密速度慢。
常见算法:RSA,Elgamal,ECC,背包算法、Rabin、D-H。
3、信息摘要
保证原文内容一旦被篡改会立马发现。
常见算法:MD5,SHA等。
4、数字签名
数字签名采用的是非对称加密技术,适合对小信息量的内容进行加密,所以只用对摘要进行数字签名即可。
5、数字证书与PGP
网络安全
来源:软考——软件设计师:第九章:计算机网络与信息安全考点总结(完整篇)_宋子浩的博客-优快云博客
1、各个网络层次的安全保障

2、网络威胁与攻击

3、防火墙技术

4、OSI七层协议

5、TCP/IP协议族(Internet核心协议)


1万+



被折叠的 条评论
为什么被折叠?



