




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二部分 公共基础知识第一章 算法与数据结构1.1 算法算法:是指解题方案的准确而完整的描述.算法不等于程序,也不等计算方法,程序的编制不可能优于算法的设计.特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报.算法的控制结构:顺序结构、选择结构、循环结构.算法复杂度:算法时间复杂度和算法空间复杂度.O(n)表示复杂度。算法时间复杂度是指执行算法所需要的计算工作量.(算法执行过程中所需的基本运算次数)算法空间复杂度是指执行这个算法所需要的内存空间.(程序本身所占存储空间,输入数据所占空间,执行所需要的额外空间)1.2 数据结构的基本概念数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科.数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(数据元素前后逻辑关系)(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(物理结构) 也就是逻辑结构在计算机中的表示方法(3)对各种数据结构进行的运算.数据结构是指相互有关联的数据元素的集合.数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系数据结构一般分两大类:线性结构与非线性结构(逻辑结构)线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件.非线性结构:不满足线性结构条件的数据结构.ABCD非线性结构ABCD线性结构ABCDACBD 数据的存储(物理)结构是指数据逻辑结构在计算机存储空间中的存放形式. 一般来说,一种数据结构根据需要可以表示成多种存储结构。常用的存储结构有顺序、链接、索引等,而采用不同的存储结构,其数据处理的效率是不同的;一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系是有可能不同的。数据的存储结构有顺序(线性)存储、链接存储.(存储结构)在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。在顺序存储结构中,存储数据结构的存储空间必须是连续的,各个数据节点的存储顺序与数据元素之间的逻辑关系可以不一致。12928731845656363572483191.3 线性表(线性结构的顺序存储)非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件.结点个数n称为线性表的长度,当n=0时,称为空表.线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的(顺序存储);(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的.顺序表的运算:插入、删除. 20插入运算:长度为n(8)的线性表,第i(5)个位置处插入一个元素,需要移动n-i+1元素。 4 最坏情况移动:时间复杂度o(n)3 31删除运算:长度为n的线性表,删除第i个位置的元素,需要移动n-i个元素。由引可见,线性结构不利于数据的插入与删除运算。利于查找运算1.4 栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底.(特殊的线性表)栈按照”先进后出”(FILO)或”后进先出”(LIFO)组织数据,栈具有记忆作用.用top表示栈顶位置,用bottom表示栈底.栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化.A1A2An入栈退栈栈顶top栈底bottom栈示意图Rear队尾Front队头ABCDEFG队列示意图退队入队队列是指允许在一端(队尾)插入,而在另一端(队头)进行删除的线性表.Rear指针指向队尾,front指针指向队头.Front 总是指向第一个元素的前面队列是”先进先出”(FIFO)或”后进后出”(LILO)的线性表.队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素.循环队列:s=0表示队列空,s=1且front=rear表示队列满1.5 线性链表(线性结构的链式存储) 线性表(线性结构的顺序存储)数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点.结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点.在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的.线性链表的基本运算:查找、插入、删除.(不利于查找运算,利于删除及插入运算)i数据域V(i)指针域Next(i)1A2923A1145A4106789A3510A50Head319510A1A2A3A4A5线性表的逻辑状态1.6 树与二叉树(非线性结构)树是一种简单的非线性结构,所有元素之间具有明显的层次特性.在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根.每一个结点可以有多个后件,称为该结点的子结点.没有后件的结点称为叶子结点.ABCDEFGRKQDPBENOTCHMFXYGSWZAL在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度.树的最大层次称为树的深度.二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树.ABCDEFGHIJKLMN二叉树的基本性质: (1)在二叉树的第k层上,最多有2k-1(k1)个结点; (2)深度为m的二叉树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个(n0=n2+1);(4当结点总数为奇数时,n1=0;当结点数为偶数时n1=1满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点.完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点.二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储.(两种存储方式)二叉树的遍历:依次访问二叉树的每个结点.根据根结点访问顺序,分三种:(1)前序(先序)遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树;(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树; (3)后序遍历(LRD)首先遍历左子树,然后访问遍历右子树,最后访问根结点. FCEADGBHP前序遍历结果:根左右 FCADBEGHP中序遍历结果:左根右 ACBDFEHGP后序遍历结果:左右根 ABDCHPGEF1.7 查找技术顺序查找的使用情况: 对于长度为n的有序线性表,最坏情况只需比较n次(时间复杂度:O(n)。顺序查找的优点是对线性表的结点的逻辑次序无要求(不必按关键码值排序),对线性表的存储结构无要求(顺序存储、链接存储皆可。)(1)线性表为无序表(不管是否采用顺序或链式存储);(2)线性表为有序表,但采用链式存储结构.二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次.(时间复杂度)。要进行二分法查找,则线性表结点必须进按关键码值排好序的,且线性表以顺序方式存储。1.8 排序技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列.交换类排序法:(1)冒泡排序法,需要比较的次数为n(n-1)/2,时间复杂度为O(n2) 插入类排序法:(1)简单插入排序法,需要比较的次数为n(n-1)/2 (2)希尔排序法,最坏情况需要O(n1.5)次比较.选择类排序法:(1)简单选择排序法, 需要比较的次数为n(n-1)/2时间复杂度为O(n2);(2)堆排序法,最坏情况需要O(nlog2n)次比较.一、选择题1算法的时间复杂度是指A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序的指令条数2算法的空间复杂度是指A)算法程序的长度 B)算法程序中的指令条数 C)算法所占的存储空间 D)算法执行过程中所需要的存储空间3下列叙述中正确的是A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构4数据的存储结构是指A)数据所占的存储空间量 B)数据逻辑结构在计算机在的表示 C)数据在计算机中顺序存储方式 D)存储在外存在的数据5下列关于队列叙述中正确的是A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表6下列关于栈的叙述正确的是A)在栈中只能插入数据 B)在栈中只能删除数据 C)栈是先进先出的线性表 D)栈是先进后出的线性表7设有下列二叉树对此二叉树中序扁历的结果为ABCDEFA)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA8在深度为5的满二叉树中,叶子结点的个数为:A)32 B)31 C)16 D)139对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为A)n+1 B)n C)(N+1)/2 D)n/210下列叙述中正确的是()。A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 11下列叙述中正确的是()。 A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D)以上三种说法都不对 12冒泡排序在最坏情况下的比较次数是()。A)(n1)/2 B)nlog2 n C)n(n1)/2 D)/2 13一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()。A)219 B)221 C)229 D)231 14下列叙述中正确的是( )A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关15下列对列的叙述正确的是( )A)队列属于非线性表 B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据 D)队列按“先进先出”原则组织数据 16对下列二叉树( ) ABCDEFXYZ进行前序遍历的结果为A)DYBEAFCZXB)YDEBFZXCA C)ABDYECFXZD)ABCDEFXYZ 17某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为( )A)n+1B)n-1C)2nD)n/218下列叙述中正确的是_。A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间可复杂度必定小D)上述三种说法都不对19在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。A)63 B)64 C)6 D)720对下列二叉树进行中序遍历的结果是_。FCEADGBA)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG21按照”后进先出”原则组织数据的数据结构是( )。A)队列B)栈C)双向链表D)二叉树22下列叙述中正确的是( )。A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构23在深度为7的满二叉树中,叶子结点的个数为( )。A)32B)31C)64D)6324下列数据结构中,能用二分法进行查找的是( )。A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表25下列关于栈的描述正确的是( )。A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除 元素26下列叙述中正确的是( )。A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结影响数据处理的效率27数据的存储结构是指 ( )。A) 存储在外存中的数据 B) 数据所占的存储空间量 C) 数据在计算机中的顺序存储方式D) 数据的逻辑结构在计算机中的表示 28下列关于栈的描述中错误的是 ( )。A)栈是先进后出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入与删除操作中,不需要改变栈底指针 29对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。A) 冒泡排序为n/2B) 冒泡排序为nC) 快速排序为nD) 快速排序为n(n-1)/2 30对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 ( )。A) log2nB) n/2C) nD) n+1 31下列对于线性链表的描述中正确的是 ( )。A)存储空间不一定是连续,且各元素的存储顺序是任意的 B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的 二、填空题1在长度为n的有序线性表中进行二分查找,需要的比较次数为( )2设一棵完全二叉树共有700个结点,则在此二叉树中有( )叶子结点3设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为( )4在最坏情况下,冒泡排序的时间复杂度为( )5在一个容量为15的循环队列中,若头指针front=6 ,尾指针为rear=9 ,则该循环队列中共有( )个元素。6深度为7的满二叉树中叶子结点数为( )7一棵二叉树的第6层最多有( )结点8某二叉树度为2的结点有18个,则叶子结点有( )9一棵完全二叉树中有699个结点,则叶子结点是( )10某二叉树中度为2的结点有18个,则该二叉树中有 ( ) 个叶子结点。 11问题处理方案的正确而完整的描述称为( )12算法复杂度主要包括时间复杂度和 ( ) 复杂度。13一棵二叉树第六层(根结点为第一层)的结点数最多为 ( )个。14数据结构分为逻辑结构和存储结构,循环队列属于 ( )L 结构。15对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )16按“先进后出”原则组织数据的数据结构是 ( ) 。17数据结构分为线性结构和非线性结构,带链的队列属于 ( )18在深度为7的满二叉树中,度为2的结点个数为( )19线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的( ) S存储结构。第二章程序设计基础2.1 程序设计设计方法和风格程序设计风格应该为:清晰第一、效率第二如何形成良好的程序设计风格1、源程序文档化; 2、数据说明的方法;3、语句的结构; 4、输入和输出.源程序文档化应该考虑:符号命名,程序注释。注释分序言性注释和功能性注释,语句结构清晰第一、效率第二.2.2 结构化程序设计结构化程序设计方法的四条原则是:1. 自顶向下;2. 逐步求精;3.模块化;4.限制使用goto语句.结构化程序的基本结构:(1)顺序结构(2)选择结构:又称分支结构(3)重复结构:又称循环结构2.3 面向对象的程序设计面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志.传统程序设计方法是面向过程的,以算法为核心现在程序设计方法是面向对象的,以对象为核心对象是表示客观世界中的任何实体,对象是实体的抽象.属性:描述对象的状态,方法描述对象的行为,属性即对象所包含的信息,操作描述了对象执行的功能,操作也称为方法或服务.对象的基本特点:(1)标识惟一性;(2)分类性;(3)多态性;(4)封装性;(5)模块独立性好.类是指具有共同属性、共同方法的对象的集合.所以类是对象的抽象,对象是对应类的一个实例.子类可以继承父类的所有属性和方法,也可以创建出新的属性和方法。消息是一个实例与另一个实例之间传递的信息. 它请求对象进行某一处理或回答某一要求的信息,它统一了数据流和控制流。消息的使用类似于函数调用继承是指能够直接获得已有的性质和特征,而不必重复定义他们. 继承性是面向对象程序设计语言不同于其他语言的主要标志。多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象.一、选择题1结构化程序设计主要强调的是A)程序的规模 B)程序的易读性 C)程序的执行效率 D)程序的可移值性2对建立良好程序设计风格,下面说法正确的是A)程序应简单、清晰、可读性好 B)符号命名只要符合语法 C)充分考虑程序的执行效率 D)程序的注释可有可无3在面象对象方法中,一个对象请求另一个对象为其服务的方式是通过发送A)调用语句 B)命令 C)口令 D)消息4信息隐蔽的概念与一述哪一种概念直接相关A)软件结构定义 B)模块独立性 C)模块类型划分 D)模块藕合度5在面向对象方法中,实现信息隐蔽是依靠()。A)对象的继承B)对象的多态 C)对象的封装D)对象的分类 6下列叙述中,不符合良好程序设计风格要求的是()。A)程序的效率第一, 清晰第二B)程序的可读性好 C)程序中要有必要的注释D)输入数据前要有提示信息 7下面选项中不属于面向对象程序设计特征的是( )A)继承性B)多态性C)类比性D)封装性8下列选项不符合良好程序设计风格的是_。A)源程序要文档化 B)数据说明的次序要规范化C)避免滥用goto语句 D)模块设主地要保证高耦合、高内聚9下列选项中不属于结构化程序设计方法的是( )。A)自顶向下B)逐步求精C)模块化D)可复用二、填空题1结构化程序设计三种基本结构为顺序、选择和(循环 )2源程序文档化要求程序加注释,注释一般分为序言性注释和( 功能性注释 )3在面向对象方法中,信息隐蔽是通过对象的(封装 )性来实现的4类是一个支持集成的抽象数据类弄,而对象是类的( 实例 )5在面向对象方法中,类之间的共享性和操作的机制称为(继承 )6 在面向对象方法中,类的实例称为 (对象 )7在面向对象方法中, (类 ) 描述的是具有相似属性与操作的一组对象。第三章软件工程基础3.1 软件工程基本概念计算机软件是包括程序、数据及相关文档的完整集合.软件危机主要是指在计算机软件的开民和维护过程中所遇到的一系列列严重问题。软件危机主要表现在成本、质量、生产率等问题.软件工程概念源于软件危机。软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序.软件工程包括3个要素:方法、工具和过程.(1) 方法:是完成软件工程的技术手段(2) 工具:是支持软件开发、管理、文档生成(3) 过程支持软件开的的各个环节的控制、管理软件工程的核心思想是把软件产品看作是一个工程产品来处理。软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程.软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定; 确定开发目标、总体要求(2)需求分析; 给出软件详细定义,编写软件规格说明书(3)软件设计; 给出软件结构,划分模块(4)软件实现; 编写代码(5)软件测试; 编写测试报告(6)运行和维护.(维护时间最长的阶段)软件工程的目标:低成本,达到用户要求软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性3.2 结构化分析方法给出系统的逻辑模型结构化方法也形成配套的结构化分析方法、结构化设计方法和结构化编程方法,其核心和基础是结构化程序设计理论.需求分析阶段的工作(1) 需求获取(2) 需求分析最终给出系统的解决方案和系统的逻辑模型(3) 编写需求规则说明书是需求分析阶段最后的结果(4) 需求评审需求分析方法有:(1)结构化分析方法1)面向数据流的结构化分析方法SA 2)面向数据结构的Jackson方法;(2)面向对象的分析方法:OOA结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型.结构化分析的常用工具(1)数据流图; (2)数据字典; (3)判定树; (4)判定表.数据流图(DFD): 加工 数据流 源或潭数据字典: 数据字典是结构化分析的核心,作用是对数据流图(DFD)中出现的被命名的图形元素的确切解释。软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一,其特点:(1)正确性;(2)无歧义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;(7)可追踪性.软件需求规格说明书应该是精确而无二义性的。3.3 结构化设计方法(最终给出系统的物理模型)软件设计目标:确定系统物理模型软件开发阶段:设计,编码,测试是主要工作从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计.结构设计:定义软件系统各主要部件之间的关系.数据设计:将分析时创建的模型转化为数据结构的定义.接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信.过程设计:把系统结构部件转换成软件的过程描述.从工程管理角度来看:概要设计(结构设计)和详细设计().概要设计:确定系统级接口,全局数据结构详细设计:确立每个模块的算法和局部数据结构模块独立性是指每个模块只完成系统要求的独立的子功能,模块独立性使用耦合性和内聚性两个定性的度量标准.内聚性:是指一个模块内各元素间结合的紧密程度耦合性:模块间互相连接的紧密程度优秀软件应高内聚,低耦合.概要设计采用面向数据流的设计方法典型的数据流类型有两种:变换型和事务型.详细设计:常用设计工具有:图形工具(程序流程图-PFD) 控制流、N-S图(方框图)、PDA(问题分析图)、语言工具(PDL).3.4 软件测试(贯穿于整个开发阶段)软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别.软件测试的目的:发现错误而执行程序的过程.软件测试应该避免检查自己的程序软件测试方法(按是否执行软件):静态测试和动态测试.静态测试包括代码检查、静态结构分析、代码质量度量.不实际运行软件,主要通过人工进行.动态测试:是基本计算机的测试,按功能分:白盒测试方法和黑盒测试方法.白盒测试:也称结构测试或逻辑驱动测试,在程序内部进行,主要用于完成软件内部操作的验证.原则保证所测试模块中每一独立路径都至少执行一次,主要方法有逻辑覆盖、基本基路径测试.黑盒测试:也称功能测试或数据驱动测试,主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认.主要方法有等价类划分法、边界值分析法、错误推测法、因果图等.主要方法有等价划分分,边界值分析法等软件测试过程一般按4个步骤进行:单元测试(针对模块)、集成测试(针对软件整体)、确认测试(是否满足需求定义功能及是否满足用户要求)和系统测试(是否满足用户计算机的要求).模拟环境是在单元测试中进行,主要采用驱动模块和桩模块驱动模块:相当于被测试模块的主程序,用于传递和接收测试数据,输出实际结果.桩模块:被测试模块调用的模块,是一个模拟子程序.3.5 程序的调试程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行.主要调试方法有:(1)强行排错法;(2)回溯法;(3)原因排除法.一、选择题1在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A)概要设计 B)详细设计 C)可行性分析 D)需示分析2下面不属于软件工程的3个要素是A)工具 B)过程 C)方法 D)环境3检查软件产品是否符合需求定义的过程称为A)确认测试 B)集成测试 C)验证测试 D)验收测试4数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名不性于数据流图的是A)控制流 B)加工 C)数据存储 D)源和潭5下面不属于软件设计原则的是A)抽象 B)模块化 C)自底向上 D)信息隐蔽6程序流程图(PFD)中的箭头代表的是A)数据流 B)控制流 C)调用关系 D)组成关系7下列工具中为需求分析的常用工具是A)PAD(问题分析图) B)PFD(程序流图) C)N-S(方框图) D)DFD(数据流图)8在结构化方法中,软件功能分解属于下列软件开发中的阶段是A)详细设计 B)需求分析 C)总体设计 D)编程调试9软件调试的目的是A)发现错误 B)改下错误 C)改善软件性能 D)挖掘软件潜能10软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说话书及( )A)阶段性报告 B)需求评审 C)总结 D)都不正确11软件是指()。A)程序B)程序和文档 C)算法加数据结构D)程序、数据与相关文档的完整集合 12软件调试的目的是()。A)发现错误B)改正错误 C)改善软件的性能D)验证软件的正确性 13在面向对象方法中,实现信息隐蔽是依靠()。A)对象的继承B)对象的多态 C)对象的封装D)对象的分类 14在结构化程序设计中,模块划分的原则是( )A)各模块应包括尽量多的功能 B)各模块的规模应尽量大 C)各模块之间的联系应尽量紧密 D)模块内具有高内聚度、模块间具有低耦合度 15下列叙述中正确的是( )A)软件测试的主要目的是发现程序中的错误 B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 D)软件测试是证明软件没有错误16从工程管理角度,软件设计一般分为两步完成,它们是_。A)概要设计与详细设计 B)数据设计与接口设计C)软件结构设计与数据设计 C)过程设计与数据设计17下列选项中不属于软件生命周期开发阶段任务的是_。A)软件测试 B)概要设计 C)软件维护 D)详细设计18下列选项中不属于结构化程序设计方法的是( )。A)自顶向下 B)逐步求精C)模块化 D)可复用19两个或两个以上模块之间关联的紧密程度称为( )。A)耦合度 B)内聚度C)复杂度 D)数据传输特性20下列叙述中正确的是( )。A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对21下列叙述中正确的是:( )A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试22下列描述中正确的是( )。A)软件工程知识解决软件项目的管理问题 B)软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题23在软件设计中,不属于过程设计工具的是( )。A)PDL(过程设计语言) B)PDL图C)N-S图 D)DFD图24下列叙述中正确的是( )。A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令25下列对于软件测试的描述中正确的是 ( )。A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 26为了使模块尽可能独立,要求 ( )。A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 27下列描述中正确的是 ( )。A) 程序就是软件 B) 软件开发不受计算机系统的限制 C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据与相关文档的集合二、填空题1软件是程序、数据和( )的集合 文档2Jackso方法是一种面向( )的结构化方法 数据流3软件工程研究的内容主要包括( )和软件工程管理 软件开发4数据流图的类型有( ) 和事务型有 变换型5软件开发环境是全面支持软件开发过程的( )集合 软件工具6 诊断和改正程序中错误的工作通常称为 (调试 )7在进行模块测试时,要为每个被测试的模块另外设计两类模块;驱动模块和承接模块(桩模块)。其中 ( ) 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。8程序测试分为静态分析和动态测试。其中(静态 )是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。9软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于(黑盒 ) 测试。 10软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于( ) 阶段。 11在结构化分析使用的数据流图(DFD)中,利用(数据字典 )对其中的图形元素进行确切解释。12软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是( ) 。 13在两种基本测试方法中,( 白盒 )测试的原则之一是保证所测模块中每一个独立路径至少执行一次。 第四章数据库设计基础4.1 数据库系统的基本概念数据库DB数据库管理系统DBMS 数据语言DDL(数据定义)、DML(数据管理)、DCL(数据控制)数据库系统DBSDBS包括DBMS和DB,其核心是DBMS数据库系统的发展:文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力.层次数据库与网状数据库系统阶段 :为统一与共享数据提供了有力支撑.关系数据库系统阶段数据共享性数据库系统的基本特点:数据的集成性 、数据的高共享性与低冗余性 、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制.数据独立性:数据与程序互不依赖 主要包括:物理独立性,逻辑独立性物理独立性:数据的物理结构(包括存储结构、存取方式)的改变,如存储设备的更换、存取方式的改变都不影响数据库的逻辑结构,从而不引起应用程序的变化。逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加数据类型、改变数据间联系等,不需要修改应用程序。数据库系统的内部体系结构数据库系统的三级模式:(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;与硬件软件无关(2)外模式:也称子模式与用户模式.是用户的数据视图,也就是用户所见到的数据模式;(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法.如数据存储文件的结构,索引等4.2 数据模型数据模型用于表示数据与数据之间的逻辑结构,层次、网状、关系E-R模型(实体-联系)的基本概念(1)实体集:(2)属性:(3)联系:实体集的关系有一对一、一对多、多对多的联系.关系中的数据约束:(1)实体完整性约束:约束关系的主键中属性值不能为空值;(2)参照完全性约束:是关系之间的基本约束;(3)用户定义的完整性约束:它反映了具体应用中数据的语义要求.4.3关系代数关系模型的基本运算:查询(包括投影、选择、笛卡尔积运算)R1R2R3123124125R1R2R3235123 X4.4 数据库设计与管理数据库设计(根本目的是实现数据共享问题)与管理数据库设计是数据应用的核心.目前主要采用生命周期法(需求分析阶段,概念设计阶段(分析数据内在关联),逻辑设计阶段(E-R图转DBMS),物理设计阶段(对数据库内部结构进行物理调整选择合理存取路径,提高访问速度)一、选择题1数据管理技术中经历了人工管理、文件系统、数据库系统。其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据管理2下述关于数据系统的叙述中正确的是A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据3数据库系统的核心是A)数据库 B)数据库管理系统 C)数据模型 D)软件工具4用树型结构来表示实体之间联系的模型为A)关系模型 B)层次模型 C)网状模型 D)数据模型5关系表中的第一横行称为一个A)元组 B)字段 C)属性 D)码6按条件f对关系R进行选择,其关系代数表达式是A)R|R B)R|R| C) D)7关系数据库管理系统能实现专门的运算包括A)排序、索引、统计B)选择、投影、连接C)关系、更新、排序D)显示、打印、制表8在关系数据库中,用来表示实体之间联系的是A)树结构B)网结构C)线性表D)二维表9数据库设计包括两个方面的设计内容,它们是A)概念设计、逻辑设计B)模式设计、内模式设计C)内模式设计、物理设计D)结构特性设计、行为设计10将E-R图转换到关系模式时,实体与联系都可以表求成A)属性 B)关系 C)键 D)域11下列叙述中正确的是()。A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库技术的根本目标是要解决数据的共享问题 C)数据库管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- plc基础及应用考试试题及答案
- 电缆车间安全小知识培训课件
- 电线电缆绞丝工艺知识培训课件
- 电站操作规程培训课件
- 2.2做更好的自己 教案(表格式) 统编版道德与法治八年级上册
- 高电位活化细胞课件
- 高炉煤气安全知识培训课件
- LC-SF-14-生命科学试剂-MCE
- 2-Hydroxydihydrodaidzein-生命科学试剂-MCE
- Calindol-hydrochloride-13C-D2-生命科学试剂-MCE
- 某体育公园可行性研究报告
- T-CCSAS 050-2024 化学化工实验室化学品安全操作规程编写指南
- 《生态学园林》课件
- 幼儿园教学主任培训
- 展会主办项目合同范例
- 装饰装修工程施工方案(完整版)
- 11YG301钢筋混凝土过梁(完整)
- 游戏陪玩行业社交化平台设计与推广策略
- 人教版初中全部英语单词表(含音标)
- 燃气市场风险分析报告
- 2024年山东省泰安市义务教育教师课程标准应用能力大赛初赛语文学科试题
评论
0/150
提交评论