概述:针对计算机软件资格考试(中级)应试笔记,请以官方教材为准
海明校验码:n个数据位,k个校验位,满足2^k-1>=n+k
相联存储器是按照内容访问的存储器
处理机由处理器、存储器、总线组成,总线包括数据总线、地址总线、控制总线。
园区子系统:连接各个建筑物的通信系统P346
可维护性质量特性:易分析性,易改变性,稳定性,易测试性。
易分析性:判定待修改的部分所需努力有关的软件属性。
易改变性:与修改、排错、适应环境所需努力有关。
稳定性:修改造成未预料效果的风险有关。
易测试性:确认经修改软件所需努力有关。
流水线技术的两个重要指标:①吞吐率②建立时间
组合关系:整体与部分之间的一种关系
机器字长为n时,在偏移量为2^(n-1)的情况下,将补码的符号位取反为相应的移码。
数字签名是对真实性的保护。
计算机感染特洛伊木马后的现象是有未知程序试图建立网络连接。
软件著作权的产生时间是作品创作完成之时。
PC处理的音频信号主要是人耳能听到的音频信号,范围是20Hz-20kHz
计算机获取模拟视频信息的过程首先要进行A/D变换,即将模拟信号数字化。
重构(设计活动)是一种重新组织的技术,可以简化构建的设计而无需改变其功能或行为。
软件风险包含不确定性和损失两个特性。
在传地址方式下,形参和实参之间可以实现数据的双向传递。
高级语言源程序A–翻译–>目标程序B(机器C),则对B进行反编译不能还原出源程序A,只能还原出功能等价的汇编语言。
脚本语言属于动态语言,其程序结构在运行中可以改变,例如PHP,JS,且一般通过脚本引擎解释执行,不产生独立保存的目标程序。
在移臂调度算法中,先来先服务和最短寻找时间优先算法可能随时改变移动臂的运动方向。
根据ISO/IEC9126软件质量度量模型定义,一个软件的时间特性和资源质量子特性属于效率质量特性。
McCabe度量法计算程序复杂度:有向弧数-节点数+2
在开发信息系统时,用于系统开发人员和项目管理人员沟通的主要文档是系统开发计划。
系统分析阶段的复审过程:软件的可移植性,影响软件的系统界面
系统设计阶段的复审过程:易修改、模块化和功能独立,软件的结构和过程
系统实施阶段的复审期间,代码编码风格和内部说明文档。
在面向对象分析与设计中:
实体类:应用领域的核心类,保存系统中的信息以及相关处理
边界类是系统内对象和系统外参与者的联系媒介
控制类主要是协调上述两张类对象之间的交互。
哈希表和二叉排序树都可以在查找过程中动态创建,属于动态查找表。二分法仅能在顺序存储结构中查找。
连通无向网的最小生成树顶点数恰好比边数多1,可以采用AOE(Activity On Edge Network)估算工程的工期。
完全二叉树n个节点深度:([log2n])+1
广义表中head(L)取表头(仅第一个元素),取表尾(除第一个剩余的全部)
动态规划以获取问题最优解为目标。
归并排序采用分治法
B类网络的子网掩码255.255.224.0则该网划分了8个(正常B类子网掩码255.255.0.0)
默认路由:当没有其他路由可选时最后选择的路由。
HTML中vlink属性–>定义超链接被鼠标点击后显示的颜色。
XML文档语法规范:文档第一行必须是XML文档声明;文档必须包含根元素;每个开始标记必须和结束标记配对使用
程序计数器PC具有存储信息和计数两种功能,不能进行运算。
RISC(Reduced Instruction Set Computer)精简指令集计算机:减少指令总数和简化指令功能,降低硬件设计复杂度,优化编译提高指令执行速度,采用硬布线控制逻辑优化编译程序。
CISC(Complex Instruction Set Computer)实现了软件功能的硬件化,CISC计算机一般包含指令数目至少300条以上。
浮点表示:阶码的长度决定浮点表示范围,尾数长度决定浮点表示的精度。工业标准中浮点数格式中阶码采用移码,尾数采用原码,规格化表示要求将尾数的绝对值限定在区间[0.5,1)
两个浮点数相加运算时,要统一这两个数的阶码。
海明码利用多组数位的奇偶性来检错和纠错,循环冗余校验码CRC只具有检错能力。
一个编码系统中任意两个合法编码之间不同的二进制数位数为这两个码字的码距,码间最小距离是3。
Cache是在合理成本下提高命中率
数据库容灾:属于系统安全和应用安全
包过滤防火墙对数据包的过滤包括:源IP、源端口、目的IP、目的端口(不含MAC)
用于控制测试过程的程序—>可以取得专利权
软件权利人可以自己使用—–>独占许可使用
RGB8:8:8表示一帧彩色图像颜色数:2^(8+8+8)=2^24种
位图相比于矢量图,位图占用空间更大,处理侧重于获取和复制,显示速度快。(矢量图是通过指令描述构成一幅图的直线、曲线等,位图是通过摄像机扫描仪捕捉的实际场景画面)
常用数据流图来建立系统的逻辑模型,完成分析工作。
面向对象的方法:Booch、Coad、OMT
面向数据结构开发方法:Jackson
一个项目修正一个错误后引发了以前可以运行的错误,可用回归测试发现这个问题。
风险预测:风险发生可能性、风险发生后产生的后果
中间代码:与具体机器无关,不同的高级程序语言可以翻译成同一种中间代码,使用中间代码可以提高编译程序的可移植性。
在PV操作控制中,信号量顺序1,2,3…,执行完一个后产生V,执行前使用S。
系统将目录文件修改的结果写入磁盘时系统奔溃对系统影响较大。
系统开发计划包括:PERT图、预算分配表、任务分解图、甘特图。
测试计划是用于系统测试人员与系统开发人员间的沟通。
系统重用第三方组件(无法获得源代码)则采用黑盒测试。
极限编程(XP)由价值观、原则、实践、行为四个部分组成,其中价值观包括反馈和勇气。
在面向对象设计中,高层模块间接与低层模块关联,高层不应依赖于低层模块(是可以实现不依赖,间接依赖),抽象不应该依赖于细节,细节可以依赖于抽象。
语法分析:是在词法分析基础之上,对表达式、语句等检查(编译)。
语义分析不能发现程序里所有的语义错误。
一程序可提供链表的定义和运算,在其运行时数据空间必须使用堆存储分配策略。
先序遍历+后序遍历无法构造二叉树中序
层序遍历+后序遍历无法构造二叉树中序
在链表存储方式下进行串替换最不方便(要改变串的内容)
快速排序:不稳定、最坏情况O(n^2)在基本有序情况下。
为实现程序指令的顺序执行,CPU程序计数器PC的值会自动加1
在计算部件可靠度(类似电路有并联串联):串联之间相乘,并联则(1-(1-R)^2)。
IO设备提出的中断请求可以屏蔽,电源断电不可屏蔽。
计算机指令一般包括:操作码、地址码,为分析执行一条指令,操作码和地址码都应该存入指令寄存器(IR)。
64位和32位微处理器,其中通用寄存器的位数、数据总线宽度、能同时运算的位数均为2倍,但是运算速度不是2倍。
病毒MacroMelissa类型:宏病毒,该病毒主要感染目标是WORD或EXCEL
在MPEG系列标准中,MPEG-1的音、视频压缩编码技术被应用到VCD中,MPEG-2技术被应用到DVD,MPEG-7技术不包含音、视频压缩,是多媒体内容描述接口标准。
基于构件的软件开发,所需的构件进行合格性检验、适应性修改来把他们集成到新系统中。
白盒测试是根据程序的内部逻辑和指定覆盖标准来确定测试数据。
Gantt(甘特图)图用水平条状图描述,以日历为基准描述项目任务,可以清晰表示任务的持续时间和任务之间的秉性和并行关系,但不能清晰地描述各任务之间的依赖关系,
PERT图可以给出完成哪些任务完成后才开始另一些任务(依赖关系)。
正数的原码、反码、补码相同;负数的原码(9位,第一位为1表示负),反码(除第一位其余变号),补码=反码+1
逻辑表达式中优先级∩>∪
当系统采用信箱通信时Send原语被设置为“等信箱”即:指定信箱存满了信件
出现页面置换时:①看哪些页在内存②先淘汰未被访问③再淘汰未被修改
配置数据库:开发库、受控库、产品库
统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段、产生阶段。
初启:构想文档、调查、业务用例、风险评估。
精化:补充需求分析、软件架构描述、可执行的架构原型。
构建:交给用户的产品(软件、手册、版本描述)。
移交:用户产品的发布产品。
初启阶段的里程碑:生命周期目标。
精化阶段的里程碑:生命周期架构。
构建阶段的里程碑:初试运作功能。
移交阶段的里程碑:产品发布。
程序的三种基本控制结构:顺序、选择、重复
软件配置管理的活动:变更识别、变更控制、版本控制
在模块之间传递参数的错误使用集成测试最可能测试出来,eg.M1中F1需要接收指针,但在M2调用F1时接收到整数,建议使用M1M2集成测试。
在面向对象中,C++允许多重继承
绑定:一个把过程调用和响应调用的所需要执行的代码加以结合的过程。①绑定在编译时进行的:静态绑定②绑定在运行时进行:动态绑定
UML类图类与类的关系:依赖、关联、聚合、组合、继承
A类要用标准数学函数类库提供的功能,则A与数学库类:依赖关系
A类包含其他类,当A类消失,其他类也消失,则:组合关系
A类消失,其他类仍然工作,则:聚合关系
其中组合和聚合是关联的特殊类型
编译过程和解释过程基本完全一样:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成(注意:中间代码 代码优化 目标代码生成不是必须进行的步骤)。
以上两种语言处理程序的根本区别:
编译方式:①机器上运行的是源程序等价的目标程序,(源程序和编译程序不再参与目标程序的执行过程),②编译器需要将源程序翻译成独立的目标程序。
解释方式:①解释程序和源程序都要参与到程序运行过程中,②解释器在翻译源程序不产生独立的目标程序。
标记语言:
HTML (Hypertext Marked Language)
XML(Extensible Markup Language):丰富了HTML的描述功能,如复杂的数学表达式、化学方程式,其特点是结构化、自描述、可扩展和浏览器自适应。
WML(WirelessMarkup Language,是XML的子集)
进行二分折半查找时最多和log2n+1
哈夫曼树(最优二叉树)中:只有度为2或者0,另外二叉树的特点:度为2的叶子数+1=度为0的叶子数,权值最小的互为兄弟节点
直接插入排序:当序列为逆序时元素比较次数最多
哈希表中填装因子a定义为表中装入的记录数和表的长度之比,a越大表示冲突发生几率越大
在HTML中创建指向邮箱地址:mailto
POP3服务中默认的TCP端口:110
在输入输出控制方法中采用DMA可以使得设备与主存之间的数据块传送无需CPU干预
若计算机采用8位整数补码表示数据,则运算127+1将产生溢出
若内存4GB,则内存单元地址(总线)宽度为32位,字长32即要求数据总线的宽度为32位。
内存–>地址总线;字长–>数据总线
程序员可以访问PC程序计数器,而不能访问IR指令寄存器,MDR存储器数据寄存器,MAR存储器地址寄存器
磁盘清理和碎片整理不会清除有用数据
若使用大量连接请求来攻击计算机,使计算机无法再处理合法用户请求,属于拒绝服务攻击
ARP攻击造成网络无法跨网段通信的原因是伪造网关ARP报文使得数据包无法发送到网关
数据加密是防范网络监听的最有效方法
商业秘密权可以对软件的技术信息和经营信息提供保护
图像数据量=图像总像素×图像深度
一副640×480的256色图像,其图像文件约为640×480×8b = 640×480B=300×1024B = 300KB
一副彩色RGB分辨率为256×512,每一种颜色用8b表示,则数据量为256×512×3×8
瀑布模型适合于软件需求很明确的软件项目
V模型是瀑布模型的一种演变模型,加强了分析与设计的验证
原型模型(常常通过原型模型来获取用户/系统需求进而使用瀑布模型)是一种演化模型,是通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进(演化过程特别适用于对软件需求缺乏准确认识的情况)
螺旋模型是将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,目的:将风险降到最低
敏捷开发方法XP是轻量级、高效、低风险、柔性、可预测的、科学的软件开发方法,系统的设计要尽可能早交付属于小型开发的实践。
风险分析:风险识别、风险预测、风险评估、风险控制。
风险识别:试图系统化地确定系统项目的威胁
风险预测(风险估算):评估风险发生概率和后果
风险评估:根据风险发生概率和影响预测是否影响参考水平值
风险控制:辅助项目组建立处理风险的策略
冗余技术分为:
结构冗余:按其工作方法可分为静态、动态、混合冗余
信息冗余:为了检测或纠正信息在运算或传输中的错误另外加的一部分信息
时间冗余:重复执行指令或程序来消除瞬时错误带来的影响
冗余附加技术:为了实现以上冗余技术所需资源和技术
软件过程改进不是一次性的,而且每次都要经历评估、计划、改进和监控四个部分。(注意:并非改进框架为这四项,而是重复多次这四项)
软件复杂性度量的参数:软件规模、难度、结构
软件系统的可维护性评价指标:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性、效率。
开-闭原则是指一个软件实体应当对扩展开开放,对修改关闭。
里氏代换原则是指任何基类对象可以出现的地方,子类对象一定出现的地方
依赖倒转原则要依赖抽象而不依赖于实现或(针对接口编程,而不针对实现编程)
判断是否为确定or不确定的有限自动机,看开头的箭头指向后如果出现分叉即未知第一个元素是0or1时为不确定,相反确定第一个元素为确定。
汇编语言源程序中的指令语句将被翻译成机器代码
汇编语言的指令语句必须具有操作码字段,可以没有操作数字段
数据库中家庭地址是一个复合属性(省 市 区)
队头元素的指针:(Q.rear-Q.size+1+M)%M
队尾元素的指针:(Q.front+Q.size-1+M)%M
拓扑序列是指依次将没有入度的叶子删除的序列
树的节点数n,分支数m,则n=m+1即节点数=分支数+1
一棵度为3的树,其中5个度为1,4个度为2,2个度为3,叶子节点:9。其中节点数n+5+4+2=n+11,分支数5×1+4×2+2×3=19,20-11=9
贪心法不能保证0-1背包问题的最优解(时间复杂度:n^2)
公钥体系中,私钥是用于解密和签名,公钥是用于加密和认证
帧中继网络:①不进行差错和流量控制,并且通过流水方式进行交换,比X.25网络通信开销更少,传输速度更快。②提供面向连接的虚电路服务,比DNN专线更能提高通信线路利用率,用户通信费用更低。
CPU中跟踪指令地址的寄存器是PC程序寄存器
指令系统中采用不同的寻址方式目的是扩大寻址空间提高编程灵活性
总线结构便于系统的积木化构造,还可以减少信息传输线数量,提高系统可靠性,扩充性更好(并没有提高数据的传输速度,对指令系统的复杂度没有影响)
补码可以简化计算机运算部件的设计,例如减法也可以使用加法来处理
计算机的浮点数由三部分组成:符号位S,指数部分E(阶码),尾数部分M。在总长度固定的情况下,增加E的位数,减少M的位数可以扩大可表示的数的范围同时降低精度。
A从CA获得B的数字证书,利用CA公钥验证数字证书的真实性(也用CA公钥验证CA的签名)
病毒类型:Worm蠕虫病毒,Trojan特洛伊木马,Backdoor后门病毒,Macro宏病毒(对象常为文本文件、数据库、电子表格)
翻译权是指将原软件从一种程序设计语言转成为另一种程序设计语言
哈夫曼编码属于熵编码,用于数据无损耗压缩,出现概率高的字符使用较短的编码。
CIF视频格式的图像分辨率:352×288
包含8个成员的开发小组沟通路径最多有28条,即n(n-1)/2
模块A直接访问B的内部数据,A和B耦合类型:内容耦合
启发式学习如COCOMO模型的参数很难确定
在软件维护阶段中为软件运行增加监控设属于完善性维护
面向对象分析的第一步是确定问题域
静态数据成员的值可以修改,静态方法只能访问该类的静态数据成员
UML设计视图包含类、接口、协作
视图的静态方面:类图、对象图 (表现)
动态方面:交互图、状态图、活动图(表现)
UML中关联的多重度是指:一个类的实例能够与另一类多少个实例相关联
面向对象的软件开发过程中,采用设计模式以重复使用成功的设计
在传地址方式下,是将实参的地址传给形参
最优二叉树即哈夫曼树
皇后问题常用回溯法求解
分治算法一般由:问题划分、递归求解、合并解,一般很难把问题划分为k个规模大小相同的子问题
递归求解时间复杂度:看第二个式子:aT(n/b)+n则时间复杂度为O(nlog[a上b下])
归并排序是将其数组分为两个相同规模大小的子数组,各自排好序再整体排序
ARP协议是网络层协议
交换机(多端口的网桥)的各端口形成的广播域
集线器的各端口形成的冲突域
三网合一:电信网、广播电视网、互联网
若IO接口和主存采用统一的编码,则输入输出操作是通过访存指令来完成
Cache与主存地址映射是由专门的硬件完成的
指令寄存器对用户完全透明(即无法访问),用户可以访问①PC程序计数器②状态寄存器③通用寄存器
CPU译码器的作用:指令译码
特洛伊木马:通过内部向外部主机建立联系,由外部主机控制并盗取用户信息的恶意代码
私钥(解密和签名);公钥(加密和认证)
从认证中心获得B的数字证书,该证书用CA私钥作为数字签名,用CA公钥验证数字证书的真伪,从B的数字证书获得B的公钥来判断B的身份。
合理使用是指可以不经著作权人许可使用其作品
计算机通过MIC话筒接口收到的信号:音频模拟信号
MPEG是动态图像压缩标准
H261是低位速率通信的电视图像编码
需求分析:确定软件要完成的功能和非功能性要求
概要设计:确定软件模块划分及模块之间的调用关系
详细设计:详细的数据结构和算法
编码:根据详细设计代码编码
根据数据流图进行接口设计,体系结构设计。
根据数据字典和实体关系图进行数据设计。
根据加工规格说明和控制规格说明进行过程设计。
在C程序中引用了未赋初值的变量,通过编译并运行,运行异常
SCAN(电梯调度)先上到顶再从中部下滑
CSCAN(单向扫描)先上到顶再从底部上滑
喷泉模型是以对象作为驱动的模型,适合面向对象的开发方法,克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,但是开发活动常常需要重复多次,在迭代过程中不断完善软件系统,开发活动间不存在明显的边界。
将每个用户的数据和其他用户数据隔离,是考虑软件的功能性质量特性
修改排序算法使其高效属于:完善性维护
采用UML进行面向对象开发时,部署图通常在实施阶段使用
业务用例和参与者一起描述组织支持的业务过程
业务对象模型描述业务结构以及结构元素如何完成业务用例
将对表T的插入权限赋给UserA,而且允许将权限授给他人,SQL:GRANT INSERT ON TABLE T TO USERA WITH GRANT OPTION
二叉树中[log2m]==[log2n]来判断m,n是否在同一层
迪杰斯特拉算法师求解最短路径,基于贪心策略的算法
A类地址:255.0.0.0
在Windows系统排除DNS域名解析故障要刷新DNS解析器缓存,使用ipconfig/flushdns命令
CPU执行:MOV R1,#45(即将数值45传送到寄存器R1中),则指令中采用的寻址方式:寄存器寻址和立即寻址(R1寄存器->寄存器寻址方式;45是立即数->立即寻址)
IIS6.0支持的身份验证安全机制有4种机制方法,其中安全级别最高的是集成Windows身份验证(另外摘要式身份验证是将用户凭证作为MD5哈希或者消息摘要在网络中进行传输,这样无法根据哈希对原始用户名和密码进行解码;.NET Passport身份验证是对IIS的请求必须在查询字符串或Cookie中包含有效的NET Passport凭证,提供了单一的登录安全性)
计算机数字音乐合成技术主要有FM、Wave Table两种方式,其中Wave Table音质更好
数据流图的顶层描述了系统的输入与输出
内聚:指模块内部各元素之间的联系紧密程度,内聚度越高,模块的独立性越好,有以下几种:
偶然内聚:一个模块内各个处理元素之间没有任何联系
逻辑内聚:通过参数确定该模块完成哪一功能
时间内聚:把同时执行的动作组合在一起的模块
通信内聚:模块内所有处理元素都在同一个数据结构上处理,或指各处理使用相同的输入数据或者产生相同的输出数据
顺序内聚:顺序执行
功能内聚:最强的内聚,将模块内所有元素共同完成一个功能(缺一不可)
软件开发的增量模型:能够在较短时间内向用户提交可完成一些有用的功能产品,是一种能够快速构造可运行的好方法
McCall软件产品:
运行方面:正确性、可靠性、易使用性、效率、完整性
产品修正方面:可维护性、灵活性、可测试性
产品转移方面:可移植性、复用性、互用性
白盒测试中:语句是最弱地覆盖准则
软件质量模型:可维护性质量特性包含:易分析性、易改变性、稳定性、测试性。
易分析性:诊断缺陷或失效原因,判断待修改部分所需努力有关的软件属性
易改变性:与进行修改、排错、适应环境变换所需努力有关的软件属性
稳定性:与修改造成未预料效果的风险有关的软件属性
易测试性:确定经修改软件所需努力有关的软件属性
同步消息:进行阻塞调用,调用者中止执行,等待控制权返回,需要等待返回信息[同步消息用实心三角箭头表示]
异步消息:调用者发出消息后继续执行,不引发调用者阻塞,不等待返回消息[异步消息用空心箭头表示]
设计模式根据目的进行分类:创建型、结构型、行为型。
创建型:与对象的创建有关
结构型:用于处理类和对象的组合
行为型:描述类或对象如何交互和分配职责
适配器模式:结构型模式
命令模式、状态模式:行为型模式
生成器模式:创建型模式
贪心算法时间复杂度:n^2
以太网交换机:根据MAC地址交换
帧中继交换机根据虚电路号DLCI进行交换
ATM网的虚电路号:VPI VCI 进行交换的协议数据单元:信元
SMTP传输邮件报文采用ASCII格式表示
网络的可用性:用户可利用网络时间的百分比
CPU中控制器①保证指令的正确执行②处理异步事件
在定点表示法中小数点不占用存储位
在总位数相同情况下,浮点表示法能表示更大的数
直接内存存取(Direct Memory Access,DMA)基本思想通过硬件控制实现主存与IO设备间直接数据传送,不需要CPU干预,再传送结束后DMAC通过中断方式通知CPU进行后续工作。
SCSI (Small Computer System Interface)用于计算机与智能设备间系统级接口的独立处理器标准。
SSL(Secure Socket Layer)安全套接层用于Web安全通行
TLS(Transport Layer Security)传输层安全协议是SSL的后续版本
JPEG累进编码模式:可以实现图像内容传输,模糊->清晰
GIF采用LZW无损压缩算法压缩图像数据,全貌->具体清晰
A/D转换:模数转换;D/A是数模转换(Digital / Analog)
数据流图:起点/终点必须加工;必须有输入和输出数据
风险参照水准:成本、速度、性能
定义风险参照水准是风险评估活动的常用技术。
敏捷开发中水晶法(Crystal)认为每一种不同的项目都需要不同的策略、约定、方法论。
要表示待开发软件系统中软件组件和硬件之间的物理关系,采用UML中的部署图
组件图:展现了组件之间的组织和依赖,专注系统的静态实现视图
类图:展现一组对象、接口、协作和它们之间的关系
链接程序:将各个目标程序连接形成可执行程序
中间代码表示:树、后缀式、四元式、三元式。
编译正确:一定不包含语法错误
WITH CHECK OPTION表示在创建视图的时候要保证对其更新、插入、删除也要满足视图定义。
折半查找向下取整,注意如果中间元素是第7且比其小则从1~6里面选择,不包含7。
M阶B-树:
1.树中每一节点最多有m棵子树
2.若根节点不是叶子节点,则至少有两颗子树
3.除根之外所有非终端节点至少有[m/2]向上取整棵子树
霍夫曼编码是基于贪心策略(计算公式:出现频率高的在第二层[短编码],出现频率低的在最底层–>sum(出现频率×(层-1)))
ASP内置对象中,response对象可以修改cookie的值
常用的虚拟存储器:主存、辅存
中断向量可以提供:终端服务程序的入口地址
为了便于实现多级中断嵌套,使用堆栈可以保护断点和现场
DMA工作方式下,主存和外设之间建立了直接的数据通路
利用报文摘要算法生成报文的目的是防止发送的报文被篡改
防火墙保护程度从高到低:内网(高)、DMZ(中)、外网(低)
X卧底病毒通过木马感染智能手机
欢乐时光、熊猫烧香属于蠕虫病毒,CIH是系统病毒
dpi:描述图像分辨率的单位,表示每英寸像素点。
精化阶段关注:需求分析和架构演进
代码的行数是度量软件复杂性的一个主要参数
部署组件之间的依赖关系类似于包依赖
对声明语句主要是将所需要的信息填写入合理组织的符号表里
对可执行语句则是翻译成中间代码或者目标代码
数据库的视图是虚拟表
归并排序时间复杂度:nlogn
路由器的端口形成广播域,交换机的端口形成冲突域
VoIP是使用UDP协议之上
对于网站访问量过大的问题可以通过集群技术,如DNS负载均衡技术,在windows的DNS服务器中通过启动循环,添加每个Web服务器的主机记录来确保域名解析并实现负载均衡。
指令寄存器的位数取决于指令字长
如果两个符号位经过逻辑异或运算得1,则这两个数相加产生了溢出
RISC精简指令集计算机主要特点:寻址方式少、高效流水线操作、硬布线控制
内存2GB=2×1024×1024×1024×8位
存储单元个数:2×1024×1024×1024×8/32(32是机器字长) = 512×1024×1024,即可寻址范围512MB
SYN Flooding攻击是属于DoS攻击
PKI体制中,用CA的私钥对数字证书签名
公开密钥加密算法:ECC DSA RSA
私钥加密算法:DES
图元是描述矢量图的基本组成单位
Xara3D是用于动画编辑处理的软件
加工规格说明不需要描述实现加工的具体流程
管理级重点关注产品和过程质量
可维护性重要指标:可理解性、可测试性
软件维护阶段:要从源代码或者目标代码中提取设计信息
单元测试:模块接口、局部数据结构、执行路径、错误处理和边界
领域类模型包含:属性、操作、关联、
查看同时运行的最大线程数:看图中同步棒(黑色粗线条表示并发分支与汇合)
策略设计模式是把一系列算法封装起来使它们相互替代。
在对高级语言源程序进行编译的时候,有穷自动机NFA/DFA是进行词法分析的适当工具。
▷◁是自然连接–>相同属性合并
哈夫曼树是叶子节点权值越小则距离树根越远,权值越大离根越近
求解过程子问题被重复求解则采用动态规划
以深度优先的方式搜索求解空间是回溯法
动态规划求解时候采用自底向上
IPV6与IPV6利用IPV4通信是用隧道技术;IPV6与纯IPV4需要翻译技术
POP3采用C/S模式通信(使用TCP协议)
将高级语言源程序翻译–>目标程序的编译程序
CPU中常用来为ALU执行算术逻辑运算提供数据和暂存运算结果的寄存器:累加寄存器
某机器字长为n,最高位是符号位,则定点整数的最大值:2^(n-1)-1
执行一个指令过程:①取指令②分析指令③执行指令—->使用重叠的流水线:第一次指令(3个过程)+(n-1指令)×(取指令时间[通常这个max])
木马程序的客户端运行在攻击者的机器上
包过滤防火墙对应用和用户是透明的
图像编码是表示媒体;鼠标是表现媒体
媒体:感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体
感觉媒体:直接作用于人的感觉器官,使人有直接感觉
传输媒体:电缆、光缆、电磁波
表示媒体(传输感觉媒体中介媒体):图像编码、声音编码、文本编码
表现媒体(信息输入/输出):键盘、鼠标、话筒、显示器、打印机、喇叭
存储媒体:硬盘、光盘
结构化设计是一种面向数据流的设计方法,在结构化分析方法产生了数据流图,在设计阶段,结构化设计方法将数据流映射为软件系统的模块结构
一个软件系统中有多个数据流类型
基本COCOMMO软件成本估计模型是一种静态单变量模型,用于对整个软件系统进行估算
中级COCOMO是一个静态多变量模型,将软件系统模型分为系统和部件两个层次,系统由部件构成
详细COCOMO将软件系统模型分为系统、子系统、模块。
Putnam模式是一种多态多变量模型。
甘特图能清晰表达任务之间的并行关系,不能表达任务之间的依赖关系,不能确定影响进度的关键任务
符号表:在对高级语言源程序进行编译的过程中要不断地收集、记录一些相关符号和特征存入符号表。
UP定义了五个阶段:起始阶段、精化阶段、构建阶段、移交阶段、产生阶段。
UP是以用例和风险为驱动,以架构为中心,迭代且增量的开发过程。
每次迭代包含计划、分析、设计、构造、集合、测试及内部和外部发布。
每次迭代有五个核心工作流(以上五个)
冗余技术:结构冗余、信息冗余、时间冗余、冗余附加技术(实现其他类型冗余技术所需要的资源和技术)。
其中冗余附加技术:冗余备份程序的存储和调用,实现错误检测和错误恢复的程序,实现容错软件所需的固化程序。
记住McCabe的第一个进入线不算
泛化:是一个类与它的一个或多个细化类之间的关系,即一般和特殊的关系。
UML活动图:对一个复杂用例的业务处理流程进行进一步建模
外观设计模式:为子系统的一组接口提供一个一致的界面,适用于需要为一个复杂子系统提供一个简单的接口
适配器模式既是类结构模式,也是对象结构模式
编译模式产生源程序和目标程序;解释方式不产生
大多数程序设计语言的语法规则用上下文无关文法
在C++/C中除以0可能发生:运行时产生异常
当多个事务并发执行,任一事务的更新操作对其他事务不可见,即隔离性
Prim算法和Kruscal算法都是无向连通图的最小生成树的算法
Prim算法:从一个顶点开始,每次从剩余的顶点中加入一个顶点,该顶点与当前生成树中的顶点连边权重最小
Kruscal算法:从权重最小的边开始,每次从不在当前的生成树顶点之间的边中选择权重最小的边加入
以上两种算法都采用贪心算法,且网络稠密–>Prim;网络稀疏–>Kruscal,且两个算法获得的最小生成树不一样相同
中国自主研发的3G通信标准:TD-SCDMA
Flynn分类法基于信息流特征将计算机分为4类,其中MISD只有理论意义而无实例
网络系统中,通常把Web服务器放置于DMZ区
冰河是木马软件,主要用于远程监控。
蠕虫是一个程序或程序序列,利用网络进行复制和传播,传染途径:通过网络、移动存储设备和电子邮件,例如:红色代码、爱虫病毒、熊猫烧香、Nimda病毒、爱丽兹病毒。
结构化开发不适合大规模和复杂的项目,因为它不能适应需求的变化,且一种面向数据流的开发方法,其指导思想是自顶向下,逐层分解,基本原则是将功能分解和抽象
内聚:
1.巧合内聚:一个模块内的各处理元素之间没有任何联系
2.逻辑内聚:P581
Python:面向对象和解释型程序设计语言
Prolog是逻辑型程序设计语言
在软件项目的活动图里关于某边(活动XY)的松弛时间:关键路径总长-该边(活动)所在总长度
系统测试阶段的测试目标来自于需求分析阶段
多态:参数多态、包含多态、过载多态、强制多态。
参数多态:应用最广的多态
包含多态:在许多语言都有,最常见的就是子类型化
过载多态:同一个名字在不同的上下文中多代表的含义
交互图:序列图、通信图、交互概览图、时序图
P595-46-47总结
目标代码生成是在寄存器中进行的
在数据库逻辑结构设计阶段:需要需求分析阶段形成的需求说明文档、数据字典、数据流图作为设计依据
链表:数据元素之间的关系需要用存储空间,存储密度不高
二叉查找树中单枝树的查找效率最差
排序稳定性:
直接插入排序:稳定
冒泡排序:稳定
归并排序:稳定(时间复杂度是O(nlog2n))
基数排序:稳定
选择排序:不稳定
希尔排序:不稳定
堆排序:不稳定(时间复杂度O(nlogn))
PPP安全认证协议是:CHAP,它使用三次握手的会话过程传送密文
ICMP是网络层协议,其ICMP协议是封装在IP数据报中传送
DHCP客户端可以从DHCP服务器中获得DNS服务器地址、DHCP服务器地址、本机IP地址、默认网关
VLIW very long instruction word超长指令字:指令连接,增加运算速度
多内核(芯片级)
全相联地址映射:主存任意一块可映像Cache任意一块
直接相连地址映射:主存一块–>Cachae特定一块
组相连地址映射:各区某一块–>缓存同组号的空间(组内地址任意)
算术左右移:带有符号
逻辑左右移:不带符号
DPI:每英寸像素数,即扫描精度
知识源:包含独立的 与应用程序相关的知识
知识源之间不直接通讯,他们之间通过黑板交互
三明治测试:(综合化:自上而下和由下到上的测试)
较早验证主要控制点和判断点
测试的并行程度较高
较少的驱动模块和桩模块编写
移进-归纳分析法:编写/解释程序对高级语言源程序进行语法分析的一种方法(自底向上)
数据的物理独立性:通过修改模式与内模式之间的映像
逻辑独立性:通过修改外模式和模式之间的映像
第二范式:每一个非主属性完全依赖于主键
第三范式:不存在传递函数依赖
BC范式:其他组的非主属性不能由其他组的主属性决定
二叉树的深度:log[2n]+1 (下限)
队列→图:广度优先遍历
FTP控制端口:21
数据端口:主动(下载)模式20;被动(上传)模式>1024
RSA:公钥加密(非对称加密算法)—-数字签名
IDEA:RC4(对称数据加密)
MD5:消息摘要算法第五版,用于提供消息的完整性保护
在FM方式下:改变数字载波频率可改变音调
改变信号幅度可改变音高
并列争球法:迭代,按需求优先级实现产品
软件质量可移植性:适应性、易安装性、易替换性
计算机系统的可靠性用平均失效间隔时间
模块A对数据结构X写数据,模块B对数据结构X读数据,则A,B内聚类型:通信内聚
处理机:处理器+存储器+总线
总线包含:数据总线,地址总线,控制总线
软件能力成熟度模型CMM将软件能力成熟度自低到高依次划分为5级:
可重复级核心:建立基本的项目管理和实践来追踪项目费用、进度、功能特性。
CMM第3级:已定义级核心:使用标准开发过程构建(开发)和维护系统,关注过程的组织标准化和部署。
CMM第4级:已管理级核心:管理层寻求更主动应对系统的开发问题,收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制。
量化管理级:定量管理的过程制度化
优化级核心:连续监督和改进标准化的系统开发过程。
类A在方法1中定义并使用了类B的一个对象,类A其他部分的代码不涉及类B,则A与B类关系为依赖;类A的某个属性是类B的一个对象,且类A对象消失时,B对象也消失,则A与B类关系是组合。
A只使用了B的一个对象–>依赖
B类对象依赖A的属性,A消失,B对象消失–>组合
装饰设计模式:当不适合采用生成子类的方法对已有的类进行扩充时,可采用动态给对象添加一些额外职责
享元设计模式:应用程序使用了大量的对象,造成很大开销可采用运用共享技术
适配器设计模式:想使用一个已存在的类,但其接口不符合需求。
单例设计模式:一个类只有一个实例,
组合设计模式:对象合成树形结构来表示“部分-整体”的层次结构。
桥接设计模式:希望使用已存在的类,但是接口不符合需求
桥接模式可以将抽象部分与实现部分相分离,使它们独立变化。
适配器模式可以使原本由于接口不兼容而不能一起工作的类一起工作
命令模式可以将一个请求封装成一个对象,从而使用者可以用不同的请求对客户进行参数化
抽象工厂:提供创建相关对象的接口,无需指定具体的类。
状态模式:使一个对象在其内部状态改变时候通过调用另一个类中的方法改变其行为,这个对象看起来如同修改其他的类。
观察者模式:Observer就是观察者,一个观察者Observer对象可以对应多个Subject被观察对象,一个Subj可以有多个Observe对象。
观察者模式:表示一个作用于某对象结构的各元素的操作,是使用者可以在不改变各元素的类前提下定义作用于这些元素的操作。
观察者模式定义了一对多的依赖关系,一个对象状态发生变化会通知依赖它的对象。
状态模式是使一个对象在其内部状态改变时候通过调用另一类的方法改变其行为,即修改A对象间接修改B对象。
组合设计模式:表示对象的部分-整体层次结构
适配器模式(结构型模式):将一个类的接口转换成用户希望的另一个接口,使得原本接口不兼容而无法与其他类进行工作
命令模式:将一个请求封装成一个对象,从而使得使用者可以采用不同的请求对客户进行参数化
代理模式:通过提供与对象相同的接口来控制对这个对象的访问
网络协议\端口号
SOCKS:1080
Telnet:23
SMTP :25
DNS:53
TFTP:69
SNMP:161
RIP:520