软件设计师学习笔记

以下笔记都是基于电子版教材和图书,存于百度网盘中需要自取,仅限于学习,禁止商用,如有侵权,请及时联系:

电子图书提取链接:https://pan.baidu.com/s/149F0iwj7DmAVIOQl47dPig
提取码:auyn

学习视频提取链接:https://pan.baidu.com/s/1RJlM7vk2PZX3X8cw3Z-2zQ
提取码:gdju

查看易错题可点击:软件设计师易错题汇总 - minnersun - 博客园

计算机组成与体系结构

RISC和CISC

 

CPU

由运算器和控制器组成

控制器

控制指令的执行顺序

运算器

主要功能是在控制器的控制下完成各种算数运算和逻辑运算

寄存器

数据寄存器

又称数据缓冲寄存器,其主要功能是作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。

指令寄存器

用来保存当前正在执行的一条指令

程序计数器

用来指出下一条指令在主存储器中的地址

地址寄存器

用来保存CPU当前所访问的主存单元的地址

累加寄存器

是一个通用寄存器,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果

存储器

随机存储器

可以按地址访问存储器的任一单元

顺序存储器

按顺序查找目标地址,访问数据所需时间与数据存储位置相关

直接存储器

介于上述两者之间,磁道寻址随机,磁道内寻址顺序

相联存储器

按内容访问的存储器,将数据或数据的某一部分作为关键字,按顺序写入信息,读出时将关键字与存储器中的每一单元进行比较。适用于信息的检索与更新

DRAM和SRAM

DRAM集成率相对较高,功耗相对较小,需要动态刷新。

SRAM集成率相对较低,功耗相对较大,不需要动态刷新。

I/O系统 5 中工作方式

程序控制方式

分为无条件查询和程序查询方式。

无条件传送方式,O端口总是准备好接受主机的输出数据,或是总是准备好向主机输入数据。优点是软、硬件结构简单,缺点是对时序要求高,只适用于简单的I/0控制。

程序查询方式也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入(输出操作。CPU必须不停地循环测试!0设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/0设备进行数据存取操作。

中断方式

当VO设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条设备I/0启动指令,然后CPU又返回做原来的工作。CPU与I0设备可以并行工作,与程序查询方式相比,大大提高了CPU的利用率。

DMA(直接内存存取)

方式DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)"直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的干预。

通道控制方式

在一定的硬件基础上利用软件手段实现对I/0的控制和传送,更多地免去了cpu的接入,使主机和外设并行工作程度更高

I/O处理机

指专门负责输入/输出的处理机。可以有独立的存储器、运算部件和指令控制部件。

系统总线

包括:数据总线、地址总线、控制总线

 

操作系统

软件层次

操作系统

语言处理程序(系统软件):数据库、虚拟机等

应用程序

 

 

进程、线程

进程

拥有资源的独立单位

可独立调度和分配资源

进程状态

 

进程调度
临界资源

进程之间需要互斥方式对其进行共享的资源

进程中访问临界资源的那段代码称为临界区

互斥为间接制约关系

同步:速度有差异,在一定情况下等待

同步为直接制约关系

同步和互斥

 

线程

 

线程只见会共享一些资源,进程都是独立的不会共享资源

但是像:程序计数器、寄存器、栈不会共享

PV操作

信号量表示资源数量

信号量为负数表示排队进程数

P / V操作是 先 加 / 减 1 后再比较

 

死锁资源计算

 

进程资源图

 

段页式存储

主要掌握 页式存储即可

页式存储

 

用户程序 为 逻辑地址

逻辑地址 = 页号 + 页内地址

 

页的大小 = 存储个数 × 编址内容(1B)

存储个数 = 4K = 2^{12}

所以逻辑地址的后 12 位为 业内地址,前 2 位为 逻辑地址

对应的物理地址为:110 110 1101 1110

内存 为 物理地址

物理地址 = 页帧号 + 页内地址

页表 中 记录 用户程序的页号、内存中的块号(也叫页帧号) 一一对应

缺页中断

先淘汰访问位为 0 的,若有多个访问位为 0 的,再优先淘汰修改为为 0 的

磁盘管理

存取时间 = 寻道时间 + 等待时间

寻道时间为磁头移动到磁道所需要的时间,等待时间为等待读写的扇区转到磁头下方所需要的时间

 

一个块的 寻道时间: 10 × 10 = 100

一个块的旋转延迟时间:100

一个块的传输时间:2

100个块的:100 × (100 + 100 + 2)

调度算法

先来先服务

谁先请求,就先访问谁

最短寻道时间优先

简单点说,就是谁离的近就访问谁。

扫描算法(电梯调度算法)

总是从磁头当前位置开始,沿磁头移动方向去选择离当前磁头最近的那个柱面的请求。如果沿磁头的方向无请求访问时,就改变磁头移动的方向。在这种调度方法下磁头的移动就类似于电梯的调度,所以它也称为电梯调度算法。简单点说,想想电梯怎么移动的就是扫描算法的移动方式。

循环扫描算法(单向扫描)

循环扫描调度算法是在扫描算法的基础上改进的。为了减小延迟,规定磁头单向移动,例如,只是自里向外移动,从当前位置开始沿磁头的移动方向去选择离当前磁头最近的那个柱面访问,如果沿磁头的方向无请求访问时,磁头立即返回到最里面的欲访问的柱面,再亦即将最小柱面号紧接着最大柱面构成循环,进行循环扫描。简单点说,就是首先选择距离当前磁头最近的柱面访问,然后沿着这个方向访问到头,然后在返回到开头,进行向里扫描。

 

文件管理

相对路径、绝对路径

绝对路径以 / 开始

位示图

位长:在计算机中,位(bit)是最小的存储单位,每个位可以存储一个二进制数(0或1)

字长:计算机中用于表示和处理数据的二进制位数。它是计算机体系结构的一个重要特征,决定了计算机一次能够处理的数据量

 

注意:这里标注了 位号和字号,所以都从 0 开始计算

索引文件

 

 

 

 

数据库

分布式数据库透明性

分片透明

用户不需要关心 如何分片、分块

复制透明

用户不需要关心数据库在个节点地复制、备份情况

位置透明

用户不必知道所操作地数据放在何处,即存储站点

逻辑透明

用户不需要了解存放的局部逻辑结构,不需要关心支持哪些数据模型、数据操纵语言

 

三级模式、两级映像

 

概念模式映射

逻辑独立性

概念模式映射主要涉及将用户视角下的数据需求(如实体、属性、关系等)转换为数据库管理系统(DBMS)能够理解和处理的数据结构。

内模式映射

物理独立性

内模式映射主要涉及将逻辑模型中的表、索引等数据库对象映射到具体的物理存储设备上,并确定数据的存储格式、存储路径等。

 

关系模式

候选键(候选码)

唯一标识元组,且无冗余

学生唯一标识:{学号,身份证号}

成绩组合候选键(学号,课程名,成绩)

图示法求候选键

选择 B

主键

在候选键中任选一个作为主键

主属性

组成候选键的属性

非主属性

除了候选键外的其他属性

外键

其他关系的主键

全码

关系模式的所有属性是这个关系的候选码

完整性约束

实体完整性约束

主键:唯一、非空

参照完整性约束

外键:要么是其他主键,要么是空

自定义完整性约束

触发器

 

关系代数

笛卡尔积(×)

列为两者之和

元组行数为两者乘积

投影(Π)

展示哪几列

只需要展示投影的列即可

选择(σ)

展示哪些行

σ_{Sno=No003}(S1)

自然连接(⋈)

相当于left join

 

规范化理论(必考)

函数依赖

部分函数依赖

比如某个主键包含(A,B)两种属性,假设C为非主属性,如果C属性仅仅依赖于主键属性里面的A属性,那么就是部分函数依赖

传递函数依赖

{A -> B, B -> C} 可以推出 A -> C

 

Amstrong公理

 

规范化理论(范式)

没有非主属性,至少满足第三范式

第一范式(1NF)

 

第二范式(2NF)

不能有部分函数依赖

会有冗余、更新、删除、新增方面的问题

快速判断依据:

候选键是单属性,至少满足第二范式

第三范式(3NF)

无部分函数依赖,无传递依赖

快速判断依据

没有非主属性,至少满足第三范式

 

模式分解

判断是否保持函数依赖,冗余函数依赖不需要考虑

无损分解

选择 D

表格法

公式法(有局限)

 

并发控制

事物的特性

 

 

数据库设计

数据库设计过程

  

计算机网络

OSI/RM 七层模型

物理层为 二进制

数据链路层传递的是帧信号,包头包尾 会有mac地址

网络层传递的是数据分组,分组中包含IP地址及端口信息

这里协议和设备,重点掌握硬件部分

TCP/IP协议族(必考)

0 ~ 1023 公认(共)端口

1024 ~ 注册端口

基于TCP

POP3:110:邮件收取协议

SMTP:25:邮件传输协议

FTP:20/21:文件共享协议

HTTP:80:超文本传输协议

HTTPS:443 = HTTP + SSL

Telnet:23:远程协议 --- 明文传输,可靠不安全

基于UDP

DNS:53:域名解析协议

DHCP:67:ip地址自动分配

TFTP:69:简单文件传输协议

SNMP:161:简单网络管理协议

ARP协议:将 IP 转 MAC

RARP协议:将 MAC 转 IP

IGMP协议:组播传输管理协议

ICMP协议:ping命令来自该协议,因特网控制协议

 

 

TCP与UDP

 

DHCP

基于 C/S 类型,主机向服务器申请IP

其中 Windows:169.254.X.X;Linux:0.0.0.0 为无效IP

DNS协议

 

网络诊断命令

先检查物理连通性:先看电脑左下角是否链接网络

Netstat:涉及到端口查看

 

网络规划与设计

WWW服务

http:协议名称

www:主机名

baidu:组名

com:最高域名

 

IP地址与子网划分(重要)

重点记忆网络号位数

A类:0 ~ 127 网络号 8 位

B类:128 ~ 191 网络号 16 位

C类:192 ~ 223 网络号 24 位

D类:组播地址

E类:保留为今后使用

网络号后面全 0 的不能作为主机号,表示网络地址

网络号后面全 1 的也不能作为主机号,表示广播地址

若求取主机,需要再 - 2 排除 全 0 和 全 1

路由汇聚

 

 

信息安全

对称加密

非对称加密

数字签名

可保证:

发送者身份不可假冒

发送者身份不可抵赖

信息不被篡改(信息完整性)

消息摘要(数字摘要)

注:数字签名使用的是 非对称加密算法

消息摘要使用的是 MD5,SHA 算法

数字证书

CA签名,验证数字证书是否合法

1.数字证书谁访问,谁下载

2.提取公钥

3.使用公钥,将对称密钥加密 生成随机密钥

网络安全协议(重要)

主要掌握:PGP、Https、SSL、SET

 

网络安全威胁

 

计算机病毒与木马(考试不频繁)

木马病毒用于远程控制

 

安全控制

防火墙:防外不防内

网络级:效率高,安全级别低;应用级:效率低,安全级别高

DNZ(非军事区)

方便内外网同时访问它,如邮件、web服务器等

只有应用级防火墙能够打开包查案里面的数据

并没有数据库、web防火墙

其他安全控制策略(考试不频繁)

安全防范体系分级

系统开发基础

软件过程

 

软件开发方法

结构化方法:面向过程 - 自顶向下 - 适合需求明确

原型法:需求不明确

 

软件开发模型(重要)

瀑布模型与V模型

瀑布模型

需求明确,以文档驱动,

开发过程不能逆转,否则代价很大

V模型

测试贯穿始终

演化模型(原型/螺旋)

具有迭代过程的模型

原型模型

适用于需求不明确、需求经常变化的情况

螺旋模型

引入了风险分析的过程,

适用于庞大复杂,具有高风险的系统

这里没有提到风险

演化模型 与 增量模型类似,但增量模型强调每一轮迭代都是可发行的版本

增量模型

强调将核心产品作为第一个增量开发

每个增量完成都是一个可使用的版本

 

 

喷泉模型

以对象、用户需求为驱动,迭代无间隙

阶段之间没有明确阶段

 

敏捷方法(极限)

极限编程

敏捷开发方法

需求分析(重要)

需求分析

制定系统测试阶段的测试目标

结构化需求分析的产物有:数据流图、数据词典、加工逻辑说明

需求分析工具(重要)

数据流图(下午题)

数据字典

 

系统设计

系统设计概述

概要设计:划分模块

详细设计:算法设计

第一个空考察需求分析阶段的产物

模块设计(非常重要)

内聚

内聚性最高的是 功能内聚,最低的是巧合内聚

耦合

耦合性最高的是内容耦合,最低的是非直接耦合

传递复杂数据为标记耦合

系统测试

测试的基本概念

灰盒不考

黑盒测试

白盒测试(重点)

语句覆盖最弱,路径覆盖最强

只考圈出来的

系统测试阶段

 

环路(McCabe)复杂度

圈数 + 1

四个测试层次

 

软件质量保证模型(重要)

 

项目管理

进度管理(重要)

Gantt图

 

PERT图

 

风险管理

具有损失性、可能性、

沟通管理

无主程序员沟通路径

n(n-1)/ 2

有主程序员沟通路径

成本估算模型

数据流图

 

面向对象技术

面向对象基本概念

继承与泛化

多态与动态绑定

实现多态的技术为动态绑定

*面向对象的基本概念

 

*UML

类图:静态设计/进程视图

状态图:静态行为视图

构件图:静态实现视图

部署图:静态实施视图

 

UML中的关系

依赖关系,没有特定的画法

包含关系:后面的公共用例必须执行,箭头指向不许执行的公共用例

扩展关系:箭头指向基本用例 ,扩展用例满足一定的条件才会被执行

类与类之间的关系

类图与对象图

用例图

顺序图

通信图

与顺序图可以相互转换

活动图

 

状态图

 

构件(组件)图

部署图

 

设计模式(必考) - 4 分

创建型模式 - 5 种

创 工原单建抽(创 工园,单见抽)

 

结构型设计模式 - 7 种

记忆口诀:结 享外组,适代装桥(姐 想外租,世代装桥)

 

 

行为设计模式

记忆口诀:行 状责中模访,解备观策命迭(形 状择中模仿,解备观测鸣蝶)

 

 

数据结构

线性结构

线性表(顺序表与链表)

顺序表

创建的时候就需要确定占用空间

线性表的头节点可有可无,可记录链表长度,统一链表中的插入删除操作

栈和队列(重要)

 

矩阵

带入验证

 

树(重要)

二叉树

完全二叉树只能在满二叉树的基础上缺少做底层右侧叶子节点

完全二叉树的数字是连续的,如果不连续则为非完全二叉树

可以知道度为0的结点的个数(叶子结点个数)=度为2的结点个数+1(n0=n2+1)

二叉树的遍历

反向二叉树

根据中序遍历确定左右,将左右列出

查找二叉树

哈夫曼树(最优二叉树)

 

矩阵

邻接表

图的遍历

 

拓扑排序

箭头前面的完成才能完成后面的,只要求掌握是否合法

最小生成树与最短路径

 

算法基础

时间复杂度

空间复杂度

常见的算法策略

软设中 分治法都是二分,不知道多少分的时候都是动态规划法

分治法

贪心法

动态规划法

回溯法

 

查找算法

顺序查找

二分查找

 

哈希查找表

排序算法

插入排序

直接插入排序

希尔排序

先分组,组内排序,直到后面只有一个组

 

选择类排序

直接选择排序

 

堆排序

小顶堆:堆顶元素小

大顶堆:堆顶元素大

 

交换类排序

冒泡排序

快速排序

每次将一个数组变为两个数组来处理

 

归并排序

 

知识产权与标准化

保护范围与对象

知识产权人

 

侵权判定

 

 

程序设计语言

脚本语言

 

 

编译程序与解释程序

各种程序语言的特点

编译过程

词法分析:单词有没有错

词法分析

语法分析

语义分析

错误管理

 

文法

语法推导树

正规式与正规集

有限自动机

后缀表达式

 

posted @ 2024-11-15 11:19  minnersun  阅读(92)  评论(0)    收藏  举报