软件设计师历年真题轻知识

2015年上半年软件设计师考试上午真题

基础轻知识

1、Cache工作时,需要拷贝主存信息到 Cache中,就需要建立主存地址和 Cache地址的映射关系。 Cache的地址映射方法主要有三种,即全相联映像、直接映像和组相联映像。其中全相联方式意味着主存的任意一块可以映像到 Cache中的任意一块,其特点是块冲突概率低, Cache空间利用率高,但是相联目录表容量大导致成本高、查表速度慢;直接映像方式是指主存的每一块只能映像到 Cache的一个特定的块中,整个 Cache地址与主存地址的低位部分完全相同,其特点是硬件简单,不需要相联存储器,访问速度快(无须地址变换),但是 Cache块冲突概率高导致 Cache空间利用率很低:组相联方式是对上述两种方式的折中处理,对 Cache分组,实现组间直接映射,组内全相联,从而获得较低的块冲突概率、较高的块利用率,同时得到较快的速度和较低的成本。

2、中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。中断源在需要得到CPU服务时,请求CPU暂停现行工作转向为中断源服务,服务完成后,再让CPU回到原工作状态继续完成被打断的工作。中断的发生起始于中断源发出中断请求,中断处理过程中,中断系统需要解决一系列问题,包括中断响应的条件和时机,断点信息的保护与恢复,中断服务程序入口、中断处理等。中断响应时间,是指从发出中断请求到开始进入中断服务程序所需的时间

3、二进制数据在计算机系统中的表示方法是基本的专业知识。补码本身是带符号位的,补码表示的数字中0是唯一的,不像原码有+0和-0之分,也就意味着n位二进制编码可以表示2n个不同的数

总线宽度是指总线的线数,即数据信号的并行传输能力,也体现总线占用的物理空间和成本;总线的带宽是指总线的最大数据传输率,即每秒传输的数据总量。总线宽度与时钟频率共同决定了总线带宽。

4、漏洞补丁管理属于系统安全,数据库安全属于应用安全。

5、感觉媒体指直接作用于人的感觉器官,使人产生直接感觉的媒体,如引起听觉反应的声音,引起视觉反应的图像等。

表现媒体是指进行信息输入和输出的媒体,如键盘、鼠标、话筒,以及显示器、打印机、喇叭等;表示媒体指传输感觉媒体的中介媒体,即用于数据交换的编码,如图像编码、文本编码和声音编码等;传输媒体指传输表示媒体的物理介质,如电缆、光缆、电磁波等;存储媒体指用于存储表示媒体的物理介质,如硬盘、光盘等。

6、显示分辨率是指显示器上能够显示出的像素点数目,即显示器在横向和纵向上能够显示出的像素点数目。水平分辨率表明显示器水平方向(横向)上显示出的像素点数目,垂直分辨率表明显示器垂直方向(纵向)上显示出的像素点数目。例如,显示分辨率为1024×768则表明显示器水平方向上显示1024个像素点,垂直方向上显示768个像素点,整个显示屏就含有796432个像素点,屏幕能够显示的像素越多,说明显示设备的分辨率越高,显示的图像质量越高。显示深度是指是示器上显示每个像素点颜色的二进制位数。

7、软件工程是一门工程学科,涉及到软件开发的各个方面,从最初的系统描述到交付后的系统维护,都属于其学科范畴。用软件工程方法进行软件开发,涉及到方法、工具和过程等要素。其中,方法是产生某些结果的形式化过程。工具是用更好的方式完成某件事情的设备或自动化系统。过程是把工具和方法结合起来,定义涉及活动,的约束和资源使用的一系列步骤,来生产某种想要的输出。

8、软件设计的任务是基于需求分析的结果建立各种设计模型,给出问题的解决方案。从工程管理的角度,可以将软件设计分为两个阶段:概要设计阶段和详细设计阶段。结构化设计方法中,概要设计阶段进行软件体系结构的设计、数据设计和接口设计;详细设计阶段进行数据结构和算法的设计。面向对象设计方法中,概要设计阶段进行体系结构设计、初步的类设计/数据设计、结构设计;详细设计阶段进行构件设计。

9、风险是一种具有负面后果的、人们不希望发生的事件。风险管理是软件项目管理的一项重要任务。在进行风险管理时,根据风险的优先级来确定风险控制策略,而优先级是根据风险暴露来确定的。风险暴露是一种量化风险影响的指标,等于风险影响乘以风险概率。风险影响是当风险发生时造成的损失。风险概率是风险发生的可能性。风险控制是风险管理的一个重要活动。

10、程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区

11、当访问的页面不在内存时,系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理最近未被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该先淘法未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无须写回辅存,使系统页面置换代价小。

12、嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化

片级初始化完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等,片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态,这是一个纯硬件的初始化过程。

13、某公司计划开发一产品,技术含量很高,与客户相关的风险也很多,则最适于采用螺旋开发过程模型

14、很多敏捷过程的典型方法:

极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术。

水晶法Crystal认为每一个不同的项目都需要一套不同的策略、约定和方法论。

并列争球法(Scrum)使用选代的方法,其中把每30天一次的选代称为一个冲刺,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。

15、软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。其主要内容包括版本管理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等

16、 模块独立性是创建良好设计的一个重要原则,一般采用模块间的耦合和模块的内聚两个准则来进行度量。耦合程度越低,内聚程度越高,则模块的独立性越好。 存在多种模块内聚类型,从高到低依次为功能、通信、顺序、过程、时间、逻辑和偶然内聚。

一个模块内的几个操作是相关的,而且必须以特定的次序执行,则该模块的内聚类型为过程内聚

模块的各个功能的执行与时间有关,道常要求所有功能必须在同一时间段内执行,则该模块的内聚类型为时间内聚

若一个模块的各个部分只是通过代码的逻辑结构相关联,则该模块的内聚类型为逻辑内聚

把访问或操作在同一数据结构的操作放在一个模块中,则该模块的内聚类型为通信内聚

17、软件评审的内容包括设计质量评审、程序质量评审和与运行环境接口的评审。评审的主要目标是为了发现软件中的错误。

18、 软件测试分为单元测试、集成测试和系统测试。集成测试把模块按系统设计说明书的要求组合起来进行测试。存在多种组合的集成测试策略:自底向上、自顶向下、一次性集成、三明治集成等。其中,自底向上策略通过不断合并底层模块来测试更高层模块的方式进行,在该方法中,需要写驱动程序来调用待测试的底层模块,主要的设计问题需要到测试后期才能发现。由于从最底层的模块开始测试,因此过程中不需要写桩模块。当测试过程中发现错误时,需要进行回归测试。

19、 软件复杂性主要表现在程序的复杂性,而程序的复杂性主要指模块内程序的复杂性, McCabe度量法是一种度量程序复杂性的方法,该方法用程序图来表示实际的程序,用环路数来表示程序复杂性,即V(G)=m-n+2p,其中m和n分别表示图中的边数和顶点数,p为1

20、面向对象程序设计选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系进行组织

21、UML中有4种关系:依赖、关联、泛化、实现。关联是种结构关系,描述了一组链,链是对象之间的连接,泛化是一种特殊/一般关系,使子元素共享其父元素的结构和行为。

UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用用例图最适合。而展示交付系统的软件组件和硬件之间的关系的图是部署图。

22、 对高级语言源程序进行编译(或解释)方式的翻译过程中,词法分析采用有限自动机作为计算模型。有限自动机分为确定的有限自动机(DFA)和不确定的有限自动机(NFA)。可将一个从NFA转换为等价的最小化DFA。

23、 对高级语言源程序进行编译(或解释)方式的翻译过程中,语法分析的任务是根据语言的语法规则,分析单词串是否构成短语和句子,即表达式、语句和程序等基本语言结构,同时检查和处理程序中的语法错误。程序设计语言的绝大多数语法规则可以采用上下文无关文法进行描述。语法分析方法有多种,根据产生语法树的方向,可分为自底向上和自顶向下两类。递归下降分析法和预测分析法是常用的自顶向下分析法。算符优先分析法和LR分析法属于自底向上的语法分析方法。

24、 数据挖据就是应用一系列技术从大型数据库或数据仓库中提取人们感兴趣的信息和知识,这些知识或信息是隐含的,事先未知而潜在有用的,提取的知识表示为概念、规则、规律、模式等形式,也可以说,数据挖掘是一类深层次的数据分析,常见和应用最广泛的数据挖掘方法如下:

决策树:决策树方法是利用信息论中的互信息(信息增益)寻找数据库中具有最大信息量的属性字段,建立决策树的一个结点,再根据该属性字段的不同取值建设树的分支:在每个分支子集中重复建立树的下层结点和分支的过程。国际上最早的、也是最有影响的决策树方法是 Quinlan研究的ID3方法。

神经网络:神经网络方法是模拟人脑神经元结构,完成类似统计学中的判别、回归、聚类等功能,是一种非线性的模型,主要有三种神经网络模型:前馈式网络、反馈式网络和自组织网络。人工神经网络最大的长处是可以自动地从数据中学习,形成知识,这些知识有些是我们过去未曾发现的,因此它具有较强的创新性。神经网络的知识体现在网络连接的权值上,神经网络的学习主要表现在神经网络权值的逐步计算上。

遗传算法:遗传算法是模拟生物进化过程的算法。它由三个基本过程组成:繁殖(选择)、交叉(重组)、变异(突变)。采用遗传算法可以产生优良的后代,经过若干代的遗传,将得到满足要求的后代即问题得解。

关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,形式为“A1A2...An=>BlB2...Bn”一般分为两个步骤:求出大数据项集、用大数据项集产生关联规则。

除了上述的常用方法外,还有粗集方法,模糊集合方法Bayesian Belief Netords,最邻近算法(K- nearest Neighbors Method,kNN)等。

25、数据库系统内部体系结构分为三级:模式、内模式、外模式

内模式对应文件(存储),模式对应表,外模式对应部分表和和视图

26、E-R图转换关系模型

数据库设计3-E-R图转换关系模型

27、设某循环队列Q的定义中有front和rear两个域变量其中,front指示队头元素的位置,rear指示队尾元素之后的位置。若该队列的容量为M,则其长度为(Q.rear-Q.front+M)%M。

28、二叉树的先序、中序和后序遍历

① 先序遍历:在二叉树中,先根后左再右。巧记:根左右。

② 中序遍历:中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树,巧记:左根右。

③ 后序遍历:后序遍历首先遍历左子树,然后访问右子树,最后遍历根结点,巧记:左右根。

29、 优先队列是一种常用的数据结构,通常用堆实现。对应于大顶堆和小顶堆,存在最大优先队列和最小优先队列。以最大优先队列为例优先队列除了具有堆上的一些操作,如调整堆、构建堆之外,还有获得优先队列的最大元素,抽取出优先队列的最大元素,向优先队列插入一个元素和增大优先队列中某个元素的值。其中,除了获得优先队列的最大元素的时间复杂度为O(1)之外,其他几个操作的时间复杂度均为二又树的高度,即O(lgn)。

30、IP地址(分类)、子网掩码、网络号、主机号、子网号

IP地址、子网掩码、网络号、主机号、网络地址、主机地址

计网-网络号、子网号、主机号以及子网网络地址,子网广播地址的算法

流水线计算公式及吞吐量

指令:取值、分析、执行
流水线周期(t):执行时间最长的指令的时间
流水线计算公式:1条指令执行时间 + (指令条数 -1)* 流水线周期
流水线吞吐率:TP = 指令条数/流水线执行时间
流水线最大吞吐率:趋近于 1/t
流水线加速比:S = 不使用流水线执行时间/使用流水线执行时间

2015年下半年软件设计师考试上午真题

1、DMA控制器在需要的时候代替CPU作为总线主设备,在不受CPU干预的情况下,控制I/O设备与系统主存之间的直接数据传输。DMA操作占用的资源是系统总线,而CPU并非在整个指令执行期间即指令周期内都会使用总线,故DMA请求的检测点设置在每个机器周期也即总线周期结束时执行,这样使得总线利用率最高

2、计算机中不同容量、不同速度、不同访问形式、不同用途的各种存储器形成的是一种层次结构的存储系统。所有的存储器设备按照一定的层次逻辑关系通过软硬件连接起来,并进行有效的管理,就形成了存储体系。不同层次上的存储器发挥着不同的作用。一般计算机系统中主要有两种存储体系: Cache存体系由Cache和主存储器构成,主要目的是提高存储器速度,对系统程序员以上均透明;虚拟存储体系由主存储器和在线磁盘存储器等辅存构成,主要目的是扩大存储器容量,对应用程序员透明。

3、在计算机中使用了类似于十进制科学计数法的方法来表示二进制实数,因其表示不同的数时小数点位置的浮动不固定而取名浮点数表示法。浮点数编码由两部分组成:阶码(即指数,为带符号定点整数,常用移码表示,也有用补码的)和尾数(是定点纯小数,常用补码表示,或原码表示)。因此可以知道,浮点数的精度由尾数的位数决定,表示范围的大小则主要由阶码的位数决定

4、随着主存增加,指令本身很难保证直接反映操作数的值或其地址,必须通过某种映射方式实现对所需操作数的获取。指令系统中将这种映射方式称为寻址方式,即指令按什么方式寻找(或访问)到所需的操作数或信息(例如转移地址信息等)。可以被指令访问到的数据和信息包括通用寄存器、主存、堆栈及外设端口寄存器等。

指令中地址码字段直接给出操作数本身,而不是其访存地址,不需要访问任何地址的寻址方式被称为立即寻址

5、内存按字节编址从B3000H到DABFFH的区域其存储容量为( )。

直接计算16进制地址包含的存储单元个数即可。

DABFFH-B3000H+1=270C00H=162816=159k,按字节编址,故此区域的存储容量为159kB。

16进制数之间的加减法

6、网络攻击有主动攻击和被动攻击两类,其中主动攻击是指通过一系列的方法,主动向被攻击对象实施破坏的一种攻击方式,例如重放攻击、IP地址欺骗、拒绝服务攻击等均属于攻击者主动向攻击对象发起破坏性攻击的方式,流量分析攻击是通过持续检测现有网络中的流量变化或者变化趋势,而得到相应信息的一种被动攻击方式。

7、 防火墙是架在两个互相通信主机之间的一个屏障,对非法数据包进行过滤。

我们使用的多数个人防火墙基本具有:防止非法入侵(防止内连) 与 防止本地非法外连 的功能,而sp2系统自带的墙没有后者的功能。

基于这两点,我们可以简单理解防火墙的两个作用:

① 通过阻止非法数据包,防止黑客通过某些手段入侵。

② 防止木马发生外连盗取本地机密信息。个人防火墙没有杀木马的功能,它所做的是在中了木马之后,通过规则禁止其外连以免丢失数据

8、0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的;

1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。

9、作者的署名权、修改权、保护作品完整权的保护期不受限制

公民的作品,其发表权、著作财产权的保护期为作者终生及其死亡后五十年,截止于作者死亡后第五十年的12月31日;如果是合作作品,截止于最后死亡的作者死亡后第五十年的12月31日。

10、声音是通过空气传播的一种连续的波,称为声波。声波在时间和幅度上都是连续的模拟信号,通常称为模拟声音(音频)信号,人们对声音的感觉主要有音量、音调和音色,音量又称音强或响度,取决于声音波形的幅度,也就是说,振幅的大小表明声音的响亮程度或强弱程度,音调与声音的频率有关,频率高则声音高昂,频率低则声音低沉。而音色是由混入基音的泛音所决定的,每个基音都有其固有的频率和不同音强的泛音,从而使得声音具有其特殊的音色效果。人耳能听得到的音频信号的频率范围是20Hz~20kHz,包括:话音(300Hx~3400Hz)、音乐(20Hz~20kHz)、其他声音(如风声、雨声、鸟叫声、汽车鸣笛声等,其带宽范围也是20Hz~20kHz),频率小于20Hz声波信号称为亚音信号(次音信号)。高于20kHz的信号称为超音频信号(超声波)。

11、颜色深度是表达图像中单个像素的颜色或灰度所占的位数(bit),它决定了彩色图像中可出现的最多颜色数,或者灰度图像中的最大灰度等级数,8位的颜色深度,表示每个像素有8位颜色位,可表示28=256种不同的颜色或灰度等级。表示一个像素颜色的位数越多,它能表达的颜色数或灰度等级就越多,其深度越深。

图像深度是指存储每个像素(颜色或灰度)所用的位数(bit),它也是用来度量图像的分辨率的。像素深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。如一幅图像的图像深度为b位,则该图像的最多颜色数或灰度级为2种。显然,表示一个像素颜色的位数越多,它能表达的颜色数或灰度级就越多。例如,只有1个分量的单色图像(黑白图像),若每个像素有8位,则最大灰度数目为28=256;一幅彩色图像的每个像素用R、G、B三个分量表示,若3个分量的像素位数分别为4、4、2,则最大颜色数目为24+4+2=210==1024,就是说像素的深度为10位,每个像素可以是210种颜色中的一种。

12、亮度、色调、饱和度

亮度:是颜色的相对明暗程度,通常使用从0%(黑色)至100%(白色)的百分比来度量。光作用于人眼时所引起的明亮程度的感觉,它与被观察物体的发光强度有关,是用来表示某彩色光的明亮程度。
色调:是当人眼看到一种或多种波长的光时所产生的彩色感觉,它反映颜色的种类,是决定颜色的基本特性,如红色、棕色就是指色调,其表示颜色的类别。
饱和度:(又称彩度)是指颜色的强度或纯度。饱和度表示色相中灰色分量所占的比例,它使用从0%(灰色)至100%(完全饱和)的百分比来度量,其表示了颜色的深浅程度。对于同一色调的彩色光,饱和度越深颜色越鲜明或说越纯。

13、软件开发方法

常用的开发方法包括结构化方法、原型法、面向对象方法、Jackson方法等。

(1)结构化方法适用于数据处理领域的问题;不适应规模大的项目;不适应特别复杂的项目;难于适应需求变化的问题

(2)原型法适用于用于需求不明、管理方法结构化程度不高的系统。

(3)面向对象方法

14、软件项目的活动图

(1)相关概念

事件(Events):表示主要活动结束的那一点;
活动(Activities):表示从一个事件到另一个事件之间的过程;
松弛时间(slack time):不影响完工前提下可能被推迟完成的最大时间;
关键路径(Critical Path):是软件项目活动图中花费时间最长的事件和活动的序列

(2)相关计算

关键路径:从开始到结束的所有路径中,所花时间最长的一条为关键路径。
最早开始时间:在关键路径上,从开始到该任务的最早执行的时间
最晚开始时间:关键路径的总时间-反向得出该任务的时间
松弛时间(最多延迟执行的时间):关键路径的总时间-包含该任务的关键路径花的时间

软件项目活动图 关键路径

15、后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。借助栈可以方便地对后缀式进行求值。方法为:先创建一个初始为空的栈,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。若表达式无错误,则最后的运算结果就存放在栈顶并且是栈中唯一的元素。

16、进程资源图

17、 瀑布模型将开发阶段描述为从一个阶段瀑布般地转换到另一个阶段的过程。

原型模型中,开发人员快速地构造整个系统或者系统的一部分以理解或澄清问题

螺旋模型将开发活动和风险管理结合起来,以减小风险

喷泉模型开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法

在这几种开发过程模型中,原型模型不适宜大规模软件的开发

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

19、 子系统结构设计中,重点关注如何划分模块,子系统之间以及模块之间的数据和调用关系,模块结构质量等这些粗粒度的问题;而对每个模块内部进行设计时,才需要考虑采用的数据结构以及处理的算法。

20、 在结构化分析中,用数据流图对软件功能建模,加工是数据流的一个重要要素,可以用多种方式描述,如流程图、NS盒图等,其中决策树和决策表适于用来表示加工中涉及多个逻辑条件的情况

21、 逆向工程从源代码得到软件系统的规格说明和设计信息,属于软件维护阶段行为,因此逆向工程工具属于软件维护工具

22、识别UML类图中各种箭头关系

(1)泛化:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展,一般用来表示继承的关系

表示方法:用实线空心三角箭头表示。

(2)实现:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述

表示方法:用虚线空心三角形箭头表示,实现类指向接口。

(3)依赖:依赖是一种使用的关系,即一个类的实现需要另一个类的协助。如方法参数需要传入另一个类的对象,就表示依赖这个类。

表示方法:用虚线箭头表示,类A指向类B,即A依赖B

(4)关联:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。程序中一个类的全局变量引用了另一个类,就表示关联了这个类,关联关系分为单项关联和双向关联。在Java中,单向关联表现为:类A当中使用了类B,其中B作为类A的成员变量。双向关联表现为:类A当中使用了类B作为成员变量;同时类B中也使用了类A作为成员变量。

表示方法:用实线箭头表示,类A指向类B,即A关联B。

(5)聚合:聚合关联关系的一种特例,是强的关联关系。聚合是“整体-个体”之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分。

表示方法:实线空心的菱形箭头(也可以没箭头)

(6)组合:组合也是关联关系的一种特例。组合是一种“整体-部分”的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。

表示方法:用实线实心的菱形箭头(也可以没箭头)

23、数据库三级模式两级映射

模式是数据库中全体数据的逻辑结构和特征的描述。

注意:模式中不包含具体的记录数据。

(1)三级模式

概念级---模式:模式也称为概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,通常以某种数据模型为基础(),统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(反映了数据库系统的整体观)
物理级---内模式:内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,十数据在数据库内部的表示方式,一个数据库只有一个内模式。(反映了数据库系统的存储观)(存储文件)
用户级---外模式:外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述(视图)。外模式通常是模式的子集,一个数据库可以有多个外模式,但一个应用程序只能使用同一个外模式。(反映了数据库系统的用户观) 

(2)两级映射

数据库系统在三级模式之间提供了两级映像:模式/内模式的映像、外模式/模式的映像。

  • 模式/内模式的映像:实现概念模式到内模式之间的相互转换。
  • 外模式/模式的映像:实现外模式到概念模式之间的相互转换。

24、编译时发现的语义错误称为静态的语义错误,运行时陷入死循环属于动态语义错误

25、在数据阵设计中,将E-R图转换为关系模式是逻辑设计的主要内容。转换中将实体转换为关系模式,对实体中的派生属性不予考虑,组合属性只取各组合分量,若不含多值属性,通常一个实体对应一个关系模式,对实体中的多值属性,取实体的码和多值属性构成新增的关系模式,且该新增关系模式中,实体的码多值决定多值属性,属于平凡的多值依赖,关系属于4NF。

26、E-R模型

(1)实体

在 E-R 模型中,实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。实体集是具有相同属性的实体集合。我们常见的实体意义应该是实体集。(比如某一个学生是实体,所有学生都具有一些相同的属性,因此学生的集合可以定义为一个实体集。也可以对应到具体数据库,实体集是表,而实体是其中特定的条目元组)。

(2)联系

在 E-R 模型中,联系用菱形表示,通常菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1:1、1:n、n:m)。

(3)属性

属性是实体某方面的特性。在 E-R 图中属性用椭圆表示,并以无向边与对应实体进行连接。每个属性都有其取值范围。属性具有以下分类:

简单属性和复合属性。单独属性是原子的、不可再分的,复合属性可以分解为更小的部分。一般对于复合属性会在题干中给出其分解特性,比如对于地址可进一步划分为省、市、区,若不特别声明,通常指的是简单属性。

单值属性和多值属性。对于一个特定的实体都只有一个特定的值,则为单值属性;在某些特殊的情况下,一些属性可能对应一组值,这样的属性为多值属性。比如对于职工家属,可能有多名成员,会有一组取值,这里即为多值属性。

派生属性。派生属性可以从其他属性得来。比如出生年月可以计算得出年龄,当出生年月属性已记录时,年龄可以计算出来,为派生属性。NULL 属性。当实体在某个属性上没有特定值或属性值未知时,使用 NULL 值,表示无异议或不知道。

(4)实体-联系

(5)弱实体

在现实世界中有一种联系比较特殊,这种联系代表实体间的所有(Ownership)关系。这种实体对于另一些实体存在很强的依赖关系,即一个实体的存在必须以另一个实体为前提,将这类实体称为弱实体。比如附件是邮件的弱实体。弱实体一般以双矩形表示与其依赖的实体之间存在联系

(6)特殊化

主要描述的是子类和父类之间的关系。子类是超类的特殊化,子类继承超类的所有属性和联系,并且还有自己特殊的属性和联系。比如经理是员工的特殊化。特殊化实体一般以双边矩形表示,与其超类以线圈的方式连接。

27、关系模型

E-R 图转关系模式原则:

(1)每个实体型转换为一个关系模式

(2)联系转关系模式:

① 一对一联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:任一端主键)
归并(任意一端):并入另一端主键及联系自身属性。(主键:保持不变)

② 一对多联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:多端主键)
归并(多端):并入另一端主键及联系自身属性。(主键:保持不变)

③ 多对多联系的转换只有一种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:两端主键的组合键)

28、关系代数

(1)属性与域

属性:描述一个事物常常取若干特性来表示

域:每个属性取值范围对应一个值的集合,称为属性的域

(2)笛卡尔积与关系

笛卡尔积:结果列数为二者属性列数之和,行数为二者元素数乘积。

(3)关系的代名词

目或度:关系模式中属性的个数。

超键:在关系中能唯一标识元组的属性或属性集称为关键模式的超键。

候选码(键):是能够唯一标示元组却无冗余的属性组合,可以有多个。也就是在候选键中在删除属性就不是键了。

主码:主键,用户选作元组标识的候选键称为主键。一般不加说明,键就是指主键。

主属性:组成候选码的属性就是主属性,其他的叫做非主属性

外码:外键

全码:所有属性组成候选码,为全码

(4)关系运算

笛卡尔积×:结果的属性列数是二者之和,结果的元组行数是二者乘积。
投影π:对垂直方向的属性列进行筛选。
选择σ:对水平方向的元组行进行筛选。
自然连接⋈:结果的属性列数是二者之和减去重复列数,结果元组是同名属性列取值相等的元组

数据库的传统集合运算(并、差、交、笛卡尔积)和专门的关系运算(选择、投影、连接、除运算)

29、分布式数据中, 分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的。 复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的。位置透明是指用户无须知道数据存放的物理位置,逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型。

30、数据库范式

 范式(数据库术语)是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。 

符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。

第一、二、三范式的简单理解

(1)第一范式(1NF)

符合1NF的关系中的每个属性都不可再分。1NF是所有关系型数据库的最基本要求。

(2)第二范式(2NF)

消除了1NF非主属性对主属性的部分函数依赖。

函数依赖:在属性(属性组)X的值确定的情况下,必定能够确定属性Y的值。
例如:学号–>班主任。(学号,课程名称)–>分数。

完全函数依赖:在一张表中,如果X–>Y,对于X的任意子集都不能确定Y。
例如(学号,课程)–>分数。单独的学号、单独的课程都不能确定分数。一个学号多个课程分成绩,一个课程对应多个同学的成绩。只能由学号和课程共同确定具体的分数。

部分函数依赖:Y函数依赖X函数,但是Y函数不完全依赖X函数。就称函数Y部分依赖函数X。
例如:(学号,课程名)–>姓名。一个学号对应一个学生姓名,但是课程名并不能对应具体的学生。

传递函数依赖:Z函数依赖Y函数,Y函数依赖X函数(Y不包含X,X不依赖Y前提)。Z函数依赖X函数。

判断是否是2NF:查看表中是否存在非主属性对于码的部分函数依赖。不存在部分函数依赖就是2NF

判断方法:

  • 1、找出数据表所有的码
  • 2、根据码找出主属性
  • 3、找出非主属性
  • 4、查看非主属性对码的部分函数依赖

找码的过程:
1、查看一个单一属性,其他属性值是否都能确定
2、查看两个属性:其他属性值能否全部确定
3、…

例如:(学号,课名,姓名,系名,系主任,分数)。
单一的学号不能确定分数,分数的确定需要学号和课程。

码(学号,课名)

(学号,课名)–>系名.单独的学号就可以确定。部分依赖

改为2NF,消除部分依赖
将分数搞出去,选课(课程名,学号,分数)
学生(学号,姓名,系名,系主任)

选课的码(课程名,学号)–>分数
学生的码(学号)–> 只有一个主属性,不存在部分函数依赖

(3)第三范式(3NF)

消除了非主属性对码的传递函数依赖。

选课表(课程名,学号,分数)不存在传递函数依赖。(课程名,学号)为主码,传递也需要另外两个属性。

学生表中,学号–>系名。系名–>系主任。存在传递函数依赖。不符合3NF。
消除这个传递函数依赖
系(系名、系主任)
学生(学号,姓名,系名)

(4)BCNF范式

在第三范式的基础上,进一步消除了主属性对码的部分函数依赖和传递函数依赖。

注意:是“主属性”对码的部分函数依赖和传递函数依赖,2NF和3NF的都是非主属性。

(5)第四范式(4NF)

(6)第五范式(5NF)

31、TCP的流量控制采用了可变大小的滑动窗口协议,由接收方指明接收缓冲区的大小(字节数),发送方发送了规定的字节数后等待接收方的下一次请求。固定大小的滑动窗口协议用在数据链路层的HDLC中,可变大小的滑动窗口协议可以应付长距离通信过程中线路延迟不确定的情况,而固定大小的滑动窗口协议则适合链路两端点之间通信延迟固定的情况。

32、POP3协议是TCP/IP协议簇中用于邮件接收的协议。邮件客户端通过与服务器之间建立TCP连接,采用Client/Server计算模式来传送邮件

33、主机路由的子网掩码是255.255.255.255。网络路由要指明一个子网,所以不可能为全1,默认路由是访问默认网关,而默认网关与本地主机属于同一个子网,其子网掩码也应该与网络路由相同,对静态路由也是同样的道理。

34、在层次化局域网模型中,核心层的主要功能是将分组从一个区域高速地转发到另一个区域。核心层是因特网络的高速骨干,由于其重要性,因此在设计中应该采用元余组件设计,使其具备高可靠性,能快速适应变化,在设计核心层设备的功能时,应尽量避免使用数据包过滤、策略路由等降低数据包转发处理的特性,以优化核心层获得低延迟和良好的可管理性。

汇聚层是核心层和接入层的分界点,应尽量将资源访问控制、核心层流量的控制等都在汇聚层实施,汇聚层应向核心层隐藏接入层的详细信息,汇聚层向核心层路由器进行路由宣告时,仅宣告多个子网地址汇聚而形成的一个网络。另外,汇聚层也会对接入层屏蔽网络其他部分的信息,汇聚层路由器可以不向接入路由器宣告其他网络部分的路由,而仅仅向接入设备宣告自己为默认路由。

接入层为用户提供了在本地网段访问应用系统的能力,接入层要解决相邻用户之间的互访需要,并且为这些访问提供足够的带宽。接入层还应该适当负责一些用户管理功能,包括地址认证、用户认证和计费管理等内容。接入层还负责一些用户信息收集工作,例如用户的IP地址、MAC地址和访问日志等信息。

35、网桥是两个端口,一般基于软件实现,基于mac地址过滤帧,是数据链路层设备

集线器是多端口的中继器,是物理层的设备,集线器只是简单的转发比特流,从一个端口接收的比特流,会向所有其它端口转发。

36、OSI(开放式系统互联)七层模型功能及相关设备

各个层次遵循以下原则:

(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。

(2)同一节点内相邻层之间通过接口进行通信。

(3)七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。

(4)不同节点的同等层按照协议实现对等层之间的通信。

  • 物理层功能:物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。
    设备:网卡,网线,集线器,中继器,调制解调器
  • 数据链路层:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题。
    在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
    设备:网桥、交换机
  • 网络层:在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。
    设备:路由器
  • 传输层:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。
  • 会话层:会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。会话层的具体功能如下:
    • 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。
    • 会话流量控制:提供会话流量控制和交叉会话功能。 寻址:使用远程地址建立会话连接。
    • 出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。
  • 表示层:表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。
    • 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
    • 数据的编码:处理字符集和数字的转换。
    • 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。 数据的加密和解密:可以提高网络的安全性。
  • 应用层:应用层是OSI参考模型的最高层,是用户与网络的接口。
    • 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
    • 实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。

37、海明码要满足关系以下公式才能进行纠错:

2K≥K+n+1,当 n=16 时,K 取 5。

K 表示校验位

n 表示数据位

 

posted @ 2022-10-09 10:41  残城碎梦  阅读(511)  评论(0编辑  收藏  举报