2025-04-30

1NF:要求每列的数据必须是原子的。
2NF:要求消除部分依赖,所有非主属性完全依赖于主键。
3NF:要求消除传递依赖,所有非主属性直接依赖于主键。
BCNF:要求消除所有的非主属性对候选键的依赖。
事务五种状态:
1、活动状态:事务在执行时的状态叫活动状态。
2、部分提交状态:事务中最后一条语句被执行后的状态叫部分提交状态。
3、失败状态:事务不能正常执行的状态叫失败状态。
4、提交状态:事务在部分提交后,将往硬盘上写入数据,当最后一条信息写入后的状态叫提交状态。进入提交状态的事务就成功完成了,
5、中止状态:事务回滚并且数据库已经恢复到事务开始执行前的状态叫中止状态。


1、软件架构设计:软件架构风格、面向服务的架构、架构评估、SOA,ABSD
2、系统可靠性分析与设计
3、系统安全性和保密性设计
4、项目管理



多核CPU 环境下进程的调度算法一般有全局队列调度和局部队列调度两种。
(1)全局队列调度:操作系统维护一个全局的任务等待队列。当系统出现一个空闲的CPU内核时,操作系统就在全局任务等待队列中选取任务执行。
全局队列调度优点是CPU核心利用率较高而且平均。
(2)局部队列调度:操作系统为每个CPU内核维护一个局部的任务等待队列。当系统出现一个空闲的CPU内核时,操作系统就在该CPU内核的任务等待队列中选取任务执行。
局部队列调度优点是任务无需在多个CPU核心间切换,提高了CPU核心局部缓存命中率;缺点是CPU利用率较低。


关于串行总线的特点,总结如下:
1、串行总线有半双工、全双工之分,全双工是一条线发一条线收。
2、串行总线适宜长距离传输数据。
3、串行总线按位(bit)发送和接收。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
4、串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配。
5、串行总线的数据发送和接收可以使用多种方式,中断方式与DMA都较为常见。

1、进程控制块PCB的组织方式有:1)线性表方式,2)索引表方式,3)链接表方式。
1)线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
2)索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
3)链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。
2、运行进程PCB1、PCB3,就绪进程:PCB2、PCB4、PCB5 阻塞进程:PCB6、PCB7、PCB8、PCB9。

信号量S的物理意义为:当S>0时,表示资源的可用数;当S<0时,其绝对值表示等待资源的进程数。

分片透明性:是指用户不必关系数据是如何分片的,它们对数据的操作在全局关系上进行,即关系如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。分片透明性是最高层次的透明性,如果用户能在全局关系一级操作,则数据如何分布,如何存储等细节自不必关心,其应用程序的编写与集中式数据库相同。
复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。在分布式数据库系统中,可以把一个场地的数据复制到其他场地存放,应用程序可以使用复制到本地的数据在本地完成分布式操作,避免通过网络传输数据,提高了系统的运行和查询效率。但是对于复制数据的更新操作,就要涉及到对所有复制数据的更新。
位置透明性是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。因此,数据分片模式的改变,如把数据从一个站点转移到另一个站点将不会影响应用程序,因而应用程序不必改写。
局部映像透明性(逻辑透明) :是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关系局部DBMS支持哪种数据模型、使用嗍种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。

数据仓库包括:数据源、数据的存储与管理、OLAP 服务器与各种报表工具、查询工具、数据分析工具、数据挖掘工具及各种基于数据仓库或数据集市的应用开发工具。
OLTP是传统的关系型数据库联机事务处理过程。

数据的完整性是指数据的有效性、正确性和一致性

数据库设计主要分为用户需求分析、概念结构、逻辑结构和物理结构设计四个阶段。其中,在用户需求分析阶段中,数据库设计人员采用一定的辅助工具对应用对象的功能、性能、 限制等要求所进行的科学分析,并形成需求说明文档、数据字典和数据流程图。用户需求分析阶段形成的相关文档用以作为概念结构设计的设计依据。
左外连接,是取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值NULL充填所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
右外连接,是取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值NULL充填所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
全外连接,完成左外连接和右外连接。即填充左侧关系中与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。


Armstrong公理系统设关系模式R,其中U为属性集,F是U上的一组函数依赖,那么有如下推理规则:
①A1自反律:若Y⊆X⊆U,则X→Y为F所蕴含;
②A2增广律:若X→Y为F所蕴含,且Z⊆U,则XZ一YZ为F所蕴含;
③A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
根据上面三条推理规则,又可推出下面三条推理规则:
④合并规则:若X→Y,X→Z,则X→YZ为F所蕴含;
⑤伪传递规则:若X→Y,WY→Z,则XW→Z为F所蕴含;
⑥分解规则:若X→Y,Z⊆Y,则X→Z为F所蕴含。



===================================================================================================================

在磁盘调度管理中,通常应先进行移臂调度,再进行旋转调度。
在访问不同柱面的信息时,需要先进行移臂调度,之后进行旋转调度。
在访问同一磁道的信息时,只需要进行旋转调度。


在TCP/IP网络中,网络层只把分组发送到目的主机但是真正通信的并不是主机而是主机中的进程。
传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。
传输控制协议TCP(Transmission Control Protocol)是面向连接的,可靠的流协议,实行“顺序控制”重发控制”,还具备“流量控制”’“拥塞控制”等提高网络利用率的功能。

OSI/RM分为7层,从底层到高层分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
其中,网络层为传输层的数据传输提供建立、维护和终止网络连接的手段,把上层来的数据组织成数据包(Packet)在节点之间进行交换传送,并且负责路由控制和拥塞控制,
会话层为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务。

ISO/IEC9126软件质量模型由三个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。
其中易使用性是指与为使用所需的努力和由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,
其子特性包括易理解性、易学性和易操作性。

在面向对象方法中,绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。
在一般的程序设计语言中,绑定是在编译时进行的,叫作静态绑定。
动态绑定则是在运行时进行的,
因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定和类的继承以及多态相联系。



ipconfig:显示所有当前的TCP/IP 网络配置值、刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。
traceroute:显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况。
netstat:显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。
nslookup命令是一个监测网络中DNS服务器是否能正确实现域名解析的命令行工具。


在分布式数据库系统中,
共享性:是指数据存储在不同的结点数据共享;
自治性:指每结点对本地数据都能独立管理;
可用性:是指当某-场地故障时,系统可以使用其他场地上的复本而不至于使整个系统瘫痪;
分布性:是指数据在不同场地上的存储。


预处理、编译、汇编、链接


RIP是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。
OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。
BGP(边界网关协议)是运行于TCP上的一种自治系统的路由协议。BGP是唯一个用来处理像因特网大小的网络的协议,
也是唯一能够安善处理好不相关路由域间的多路连接的协议。 
UDP(用户数据报协议)是无连接的传输层协议提供面向事务的简单不可靠信息传送服务。


模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。
衡量模块独立程度的标准有两个:耦合性和内聚性。
内聚是一个模块内部各个元素彼此结合的紧密程度的度量,存在多种模块内聚类型,其中,
逻辑内聚:是指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能;
过程内聚:是指一个模块完成多个任务,这些任务必须按指定的过程执行:
通信内聚:是指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据:
功能内聚:是指模块内的所有元素共同作用完成一个功能,缺一不可。


要求考生了解软件可靠性、可用性和可维护性的定义及公式。
若MTTF和MTTR分别表示平均无故障时间和平均修复时间,则
可靠性:是指系统在给定的时间间隔内、在给定条件下无失效运行的概率,计算公式为R=MTTF/(1+MTTF);
可用性:是指系统在特定的时刻可用的概率,计算公式为A=MTBF/(1+MTBF);
可维护性:是指在给定的时间间隔内,系统可以执行维护活动的概率,计算公式为M=1/(1+MTTR).


UML对象图、类图、组件图和部署图各自刻画系统的不同方面。其中,
类图:展现了组对象、接口、协作及其之间的关系;
对象图:展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照;
组件图:展示一组组件之间的组织和依赖,它与类图相关,通常可以把组件映射为一个或多个类、接口或协作;
部署图:展现了运行时处理结点以及其中构件的配置。


题图所示为在面向对象系统的建模中所建立的最常见的图,即UML类图。图中A和B分别表示两个类。
类A和类B之间--表示关联关系,是一种结构关系,它描述了一组链,链是对象之间的连接。
关联上的多重度表示关联的对象的个数,即类A的1个对象可以与多少个类B的对象关联,类B的1个对象可以与多少个A的对象关联。
图中,关联在类A的一侧多重度为1,类B的一侧为*,表示1个类B的对象仅与1个类A的对象关联,1个A的对象与多个B的对象关联。
题目所示的对象图中,选项D所示为1个类B的对象bl与类A的2个对象al和a2关联,这与题目中所示类图所表示的1个类B的对象仅与1个类A的对象关联不一致。


典型的对称加密算法:DES、3DES、AEC等;
典型的非对称加密算法:RSA、ECC等;
典型的摘要算法:SHA、MD5等。

ECC、DSA和RSA均属于公开密钥加密算法
DES是共享密钥加密算法

AES 是一种分组(对称)加密算法

RISC适合流水线,CISC不适合,RISC是精简指令集系统计算机简称,使用简单的指令。CISC是复杂指令集系统计算机简称,使用复杂的指令。
RISC多寄存器寻址,所以会在实现过程中增加通用存器,CISC不需要采用很多通用寄存器。RISC采用硬布线逻辑(即组合逻辑控制器)实现CISC采用微码(即微程序)实现。


指令系统类型
CISC(复杂)
RISC(精简)
指令
寻址方式
数量多,使用频长格式
率差别大,可变 支持多种
数量少,使用频率接近,定长格式,大部分为别周期指令,埃芒证举寄存器,欧Load/Store 操内存
支持方式少
实现方式
其它
微程序控制技术(微码)
研制周期长
增加了通用寄存器安钳 魍关驁麽壘哎线逻辑州旺:果酒
优化编译,有效支持高级语高


词法分析阶段处理的错误: 非法字符、单词拼写错误等
语法分析阶段处理的错误: 标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。
静态语义分析阶段(即语义分析阶段)处理的错误: 运算符与运算对象类型不合法等错误。
目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误等。


程序计数器PC: 存储下一条要执行指令的地址。
指令寄存器IR: 存储即将执行的指令
主存地址寄存器MAR: 用来保存当前CPU所访问的内存单元的地址。
状态条件寄存器PSW: 存状态标志与控制标志

分治法(Divide-and-Conquer) : 将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题的解。
分治法是指将问题划分成一些独立的子问题,递归的求解各子问题,然后合并子问题的解而得到原问题的解。
动态规划适用于子问题独立且重叠的情况,也就是各子问题包含公共的子子问题。动态规划算法对每个子子问题只求解一次,将其结果保存在一张表中,从而避免每次遇到各个子问题时重新计算答案。
贪心算法通常是自顶向下地做出贪心选择,不断地将给定的问题实例归约为更小的问题。贪心算法划分子问题的结果,通常是仅存在一个非空的子问题。


1.分治策略用于解决原问题与子问题结构相似的问题,对于各子问题相互独立的情况,一般用递归实现;
2.动态规划用于解决子问题有重复求解的情况,既可以用递归实现,也可以用迭代实现;
3.贪心算法用于解决具有贪心选择性质的一类问题,既可以用递归实现,也可以用迭代实现,因为很多递归贪心算法都是尾递归,很容易改成迭代贪心算法;
4.递归是实现手段,分治策略是解决问题的思想,动态规划很多时候会使用记录子问题运算结果的递归实现。

分支限界法类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法那,但在一般情况下,分支限界法与回溯法的求解目标不同。
分支限界法的求解目标是找出满足约束条件的一个解即可。
由于求解目标不同,其探索方式与回溯法也不同,分支限界法以广度优先或以最小耗费优先的方式搜索解空间树。


面向对象分析包含5个活动:  认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。


IPSec工作于网络层,为IP数据报文进行加密。
PP2P工作于数据链路层,用于链路加密。
HTTPS是HTTP与SSL的结合体,为传输层以上层次数据加密。
TLS安全传输层协议用于在两个通信应用程序之间提供保密性和数据完整性


DMA是直接内存存取,传送数据的时间只与内存相关,与CPU的时间无关。
中断方式与DMA方式都可实现外设与CPU之间的并行工作。


闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,
区块大小一般为256KB到20MMB.闪存是电子可擦除只读存储器(EEPROM)的变种EEPROM与闪存不同的是,它能在字节水平上进行删除和重写而不是整个芯片擦写,
这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据,闪存通常被用来保存设置信息。
闪存不像RAM(随机存取存储器)一样以字节为单位改写数据,因此不能取代RAM,也不能替换主存,因此C选项错误。但是在嵌入式中,可以用闪存代替ROM存储器。


存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够较容易地实现矩阵的各种运算。但对于稀疏矩阵而言,若用二维数组来表示,
会重复存储了很多个0了,浪费空间,而且要花费时间来进行零元素的无效计算。所以必须考虑对稀疏矩阵进行压缩存储。稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,
常用的三元组表的链式存储结构是十字链表。


JAVA语言符合的特征:采用即时编译、对象在堆空间分配、自动的垃圾回收处理


ARP request报文用来获取目的主机的MAC地址,ARP request报文采用广播的方式在网络上传送,该网络中所有主机包括网关都会接受到此ARPrequest报文。
接收到报文的目的主机会返回一个ARPResponse报文来响应,ARP Response报文是以单播的方式传送的。

系统的可维护性指标: 可理解性、可测试性和可修改性。

PCI总线是并行内总线,SCSI总线是并行外总线

防病毒软件可以检测、防护,并采取行动来解除或删除恶意软件程序,如病毒和蠕虫。因此安装并及时升级防病毒软件可以有效防治计算机病毒。


包过滤型防火墙是在网络层对数据包进行分析、选择,选择的依据是系统内设置的过滤规则(访问控制表)。
通过检查每个数据包的源地址、目的地址、端口和协议状态等因素,确定是否允许该数据包通过。

我国保护计算机软件著作权的两个基本法律文件: 《中华人民共和国著作权法》和《计算机软件保护条例》

面向对象设计时包含的主要活动是识别类及对象、定义属性、定义服务、识别关系、识别包

循环队列是将顺序队列形成一个环状结构,元素入队时修改尾指针,元素出队时修改头指针,入队和出队操作都不需要移动队列中的其他元素。

1.瀑布模型:逐级下落,自上而下,相互衔接的固定次序,适用于需求明确且无大的需求变更的软件开发
2.原型模型:通过快速开发一个原型来验证需求和设计,适用于需求不明确、开发周期短的项目。适用于小型和中型项目。
3.演化模型:是一种全局的软件生存周期,属于迭代开发方法。通过逐步迭代弄清软件需求,而建立软件系统,在一定程度上减少了软件开发活动的盲目性。适用于需求没有或难以完整定义的软件。
4.螺旋模型:是将瀑布模型和快速原型模型结合起来,并加入风险分析。弥补了前两种模型的不足,是演化模型的一种具体形式。适用于大型软件的开发.
5.喷泉模型: 软件开发过程自下而上周期的各阶段是相互迭代的和无间隙的。适用于面向对象的软件开发过程.
6.敏捷模型: 通过快速迭代开发来快速响应需求变化,适用于需求不稳定、开发周期短的项目。


增量模型:将软件开发过程分成多个增量,每个增量都包含完整的开发过程,但是每个增量只实现部分功能,适用于需求不稳定、开发周期短的项目。


设计模式:原型 -> 创建型

海明码校验位计算公式:2^r-1>=m+r
m是位数

HTTP浏览器和服务器之间消息:会话密钥+对称密钥

每个过滤器独立完成自己的任务,不同过滤的之间不需要进行交互。

在有效期内,继承人只能继承特定权利,不是所有权利。比如署名权就不能继承。


敏捷开发:
极限编程XP: 
并列争球法Scrum:是安排多个小组并行开发,提高开发效率。同时设置一个冲刺时间段,确保任务准时完成。
水晶球Crystal:
自适应性软件开发:

默认情况下,Linux系统中的Apache服务器使用/home/httpd作为默认目录。当然,该目录也可以修改。

OSI参考模型中: 
应用层: 实现具体的应用功能。
表示层: 数据的格式与表达、加密、压缩。
会话层: 建立、管理和终止会话。
传输层: 端到端的连接。
网络层: 分组传输和路由选择
数据链路层: 传送以帧为单位的信息。
物理层: 二进制传输。

1个进程可以产生多条线程。进程的资源线程可以共享,线程的资源只能自己使用,其它线程不能使用。


署名权、修改权、保护作品完整权无时间限制,其它著作权有时间限制。

系统总线通常用来连接计算机中的各个部件(如CPU内存和I/O设备)。
寄存器和运算器部件主要用片内总线连接
接口和外设、DMA控制器和中断控制器由外部总线进行连接

--------------------------------------------------------------------------------------------------------------------

一:数据流图(13)

二:数据库设计(13)

三: UML建模(13)

四:数据结构及算法
    特点:不要求高分,要把基本的分拿到,这比较简单(9分)
    考察:
    1.分治法(递归技术、二分查找):单独拆分,与原问题一致。
    2.回溯法:优先搜索法,深度优先,当走不通,返回一步重新开始。(迷宫问题)
    3.贪心法:部分最优。(局部最优解)
    4.动态规划法:与分治相似,但是子问题之间有联系,一般通过表来记录,只需要调用各个问题的结果。(全局最优解)


五:面向对象程序设计(8)






创建型模型:
1.工厂模式(Factory):定义一个用于创建产品的接口,由子类决定生产什么产品。能过接口工厂,由子类根据需要产生对象,开始按需要产生对象了,开始复杂有主观性了。
2.抽象工厂模式(AbstractFactory):提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。更大的接口工厂,产生一系列的对象。
3.单例模式(Singleton):某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。可能是比较简单的对象
4.原型模式(Prototype):将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。只是在原型对象的基础上进行复制,还不是很复杂
5.建造者模式(Builder):将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。建造一个复杂的对象,所以才称得上是建造。


结构型模型:
1.代理(Proxy)模式: 为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增加或修改该对象的一些特性。既然是一种结构,其实说的是访问机制;代理间接访问。是两个对象间,不同实现。
2.适配器(Adapter)模式: 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能-起工作。调整接口,使之能访问,所以是适配器。是两个对象间,不同实现间
3.桥接(Brdae)模式: 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。JDBC中的把面向厂商的接口(Drver)和面向使用者的AP(DriverManager)做了拆分隔离。通过一个桥,这个桥有别于代理或接口,面向的是两个对象,一个实现间访问/ 开发者只需要关注JDBC AP1,无需关注不同数据库Driver接口实现Class forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection(url, username, password),
4.装饰(Decorator)模式: 动态的给对象增加一些职责,即增加其额外的功能。
装饰,与现实中装修类似,只能是锦上添花,所以是一个对象,不同实现功能。
5.外观(Facade)模式: 为系统中多个子系统提供一致的对外调用, 对客户端隐藏子系统细节, 降低其与子系统的耦合。 只提供个外观接口,具体的内部实现看不到,可以认为是不同对象,同一实现
6.享元 (wweioht)模式: 运用共享技术来有效地支持大是细粒度对象的复用。带个享字,也就是共享,面比较大了,可能是多个对象间,不同实现间
7.组合(Composite)模式: 将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性见名思义:不同对象组合,关系用树型表示。不同多个对象,不同实现间。

适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

结构型目的是结构。
即:不同结构来实现不同的功能。结构型模式包容了对很多问题的解决。例如:扩展性(外观、组成、代理、装
饰)封装性(适配器,桥接)。


行为型模型:



POP3: 邮件收取协议
SMTP: 邮件传输协议



组件图:展示一组组件之间的组织和依赖,它与类图相关,通常可以把组件映射为一个或多个类、接口或协作。一个提供接口,一个需要接口。
对象图:展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照。


数据流图(DFD)-功能域 => 用于功能建模;
E-R图(实体关系图)-信息域 => 用于数据建模;
状态转换图(STD)- 行为域 => 用于行为建模


结构化分析模型的核心为:数据字典,它是描述软件使用和产生的所有数据对象。
围绕着这个核心有3种不同的图:
“数据流图”指出当数据在软件系统中移动时怎样被变换,并描绘变换数据流的功能和子功能,用于功能建模;
“实体-关系图”(E-R图)描绘数据对象之间的关系,用于数据建模;
“状态转换图"指明了作为外部事件结果的系统行为,用于行为建模。




22、分治法:把一个问题拆分成多个小规模的相同子问题,一般可用递归解决,23、动态规划法:划分子问题(最优子结构),并把子问题结果使用数组存储,利用查询子问题结果构造最终问题结果。24、贪心法:同部最优,但整体不见得最优。每步有明确的,既定的策略。
25、回溯法:系统的搜索一个问题的所有解或任一解。有试探和回退的过程26、面向对象基本概念:
对象:属性(数据)+方法(操作)+对象ID
封装:隐藏对象的属性和实现细节,仅对外公开接口(信息隐藏技术)
类(实体类/控制类/边界类)
接口:一种特殊的类,他只有方法定义没有实现

继承与泛化:复用机制(单重继承和多重继承)

重置/覆盖(Overriding):在子类中重新定义父类中已经定义的方法

重载:一个类可以有多个同名而参数类型不同的方法

多态:不同对象收到同样的消息产生不同的结果

过载多态:同一个名字在不同的上下文中所代表的含义不同。动态绑定:根据接收对象的具体情况将请求的操作与实现的方法进行连接(运行时绑定)消息和消息通信:对象之间进行通信的一种构造叫做消息。
消息是异步通信的(消息传递:接收到信息的对象经过解释,然后予以响应)


原码:十进制数 +5 的原码表示为0000 0101,而 -5 的原码表示为 1000 0101,在原码中,最高位(最左边的位)是符号位,0 表示正数,1 表示负数。其余位表示数值本身
反码:反码主要用于表示负数。对于正数,其反码与其原码相同。对于负数,其反码是将原码除符号位外的所有位取反(0 变 1,1 变 0)。例如,十进制数-5的反码表示为1111 1010。
补码:补码是计算机中最常用的表示方法,用于进行二进制加法运算。对于正数,其补码与其原码相同。对于负数,其补码是其反码加 1。补码的一个重要特性是,任何数的补码加上该数本身,结果总是 0。例如,十进制数 -5 的补码表示为 1111 1011。

原码:简单但有两个零。
反码:解决了一部分问题,但仍有两个零。
补码:最常用、最有效,只有一个零,简化了计算机的加减法运算。

原码:正数是其二进制本身;负数是符号位为1,数值部分取X绝对值的二进制。
反码:正数的反码和原码相同;负数是符号位为1,其它位是原码取反。
补码:正数的补码和原码,反码相同;负数是符号位为1,其它位是原码取反,未位加1。(或者说负数的补码是其绝对值反码未位加1)
移码:将符号位取反的补码(不区分正负)


OSPF是一种基于链路状态的路由协议,它通过洪泛法向本自治系统中的所有路由器发送链路状态信息,这些信息包括与本路由器相邻的所有路由器的链路状态。OSPF的这种机制使得它能够更好地处理大规模网络,因为它可以快速适应网络的变化。?
RIP则是一种基于距离向量的路由协议,它通过周期性地交换路由表信息来更新路由,这种方式在小型简单网络中表现良好,但随着网络规模的扩大,其性能会受到影响。RIP主要关注路由的跳数,通常限制跳数不超过15,否则认为不可达。
这两种协议都是内部网关协议(IGP),运行在自治系统内部。与之相反的是外部网关协议(EGP),目前主要是BGP协议。

实体完整性规定基本关系的主属性不能取空值
参照完整性规定实体间引用的完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求

JAVA是解释型语言,可以生成中间代码后再边解释为目标代码边执行,也就是即时编译,
JAVA的栈空间只存放基本类型、引用类型变量和方法,而堆中存储实例对象。


数据的机密性(保密性)是指数据在传输过程中不能被非授权者偷看;
数据的完整性是指数据在传输过程中不能被非法篡改,本题涉及到修改的只有完整性;
数据的真实性(不可抵赖性)是指信息的发送者身份的确认或系统中有关主体的身份确认,这样可以保证信息的可信度;
可用性指的是发送者和接受者双方的通信方式正常。


程序员编写程序是往往会有一些错误,这些错误大致被分为静态错误和动态错误两类。
所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行的时候,比如算法逻辑上的错误。
动态错误也被称为动态语义错误,如变量取值为0是被用作除数,引用数组元素时下标出界等。
静态错误有可以分为语法错误和静态语义错误。词法和语法错误是指有关语言结构上的错误,如单词拼写错误就是一种词法错误,
表达式中缺少操作数、括号不匹配是不符合语法规则要求的语法错误等。
静态语义错误是指分析源程序时可以发现的语言意义上的错误。


视频图像本身在时间上和空间上都存在冗余信息。视频图像压缩技术基本思想和方法可以归纳成两个要点:
在空间方向上,图像数据压缩采用JPEG压缩方法来去除冗余信息,主要方法包括帧内预测编码和变换编码;
在时间方向上,图像数据压缩采用帧间预测编码和运动补偿算法来去除冗余信息。
视频压缩中包括无损压缩和有损压缩两种方式,其中霍夫曼编码和行程编码方法属于无损压缩。而预测编码、变换编码和运动补偿属于有损压缩。

链表中的结点空间需要程序员根据需要申请和释放,因此,数据空间应采用堆存储分配策略。

程序中用到的是虚拟地址,硬件中访问的通常是物理地址

DMA

计算机系统中主机与外设间的输入输出控制方式有多种,在DMA方式下,输入输出设备与内存储器直接相连,
数据传送由DMA控制器而不是主机CPU控制。CPU除了传送开始和终了时进行必要的处理外,不参与数据传送的过程。


分块存储
逻辑存储

符号表

对称加密(私钥、私有密钥、共享密钥):
对数据量较大的数据进行加密处理,如Word里面的文档进行加密,输入相应的密码12345,将密码和文档发给接收方,接收方打开文档输入密码既可以解密,但是这种方式的安全性不高,但是加密速度快。
缺陷:加密强度不高,密钥分发困难
DES, 3DES,  AES,  RC-5和RC-4, IDEA

非对称加密(公钥、公开密钥),数字签名:
对小量数据进行加密处理,密码分为 公钥只 和私钥,公钥公开给所有用户,加密使用接收方的公钥进行加密,接收方使用自己的私钥进行解密即可,安全性较高,但是存在被篁改的风险,并且加密速度慢。
缺陷:加密速度慢
RSA, ECC,  DSA //背包算法、Rabin、D-H

摘要:
MD5, SHA

对称密钥算法(私钥,私有密钥,共享密钥)
DES和3DES、RC-5和RC4、IDEA、AES

非对称密钥算法(公钥,公开密钥)数字签名
RSA、ECC、DSA

摘要
MD5、SHA

AES是一种对称加密,也是分组加密

数字证书:
用户向CA机构申请数字证书,将个人信息和公钥发给CA机构,CA机构颁给用户数字证书,数字证书用CA的私钥进行签名(加密),
所以用CA的公钥验证(解密)数字证书就可以得到用户的公钥,这样进一步保证了数据的安全性。


数字签名:
数字签名就是发送方使用自己的私钥进行加密,接收方收到该签名后就可以使用发送方的公钥进行解密,解密成功表示该消息没有被假
冒且发送方也不能否认自己发送过。


消息:不同类的对象通过消息传递互相通信
绑定:面向对象系统中,绑定是一个把过程调用和响应调用需要执行的代码加以结合的过程。
静态绑定:在编译时进行的绑定
动态绑定:不在运行时进行的绑定
重载:一个类中,函数或方法拥有同样的名称,单参数列表。

依赖:
泛化:一个类与它的一个或多个细化类之间的关系
组合:一种聚合关系,其中整体负责其部分的创建和销毁,如果整体不存在,那么部分也将不存在
聚合:较大的整体类包含一个或多个较小的部分类


在OOA方法中,产生用例模型一般需要经历四个阶段:
①确定参与者。
②确定需求用例。
③构造用例模型。
④记录需求用例描述。

类可以分为三种:实体类、接口类(边界类)和控制类。
实体类 的对象表示现实世界中真实的实体,如人、物等。 
接口类(边界类)的对象为用户提供一种与系统合作交互的方式,分为人和系统两大类,其中人的接口可以是显示屏、窗口、Web 窗体、对话框、菜单、列表框、其他显示控制、条形码、二维码或者用户与系统交互的其他方法。系统接口沙及到把数据发送到其他系统或者从其他系统接收数据。
控制类 的对象用来控制活动流,充当协调者。


面向对象的分析通常要建立三种模型功能模型表达系统的详细需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由用例图和场景描述组成。
对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,类图是构建对象模型的核心工具。
动态模型:描述系统的动态结构和对象之间的交互表示瞬时的、行为化的系统的“控制”特性。
面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。

面向对象分析包含5个活动:认定对象、组织对象、描述对象间的相互作用、确定对象的操作、定义对象的内部信息。
面向对象设计时包含的主要活动是:识别类及对象、定义属性、定义服务、识别关系、识别包。

交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图表现为席列图、通信图、交互概览图和计时图,每种针对不同的目的,能适用于不同的情况。
序列图是强调消息时间顺序的交互图;
通信图是强调接收和发送消息的对象的结构组织的交互图
交互概览图强调控制流的交互图。


为了提高软件的可维护性、可复用性,增加软件的可扩展性和灵活性Q,在面向对象编程四的过程中我们需要遵守以下六条原则。
1. 开闭原则: 编写的代码需要对 扩展开放 对 修改关闭,实现 热插拔 的效果
2. 里氏代换原则: 任何 基类 可以出现的地方, 子类 一定可以出现。即,子类 可以扩展 父类功能,但 不能改变原有的功能,尽量 不重写 父类的方法。 多态频繁的程序出错的概率很大。
3. 依赖倒转原则: 高层模块 不应该 依赖低层模块,两者都应该 都依赖其抽象 。抽象不应该依赖于细节,细节应该依赖抽象
4. 接口隔离原则: 客户端不应该依赖于他不使用的方法。一个类对另一个类的依赖应该建立在最小的接口上。
5. 迪米特法则: 又称 最少知识法则,Talk only to your immediate friends and not to strangers. 如果两个软件实体 无需通信 ,那么就 不应当 发生直接的相互调用,可通过 第三方转发调用 。(降低耦合)
6. 合成复用原则: 尽量先使用组合或聚合等关联关系实现某一个实例,其次才考虑继承。通常类的复用分为 继承复用 和 合成复用


UML:
功能模型:用例图
对象模型:类图、对象图、包图
动态模型:序列图、活动图、状态图

静态建模:类图、对象图、用例图
动态建模:序列图(顺序图,时序图)、通信图(协作图)、状态图、活动图
物理建模:构件图(组件图)、部署图
交互图:序列图(顺序图,时序图)、通信图(协作图)

用例图:从用户角度描述系统功能。
类图:描述系统中类的静态结构。
对象图:系统中的多个对象在某一时刻的状态(快照)。
状态图:是描述状态到状态控制流,常用于动态特性建模
活动图:描述了业务实现用例的工作流程
顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
协作图:描述对象之间的协助关系
构件图:一种特殊的UML图来描述系统的静态实现视图
部署图:定义系统中软 硬件只的物理体系结构
包图:对构成系统的模型元素进行分组整理的图
组合结构图:表示类或者构建内部结构的图
交互概览图:用活动图来表示多个交互之间的控制关系的图

用例图从外部参与者的角度描述系统功能;
逻辑视图从系统的静态结构和动态行为角度显示系统内部如何实现系统功能;
而源代码架构和实际的执行代码则是通过实现视图反映。
























©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容