[IT认证]二级公共基础课件2013-8.ppt

上传人:音乐台 文档编号:1995424 上传时间:2019-01-29 格式:PPT 页数:226 大小:8.98MB
返回 下载 相关 举报
[IT认证]二级公共基础课件2013-8.ppt_第1页
第1页 / 共226页
[IT认证]二级公共基础课件2013-8.ppt_第2页
第2页 / 共226页
[IT认证]二级公共基础课件2013-8.ppt_第3页
第3页 / 共226页
亲,该文档总共226页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[IT认证]二级公共基础课件2013-8.ppt》由会员分享,可在线阅读,更多相关《[IT认证]二级公共基础课件2013-8.ppt(226页珍藏版)》请在三一文库上搜索。

1、,二,级,公,共,基,础,考试简介,考试简介,0,0,数据结构,数据结构,1,1,本章内容,1.1 算法基本特征,可行性,确定性,有穷性,足够的情报,行,定,穷,情,在设计一个算法时,必须考虑它的可行性,算法中的每个步骤必须是明确定义的,不允许模棱两可,算法必须在有限的时间内做完,执行有限个步骤后终止,是指算法要有一定的输入数据和必须要有输出结果,算法:是指解题方案的准确而完整的描述。,1,1.1 算法基本特征,2008.4算法的有穷性是指 A)算法程序的运行时间是有限的 B)算法程序所处理的数据是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用,算法的空间复杂度: 是指执行算

2、法所需要的内存空间。包括算法程序、输入的初始数据以及算法执行过程中需要的额外空间。,算法的时间复杂度: 是指执行算法所需要的计算工作量,可以用算法所执行的基本运算次数度量。 工作量 = f(n) n是问题的规模,1.2 时间和空间复杂度,1,1.2 时间和空间复杂度,2010.3算法的时间复杂度是指 A)算法的执行时间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数,2,1.2 时间和空间复杂度,2009.9算法的空间复杂度是指 A)算法在执行过程中所需要的计算机存储空间 B)算法在执行过程中所需要的临时工作单元数 C)算法所处理的数据量 D)

3、算法程序中的语句或指令条数,3,1.2 时间和空间复杂度,2011.9下列叙述中正确的是 A)算法就是程序 B)设计算法时只需要考虑数据结构的设计 C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对,4,1.2 时间和空间复杂度,2006.9下列叙述中正确的是 A)一个算法的空间复杂度大,时间复杂度必定大 B)一个算法的空间复杂度大,时间复杂度必定小 C)一个算法的时间复杂度大,空间复杂度必定小 D)以上三种说法都不对,2 数据结构,数据结构:是指相互有关联的数据元素的集合。 数据结构的研究目的:节省时间、节省空间。,线性结构:线性表,栈,队列 非线性结构:树,图,顺序存储 链式存储

4、,插入,删除,查找,排序,数据的逻辑结构包含两个要素: 数据元素的集合,记为 D D中各数据元素之间的前后件关系,记为 R 数据结构 B 表示为:B = (D, R),D = di | 1 = i = 6 = d1,d2,d3,d4,d5,d6,R = (d1,d2),(d1,d3), (d3,d4),(d5,d4), (d5,d6),2 数据的逻辑结构,数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。一种数据结构的逻辑结构根据需要可以表示成多种存储结构。 采用不同的存储结构,其数据处理的效率是不同的。,顺序存储,链式存储,2 数据的存储结构,1,2 数据结构,2005.4数据的

5、存储结构是指 A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示,2,2 数据结构,2007.4下列叙述中正确的是 A)算法的效率只与问题的规模有关,与数据的存储结构无关 B)数据的逻辑结构与存储结构是一一对应的 C)算法的时间复杂度与空间复杂度一定相关 D)算法的时间复杂度是指执行算法所需要的计算工作量,3,2 数据结构,2007.9下列叙述中正确的是 A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对,线性结构(线性表):

6、有且只有一个根结点,它无前件 有且只有一个终端(叶子)结点,它无后件 除根结点和叶子结点外,其他结点有且只有一个前件,也有且只有一个后件,非线性结构:,3.1 线性与非线性结构,线性表链式存储结构,双向链表,线性表顺序存储结构,3.2 线性表,5,9,2,6,1,1,5,9,2,6,后移,插入,4,3.3 顺序线性表的插入,1,3.3 顺序线性表的删除,2012.3在长度为 n 的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为 。,n-1,顺序查找:对于长度为 n 的线性表,平均要进行n/2 次比较,在最坏情况下进行 n 次比较。,顺序查找适用于无序表或链式线性表(不管无序

7、还是有序)。,3.4 顺序查找,1,3.4 顺序查找,2006.9在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为 A)63 B)64 C)6 D)7,求极值:对于长度为 n 的线性表,要比较 n-1 次。,3.5 求极值,1,3.5 求极值,2010.9在长度为n的线性表中,寻找最大项至少需要比较 次。,n-1,二分查找:适用于顺序存储的有序表,对长度为 n 的线性表,在最坏情况下进行 log2n 次比较。,注意:即使是有序线性表,如果采用链式存储结构,也只能用顺序查找。,3.6 二分查找,1,3.6 二分查找,2011.3有序线性表能进行二分查找的前提是该线性表必须是 存

8、储的。,顺序,2,3.6 二分查找,2005.9下列数据结构中,能用二分法查找的是 A)顺序存储的有序线性表 B)线性链表 C)二叉链表 D)有序线性链表,3,3.6 二分查找,2005.42008.92010.3在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是 A)O(n) B)O(n2) C)O(log2n) D)O(n log2n),线性链表:即线性表的链式存储结构。在线性链表中,各数据结点的存储空间可以不连续,各数据元素的存储顺序与逻辑顺序可以不一致。,3.7 线性链表,在线性链表中进行插入与删除,不需要移动链表中的元素。,3.7 线性链表的操作,1,3.7 线性链表,

9、2010.9下列叙述中正确的是 A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)上述三种说法都不对,2,3.7 线性链表,2005.42011.9关于线性链表的叙述,正确的是 A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C)进行插入与删除时,不需要移动表中的元素 D)以上三种说法都不对,nlog2n,nlog2n,堆 排 序,n(n-1)/2,n(n

10、-1)/2,选择排序,选择类,n1.5,nlog2n,希尔排序,n(n-1)/2,n(n-1)/2,插入排序,插入类,n(n-1)/2,n(n-1)/2,快速排序,n(n-1)/2,n(n-1)/2,冒泡排序,交换类,最坏情况,平均时间,排 序,3.8 排序,1,3.8 排序,2009.3下列排序中最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序,2,3.8 排序,2008.4对长度n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序,3,3.8 排序,2005.42007.9冒

11、泡排序在最坏情况下的比较次数是 A)n(n-1)/2 B)nlog2n C)n(n+1)/2 D)n/2,4,3.8 排序,2006.4对长度为10的线性表进行冒泡排序,在最坏的情况下需要进行比较的次数为 。,45,栈是限定在一端进行插入和删除的线性表。 原则是:先进后出(或后进先出)。栈具有记忆功能。,栈底指针 bottom,栈顶指针 top,栈空 top = 0,入栈,栈满,出栈,0,4 栈,1,4 栈,2008.9一个栈的初始状态为空。首先将元素1、2、3、A、B、C依次入栈,然后再依次出栈,则元素出栈的顺序为: 。,CBA321,2,4 栈,2010.9一个栈的初始状态为空。首先将元素

12、5、4、3、2、1 依次入栈,然后退栈一次,再将元素A、B、C、D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为: 。,1DCBA2345,3,4 栈,2011.3下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对,4,4 栈,2008.4下列关于栈的叙述正确的是 A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据 C)只能在栈底插入数据 D)不能删除数据,5,4 栈,2005.9下列关于栈的描述正确的是 A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元

13、素 C)栈是特殊的线性表,只能在一端插入删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素,6,4 栈,2010.9下列叙述中正确的是 A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)上述三种说法都不对,7,4 栈,2009.3用长度为50的数组(元素的下标从0到49)作为栈的存储空间,指针bottom和top分别指向栈底和栈顶元素,如果bottom = 49,top = 30(数组下标),则栈中有 个元素。,20,8,4 栈,2009.

14、3支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树,队列是指允许在一端进行插入,而在另一端进行删除的线性表。原则是:先进先出(或后进后出)。,队头指针 front,队尾指针 rear,入队,出队,5.1 队列,1,5.1 队列,2006.42007.42009.9下列对队列的叙述正确的是 A)队列属于非线性表 B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据 D)队列按“先进先出”原则组织数据,2,5.1 队列,2010.3一个队列的初始状态为空。现将A、B、C、3、2、1 依次入队,然后依次退队,则元素退队的顺序为: 。,ABC321,5.2 循环队列,入队 (%求

15、余) rear=(rear+1)%6,队满 s=1 入队后rear=front,出队,队空 s=0 出队后rear=front,循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。,利用“模运算“,计算循环队列元素个数方法:,若frontrear 元素个数=n-(front-rear) 其中n是循环队列的容量。,1,5.2 循环队列,2009.9对于循环队列,叙述正确的是 A)队头指针是固定不变的 B)队头指针一定大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于,也可以小于队尾指针,2,5.2 循环队列,2008.42010.32012.3设某循环队列

16、容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 个元素。,15,3,5.2 循环队列,2008.9下列叙述中正确的是 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定,常用术语 父结点、子结点 根结点、叶子结点 结点的度、树的度 树的深度 子树,树是 n(n 0) 个元素的有限集合。它有且仅有一个称为根的元素;其余元素是互

17、不相交的子树。,6.1 树,非空二叉树只有一个根结点,每个结点最多有两棵子树,分别称为左子树和右子树。,在二叉树的第 k 层上,最多有 2k-1 个结点; 深度为 m 的二叉树最多 有 2m-1 个结点; 度为 0 的结点(叶子) 比度为 2 的结点多一个; 有 n 个结点的二叉树深 度至少为 log2n+1。,6.2 二叉树,1,6.2 二叉树,2005.42007.42009.32011.9某二叉树有5个度为2的结点,则该二叉树中的叶子结点数为 。,6,2,6.2 二叉树,2009.92010.9某二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有 个结点。,25,3,6.2 二

18、叉树,2007.9某二叉树有70个叶子结点,80个度为1的结点,则该二叉树共有 个结点。,219,4,6.2 二叉树,2012.3某二叉树共25个结点,其中5个是叶子结点,则度为1的结点数为 。,16,5,6.2 二叉树,2011.3某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(根结点在第1层) 。,7,完全二叉树:只缺少最后一层右边的若干结点。,满二叉树:每一层上的结点数均达到最大值。,1,2,6.3 特殊二叉树,1,6.3 满二叉树,2006.42007.42008.4深度为5的满二叉树叶子结点个数为 。,16,2,6.3 满二叉树,2005.9一棵二叉树第6层(根结点为

19、第1层)的结点数最多为 。,32,前序遍历: 访问根结点 前序遍历左子树 前序遍历右子树,中序遍历: 中序遍历左子树 访问根结点 中序遍历右子树,后序遍历: 后序遍历左子树 后序遍历右子树 访问根结点,ABDGECF,DGBEAFC,GDEBFCA,1,2,3,6.5 二叉树的遍历,1,6.5 二叉树的遍历,2010.3对右图二叉树进行后序遍历的结果为 。,EDBGHFCA,2,6.5 二叉树的遍历,2007.4对右图二叉树前序遍历的结果为 A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ,3,6.5 二叉树的遍历,2007.92008.9对右图二

20、叉树中序遍历的结果为 。,DBXEAYFZC,4,6.5 二叉树的遍历,2011.3二叉树的中序遍历结果为:DBEAFC,前序遍历结果为:ABDECF,则后序遍历结果为 。,DEBFCA,链式存储,链式存储,带链的队列,带链的栈,线性链表,链式存储,运算,存储结构,遍历,-,二叉树,-,-,树,非线性 结构,入队、退队,循环队列,队列,入栈、出栈,一维数组,栈,插入、删除 查找、排序,顺序表,线性表,线性 结构,顺序存储,逻辑 结构,数据 结构,7 数据结构,1,7 数据结构,2006.92011.9数据结构分为线性结构与非线性结构,带链的栈属于 。,线性结构,2,7 数据结构,2005.9数

21、据结构分为逻辑结构和存储结构,循环队列属于 。,存储结构,3,7 数据结构,2008.9下列叙述中正确的是 A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构,4,7 数据结构,2011.3下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构,5,7 数据结构,2009.9下列数据结构中,属于非线性结构的是 A)循环队列 B)带链队列 C)二叉树 D)带链栈,6,7 数据结构,2007.92012.3线性表的存储

22、结构主要分为顺序存储结构和链式存储结构。队列是一种线性表。循环队列是队列的 存储结构。,顺序,7,7 数据结构,2009.32012.3下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进后出”的线性表 C)循环队列是非线性结构 D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构,8,7 数据结构,2007.9下列叙述中正确的是 A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D)以上三种说法都不对,9,7 数据结构,20

23、08.9下列叙述中正确的是 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间,10,7 数据结构,2005.9下列叙述中正确的是 A)一个逻辑数据结构只能有一种存储结构 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可能有多种存储结构,且各种存储结构影响数据处理的效率 D)一个逻辑数据结构可能有多种存储结构,各种存储结构不影响数据处理的效率,2,程序设计,程序设计,2,本章内容,

24、程序设计风格是指编写程序时所表现出的特点和逻辑思想。它会深刻影响软件的质量和可维护性。,符号命名,要有含义,序言功能,应加注释,空格缩进,容易分析,数据说明,规范次序,效率第二,清晰第一,保证正确,提高效率,功能单一,信息隐蔽,输入数据,给出提示,合法检查,结束标志,限用goto,模块独立,1 程序设计风格,1,1 程序设计风格,2007.9下列不符合良好程序设计风格的是 A)程序的效率第一,清晰第二 B)程序的可读性好 C)程序中要有必要的注释 D)输入数据前要有提示信息,2,1 程序设计风格,2006.9下列不符合良好程序设计风格的是 A)源程序要文档化 B)数据说明的次序要规范化 C)避

25、免滥用goto语句 D)模块设计要保证高耦合、高内聚,结构化程序设计常采用顺序、选择(分支)和循环三种基本结构。,2 结构化程序设计,条件,条件,顺序,分支,循环,自顶向下,逐步求精,模块化,限用goto,先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标,对复杂问题,先设计一个目标作为过渡,然后逐步细化,把程序要解决的总目标分解为一个一个的模块,限制使用goto语句,程序的质量与goto语句数量成反比,2 结构化程序设计,1,2 结构化程序设计,2009.32010.9仅由顺序、选择(分支)和循环结构构成的程序是 程序。,结构化,2,2 结构化程序设计,2006.42008.42009.

26、9下列选项中不属于结构化程序设计原则的是 A)可封装 B)自顶向下 C)模块化 D)逐步求精,3.1 面向对象的程序设计,属性 年龄 学历,方法 吃饭 购物,属性 年龄:18 学历:大学,方法 吃饭:用叉 购物:刷卡,变量,函数,3.2 类与对象,购物,学历,开车,年龄,吃饭,继承:使用已有的类建立新类的定义技术,能直接获得已有的性质,而不必重复定义他们。,3.3 继承,属性:聪明 方法:表演,属性:漂亮 方法:唱歌,属性:天真 方法:玩耍,3.3 多继承,消息:是一个实例与另一个实例之间传递的信息。对象间的通信靠消息传递。消息的组成包括: 接收消息的对象的名称; 消息标识符,也称消息名; 零

27、个或多个参数。,张珊,吃饭 八点,食堂,3.4 消息,多态性: 是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。,开车,3.5 多态性,标识唯一性 对象可由内在本质来区分,而不是通过描述来区分。,1,分类性 可以将具有相同属性和操作的对象抽象成类。,2,多态性 同一操作可以是不同对象的行为。,3,封装性 从外面看不到对象的内部,只能看到其外部特征。,4,模块独立性好 对象是面向对象的软件的基本模块,内聚性强。,5,3.6 对象基本特点,1,3 面向对象的程序设计,2007.42012.3下面选项中不属于面向对象基本特点的是 A)继承性 B)多态性 C)类比性 D)封装性,2,3 面

28、向对象的程序设计,2008.9下面选项中不属于面向对象基本特点的是 A)一致性 B)分类性 C)多态性 D)标识唯一性,3,3 面向对象的程序设计,2007.9在面向对象方法中,实现信息隐蔽是依靠 A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类,4,3 面向对象的程序设计,2011.9下列属于面向对象设计方法主要特征的是 A)继承 B)自顶向下 C)模块化 D)逐步求精,5,3 面向对象的程序设计,2010.9面向对象方法中,继承是指 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制,6,3 面向对象的程序

29、设计,2006.4在面向对象方法中, 描述的是具有相似属性与操作的一组对象。,类,7,3 面向对象的程序设计,2005.4在面向对象的方法中,类的实例称为 。,对象,3,软件工程,软件工程,3,本章内容,1 软件,软件,应用软件 事务处理软件、工程与科学计算软件、实时处理软件、人工智能软件,支撑软件(工具软件) 需求分析工具软件、编译工具软件、测试工具软件、维护工具软件,系统软件 操作系统、编译程序、汇编程序、网络软件、数据库管理系统,1 软件分类,1,1 软件及分类,2007.92010.3软件是指 A)程序、数据和文档 B)程序 C)算法加数据结构 D)程序和文档,2,1 软件及分类,20

30、05.4下列叙述中正确的是 A)程序就是软件 B)软件开发不受计算机系统的限制 C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据和相关文档的集合,3,1 软件及分类,2011.9软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是 A)学籍管理系统 B)C语言编译程序 C)UNIX操作系统 D)数据库管理系统,4,1 软件及分类,2009.32010.3软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是 A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器,2 软件危机与软件工程,生产 率低,需求 增长,成本 提高,软件

31、 危机,难以 维护,开发 难控,质量 难保,软件工程:应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。其核心思想是把软件当作一个工程产品来处理。,2 软件工程三要素,1,2 软件危机与软件工程,2010.9以下不属于软件危机表现的是 A)软件过程不规范 B)软件开发生产率低 C)软件质量难以控制 D)软件成本不断提高,2,2 软件危机与软件工程,2005.9下列描述中正确的是 A)软件工程只是解决软件项目的管理问题 B)软件工程主要解决软件产品的生产率问题 C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D)软件工程只是解决软件开发中的技术问题,3

32、软件生命周期,定义,定义,开发,开发,维护,开发,维护,开发,维护,1,3 软件生命周期,2010.9软件生命周期是指 A)软件产品从提出、实现、使用、维护到停止使用退役的过程 B)软件从需求分析、设计、实现到完成的过程 C)软件的开发过程 D)软件的运行维护过程,2,3 软件生命周期,2007.42010.3软件生命周期可分为定义阶段,开发阶段和维护阶段。其中,详细设计属于 A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段,3,3 软件生命周期,2006.92012.3下列选项中不属于软件生命周期开发阶段任务的是 A)软件测试 B)概要设计 C)软件维护 D)详细设计,4,3 软件

33、生命周期,2006.9从工程管理角度,软件设计一般分为两步完成,它们是 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计 D)过程设计与数据设计,需求分析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 任务 发现需求、求精、建模和定义需求的过程 工作 需求获取、需求分析、编写需求规格说明书 方法 结构化需求分析方法,面向对象的分析方法,4.1 需求分析,结构化分析方法是结构化程序设计理论在需求分析阶段的应用。它是基于功能分解的分析方法,其目的是帮助弄清用户对软件的需求。,4.2 结构化分析方法,常用工具有: 数据流图(DFD):最重要的工具

34、 数据字典(DD):结构化分析的核心 判定表 判定树,数据流图的图形元素: 加工:输入数据经加工变换产生输出 数据流:沿箭头方向传递数据的通道 存储文件(数据源):存放各种数据的文件 源(潭):系统和环境的接口,银行取款业务数据流图,4.3 数据流图(DFD),1,4.3 数据流图,2008.92010.3数据流图(DFD)是 A)软件概要设计的工具 B)软件详细设计的工具 C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具,2,4.3 数据流图,2008.9数据流图中带有箭头的线段表示的是 A)数据流 B)控制流 C)事件驱动 D)模块调用,3,4.3 数据流图,2011.9常见的

35、软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图,则应采用 方法。,结构化,4,4.3 数据流图,2012.3下面不属于需求分析阶段任务的是 A)确定软件系统的功能需求 B)确定软件系统的性能需求 C)制定软件集成测试计划 D)需求规格说明书评审,需求分析阶段产生的主要文档是“软件需求规格说明书”。,4.4 需求规格说明书(SRS),体现待开发系统的真实要求 对每个需求只有一种解释 包括全部有意义的需求 每个需求都是可验证的 各个需求的描述不矛盾 需求说明书必须简明易懂 结构风格在改变时,是易于实现的 每个需求的来源和流向是清晰的,其特点是: 正 确 性: 无歧义性

36、: 完 整 性: 可验证性: 一 致 性: 可理解性: 可修改性: 可追踪性:,1,4.4 需求规格说明书,2008.42011.3在软件开发中,需求分析阶段产生的主要文档是 A)软件集成测试计划 B)软件详细设计说明书 C)用户手册 D)软件需求规格说明书,2,4.4 需求规格说明书,2007.9软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是 。,无歧义性,3,4.4 需求规格说明书,2009.9软件开发过程主要可分为需求分析、设计、编码与测试四个阶段,其中 阶段产生“软件需求规格说明书”。,需求分析,数据 设计,接口 设计,结构 设计,过程 设计

37、,定义软件系统各主要部件之间的关系 将分析时创建的模型转化为数据结构的定义 描述软件内部、软件和协作系统之间以及软件与人之间如何通信 把系统结构部件转换成软件的过程描述,5.1 软件设计(从技术观点),软件设计的基本原理:就是抽象、模块化、信息隐蔽和模块独立性。其中度量模块独立性的标准是模块内部的内聚性和模块间的耦合性。,5.2 软件设计基本原理,内聚性 指一个模块内部各个元素间彼此结合的紧密程度,耦合性 指模块间互相连接的紧密程度,高,低,1,5.2 模块独立性,2007.42008.42009.32009.9软件设计中划分模块的一个准则是 A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦

38、合 D)高内聚高耦合,2,5.2 模块独立性,2006.4两个或两个以上模块之间关联的紧密程度称为 A)耦合度 B)内聚度 C)复杂度 D)数据传输特性,在需求分析阶段,已经将系统分解成层次结构,而在概要设计阶段,需要进一步分解,划分为模块以及模块的层次结构。 任务 设计软件系统结构,数据结构及数据库设计 编写概要设计文档,概要设计文档评审 工具 程序结构图(SC),5.3 概要设计,程序结构图的基本图符:,程序结构图的基本形式:,5.3 程序结构图(SC),从工程管理角度看,软件设计包括概要设计和详细设计。其中,详细设计: 任务 确立每个模块的实现算法和局部数据结构, 用适当方法表示算法和数

39、据结构的细节。 工具 图形:程序流程图、N-S图、PAD、HIPO 表格:判定表 语言:PDL(过程设计语言),5.4 详细设计,程序流程图的基本图符: 控制流 加工步骤 逻辑条件,5.4 程序流程图,顺序,分支,循环,1,5.4 详细设计,2005.92012.3在软件设计中,不属于过程设计(详细设计)工具的是 A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图,2,5.4 详细设计,2008.4程序流程图中带有箭头的线段表示的是 A)图元关系 B)数据流 C)控制流 D)调用关系,3,5.4 详细设计,2009.9程序流程图中菱形框表示的是 。,逻辑条件,软件测试的目的是

40、发现程序中的错误。,所有测试都应追溯到用户需求,测试之前制定测试计划,并严格执行,充分注意测试中的群集现象,避免由程序的编写者测试自己的程序,不可能进行穷举测试,妥善保存测试分析报告,以便维护,6.1 软件测试,1,6.1 软件测试,2010.9软件测试的目的是 A)评估软件可靠性 B)发现并改正程序的错误 C)发现程序的错误 D)改正程序的错误,2,6.1 软件测试,2005.42007.4下列叙述中正确的是 A)软件测试的目的是发现程序中的错误 B)软件测试的目的是确定程序中错误的位置 C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 D)软件测试是证明软件没有错误,6

41、.2 静态和动态测试,盒测试:把测试对象看作一个打开的盒子,利用程序内部的逻辑结构,对程序所有逻辑路径进行测试,盒测试:完全不考虑程序内部的逻辑结构,只检查程序是否能接收输入数据而产生正确的输出信息,盒测试: 逻辑覆盖测试 基本路径测试,盒测试: 等价类划分法 边界值分析法 错误推测法,6.3 白盒和黑盒测试,白,黑,单元测试 是对软件设计的最小单位(模块)进行测试,目的是发现各模块内部的错误,集成测试 是把模块按照设计要求组装的同时进行测试,目的是发现与接口有关的错误,确认测试 是验证软件的功能和性能是否满足各种需求,以及软件配置是否完全、正确,系统测试 是将软件作为一个元素,与计算机系统其

42、他元素组合在一起,进行集成测试,6.4 软件测试步骤,1,6 软件测试,2009.3软件测试可分为白盒测试和黑盒测试。基本路径测试属于 测试。,白盒,2,6 软件测试,2007.4软件测试可分为白盒测试和黑盒测试。等价类划分属于 测试。,黑盒,3,6 软件测试,2007.9在两种基本测试方法中, 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。,白盒,4,6 软件测试,2012.3在黑盒测试方法中,设计测试用例的主要根据是 A)程序外部功能 B)程序内部逻辑 C)程序数据结构 D)程序流程图,5,6 软件测试,2011.3对软件设计的程序单位(模块)进行的测试通常称为 测试。,单元

43、,6,6 软件测试,2008.9按照软件测试步骤,集成测试应在 测试之后进行。,单元,对程序进行了成功的测试之后将进入程序调试,通常称为 Debug(排错),主要在开发阶段进行。程序调试的任务是诊断和改正程序的错误。,错误定位 修改设计和代码,以排除错误 进行回归测试,防止引进新的错误,7 程序调试,1,7 程序调试,2007.92010.32011.9程序调试的任务是 A)尽可能多地发现程序中的错误 B)确定程序中错误的性质 C)诊断和改正程序中的错误 D)发现并改正程序中的所有错误,2,7 程序调试,2005.92006.4下面叙述中正确的是 A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成 C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试,3,7 程序调试,2009.3下面叙述中错误的是 A)软件测试目的是发现错误并改正错误 B)“错误定位“是程序调试的必要步骤 C)程序调试通常也称为debug D)软件测

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1