版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于计算机级公共基础知识考前必看第一页,共一百零五页,2022年,8月28日第2页计算机二级考试公共基础知识大纲
数据结构与算法程序设计基础软件工程基础数据库设计基础这四个方面在试卷中出现的情况是:选择题10个(20分),填空题5个(10分),总分值占到了试卷卷面分的30%,是一个不小的比例。
第二页,共一百零五页,2022年,8月28日第3页算法⒈算法的基本概念
2.算法复杂度的概念和意义
一、基本数据结构与算法
数据结构⒈数据结构的概念⒉线性表⒊栈和队列⒋树与二叉树⒌查找技术⒍排序技术
对于等级考试,这个部分的考核重点主要在算法和数据结构的基本概念、二叉树(遍历、结点),还有排序和查找考试中也经常会涉及到。第三页,共一百零五页,2022年,8月28日第4页算法的定义对解题方案准确而完整的描述称为算法。算法是程序设计的核心⒈算法的基本概念
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程(计算的方法)。在这个过程中,无论是形成解题思路(推理实现的算法)还是编写程序(操作实现的算法),都是在实施某种算法。例:n个数从大到小进行排序。
有多种排序方法,常用的有冒泡排序、选择排序等。第四页,共一百零五页,2022年,8月28日第5页
2.
算法的基本特征一个算法应该具有以下五个重要的特征:
有穷性确定性输入输出可行性一个算法必须保证执行有限步之后结束;算法的每一步骤必须有确切的定义;一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成第五页,共一百零五页,2022年,8月28日第6页算法与计算机程序算法____是一组逻辑步骤程序——用计算机语言描述的算法3.算法的表示INPUTrS=3.14*r*rPTINTS开始输入RS=3.14*
R*R输出S结束问题:输入园的半径,计算园的面积
一个算法的表示需要使用一些语言形式。传统的算法-------图形法,如“流程图”和N-S图目前常用的方法-------使用伪码描述算法。第六页,共一百零五页,2022年,8月28日第7页4.
算法评价评价一个算法优劣的主要标准是算法的执行效率和存储需求:时间复杂度:执行这个算法所需要的计算工作量一般可以用算法在执行过程中所需基本运算的执行次数来度量计算工作量空间复杂度:执行这个算法所需要的内存空间
算法在执行过程中临时占用的存储空间
时间复杂度它大致等于计算机执行一种简单操作所需的平均时间与算法中进行简单操作的次数的乘积。
一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间、算法中的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个部分第七页,共一百零五页,2022年,8月28日第8页总结对解题方案准确而完整的描述称为算法。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。算法评价:
时间复杂度:执行这个算法所需要的计算工作量空间复杂度:执行这个算法所需要的内存空间第八页,共一百零五页,2022年,8月28日第9页(1)在计算机中,算法是指______。
A.查询方法B.加工方法
C.解题方案的准确而完整的描述D.排序方法(2)下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(3)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(c)(B)算法习题:(A)第九页,共一百零五页,2022年,8月28日第10页(4)算法的时问复杂度是指
A)算法的执行时间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的基本运算次数(5)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(6)下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对(D)计算工作量(A)(D)第十页,共一百零五页,2022年,8月28日第11页
计算机在进行数据处理时,实际需要处理的数据元素一般有很多,而这些大量的数据元素都需要存放在计算机中,因此,大量的数据元素在计算机中如何组织,以便提高数据处理的效率,并且节省计算机的存储空间,这是进行数据处理的关键问题。二、数据结构程序=算法+数据结构数据结构是指相互有关联的数据元素的集合。
一般来说,人们不会同时处理特征完全不同且互相之间没有任何关系的各类数据元素,对于具有不同特征的数据元素总是分别进行处理。一般情况下,在具有相同特征的数据元素集合中,各个数据元素之间存在有某种关系(即联系),这种关系反映了该集合中的数据元素所固有的一种结构。第十一页,共一百零五页,2022年,8月28日第12页二.数据结构数据结构是指相互有关联的数据元素的集合。数据结构是研究数据和数据之间关系的一门学科,它包括三个方面。
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。第十二页,共一百零五页,2022年,8月28日第13页1.逻辑结构
数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。例:1.一年四季的数据结构
B=(D,R)D={春,夏,秋,冬}R={(春,夏),(夏,秋),(秋,冬)}2.家庭成员的数据结构
B=(D,R)D={父亲,儿子,女儿}R={(父亲,儿子),(父亲,女儿)}春夏秋冬数据结构的图形表示父亲儿子女儿第十三页,共一百零五页,2022年,8月28日第14页常见的逻辑结构有:线性结构、树形结构和图形结构。线性结构树形结构图形结构①线性结构结构中的每个元素之间存在一个对一个的关系;②树形结构结构中的每个元素之间存在一个对多个的关系;③图形结构或网状结构结构中的每个元素之间存在多个对多个的关系。其中,树形结构和图形结构统称为非线形结构。数据的逻辑结构可以用二元关系表示,也可以直观地用图形来表示。第十四页,共一百零五页,2022年,8月28日第15页常见的数据结构
1.线性表
2.栈和队列
3.树第十五页,共一百零五页,2022年,8月28日第16页1.线性表(LinearList)
线性表是由n(n≥0)个数据元素
a1,a2,…,ai,…,an组成的一个有限序列。简单的线性表春夏秋冬复杂的线性表记录102011001
张三男…
记录202011003李四女…记录3记录4第十六页,共一百零五页,2022年,8月28日第17页2.栈和队列栈和队列都是特殊的线性表。
栈(Stack)及其基本运算队列(Queue)及其基本运算循环队列及其基本运算第十七页,共一百零五页,2022年,8月28日第18页栈(Stack)是一种特殊的线性表。其特点是插入和删除运算都只能在线性表的一端进行。栈是按照“先进后出”或“后进先出”的原则组织数据的线性表。栈的物理存储结构可以用顺序结构,也可以用链表结构。下面讨论顺序存储结构中栈元素的插入和删除运算。顺序栈的进栈和出栈运算栈的基本运算有三种:入栈、退栈和读栈顶元素
在顺序栈中插入和删除运算不需要移动表中其他数据元素。第十八页,共一百零五页,2022年,8月28日第19页队列(Queue)是一种特殊的线性表。其特点是所有的插入都在表的一端进行,所有的删除运算都在表的另一端进行。队列是按照“先进先出”或“后进后出”的原则组织数据的线性表。队列的物理存储结构可以用顺序结构,也可以用链式结构。顺序队列的运算栈有三种操作:入栈\出栈\读栈顶元素队列有三种操作:入队\出队\读队首元素例:有入栈元素序列:ABCD,求可能的出栈序列.如是队列又是什么情况呢?第十九页,共一百零五页,2022年,8月28日第20页
循环队列把队列的存储空间在逻辑上看作一个环,当R指向存储空间的末端后,就把它重新置于始端。循环队列的运算队列中进行插入的一端称做队尾(rear),进行删除的一端称做队首(front)。
习题:数据结构分为逻辑结构和存储结构,循环队列属于【】结构。(2005年9月)答案:存储结构。第二十页,共一百零五页,2022年,8月28日第21页常见数据结构的逻辑结构线性表
线性结构栈
是特殊的线性表
队列
也是一种操作受限的特殊的线性表树(树型结构)是一种重要的非线形数据结构第二十一页,共一百零五页,2022年,8月28日第22页数据存储结构方面的考题
1:数据的存储结构是指
A)存储在外存中的数据B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示2.下列叙述中正确的是
A)栈是“先进先出”的线性表
B)队列是“先进后出”的线性表
C)循环队列是非线性结构
D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构3.数据结构分为线性结构和非线性结构,带链的队列属于[]。4.下列数据结构中,属于非线性结构的是A)循环队列B)带链队列C)二叉树D)带链栈答案:D。答案:D。答案:线性结构。答案:c第二十二页,共一百零五页,2022年,8月28日第23页5。下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间答案:A。6。下列关于栈的叙述正确的是
A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据
C)只能在栈底插入数据D)不能删除数据
答案:B。7.一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为【1】。(2010年3月)
答案:A,B,C,D,E,F,5,4,3,2,1第二十三页,共一百零五页,2022年,8月28日第24页一个非空的数据结构若满足下面的两个条件,则这种数据结构即为线性结构。①有且仅有一个根结点;②除第一个结点外,每一个结点最多有一个直接前驱结点;③除最后一个结点外,每一个结点最多有一个直接后继结点。
线性结构与非线性结构线性表、栈和队列都是线性结构
一个数据结构不是线性结构,则称其为非线性结构。a1a2a5a3a4HEAD319510线性链表的逻辑状态第二十四页,共一百零五页,2022年,8月28日第25页树型结构是一种重要的非线性结构。
树的概念二叉树的概念二叉树的存储二叉树的遍历3.树与二叉树第二十五页,共一百零五页,2022年,8月28日第26页树的概念
树的定义:n个结点的有限集。(n>=0)
ABDFECGHIJKM
根:onlyone
若n=0,则称为空树;否则,当n>1时,其余结点被分成m(m>0)个互不相交的子集T1,T2,...,Tm,每个子集又是一棵树。由此可以看出,树的定义是递归的。
Question:如何辨别根?A只有一个结点的树第二十六页,共一百零五页,2022年,8月28日第27页树型结构的常用术语ABDFECGHIJKM
结点的度一个结点的子树的个数;Q:结点A、G的度数?
树的度树中所有结点度的最大值;Q:右图中树的度?
终端结点度为0的结点;
Q:图中叶子结点有几个?7
非终端结点
度不为0的结点;
Q:图中非终端结点有几个?5孩子结点、双亲结点、兄弟结点、结点的子孙、结点的祖先第二十七页,共一百零五页,2022年,8月28日第28页树型结构的常用术语ABDFECGHIJKM
结点的层次树中根结点的层次为1,根结点子树的根为第2层,以此类推;
Q:图中结点F的层次?
树的深度
树中所有结点层次的最大值;
Q:图中树的深度?
有序树、无序树如果树中每棵子树从左向右的排列拥有一定的顺序,不得互换,则称为有序树,否则称为无序树。①②③④第二十八页,共一百零五页,2022年,8月28日第29页二叉树的概念
定义:二叉树是一种有序的树形结构。它与一般树形结构的区别是:每个结点最多有两棵子树;子树有左右之分,次序不能任意颠倒。
二叉树的5种基本形态第二十九页,共一百零五页,2022年,8月28日第30页二叉树的性质【性质1】
在二叉树的第i层上最多有2i-1个结点(i≥1)ABCDFEHG第三十页,共一百零五页,2022年,8月28日第31页【性质2】深度为h的二叉树最多有2h-1个结点(h≥1)满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。第三十一页,共一百零五页,2022年,8月28日第32页121314158910114567123满二叉树完全二叉树12138910114567123
完全二叉树是满二叉树满二叉树也是完全二叉树第三十二页,共一百零五页,2022年,8月28日第33页1213891011456123非完全二叉树深度为4的完全二叉树84567123第三十三页,共一百零五页,2022年,8月28日第34页【性质3】二叉树上叶子结点数比度为2的结点数多1ABCDFEHG度为2的结点叶子结点第三十四页,共一百零五页,2022年,8月28日第35页1:在深度为7的满二叉树中,叶子结点的个数为
A)32
B)31
C)64
D)632:在深度为7的满二叉树中,度为2的结点个数为【】
。3:一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A)219B)221C)229D)2314:某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。5:一棵二叉树第六层(根结点为第一层)的结点数最多为【】个。
树型结构方面的考题
1答案:C。3答案:A。5答案:32。2答案:63。4答案:19。第三十五页,共一百零五页,2022年,8月28日第36页二叉树的遍历
遍历指不重复地访问二叉树中的所有结点。二叉树的遍历的次序与树型结构上的大多数运算有联系。遍历的方式有三种(1)先(前)序遍历(DLR)(2)中序遍历(LDR)(3)后序遍历(LRD)ABCDFEHG第三十六页,共一百零五页,2022年,8月28日第37页二叉树的遍历
遍历指不重复地访问二叉树中的所有结点。(1)先(前)序遍历(DLR)若二叉树为空,则结束遍历操作;否则访问根结点;先序遍历左子树;先序遍历右子树。ABCDFEHG先序遍历的结果:
ABECFGHD第三十七页,共一百零五页,2022年,8月28日第38页(2)中序遍历(LDR)若二叉树为空,则结束遍历操作;否则中序遍历左子树;访问根结点;中序遍历右子树。中序遍历的结果:EBAFHGCD(3)后序遍历(LRD)若二叉树为空,则结束遍历操作;否则后序遍历左子树;后序遍历右子树;访问根结点。后序遍历的结果:E
BHGFDCAABCDFEHG第三十八页,共一百零五页,2022年,8月28日第39页先序序列:ABDGCEFH 中序序列:DGBAECHF 后序序列:GDBEHFCAABCFHDEG下图所示的二叉树经过三种遍历得到的顺序分别为?练习:根据先序遍历序列,建立二叉树第三十九页,共一百零五页,2022年,8月28日第40页1:设二叉树如下:
(2010年3月)
对该二叉树进行后序遍历的结果为【3】树型结构方面的考题
22:对如下二叉树(2006年4月)进行后序遍历的结果为A)ABCDEF
B)DBEAFCC)ABDECF
D)DEBFCA
EDBGHFCA
DABCFHDGE第四十页,共一百零五页,2022年,8月28日第41页⒌查找技术
查找是数据处理的重要内容。查找指在一个给定的数据结构中查找指定的元素,该元素也称关键字。若找到了满足条件的结点,称查找成功;否则称查找失败。衡量一个查找算法的主要标准是查找过程中对关键字进行的平均比较次数。通常根据不同的数据结构,采用不同的查找方法:顺序查找二分查找第四十一页,共一百零五页,2022年,8月28日第42页顺序查找线性表中最简单的查找方法。
方法:从线性表的第一个元素开始,依次将线性表中的元素与关键字进行比较,若相等,则查找成功;若将所有元素都与关键字进行了比较但不相等,则查找失败。顺序查找法的适用场合:对线性表中元素的排列次序没有要求;对线性表的存储结构没有要求,链式结构和顺序结构均可。第四十二页,共一百零五页,2022年,8月28日第43页二分查找(折半查找)
是一种效率较高的查找方法,但是只适合顺序存储的有序表。二分查找的方法:首先将关键字与线性表中间位置的结点比较,相等则查找成功;不相等则根据比较结果确定下一步查找应在哪个子表中进行;重复上述过程,直至查找成功或子表长度为0。二分查找法的适用场合:线性表中的元素按关键字值递增或递减的次序排列;线性表采用顺序存储结构。第四十三页,共一百零五页,2022年,8月28日第44页⒍排序技术
排序指将一个无序序列整理成按关键字值递增或递减排列的有序序列。排序方法中其排序对象一般是顺序存储的线性表。根据排序序列的规模以及数据处理的要求,可以采用不同的排序方法:交换类排序法
冒泡排序快速排序
插入类排序法简单插入排序希尔排序选择类排序法简单选择排序堆排序第四十四页,共一百零五页,2022年,8月28日第45页冒泡排序
冒泡排序的方法:扫描整个线性表,逐次对相邻的两个元素进行比较,若为逆序,则交换;第一趟扫描的结果使最大(或最小)的元素排到表的最后(或最前)
;除最后(或最前)一个元素,对剩余的元素重复上述过程,将次大(或次小)的数排到表的倒数(或正数)第二个位置;重复上述过程;对于长度为n的线性表,冒泡排序需要对表扫描n-1遍。第四十五页,共一百零五页,2022年,8月28日第46页冒泡排序的方法设待排数据元素的关键字为(18,20,15,32,4,25),第一趟冒泡排序后的序列状态如图所示:
182015324251820153242518152032425181520324251815204322518152042532最大数第二趟冒泡排序第四十六页,共一百零五页,2022年,8月28日第47|92页Q:第二趟冒泡排序后的结果是什么样的?达到了最终的排序目标吗?一共需要多少次能够最后成为有序序列?Q:你觉得冒泡排序的效率如何?如果是你,你会用什么方法来排序?
冒泡排序比较简单,当初始序列基本有序时,冒泡排序有较高的效率,反之效率较低。冒泡排序终止条件:
本趟排序未发生交换,终止排序算法第四十七页,共一百零五页,2022年,8月28日第48|92页初始第一趟第二趟第三趟第四趟第五趟序列排序后排序后排序后排序后排序后 26 18 1818 189 18 26 2626 915 32 32 329 15 18 54 47 915 26 47 9 1532
9 15 47
15 54
设待排数据元素的关键字为(26,18,32,54,47,9,15)冒泡排序法,需要比较的次数为n(n-1)/2;
第四十八页,共一百零五页,2022年,8月28日第49页选择排序
选择排序的方法:扫描整个线性表,从中找出最小的元素,与第一个元素交换;除第一个元素,对剩下的子表采用相同的方法找出次小的数,与第二个数交换;重复上述过程;对于长度为n的线性表,选择排序需要对表扫描n-1遍。简单选择排序法,
最坏情况需要n(n-1)/2次比较;
第四十九页,共一百零五页,2022年,8月28日第50|92页初态:[15,14,22,30,37,15,11]第一趟:[11][14,22,30,37,15,15]第二趟:[11,14][22,30,37,15,15]第三趟:[11,14,15][30,37,22,15]第四趟:[11,14,15,15][37,22,30]第五趟:[11,14,15,15,22][37,30]第六趟:[11,14,15,15,22,30][37]
有序序列例:设待排数据元素的关键字为(15,14,22,30,37,11),每一趟排序后的序列状态如图所示:第五十页,共一百零五页,2022年,8月28日第51页排序法小结:简单选择排序法,
最坏情况需要n(n-1)/2次比较;冒泡排序法,
最坏情况需要n(n-1)/2次比较;快速排序法,
最坏情况需要n(n-1)/2次比较;希尔排序法,
最坏情况需要O(n1.5)次比较;堆排序法,最坏情况需要O(nlog2n)次比较;
第五十一页,共一百零五页,2022年,8月28日第52页排序查找方面的考题:(1)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
A)冒泡排序为n/2B)冒泡排序为n
C)快速排序为nD)快速排序为n(n-1)/2
(2)在长为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A)、63B)、64C)、6D)、7(3)下列数据结构中,能用二分法进行查找的是
A)顺序存储的有序线性表 B)线性链表
C)二叉链表 D)有序线性链表(4)下列排序方法中,最坏情况下比较次数最少的是(09年3月)
A)冒泡排序
B)简单选择排序
C)直接插入排序
D)堆排序DBAD第五十二页,共一百零五页,2022年,8月28日第53页第二章程序设计基础内容:
1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。第五十三页,共一百零五页,2022年,8月28日第54页1.结构化程序设计
结构化程序设计方法的四条原则是:1.自顶向下;2.逐步求精;3.模块化;4.限制使用goto语句。
结构化程序的基本结构和特点:
(1)顺序结构:简单的程序设计,最基本、最常用的结构;
(2)选择结构(分支结构):包括简单选择和多分支选择结构,
(3)重复结构(循环结构):可根据给定条件,判断是否需要重复执行某一相同程序段。第五十四页,共一百零五页,2022年,8月28日第55页2.面向对象的程序设计
对象是面向对象方法中最基本的概念。
对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。属性即对象所包含的信息操作描述了对象执行的功能,操作也称为方法或服务。第五十五页,共一百零五页,2022年,8月28日第56页类是指具有共同属性、共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。消息是一个实例与另一个实例之间传递的信息。
消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。继承是指能够直接获得已有的性质和特征,而不必重复定义他们。单继承指一个类只允许有一个父类多重继承指一个类允许有多个父类。多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。第五十六页,共一百零五页,2022年,8月28日第57页程序设计基础方面的考题1.符合结构化原则的三种基本控制结构是:选择结构、循环结构和【】
.2.下列选项中不属于结构化程序设计原则的是A)可封装
D)自顶向下
C)模块化
D)逐步求精3.以下叙述中正确的是。A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整4.在面向对象方法中,类的实例称为【____】。(2005年4月)5.在面向对象方法中,【____】描述的是具有相似属性与操作的一组对象。(2006年4月)(顺序结构)A
D对象类第五十七页,共一百零五页,2022年,8月28日第58页第三章软件工程基础计算机软件是包括程序、数据及相关文档的完整集合。软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。
第五十八页,共一百零五页,2022年,8月28日第59页1.软件工程概念软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
软件工程包括3个要素:方法、工具和过程。软件周期:软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:
(1)可行性研究与计划制定;
(2)需求分析;
(3)软件设计;
(4)软件实现;
(5)软件测试;
(6)运行和维护。第五十九页,共一百零五页,2022年,8月28日第60页2.结构化分析方法结构化分析方法:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析的常用工具(1)数据流图;
(2)数据字典;
(3)判定树;
判定表。
(4)软件需求规格说明书第六十页,共一百零五页,2022年,8月28日第61页3.结构化设计方法软件设计包括:总体设计与详细设计在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。常见的过程设计工具有:图形工具(程序流程图,N-S,PAD)表格工具(判定表)语言工具(PDL伪码)第六十一页,共一百零五页,2022年,8月28日第62页4.软件测试
软件测试的目的:发现错误而执行程序的过程。
软件测试方法:
静态测试:
包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行。
动态测试:
是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。第六十二页,共一百零五页,2022年,8月28日第63页(1)下面叙述中错误的是
A)软件测试的目的是发现错误并改正错误
B)对被调试的程序进行“错误定位”是程序调试的必要步骤
C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【】测试。(2009年3月)(3)
按照软件测试的一般步骤,集成测试应在_____测试之后进行。(4)软件工程三要素包括方法、工具和过程,其中,_____支持软件开发的各个环节的控制和管理。(2008年9月)(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合A
软件工程方面的考题:白盒
单元过程B第六十三页,共一百零五页,2022年,8月28日第64页(6)下列叙述中正确的是AA)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(7)程序流程图中的菱形框表示的是【2】。(8)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【3】阶段产生“软件需求规格说明书。
(9)下列叙述中正确的是
A)软件测试应该由程序开发者来完成
B)程序经调试后一般不需要再测试
C)软件维护只包括对程序代码的维护
D)以上三种说法都不对A
逻辑条件需求分析D第六十四页,共一百零五页,2022年,8月28日第65页(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
A)编辑软件B)操作系统
C)教务管理系统D)浏览器(4)软件(程序)调试的任务是
A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误
C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是
A)软件概要设计的工具B)软件详细设计的工具
C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
A)定义阶段B)开发阶段
C)维护阶段D)上述三个阶段经典考题
BA
C
B
第六十五页,共一百零五页,2022年,8月28日第66页第四章数据库设计基础数据:实际上就是描述事物的符号记录。数据库:是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。数据库管理系统:一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。数据库应用系统:由数据库系统、应用软件及应用界面三者组成。第六十六页,共一百零五页,2022年,8月28日第67页数据库系统第六十七页,共一百零五页,2022年,8月28日第68页关系数据库系统的基本特点:数据的集成性数据的高共享性与低冗余性数据独立性(物理独立性与逻辑独立性)数据统一管理与控制。数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。数据库系统的三级模式:
(1)概念模式(2)外模式(3)内模式数据库系统的两级映射:
(1)概念模式到内模式的映射;
(2)外模式到概念模式的映射。1.数据库系统的基本概念第六十八页,共一百零五页,2022年,8月28日69应用外模式(用户数据库)应用外模式(用户数据库)应用外模式(用户数据库)概念模式(概念数据库)内模式(物理数据库)数据库外模式→概念模式映射概念模式→内模式映射模式第六十九页,共一百零五页,2022年,8月28日702.数据模型数据模型(DataModel)是对客观事物及其关系的数据描述。数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界。现实世界信息世界计算机世界
数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件。数据模型所描述的内容包含:数据结构、数据操作和数据约束。第七十页,共一百零五页,2022年,8月28日第71页2.数据模型E-R模型的基本概念
(1)实体:现实世界中的事物;
(2)属性:事物的特性;
(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。在一所学校,一门课程与学生之间是一对多的关系。在一所学校,多门课程与多个学生之间是多对多的关系。
一个家庭,夫妻关系是一对一关系。第七十一页,共一百零五页,2022年,8月28日72E-R模型的图示法用简单的几何图形表示实体集、属性与联系。(1)实体集表示法在E-R图中用矩形表表示实体集,在矩形内写上实体集名称。如实体集学生(student)、实体集课程(course)(2)属性表示法在E-R图中用椭圆形表示属性,在椭圆形内写上该属性名称。如学生有属性:学号(S#)、姓名(Sn)及年龄(Sa)可用如下表示。studentcourseS#SnSa第七十二页,共一百零五页,2022年,8月28日73(3)联系表示法在E-R图中用菱形(内写上联系名)表示联系。如学生与课程的联系SC,如下图所示:(4)实体集与属性间的联系关系属性依附于实体集,它们之间有联系关系用无向线段表示。SCstudentS#SnSa第七十三页,共一百零五页,2022年,8月28日74属性也依附于联系,它们之间也有联系关系,因此也可用无向线段,如联系SC可与学生的课程成绩属性G建立联系并用下图表示。(5)实体集与联系间的连接关系(也可用无向线段)SCGstudentcourseSC第七十四页,共一百零五页,2022年,8月28日第75页E-R模型之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫元组。
E-R模型的图示法:(1)实体集表示法;用长方形(2)属性表法;用椭圆形(3)联系表示法。用菱形,(m:n)第七十五页,共一百零五页,2022年,8月28日76关系模型的基本运算:
1.插入集合的并运算
2.删除集合的差(交)
运算
3.修改集合的差|并(除)运算。
4.查询(投影、选择、笛卡尔积运算)3.关系代数集合的并运算第七十六页,共一百零五页,2022年,8月28日77
由关系R和S通过交运算得到关系T,第七十七页,共一百零五页,2022年,8月28日78用于查询的集合运算:(1)投影对于关系R内的域指定称为投影运算。S关系就是对R关系指定A和B两个域的结果ABCa32b01c21ABa3b0c2RS3.关系代数第七十八页,共一百零五页,2022年,8月28日79关系代数(2)选择选择运算的关系是由关系R中那些满足逻辑条件的元组所组成。S关系就是R关系中满足A=‘a’的结果ABCa32b01a69c21RSABCa32a69有了投影和选择运算,我们对一个关系内的任意行、列的数据都可以方便的找到。第七十九页,共一百零五页,2022年,8月28日80笛卡尔积是对两个关系的合并操作。有三个关系R、S和T
R关系n1行,m1列
S关系n2行,m2列
T关系行数=n1*n2列数=m1+m2AmnBC13ABCm13n13RST(3)笛卡尔积运算第八十页,共一百零五页,2022年,8月28日81
笛卡尔积建立两个关系的连接,但得到的关系庞大且数据大量冗余。在实际应用中一般相互连接的关系往往须满足一些条件,所得到的结果也较为简单。自然连接满足两个关系中有公共域,通过公共域的相等值进行连接。有三个关系R、S和T
R关系n1行,m1列
S关系n2行,m2列
T关系行数≤(n1或n2中行数多的一个)列数≤m1+m2(4)自然连接运算第八十一页,共一百零五页,2022年,8月28日82有三个关系R、S和T,由关系R和S通过运算得到关系T,则使用的运算为笛卡尔积ABk1f1k2r1BCf13r13ABCk1f13k2r13RST自然连接ABk1f1k2r1BCf13r13ABBCk1f1f13k1f1r13k2r1f13k2r1r13RST第八十二页,共一百零五页,2022年,8月28日83在三个关系R,S和T如下:由关系R和S通过自然连接运算得到关系T。ABm1n2BC1335ABCm13RST第八十三页,共一百零五页,2022年,8月28日第84页
数据库设计与管理数据库设计的两种方法:
(1)面向数据:以信息需求为主,兼顾处理需求;
(2)面向过程:以处理需求为主,兼顾信息需求。
数据库的生命周期:需求分析阶段结构析方法和面向对象的方法数据字典是各类数据描述的集合,包括5个部分:数据项、数据结构、数据流、数据存储、处理过程。概念设计阶段分析数据内在语义关系。E-R模型逻辑设计阶段物理设计阶段编码阶段测试阶段运行阶段进一步修改阶段第八十四页,共一百零五页,2022年,8月28日854.4数据库设计与管理数据库应用系统(DBAS)中,核心问题是数据库设计。需求分析概念设计逻辑设计物理设计编码测试运行进一步修改分析客户的业务和数据处理需求;设计数据库的E-R模型图,确认需求信息的正确和完整;将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核;
数据库内模式包括存储结构和存取方法。
重点记8个阶段选择具体数据库进行物理实现,并编写代码实现前端应用;
第八十五页,共一百零五页,2022年,8月28日第86页数据库管理的内容(1)数据库的建立;(2)数据库的调整;(3)数据库的重组;(4)数据库安全性与完整性控制;(5)数据库的故障恢复;(6)数据库监控。第八十六页,共一百零五页,2022年,8月28日8706年9月全国计算机等级考试二级笔试试卷一、单选题4)在数据库系统中,用户所见的数据模式为A)概念模式B)外模式C)内模式D)物理模式5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段D)物理设计D4D5√√第八十七页,共一百零五页,2022年,8月28日886)设有如下三个表AmnBC13ABCm13n13下列操作中正确的是A)T=R∩SB)T=R∪SC)T=R×SD)=R/SRSTD6√A)并B)交C)笛卡尔积D)除第八十八页,共一百零五页,2022年,8月28日899)数据库技术的根本目标是要解决数据的A)存储问题B)共享问题C)安全问题D)保护文题二、填空题3)一个关系表的行称为【3】
D9T3√元组第八十九页,共一百零五页,2022年,8月28日9007年4月全国计算机等级考试二级笔试试卷一、单选题8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数为
A)并
B)交
C)投影
D)笛卡儿乘积9)在E-R图中,用来表示实体之间联系的图形是
A)矩形
B)椭圆形
C)菱形
D)平行四边形√√D9D8第九十页,共一百零五页,2022年,8月28日9110)下列叙述中错误的是
A)在数据库系统中,数据的物理结构必须与逻辑结构一致
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库设计是指在已有数据库管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持√D10二、填空题3)在数据库系统中实现各种数据管理功能的核心软件称为【3】
。数据库管理系统或DBMST3第九十一页,共一百零五页,2022年,8月28日9207年9月全国计算机等级考试二级笔试试卷一、单选题9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统
D)以上三种说法都不对 D9√第九十二页,共一百零五页,2022年,8月28日9310)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表二、填空题5)在E-R图中,矩形表示[5]
。D10T5√实体集第九十三页,共一百零五页,2022年,8月28日9408年4月全国计算机等级考试二级笔试试卷一、单选题8)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段D8√第九十四页,共一百零五页,2022年,8月28日95(9)有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为A.并B.自然连接C.笛卡尔积D.交D9√第九十五页,共一百零五页,2022年,8月28日9610)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩二、填空题4)在关系数据库中,用来表示实体之间联系的是______。5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,_________
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小蜻蜓创意涂鸦课程设计
- 学生学籍数据库课程设计
- 幼儿园篮球大班课程设计
- 《家居用竹粉自结合成型板材的制备及应用研究》
- 《低能耗电液动力源动静态特性分析及其试验研究》
- 《基于驱动因素视角下的辽宁省电子信息产业集聚度创新能力研究》
- 《外资保险公司市场准入监管法律问题研究》
- 《zq电厂薪酬体系优化设计研究》
- 《收费公路PPP项目提前终止补偿模型研究》
- 物流业高效物流分拣与运输方案
- 招住宿生合同
- 应急救援知识培训教育记录
- 公司万用表校准
- (完整版)检验批质量验收记录(全套)
- 堆(喷)焊、凃工艺作业指导书
- 【旅游产业发展研究国内外文献综述2900字】
- 走进人工智能-AI发展史及人工智能的应用
- 个人本学年岗位任务完成情况及自我鉴定
- 《果树生产技术》实习指导手册
- DB32/T 4463-2023水域状况评价规范
- 泵的基础知识讲座课件
评论
0/150
提交评论