2022年全国计算机二级复习知识点小结 .pdf
1 全国计算机二级VB 复习知识点纲要醉石居主人私有物第一章数据结构与算法本章应考重点:本章内容在二级笔试中会出现56 题,是公共基础知识部分出题量比较多的一章,所占分值也比较大,约 10 分1.1 算法1.算法是指解题方案的准确而完整的描述。2.算法的基本特征a 可行性 b 确定性 c 有穷性 d 拥有足够的情报3.算法的复杂度a 算法时间复杂度:是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量b 算法的空间复杂度是指执行这个算法所需要的内存空间。1.2 数据结构的基本概念1 数据结构是指互相有关联的数据元素的集合2 数据结构a 数据的逻辑结构1 表示数据元素的信息2 表示各数据元素之间的前后件关系b 数据的存储结构顺序存储链接存储索引存储c 对各种数据结构进行的运算3 数据结构的图形表示一个数据结构除了用二元关系外,还可以直观地用图形表示。在数据结构的图形表示中,对于数据集合点D 中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称结点:为了进以步表示数据元素之间的前后件关系,对于关系R 中的每一个二元组,用一条有向线段从前件结点指向后件结点。4 数据结构分为二大类线性结构a 有且只有一个根结点b 每个结点最多有一个前件,也最多有一个后件常见的线性结构有线性表,队列,线性链表,栈非线性结构不满足线性结构条件的数据结构常见的非线性结构有树,二叉树,和图等1.3 线性表及其顺序存储结构1 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。表中的每个数据元素,除了第一个外,由且只有一个前件,除了最后一个外,有且只有一个后件。线性表中数据元素的个数称为线性表的长度。线性表可以是空表2 线性表是一种存储结构顺序结构a 线性表中所有元素所占的存储空间是连续的b 线性表中个数据元素在存储空间中是按逻辑顺序依次存放的链式结构3 顺序表的插入,删除运算a 顺序表的插入运算,插入结束后,线性表的长度增加了1,顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。b 顺序表的删除运算,删除结束后, 线性表的长度减少了1,顺序表的删除运算时需要移动元素,在等概率情况下, 平均需要移动 (n-1)/2 个元素。插入删除运算不方便1.4 栈和队列1 栈及其基本运算栈是限定在一端进行插入与删除运算的线性表。栈是按照“先进后出”或“后进先出”的原则来组织数据的。栈具有记忆作用栈的基本运算a 入栈运算b 出栈运算c 读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化2 队列及其基本运算队列是指允许在一端(队尾)进行插入,一端(队头)进行删除的线性表队列是“先进先出”或“后进后出”的线性表队列运算包括a 入队运算b 出队运算3 循环队列及其运算循环队列的初始状态为空,即rear=front=m 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 2 全国计算机二级VB 复习知识点纲要醉石居主人私有物循环队列的基本运算分为入队运算和退队运算队列空的条件:s=0 队列满的条件:s=1 front=rear 1.5 线性链表1 线性表顺序存储缺点A 插入或删除的运算效率很低B 线性表的顺序存储结构下,线性表的存储空间不便扩充C 线性表的顺序存储结构不便于对存储空间的动态分配2 线性链表: 线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。在链式存储方式中每个结点由二部分组成:数据域,指针域线性链表分为单链表,双向链表和循环链表三种类型3 线性链表的基本运算a 在线性链表中包含指定元素的结点之前插入一个新元素b 在线性链表中删除包含指定元素的结点c 将二个线性链表按要求合并成一个线性链表d 将一个线性链表按要求进行分解e 逆转线性链表f 复制线性链表g 线性链表的排序h 线性链表的查找4 循环链表及其基本运算循环链表是另一种形式的链式存储结构,与线性链表相比,具有以下二个特点a 在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,循环链表的头指向表头结点。b 循环链表中最后一个结点的指针域不为空,而是指向表头结点,即在循环表中,所有结点的指针构成一个环状链在对循环链表进行插入与删除的过程中,实现了空表与非空表的运算统一1.6 树与二叉树1 树的基本概念树是一种简单的非线性结构。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度2 二叉树及其基本性质(1)什么是二叉树二叉树是一种很有用的非线性结构a 非空二叉树只有一个根结点b 每个结点最多有二棵子树,且分别称为左子树和右子树二叉树的度可以是0,1,2 (2)二叉树的基本性质性质 1 在二叉树的第k 层上,最多有2k-1(k=1)个结点性质 2 深度为 m 的二叉树最多有2m-1 个结点性质 3 在任意一棵二叉树中度数为0 的结点总比度为2 的结点多一个性质 4 具有 n 个结点的二叉树,其深度至少为 log2n 表示取 log2n 的整数部分3 满二叉树:除最后一层外,每层上的所有结点都有二个子结点完全二叉树:除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点4 二叉树的存储结构,二叉树通常采用链式存储结构5 二叉树的遍历(1)前序遍历( DLR)根左右(2)中序遍历( LDR)左根右(3)后序遍历( LRD)左右根1.7 查找技术1 顺序查找2 二分法查找Data next 左指针数据域右指针名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 3 全国计算机二级VB 复习知识点纲要醉石居主人私有物1.8 排序技术类别排序方法基本思想时间复杂度交换类冒泡排序相邻元素比较,不满足条件交换n(n-1)/2 快速排序选择基准元素,通过交换,划分成二个子序列O(nlog2n) 插入类简单插入排序待排序的元素看成为一个有序表和无序表,将无序表中元素插入到有序表中n(n-1)/2 希尔排序分割成若干个子序列分别进行直接插入排序O(n1.5) 选择类简单选择排序扫描整个线性表,从中选出最小的元素,将他交换到表的最前面n(n-1)/2 堆排序选建堆,然后建堆顶元素与堆中最后一个元素交换,再调整为堆O(nlog2n) 第二章程序设计基础本章在考试中会出现一题左右,所占分值大约占2 分,是出题量较小的一章。本章内容较少,所以大家尽量不要失分啊!这样会比较可惜。2.1 程序设计风格程序设计的风格主要强调:“清晰第一,效率第二”(1)源程序文档化 1 符号名的命名。符号名能反映它所代表的实际东西,应有一定的实际含义 2 程序的注释,分为序言性注释和功能性注释 3 视觉组织(2)数据说明 1 数据说明的次序规范化 2 说明语句中变量安排有序化 3 使用注释来说明复杂数据的结构(3)语句的结构(4)输入和输出注意点信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。即指在设计和确定模块时,使得一个模块的内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。2.2 结构化程序设计(面向过程的程序设计方法)1.结构化程序设计方法的主要原则可以概括为a 自顶而下b 逐步求精c 模块化d 限制使用goto 语句2.结构化程序的基本结构:顺序结构,选择结构(分支结构),重复结构(循环结构)2.3 面向对象的程序设计面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡人们在现实生活中常用的思维来认识,理解和描述客观事物,强调最终建立的系统能够映射问题域。面向对象方法的主要优点(1)与人类习惯的思维方法一致(2)稳定性好(3)可重用性好(4)易于开发大型软件产品(5)可维护性好.【注意】面向对象的程序设计主要考虑的是提高软件的的可重用性对象是面向对象方法中最基本的概念,对象是属性和方法的封装体属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变操作描述了对象执行的功能,操作也称为方法或服务。操作是对象的动态属性。一个对象由对象名,属性和操作三个部分组成名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 4 全国计算机二级VB 复习知识点纲要醉石居主人私有物对象的基本特点:标识唯一性,分类性,多态性,封装性,模块独立性好类是指具有共同属性,共同属性,共同方法的对象的集合。所有类是对象的抽象,对象是对应类的一个实例消息是一个实例与另一个实例之间传递的信息。消息的组成包括:(1)接收消息的对象的名称(2)消息标识符也称消息名(3)零个或多个参数继承是指能够直接获得已有的性质和特征,而不必重复定义他们多态性是对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动。在面向对象技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。多态性机制增加了面向对象软件系统的灵活性,减少了信息的,而且显著提高了软件的可重用性可扩充性。第三章软件工程基础本章应考点拨:本章在笔试中一般占8 分左右,约 3 道选择题, 1 道填空题,是公共基础部分比较重要的一章。本章主要考察对基本概念的识记,有少量对基本原理的理解,没有实际运用,因此在复习本章时,重点应放在基本概念的记忆和基本原理的理解。3.1 软件工程基本概念1 软件的相关概念计算机软件是包括程序,数据及相关文档的完整集合软件的特点包括(1)软件是一种逻辑实体,而不是物理实体,具有抽象性(2)软件的生产与硬件不同,他没有明显的制作过程(3)软件在运行,使用期间不存在磨损和老化问题(4)软件的开发,运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题(5)软件复杂性高,成本昂贵(6)软件开发涉及诸多的社会因素2 软件危机与软件工程软件工程源于软件危机软件危机表现为(1)软件需求的增长得不到满足(2)软件开发成本和进度无法控制(3)软件质量难以保证(4)软件不可维护或维护程度非常低(5)软件的成本不断提高(6)软件开发生产率的提高跟不上硬件的发展和应用需求的增长总之可以将软件危机归结为成本,质量,生产率等问题软件工程(1)软件开发技术(2)软件工程管理软件工程的主要思想是将工程化原则运用到软件开发过程,他包括3 个要素:方法,工具,过程软件工程过程是把输入转化为输出的一组彼此相关的资源和活动3 软件的生命周期软件生命周期:软件产品从提出,实现,使用维护到停止使用退役的过程。生命周期分为软件定义,软件开发,软件运行维护三个阶段(1)软件定义阶段:包括制定计划和需求分析(2)软件开发阶段:软件设计(概要设计,详细设计),软件实现,软件测试(3)软件运行维护阶段:软件生命周期中所花费最多的阶段4 软件工程的目标和原则(1)软件工程目标:在给定成本,进度的前提下,开发出具有有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 5 全国计算机二级VB 复习知识点纲要醉石居主人私有物移植性,可追踪性和可互操作性且满足用户需求的产品(2)软件工程需要达到的基本目标是:付出较低的开发成本;达到要求的软件功能;取得较好的软件的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用(3)软件工程的原则:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性。5 软件开发工具与软件开发环境(1)软件开发工具(2)软件开发环境软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合3.2 结构化分析方法结构化方法的核心和基础是结构化程序设计理论1 需求分析需求方法方法有(1)结构化需求分析方法(2)面向对象的分析方法【说明】 1 需求分析的任务就是导出目标系统的逻辑模型 2 需求分析一般分为需求获取,需求分析,编写需求规格说明书和需求评审2 结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用结构化分析方法的实质:着眼于数据流,自顶而下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析的常用工具a 数据流图( DFD)基本图形要素:加工(转换),数据流,存储文件,源潭画数据流图的基本步骤:自外向内,自顶向下,逐层细化,完善求精b 数据字典( DD)数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释数据字典是结构化分析方法的核心c 判定树 d 判定表3 软件需求规格说明书(SRS)软件需求规格说明书是需求分析阶段的最后成果,通过建立完整的信息描述,详细的功能和行为描述,性能需求和设计约束的说明,合适的验收标准,给出对目标软件的各种需求。3.3 结构化设计方法1 软件设计的基础软件设计包括软件结构设计,数据设计,接口设计,过程设计从工程角度来看,软件设计分成二步完成,概要设计和详细设计软件设计的基本原理包括:抽象,模块化,信息隐蔽和模块独立性【注意】模块分解的主要指导思想是信息隐蔽和模块独立性模块的耦合性和内聚性是衡量软件的模块独立性的二个定性指标【注意】一个设计良好的软件系统应具有高内聚,低耦合的特征在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度2 总体设计(概要设计)和详细设计(1)总体设计(概要设计)的基本任务是1 设计软件系统结构2 数据结构及数据库设计 3 编写概要设计文档4 概要设计文档评审数据流的类型:大体可以分为二种类型,变换型和事务型单元是程序中最小的部分,由可以隐含的三个部分组成:数据输入,加工和数据输出(2)详细设计详细设计的任务是确定实现算法和局部数据结构,不同于编码或编程常用的过程设计(详细设计)工具有以下几种a 图形工具:程序流程图,N-S,PAD,HIPO b 表格工具:判定表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 6 全国计算机二级VB 复习知识点纲要醉石居主人私有物语言工具: PDL 3.4 软件测试软件测试的目的:尽可能地减少程序中的错误,不能也不可能证明程序没有错误。软件测试的关键是设计测试用例软件测试方法:静态测试和动态测试静态测试:包括代码检查,静态结构分析,代码质量度量。不实际运行软件,主要通过人工进行动态测试:主要包括白盒测试和黑盒测试(1)白盒测试白盒测试方法也称为结构测试或逻辑驱动测试。它根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。白盒测试的基本原则:保证所测试模块中每一独立路径至少执行一次;保证所测试模块所有判断的每一分支至少执行一次;保证所测试模块每个循环都在边界条件和一般条件下至少各自执行一次;验证所有内部数据结构的有效性。白盒测试法的测试用例是根据程序的内部逻辑来设计的,主要用软件的单元测试,主要方法有逻辑覆盖,基本路径测试等【注意】逻辑覆盖的强度依次是:语言覆盖路径覆盖 判定覆盖 条件覆盖 判断 -条件覆盖(2)黑盒测试黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试盒验证。黑盒测试主要诊断功能不对或遗漏,接口错误,数据结构或外部数据库访问错误,性能错误,初始化和终止条件错误黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例,主要方法有等价类划分法,边界值分析法,错误推测法等,主要用软件的确定测试3 软件测试过程4 步骤:单元测试,集成测试,确认测试和系统测试(1)单元测试单元测试是对软件设计的最小单位模块(程序单元)进行正确性检测的测试,目的是发现模块内部可能存在的各种错误。单元测试根据程序的内部结构来设计测试用例,其依据是详细设计说明书和源程序。单元测试的技术可以采用静态分析和动态测试。对动态测试通常以白盒测试为主,辅以之黑盒测试。单元测试的内容包括:模块接口测试,局部数据结构测试,错误处理测试和边界测试。在进行单元测试时,要用一些辅助模块去模拟与被测模块相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。其中驱动模块相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果;而桩模块是模拟其他被调用模块,不必将子模块的所有功能带入。(2)集成测试集成测试是测试与组装软件的过程,它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误。集成测试的依据是概要设计说明书集成测试所涉及的内容包括:软件单元的接口测试,全局数据结构测试,边界条件和非法输入的测试等集成测试通常采用二种方式:非增量方式组装与增量方式组装(3)确认测试确认测试的任务是验证软件的有效性,即验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试的主要依据是软件需求规格说明书确认测试主要运用黑盒测试(4)系统测试系统测试的目的在于通过与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方系统测试的测试用例根据需求分析规格说明来设计,并在实际使用环境下来运行。系统测试的具体实施一般包括:功能测试,性能测试,操作测试,配置测试,外部接口测试,安全性测试等3.5 程序的调试程序调试(不同于软件测试)的任务是诊断和改正程序中的错误,主要在开发阶段进行,调试程序应该有编制源程序的程序员来完成程序调试的基本步骤a 错误定位 b 纠正错误 c 回归测试软件的调试后进行回归测试,以防止引进新的错误软件调试可分为静态调试和动态调试。静态调试主要是通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 7 全国计算机二级VB 复习知识点纲要醉石居主人私有物对软件调试的主要方法有(1)强行排错法(2)回溯法(3)原因排除法:是通过演绎,归纳和二分法来是来实现第四章数据库设计基础本章应考点拨:本章在考试中一般出现2-4 个小题。本章内容概括性强,比较抽象,希望大家记忆之余,注意理解。4.1 数据库系统的基本概念1 数据,数据库 (DB),数据管理系统(DBMS) 是数据库的核心数据库管理系统功能 1 数据模式定义 2 数据存取的物理构建 3 数据操纵 4 数据的完整性,安全性定义与检查5 数据库的并发控制与故障恢复 6 数据的服务数据库管理员(DBA )数据库系统( DBS)数据库应用系统2 数据库系统的发展数据库管理发展至今已经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段3 数据库系统的基本特点(1)数据的高集成性(2)数据的高共享性与低冗余性数据库系统可以减少数据冗余,但无法避免一切冗余(3)数据独立性一般分为物理独立性和逻辑独立性二级(4)数据统一管理与控制4 数据库系统的内部结构体系(1)数据库系统的三级模式:概念模式,外模式,内模式(2)数据库系统的二级映射:概念模式/内模式的映射;外模式/概念模式的映射4.2 数据模型1 数据模型所描述数据模型所描述的内容有三部分,它们是数据结构,数据操作与数据约束。数据模型分为概念模型,逻辑数据模型和物理模型三类2 实体联系模型及E-R 图4.3 关系代数1 关系的数据结构2 关系操作4.4 数据库设计方法和步骤数据库的设计的二种方法面向数据的方法:以信息需求为主,兼顾处理需求面向过程的方法:以处理需求为主,兼顾信息需求数据库设计一般采用生命周期法(1)需求分析阶段 (2)概念分析阶段 (3)逻辑设计阶段 (4)物理设计阶段 (5)编码阶段 (6)测试阶段 (7)运行阶段 (8)进一步修改阶段2 数据库设计的需求分析第一阶段:需求收集和分析,收集基本数据和数据流图4 数据库的逻辑设计(1)从 E-R 模型向关系模式转换(2)逻辑模式规范化及调整,实现5 数据库管理:数据库的建立数据库的调整数据库的重组数据库的故障校复数据安全性控制与完整性控制数据库监控名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -