选择题考点
选择题考点
常见密钥加密算法
对称加密算法:
加解密使用同一个密钥,又称为私人秘钥加密/共享秘钥加密
特点:
- 加密强度不高但效率高
- 在为大量明文加密时一般使用对称加密
常见对称加密算法:
- DES(Data Encryption Standard,数据加密标准)
- 3DES( Triple DES,三重数据加密算法 )
- RC5(分组密码算法)
- RC4 (流加密算法)
- IDEA(International Data Encryption Algorithm,国际数据加密算法)
- AES(Advanced Encryption Standard,高级加密标准,分组加密算法)
非对称加密算法:
公钥加密,相应的私钥解密,也称公开密钥加密
特点:
- 加密速度慢但强度高
常见非对称加密算法:
- RSA(公开密钥密码体制)
- DSA (Digital Signature Algorithm,一种更高级的验证方式)
- ECC(Elliptic Curves Cryptography,椭圆曲线加密算法)
消息摘要算法
对加密内容生成一个摘要,注意摘要不是加密,无法解密,仅能用来标识原内容。
常见消息摘要算法:
- MD5/SHA
加密技术的应用
- 数字信封:用接收方公钥加密使用的对称密钥。
- 数字签名:用发送方私钥签名,保证发送方身份真实性,发送者不可抵赖,与信息摘要结合,可防篡改。对用户的身份进行认证。
- 信息摘要:单向散列值函数,防篡改,保证消息完整性
- 数字证书:确保消息不可否认。内容包括:CA签名(验证网站真伪)、用户信息(用户名称)、用户公钥等
编译器和解释器
编译器
将”高级语言”翻译为低级语言
将源程序整个编译成可执行的目标代码,执行时不需要编译器
翻译与执行是分开的
过程
详细过程
解释器
把高级编程语言逐行转译
执行过程较慢
过程
内聚方式
一个模块各个元素彼此结合的紧密程度
由高到低
名称 | 说明 |
---|---|
功能内聚 | 一个模块内所有处理元素完成一个,而且仅完成一个功能 |
顺序内聚 | 一个模块内处理元素和同一个功能密切相关,而且这些处理元素必须顺序执行(通常前一个处理元素的输出时后一个处理元素的输入) |
通信内聚 | 模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据 |
过程内聚 | 一个模块内的处理元素是相关的,而且必须以特定的次序执行过程。内聚与顺序内聚的区别是: 顺序内聚中是数据流从一个处理单元流到另一个处理单元,而过程内聚是控制流从一个动作流向另一个动作 |
时间内聚 | 一个模块包含的任务必须在同一段时间内执行 |
逻辑内聚 | 模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能 |
偶然内聚 | 一个模块由完成若干毫无关系的功能处理元素偶然组合在一起,各处理元素之间没有任何联系 |
耦合方式
由高到低
名称 | 说明 |
---|---|
内容耦合 | 一个模块直接访问另一模块的内容 |
公共耦合 | 一组模块都访问同一个全局数据结构 |
外部耦合 | 一组模块都访问同一全局简单变量 |
控制耦合 | 模块之间传递的不是数据信息,而是控制信息例如标志、开关量等,一个模块控制了另一个模块的功能 |
标记耦合 | 通过参数表传递记录信息(数据结构) |
数据耦合 | 调用模块和被调用模块之间只传递简单的数据项参数 |
非直接耦合 | 两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的 |
软件质量模型
质量特性 | 质量子特性 |
---|---|
功能性 | 适合性 准确性 互用性 依从性 安全性 |
可靠性 | 成熟性 容错性 易恢复性 |
易使用性 | 易理解性 易学性 易操作性 |
效率 | 时间特性 资源特性 |
可维护性 | 易分析性 易改变性 稳定性 易测试性 |
可移植性 | 适应性 易安装性 一致性 易替换性 |
结构化分析组成
自顶向下:
- 数据流图
- 数据字典: 数据库中数据的描写叙述
- 加工逻辑
CPU构成
CPU主要由运算器、控制器、寄存器和内部总线等部件组成
运算器:
算术逻辑单元(Arithmetic Logic Unit,ALU):负责数据处理,实现对数据的算术运算和逻辑运算等
累加寄存器(Accumulator, AC):当ALU执行算术或是逻辑运算的时候,为ALU提供一个工作区,提供数据并暂时存储计算结果,是一个通用寄存器
数据缓冲寄存器(Data Register,DR):作为CPU和内存,外围设备之间数据的中转站。是CPU和内存,外围设备之间在操作速度上的缓冲
状态条件寄存器(Program Status Word, PSW):保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志
控制器:
- 程序计数器(Program Counter, PC):具有寄存信息和记数两种功能,存放的是指令的地址,还有计数的功能,又称为指令计数器。
- 指令寄存器(Instruction Register,IR):当CPU执行一条指令时,先把它从内存储器取到指令缓存器中,再送入到指令寄存器中,然后经过指令译码器的译码,从而产生各种微操作。
- 地址寄存器(Address Register,AR): 存放的是cpu访问内存单元的地址
- 指令译码器(Instruction Decoder, ID):指令译码器对指令的操作码和地址码进行解析,转换成相应的操作信号
保护计算机软件著作权的法律
《中华人民共和国著作权法》和《计算机软件保护条例》
中断向量
记录每个不同中断发生后要跳转的中断服务程序的其实地址
中断向量提供中断服务程序入口地址
总线
计算机设备和设备之间传输信息的公共数据通道
总线分为数据总线(Data Bus,DB)、地址总线(Address Bus,AB)和控制总线(Control Bus,CB)
- 数据总线:用来传送数据信息,是双向的
- 地址总线:传送CPU发出的地址信息,是单向的,地址总线的宽度决定了CPU的最大寻址能力
- 控制总线:传送控制信号、时序信号和状态信息等,每一条线的信息传送方向是单方向,但作为一个整体则是双向的
常见总线:
- PCI总线。PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。
- PCI Express总线。PCI Express简称为PCI-E,采用点对点串行连接,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI Express的半双工连接能提供更高的传输速率和质量。
- SCSI总线。小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。
- SATA。SATA是Serial ATA的缩写,即串行ATA,它主要用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。
- USB。通用串行总线
统一过程(UP)
阶段里程碑:
- 初启阶段:生命周期目标
- 精化阶段:生命周期架构
- 构建阶段:初始运作功能
- 移交阶段:产品发布
- 产生阶段
网关协议
内部网关协议(IGP, 在一个域中选择路由):
- RIP(路由信息协议):相邻路由器交换路由表
- OSPF(最短路径优先): 路由器之间通告网络接口的状态来建立链路状态数据库
外部网关协议(EGP, 两个相邻的位于各自域边界上的路由器提供一种交换消息和信息的方法):
- BGP
环路复杂度
计算方式:
- 流图G的环形复杂度V(G)=m-n+2,其中,m是流图中边的条数,n是结点数。
- 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
浮点数加法
小阶对大阶,尾数向右移
CMMI成熟度模型
方便记忆方法:描述(说明)是名称产生的结果。
等级编号 | 等级 | 说明 |
---|---|---|
0 | 未执行、未完成 | 过程域未被执行或未得到CL1所定义的目标 |
1 | 已执行 | 共性目标是将可标识的输入工作产品转成输出产品,满足过程域的特定目标。 |
2 | 已管理 | 已管理的过程制度化,所有工作任务和产品都被监控 |
3 | 已定义 | 已定义的过程制度化,收集过程资产和度量,并用来将来对过程进行改进 |
4 | 定量管理 | 在过程域中引入度量,并利用度量进行管理 |
5 | 优化的 | 使用量化(统计学)手段改变和优化过程域,以满足客户的改变和持续,改进计划中的过程域的功效 |
海明码
核心公式:2r ≥k+r+1 (k为信息的个数,r为校验位的个数)
校验码Pi 必须是在2的n次方位置
确定校正位的数值:首先必须知道哪些信息位需要校正位来校正,校正的原则:想要校正第几(i)位,则应该满足对应的那几个校正位相加等于i。例如3=1+2;7=1-+2+4。然后校正位的值为对应信息位的异或
数据仓库
- 数据提取(Data Extraction)指根据一定的目的,从原始文献中摘录所需要的信息,以作进一步存储、换算和分析的过程
- OLAP(Online Analytical Processing) 是在线分析处理,顾名思义就是OLAP是用于数据分析的;因此,它使我们能够同时分析来自多个数据库系统的信息。换句话说,我们可以说它是一种计算方法,可以让用户轻松提取所需的数据并查询数据,以便从不同的角度进行分析
- OLTP (On-Line Transaction Processing)称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
- ETL(Extract, transform, load)是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据
常见端口
端口名 | 端口号 |
---|---|
简单邮件传输协议(SMPT) | 25 |
邮局协议(POP3) | 110 |
超文本传输协议(HTTP) | 80 |
加密的超文本传输(HTTPS) | 443 |
文件传输服务(FTP) | 20数据端口,21命令控制端口 |
域名服务(DNS) | 53 |
远程登录(Telnet) | 23 |
网络攻击
分为主动攻击和被动攻击两种
主动攻击包括:
主动攻击是攻击者主动做一些不利于你的系统的事情
- 拒绝服务攻击(DOS)
- 分布式Dos(DDOS)
- 信息篡改
- 资源使用
- 欺骗、伪装、重放等
被动攻击包括:
被动攻击主要是搜集信息而不是进行访问
- 嗅探
- 信息搜集等
入侵检测
- 专家系统
- 模型检测
- 简单匹配
常用中间代码
- 后缀式
- 三地址码
- 树
- 四元式
软件维护类型
- 改正性:改正在系统开发阶段已发生而系统测试阶段尚未发现的错误
- 适应性:使应用软件适应信息技术变化和管理需求变化而进行的修改
- 完善性:增加一些在系统分析和设计阶段中没有规定的功能与性能特征
- 预防性:改进应用软件的可靠性和可维护性
DNS域名查询次序
本机hosts –> 本地DNS缓存 –> 本地DNS服务器 –> 根域名服务器
敏捷方法
- 极限编程XP:激发开发人员创造性、使得管理负担最小的一组技术
- 自适应软件开发:核心是三个非线性的、重送的开发阶段:猜测,合作与学习
- 水晶方法:水晶方法体系考虑到人们一般很难严格遵循一个纪律约束很强的过程,认为每一种不同的项目都需要一套不同的策略、约定和方法论。
- 并列争球法:用迭代的方法,其中把每30天一次的迭代称为一个“冲刺”,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品。协调是通过简短的日常会议来进行的。
成本估算
- 专家估算:根据专家的行业经验和历史数据对软件开发过程的成本进行估算。
- Wolverton:也叫loc方法,通过执行的源代码函数来进行成本估算,估算准确性低,现在已经不用了。
- COCOMO:构造性成本模型,是一种参数化的成本估算方法。例如通过软件的难度、规模等作为参数进行成本估算。
- COCOMOⅡ:COCOMOⅡ是对COCOMO作出的改进版,把最新软件开发方法考虑在内。COCOMOⅡ由三个不同的计算模型组成:
1)应用组合模型:适用于使用现代GUI工具开发的项目。
2)早期开发模型:适用于在软件架构确定之前对软件进行粗略的成本和事件估算,包含了一系列的新的成本和进度估算方法。基于功能点或者代码行。
3)结构化后期模型:是COCOMOⅡ中最详细的模型。它使用在整体软件架构已确定之后。包含最新的成本估算、代码行计算方法。
系统性能评测
- 可靠性:一个系统对于给定时间间隔内、在给定条件下失效运作的概率。可用MTTF / (1 + MTTF)来度量,MTTF为平均无故障时间。
- 可用性:在给定的时间点上,一个系统能够按照规格说明正确运作的概率。可用MTBF /(1 + MTBF)来度量,MTBF为平均失效间隔时间。
- 可维护性:在给定的使用条件下,在规定的时间间隔内,使用规定的过程和资源完成维护活动的概率。可用 1 / (1 + MTTR)来度量,其中MTTR为平均修复时间。
Cache与主存的三种地址映射方式
全相联映射
Cache 中的任意一行可以存放主存中的任意一块
直接映射
主存中每个区的第 i 块会映射到Cache中的第 i 行,主存中的某块只能映射到特定的Cache一行中
组相联映射
是全相联映射与直接映射之间的折中方式,主存中的某块可以映射到Cache一组行中的其中一个上
IO软件层次
软件测试阶段和测试策略
测试阶段
- 单元测试
- 集成测试
- 系统测试
测试策略
- 自底向上:从最底层的构建开始测试
- 自顶向下:从最顶层的构建开始测试
- 三明治:结合自底向上和自顶向下
- 一次性:对所有构建一次性测试,然后集成
范式
完全依赖:用候选码中全部的值才能决定 非主属性
第一范式(1NF):所有的属性不可再分;
第二范式(2NF):非键属性完全依赖于主键;
第三范式(3NF):非主性属性没有传递依赖;
BCNF:任何一个函数依赖中决定因素都是候选码;
递归复杂度计算公式
T(N) = a * T(N/b) + O(N^d)
- 当logb(a) > d, O(N^logb(a))
- 当logb(a) < d, O(N^d)
- 当logb(a) = d, O(N^d * logN)
计算机病毒
- 木马病毒:冰河
- 蠕虫病毒:欢乐时光、熊猫烧香、红色代码、爱虫病毒、震网
- 宏病毒:感染的主要目标是文本文档、电子表格等
DHCP客户端可从DHCP服务器获得
- 本机IP地址、
- DNS服务器地址、
- DHCP服务器地址、
- 默认网关地址,
- 但没有Web服务器、邮件服务器地址
多态分类
参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。
例如:泛型
包含多态:同样的操作可用于一个类型及其子类型 (重写)
过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型 (重载)
强制多态:把操作对象的类型强行加以变换,以符合函数或操作符的要求
Flynn分类法
- 单指令流单数据流机器(SISD) 传统串行机器
- 单指令流多数据流机器(SIMD) 一条指令流
- 多指令流单数据流机器(MISD) 只有理论意义而无实例
- 多指令流多数据流机器(SISD) 同时多个指令流