計(jì)算機(jī)二級(jí)理論知識(shí)精華版_第1頁(yè)
計(jì)算機(jī)二級(jí)理論知識(shí)精華版_第2頁(yè)
計(jì)算機(jī)二級(jí)理論知識(shí)精華版_第3頁(yè)
計(jì)算機(jī)二級(jí)理論知識(shí)精華版_第4頁(yè)
計(jì)算機(jī)二級(jí)理論知識(shí)精華版_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章 數(shù)據(jù)結(jié)構(gòu)與算法第一節(jié) 算法一、算法的基本概念所謂算法是指解題方案的準(zhǔn)確而完整的描述。1、算法的基本特征:(1)可行性(2)確定性(3)有窮性(4)擁有足夠的情報(bào)2、算法的基本要素(1)算法中對(duì)數(shù)據(jù)的運(yùn)算和操作算術(shù)運(yùn)算,邏輯運(yùn)算,關(guān)系運(yùn)算,數(shù)據(jù)傳輸(2)算法的控制結(jié)構(gòu):算法中各操作之間的執(zhí)行順序稱為算法的控制結(jié)構(gòu)。一個(gè)算法可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組合而成。2、算法設(shè)計(jì)的基本方法(1)列舉法(2)歸納法(3)遞推(4)遞歸(5)減半遞推技術(shù)二、算法復(fù)雜度1、算法的時(shí)間復(fù)雜度:指執(zhí)行算法所需要的計(jì)算工作量。用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的次數(shù)來(lái)衡量算法

2、的工作量。方法:平均性態(tài),最壞情況復(fù)雜性2、算法的空間復(fù)雜度:指執(zhí)行這個(gè)算法所需的內(nèi)存空間。第二節(jié) 數(shù)據(jù)結(jié)構(gòu)的基本概念一、什么是數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。如:(1)春、夏、秋、冬 (2)父親、兒子、女兒(1)數(shù)據(jù)元素有共同的特征(2)各個(gè)元素之間存在著某種關(guān)系(聯(lián)系)。用前后件關(guān)系來(lái)描述。如:夏是秋的前件,秋是夏的后件。父親是兒子和女兒的前件,兒子和女兒都是父親的后件1、數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是指帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合。一個(gè)數(shù)據(jù)結(jié)構(gòu)應(yīng)包含以下兩方面的信息:(1)表示數(shù)據(jù)元素的信息(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系,前后件關(guān)系是邏輯關(guān)系,與它們?cè)谟?jì)算機(jī)中的存儲(chǔ)位置無(wú)關(guān)。

3、數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系。2、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。采用不同的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)處理的效率不同。一般情況下,數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)是不同的。二、數(shù)據(jù)結(jié)構(gòu)的圖形表示每一個(gè)數(shù)據(jù)元素用中間標(biāo)有元素值的方框表示,稱為數(shù)據(jù)結(jié)點(diǎn),簡(jiǎn)稱結(jié)點(diǎn)。用一條有向線段從前件結(jié)點(diǎn)指向后件結(jié)點(diǎn)。數(shù)據(jù)1 數(shù)據(jù)1 數(shù)據(jù)1 nullhead父親兒子女兒春夏秋冬在數(shù)據(jù)結(jié)構(gòu)中,沒(méi)有前件的結(jié)點(diǎn)稱為根結(jié)點(diǎn),沒(méi)有后件的結(jié)點(diǎn)稱為終端結(jié)點(diǎn)(也稱為葉子結(jié)點(diǎn))。其他結(jié)點(diǎn)一般稱為內(nèi)部結(jié)點(diǎn)。插入與刪除是對(duì)數(shù)據(jù)結(jié)構(gòu)的兩種基本運(yùn)算還有查找、分類、合并、分解、復(fù)制和修改等運(yùn)算三

4、、線性結(jié)構(gòu)與非線性結(jié)構(gòu)根據(jù)各數(shù)據(jù)元素之間前后件關(guān)系,將數(shù)據(jù)結(jié)構(gòu)分為:線性結(jié)構(gòu)與非線性結(jié)構(gòu)線性結(jié)構(gòu)滿足以下兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn)(2)每一個(gè)結(jié)點(diǎn)最多只有一個(gè)前件,也最多有一個(gè)后件線性結(jié)構(gòu)又稱為線性表。第三節(jié) 線性表及其順序存儲(chǔ)結(jié)構(gòu)一、線性表的基本概念線性表是由n個(gè)數(shù)據(jù)元素a1,a2,an組成的一個(gè)有限序列,表中的每一個(gè)數(shù)據(jù)元素,除了第一個(gè)外,有且只有一個(gè)前件,除了最后一個(gè)外,有且只有一個(gè)后件。特征:(1)有且只有一個(gè)根結(jié)點(diǎn)a1 ,它無(wú)前件。 (2)有且只有一個(gè)終端結(jié)點(diǎn)an ,它無(wú)后件。 (3)其它結(jié)點(diǎn)有且只有一個(gè)前件和一個(gè)后件。線性表中結(jié)點(diǎn)的個(gè)數(shù)n稱為線性表的長(zhǎng)度,n為0稱為空表二、

5、線性表的順序存儲(chǔ)結(jié)構(gòu)線性表的順序存儲(chǔ)結(jié)構(gòu)具有以下特點(diǎn)(1)線性表中所有元素所占的存儲(chǔ)空間是連續(xù)的。(2)線性表各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。三、線性表的插入運(yùn)算要在第i個(gè)元素前插入一個(gè)新元素,要從最后一個(gè)元素開(kāi)始,直到第n-i+1個(gè)元素依次向后移動(dòng)一個(gè)位置,第i個(gè)位置就被空出,然后將新元素插入到第i項(xiàng)。四、線性表的刪除運(yùn)算要?jiǎng)h除第i個(gè)元素,要從第i+1個(gè)元素開(kāi)始,直到第n個(gè)元素之間共n-i個(gè)元素依次向前移動(dòng)一個(gè)位置。第四節(jié) 棧和隊(duì)列一、棧及其基本運(yùn)算棧是一種特殊的線性表。一端是封閉的,不允許進(jìn)行插入與刪除,另一端是開(kāi)口的,允許進(jìn)行插入與刪除。如:子彈夾棧中的元素遵循“先進(jìn)后出”

6、或“后進(jìn)先出”的原則二、隊(duì)列及其基本運(yùn)算隊(duì)列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為排頭(也稱為隊(duì)頭)。 遵循“先進(jìn)先出”或“后進(jìn)后出”的原則,體現(xiàn)了“先來(lái)先服務(wù)”的原則第五節(jié) 線性鏈表一、線性表的缺點(diǎn)(1)插入與刪除的效率低(2)線性表的存儲(chǔ)空間不便于擴(kuò)充(3)不便于對(duì)存儲(chǔ)空間的動(dòng)態(tài)分配二、線性鏈表的概念V(i) Next(i)數(shù)據(jù)域 指針域在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域。另一部分用于存放指針,稱為指針域。二、線性鏈表的概念線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱為線性鏈表。在線性鏈表中,各數(shù)據(jù)元素之間的前

7、后件關(guān)系由各結(jié)點(diǎn)的指針域來(lái)表,指向第一個(gè)結(jié)點(diǎn)的指針HEAD稱為頭指針。第六節(jié) 樹(shù)與二叉樹(shù)一、樹(shù)的基本概念樹(shù)是一種簡(jiǎn)單的非線性結(jié)構(gòu),所有元素之間的關(guān)系具有明顯的層次特征。1、樹(shù)的基本術(shù)語(yǔ)(1)每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為該結(jié)點(diǎn)的父結(jié)點(diǎn)(2)沒(méi)有前件的結(jié)點(diǎn)只有一個(gè),稱為根結(jié)點(diǎn)(3)每一個(gè)結(jié)點(diǎn)可以有多個(gè)后件,稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)(4)沒(méi)有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)(5)每一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,葉子結(jié)點(diǎn)的度為0(6)所有結(jié)點(diǎn)中的最大的度稱為樹(shù)的度(7)樹(shù)的最大層次稱為樹(shù)的深度(8)在樹(shù)中,以某結(jié)點(diǎn)的一個(gè)子結(jié)點(diǎn)為根構(gòu)成的樹(shù)稱為該結(jié)點(diǎn)的一棵子樹(shù)。葉子結(jié)點(diǎn)沒(méi)有子樹(shù)。二、二叉樹(shù)及其基本性質(zhì)1、什么

8、是二叉樹(shù)(1)非空二叉樹(shù)只有一個(gè)根結(jié)點(diǎn)(2)每一個(gè)結(jié)點(diǎn)最多有兩棵子樹(shù),稱為左子樹(shù)與右子樹(shù)即每一個(gè)結(jié)點(diǎn)的度最大為22、二叉樹(shù)的基本性質(zhì)(1)在第k層上,最多有2k-1(k1)個(gè)結(jié)點(diǎn)(2)深度為m的二叉樹(shù)最多有2m-1個(gè)結(jié)點(diǎn)(3)度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))比度為2的結(jié)點(diǎn)多1個(gè)(4)具有n個(gè)結(jié)點(diǎn)的二叉樹(shù),其深度至少為log2n+1其中l(wèi)og2n表示的log2n整數(shù)部分。3、滿二叉樹(shù)與完全二叉樹(shù)(1)滿二叉樹(shù)指,除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)。即每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值。 滿二叉樹(shù)的第k層上有有2k-1個(gè)結(jié)點(diǎn) 深度為m的滿二叉樹(shù)有2m-1個(gè)結(jié)點(diǎn)(2)完全二叉樹(shù)指,除最后一層外,每一

9、層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值。在最后一層上只缺少右邊的若干結(jié)點(diǎn)。滿二叉樹(shù)是完全二叉樹(shù),但完全二叉樹(shù)一般不是滿二叉樹(shù)三、二叉樹(shù)的遍歷(遞歸方法)(1)前序遍歷(2)中序遍歷(3)后序遍歷第七節(jié) 查找技術(shù)查找是指在一個(gè)給的數(shù)據(jù)結(jié)構(gòu)中查找某個(gè)指定的元素。1、順序查找順序查找一般是指在線性表中查找指定的元素。過(guò)程:從線性表的第一個(gè)元素開(kāi)始,依次將線性表中的元素與被查元素比較,若相等則表示找到(查找成功)。若線性表中的所有元素都與被查元素進(jìn)行了比較但都不相等,則表示沒(méi)有找到要找的元素(查找失敗)。2、二分法查找二分法查找只適用于順序存儲(chǔ)的有序表。方法:設(shè)有序線性表的長(zhǎng)度為n,被查元素為x(1)將x與線性表的

10、中間項(xiàng)進(jìn)行比較;(2)做中間項(xiàng)等于x,則說(shuō)明查到,查找結(jié)束;(3)若x小于中間項(xiàng),則線性表的前半部分以相同的方法繼續(xù)進(jìn)行查找。 (4)若x大于中間項(xiàng),則線性表的后半部分以相同的方法繼續(xù)進(jìn)行查找。第八節(jié) 排序技術(shù)一、交換類排序法1、冒泡排序法2、快速排序法二、插入類排序法1、簡(jiǎn)單插入排序法2、希爾排序法三、選擇類排序法思想:掃描整個(gè)線性表,從中選中最小的元素,將它交換到表的最前面;然后對(duì)剩下的子表采用同樣的方法。1、簡(jiǎn)單選擇排序法2、堆排序法以上各種查找方法中的一種的運(yùn)算次數(shù)最大為n(n-1)/2次第二章 程序設(shè)計(jì)基礎(chǔ)第一節(jié) 程序設(shè)計(jì)方法與風(fēng)格一、程序設(shè)計(jì)方法(1)結(jié)構(gòu)化程序設(shè)計(jì)方法(2)面向?qū)?/p>

11、象程序設(shè)計(jì)方法二、程序設(shè)計(jì)風(fēng)格指編寫(xiě)程序時(shí)所表現(xiàn)出的特點(diǎn)、習(xí)慣和邏輯思路。程序設(shè)計(jì)的風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,程序必須是可以理解的。即:清晰第一、效率第二第二節(jié) 結(jié)構(gòu)化程序設(shè)計(jì)一、結(jié)構(gòu)化程序設(shè)計(jì)的原則(1)自頂向下(2)逐步求精(3)模塊化(4)限制使用goto語(yǔ)句二、結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)與特點(diǎn)(1)順序結(jié)構(gòu)(2)選擇結(jié)構(gòu)(3)循環(huán)結(jié)構(gòu)第三節(jié) 面向?qū)ο蟪绦蛟O(shè)計(jì)一、對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,它由一組表示靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。如:一輛汽車是一個(gè)對(duì)象,它包含了汽車的屬性(顏色,型號(hào))及其操作(啟動(dòng),剎車)。一個(gè)窗口是一個(gè)對(duì)象,它包含了窗口的屬性(大小,顏色,

12、位置)及其操作(打開(kāi),關(guān)系)特點(diǎn):(1)分類性(2)多態(tài)性(3)封裝性(4)模塊獨(dú)立性好二、類和實(shí)例:類是具有共同屬性、共同方法的對(duì)象的集合。類是對(duì)象的抽象,而一個(gè)對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。三、方法:對(duì)象所具有的操作。四、繼承:是使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。五、多態(tài)性:同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng),該現(xiàn)象稱為多態(tài)性。第三章 軟件工程基礎(chǔ)第一節(jié) 軟件工程基本概念一、軟件定義與軟件特點(diǎn)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。包括:(1)機(jī)器可執(zhí)行的程序與數(shù)據(jù)。(2)機(jī)器不可執(zhí)行的,與軟件開(kāi)發(fā)、運(yùn)行、維護(hù)、使用等相關(guān)的文檔。特點(diǎn):(1)軟件是一種邏輯實(shí)體,不是

13、物理實(shí)體,具有抽象性。(2)軟件的生產(chǎn)與硬件不同,沒(méi)有明顯的制作過(guò)程。一旦開(kāi)發(fā)成功,可以大量拷貝。(3)軟件在運(yùn)行、使用期間不存在磨損與老化問(wèn)題(4)軟件的開(kāi)發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)有依賴性(5)軟件復(fù)雜性高,成本昂貴二、軟件危機(jī)與軟件工程軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。軟件工程的核心思想是把軟件產(chǎn)品看作一個(gè)工程產(chǎn)品來(lái)處理。以期達(dá)到工程項(xiàng)目的三個(gè)基本要素:進(jìn)度、經(jīng)費(fèi)和質(zhì)量目標(biāo)。三、軟件生命周期將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。(1)可行性研究與計(jì)劃制定(2)需求分析(3)軟件設(shè)計(jì)(4)軟件實(shí)現(xiàn)(5)軟件測(cè)試(6)運(yùn)行與維護(hù)可行

14、性研究初步項(xiàng)目計(jì)劃需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)調(diào)試使用維護(hù)退役定義階段開(kāi)發(fā)階段維護(hù)階段四、軟件工程的目標(biāo)在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可適應(yīng)性、可移植性和可互操作性且滿足用戶需求的產(chǎn)品。第二節(jié) 結(jié)構(gòu)化分析方法一、需求分析與需求分析方法1、需求分析:指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程。需求分析階段的工作:(1)需求獲取:確定對(duì)目標(biāo)系統(tǒng)的各方面的需求(2)需求分析:對(duì)獲取的需求進(jìn)行分析與綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型。(3)編寫(xiě)需求規(guī)格說(shuō)明書(shū)(4)需求評(píng)審2、

15、需求分析方法(1)結(jié)構(gòu)化分析方法(2)面向?qū)ο蟮姆治龇椒ǘ?、結(jié)構(gòu)化分析方法1、結(jié)構(gòu)化分析方法的定義結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的運(yùn)用。步驟如下:(1)通過(guò)對(duì)用戶的調(diào)查,獲得當(dāng)前系統(tǒng)的具體模型(2)根據(jù)具體模型,抽象出當(dāng)前系統(tǒng)的邏輯模型(3)根據(jù)計(jì)算機(jī)的特點(diǎn),建立目標(biāo)系統(tǒng)的邏輯模型(4)寫(xiě)出目標(biāo)系統(tǒng)的軟件需求規(guī)格說(shuō)明書(shū)(5)評(píng)審直到確認(rèn)完全符合用戶對(duì)軟件的需求2、結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流程圖(DFDData Flow Diagram)數(shù)據(jù)流程圖是描述數(shù)據(jù)處理過(guò)程的工具,是需求理解的邏輯模型的圖形表示。數(shù)據(jù)流程圖中的主要圖形元素與說(shuō)明如下: 加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)

16、加工變換產(chǎn)生輸出數(shù)據(jù)流存儲(chǔ)文件(數(shù)據(jù)源)源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體建立數(shù)據(jù)流程圖的步驟:(1)由外向里(2)自頂向下(3)逐層分解帳卡檢驗(yàn)出的問(wèn)題檢驗(yàn)取款存折取款單登錄儲(chǔ)戶存折付款信息現(xiàn)金日歷付款年月日銀行取款業(yè)務(wù)的數(shù)據(jù)流程圖(2)數(shù)據(jù)字典(DDData Dictionary)數(shù)據(jù)字典是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義。數(shù)據(jù)字典的作用是對(duì)DFD中出現(xiàn)的被命名的圖形元素的確切解釋。三、軟件需求規(guī)格說(shuō)明書(shū)1、作用:(1)便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流(2)反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)(3)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)2

17、、內(nèi)容(1)概述(2)數(shù)據(jù)描述:數(shù)據(jù)流程圖,數(shù)據(jù)字典,系統(tǒng)接口說(shuō)明,內(nèi)部接口(3)功能描述:功能,處理說(shuō)明,設(shè)計(jì)的限制(4)性能描述:性能參數(shù),測(cè)試種類,預(yù)期的軟件響應(yīng),應(yīng)考慮的特殊問(wèn)題第三節(jié) 結(jié)構(gòu)化設(shè)計(jì)方法一、軟件設(shè)計(jì)的概念1、從技術(shù)觀點(diǎn)來(lái)看,軟件設(shè)計(jì)包括:軟件結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),接口設(shè)計(jì),過(guò)程設(shè)計(jì)。從工程管理角度來(lái)看,軟件設(shè)計(jì)分兩步:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。2、軟件設(shè)計(jì)的基本原理(1)抽象(2)模塊化(3)信息隱蔽(4)模塊獨(dú)立性內(nèi)聚性:一個(gè)模塊內(nèi)各個(gè)元素間彼此緊密程度的度量耦合性:模塊間互相連接的緊密程度的度量一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到:高內(nèi)聚,低耦合二、概要設(shè)計(jì)任務(wù):(1)設(shè)計(jì)軟件系

18、統(tǒng)結(jié)構(gòu):在需求分析階段,已經(jīng)把系統(tǒng)分解成層次結(jié)構(gòu),在概要設(shè)計(jì)階段,需要進(jìn)一步分解,劃分為模塊以及模塊的層次結(jié)構(gòu)。(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(3)編寫(xiě)概要設(shè)計(jì)文檔(4)概要設(shè)計(jì)文檔評(píng)審三、詳細(xì)設(shè)計(jì)任務(wù):為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法的局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。第四節(jié) 軟件測(cè)試一、軟件測(cè)試的目的使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。二、軟件測(cè)試的準(zhǔn)則(1)所有測(cè)試都應(yīng)追溯到需求(2)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性(3)程

19、序員應(yīng)避免檢查自己的程序(4)妥善保管測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。三、軟件測(cè)試技術(shù)與方法從是否需要執(zhí)行被測(cè)軟件的角度分為:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試按照功能劃分:白盒測(cè)試與黑盒測(cè)試1、靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試(1)靜態(tài)測(cè)試包括:代碼檢查,靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件,由人工進(jìn)行。(2)動(dòng)態(tài)測(cè)試:是基于計(jì)算機(jī)的測(cè)試,是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。設(shè)計(jì)高效、合理的測(cè)試用例是動(dòng)態(tài)測(cè)試的關(guān)鍵。2、白盒測(cè)試方法與測(cè)試用例設(shè)計(jì)白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。它是根據(jù)軟件產(chǎn)品的內(nèi)部工作過(guò)程,檢查內(nèi)部成分,以確認(rèn)每種內(nèi)部操作符合設(shè)計(jì)規(guī)格要求。白盒測(cè)試把測(cè)試對(duì)象看

20、成一個(gè)打開(kāi)的盒子,允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息來(lái)設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試。原則:(1)保證所測(cè)模塊中每一獨(dú)立路徑至少執(zhí)行一次(2)保證所測(cè)模塊所有判斷的每一分支至執(zhí)行一次(3)保證所測(cè)模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次(4)驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性白盒測(cè)試是“窮舉”路徑測(cè)試。主要方法有邏輯覆蓋、基本路徑測(cè)試等。邏輯覆蓋包括:語(yǔ)句覆蓋,路徑覆蓋,判定覆蓋,條件覆蓋和判斷條件覆蓋。3、黑盒測(cè)試方法與測(cè)試用例設(shè)計(jì)黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試是對(duì)軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測(cè)試和驗(yàn)證。黑盒測(cè)試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)

21、和內(nèi)部特征,只依據(jù)程序的需求和功能規(guī)格說(shuō)明,檢查程序的功能是否符合它的功能說(shuō)明。黑盒測(cè)試只要診斷功能不對(duì)或遺漏、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問(wèn)錯(cuò)誤、性能錯(cuò)誤、初始化或終止條件錯(cuò)誤。主要方法有:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖等,主要用于軟件確認(rèn)測(cè)試。四、軟件測(cè)試的實(shí)施軟件測(cè)試是保證軟件質(zhì)量的重要手段,分四個(gè)步驟:(1)單元測(cè)試(2)集成測(cè)試(3)驗(yàn)收測(cè)試(確認(rèn)測(cè)試)(4)系統(tǒng)測(cè)試1、單元測(cè)試:是針對(duì)軟件設(shè)計(jì)的最小單位模塊進(jìn)行正確性檢驗(yàn)的測(cè)試。單元測(cè)試的目的是發(fā)現(xiàn)各模塊內(nèi)部存在的各種錯(cuò)誤。單元測(cè)試可以采用靜態(tài)分析和動(dòng)態(tài)測(cè)試,動(dòng)態(tài)測(cè)試以白盒測(cè)試為主,輔之以黑盒測(cè)試。2、集成測(cè)試集成

22、測(cè)試是測(cè)試和組裝軟件的過(guò)程。它是把模塊在按照設(shè)計(jì)要求組裝起來(lái)的同時(shí)進(jìn)行測(cè)試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。集成測(cè)試時(shí)將模塊組裝成程序通常采用兩種方式:非增量方式組裝與增量方式組裝。非增量方式組裝也稱為一次性組裝方式增量方式組裝是將已經(jīng)測(cè)試好的模塊逐步組裝成較大系統(tǒng)3、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能及其他特征是否滿足了需求規(guī)格說(shuō)明書(shū)中確定的各種需求,以及軟件配置是否完全、正確。4、系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件,作為基于整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的集

23、成測(cè)試和確認(rèn)測(cè)試。第五節(jié) 程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件中的錯(cuò)誤,然后借助于一系列的調(diào)試工具去執(zhí)行找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿于軟件生命期,調(diào)試主要在開(kāi)發(fā)階段。程序調(diào)試由兩部分構(gòu)成:(1)根據(jù)錯(cuò)誤的跡象確定程序中錯(cuò)誤的確切性質(zhì)、原因和位置。(2)對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤。1、程序調(diào)試的基本步驟(1)錯(cuò)誤定位(2)修改設(shè)計(jì)和代碼,以排除錯(cuò)誤(3)進(jìn)行回歸調(diào)試,防止引進(jìn)新錯(cuò)誤2、程序調(diào)試方法(1)強(qiáng)行排錯(cuò)法(2)回溯法(3)原因排除法第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)第一節(jié) 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念一、數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)1

24、、數(shù)據(jù)(Data):描述事物的符號(hào)記錄2、數(shù)據(jù)庫(kù)(DataBase):是長(zhǎng)期保存在計(jì)算機(jī)內(nèi),有組織、可共享的數(shù)據(jù)集合。3、數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System, DBMS):是對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理和維護(hù)的系統(tǒng)軟件。功能:(1)定義數(shù)據(jù)庫(kù)(2)操縱數(shù)據(jù)庫(kù)(3)數(shù)據(jù)控制(完整性、安全性、并發(fā)控制)(4)故障恢復(fù)為了完成以上功能,DBMS提供了相應(yīng)的語(yǔ)言:(1)數(shù)據(jù)定義語(yǔ)言(DDL):定義數(shù)據(jù)模式(2)數(shù)據(jù)操縱語(yǔ)言(DML):查詢,添加,刪除,修改(3)數(shù)據(jù)控制語(yǔ)言(DCL):負(fù)責(zé)數(shù)據(jù)完整性、安全性、并發(fā)控制以及故障恢復(fù)4、數(shù)據(jù)庫(kù)管理員(DataBase Adminstr

25、ator,DBA)主要工作如下:(1)數(shù)據(jù)庫(kù)設(shè)計(jì)(2)數(shù)據(jù)庫(kù)維護(hù)(3)改善系統(tǒng)性能,提高系統(tǒng)效率5、數(shù)據(jù)庫(kù)系統(tǒng)( DataBase System, DBS)數(shù)據(jù)庫(kù)系統(tǒng)由以下幾部分構(gòu)成:(1)數(shù)據(jù)庫(kù)(數(shù)據(jù))(2)數(shù)據(jù)庫(kù)管理系統(tǒng)(3)數(shù)據(jù)庫(kù)管理員(4)硬件:計(jì)算機(jī)、網(wǎng)絡(luò)(5)軟件:操作系統(tǒng),數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)工具,接口軟件二、數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展(1)人工管理階段(2)文件系統(tǒng)階段:數(shù)據(jù)共享性差、獨(dú)立性差、冗余度大(3)數(shù)據(jù)庫(kù)系統(tǒng)階段:數(shù)據(jù)的共享性好、獨(dú)立性強(qiáng),冗余度小三、數(shù)據(jù)庫(kù)系統(tǒng)的基本特點(diǎn)(1)數(shù)據(jù)的集成性(2)數(shù)據(jù)的高共享性與低冗余性(3)數(shù)據(jù)獨(dú)立性強(qiáng)(4)數(shù)據(jù)統(tǒng)一管理與控制四、數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部結(jié)構(gòu)

26、體系1、數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3邏輯模式內(nèi)模式數(shù)據(jù)庫(kù)外模式/模式映像模式/內(nèi)模式映像(1)邏輯模式:又稱概念模式或模式。是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述。是全體用戶公共數(shù)據(jù)視圖。此種描述是一種抽象的描述,它不涉及具體的硬件環(huán)境與平臺(tái),也與具體的軟件環(huán)境無(wú)關(guān)。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)只有一個(gè)邏輯模式。(2)外模式:又稱子模式或用戶模式。它是用戶的數(shù)據(jù)視圖,也就是用戶見(jiàn)到的數(shù)據(jù)模式,由邏輯模式導(dǎo)出。一個(gè)概念模式可以有多個(gè)外模式。(3)內(nèi)模式:又稱物理模式。它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存儲(chǔ)方法。2、數(shù)據(jù)庫(kù)系統(tǒng)的兩級(jí)映射(1)概念模式到內(nèi)模式的映射(2)

27、外模式到概念模式的映射第二節(jié) 數(shù)據(jù)模型一、數(shù)據(jù)模型的基本概念數(shù)據(jù)庫(kù)中的數(shù)據(jù)模型可以將復(fù)雜的現(xiàn)實(shí)世界要求反映到計(jì)算機(jī)數(shù)據(jù)庫(kù)中的物理世界,這種反映是一個(gè)逐步轉(zhuǎn)化的過(guò)程,它分兩個(gè)階段:由現(xiàn)實(shí)世界開(kāi)始,經(jīng)歷信息世界而至計(jì)算機(jī)世界,從而完成整個(gè)轉(zhuǎn)化。1、現(xiàn)實(shí)世界2、信息世界:通過(guò)抽象對(duì)現(xiàn)實(shí)世界進(jìn)行描述所構(gòu)成的邏輯模型。信息世界用概念模型表示,概念模型和具體的數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)關(guān),也和計(jì)算機(jī)平臺(tái)無(wú)關(guān)。用E-R圖表示:(1)實(shí)體集表示法:用矩形表示,在矩形內(nèi)寫(xiě)上該實(shí)體集的名字。學(xué)生(2)屬性表示法:用橢圓表示,在橢圓內(nèi)寫(xiě)上該屬性的名稱。并用線段和對(duì)應(yīng)的實(shí)體集連接起來(lái)。學(xué)號(hào)(3)聯(lián)系表示法:用菱形表示,在菱形內(nèi)

28、寫(xiě)上聯(lián)系的名稱。并用線段與有關(guān)實(shí)體集連接起來(lái),同時(shí)在線段旁邊標(biāo)出聯(lián)系的類型。聯(lián)系也可能有屬性,表示方法與實(shí)體集的屬性表示方法相同。選修選修學(xué)生課程學(xué)號(hào)姓名性別年齡課程號(hào)課程名學(xué)分成績(jī)mn3、計(jì)算機(jī)世界信息世界中的信息,經(jīng)過(guò)處理形成計(jì)算機(jī)能夠處理的數(shù)據(jù),就是計(jì)算機(jī)世界(數(shù)據(jù)世界)。計(jì)算機(jī)世界用數(shù)據(jù)模型來(lái)表示。數(shù)據(jù)模型描述的內(nèi)容分三個(gè)部分,又稱為數(shù)據(jù)模型的三要素。即:數(shù)據(jù)結(jié)果,數(shù)據(jù)操作和完整性約束數(shù)據(jù)模型是一種面向數(shù)據(jù)庫(kù)系統(tǒng)的模型,根據(jù)數(shù)據(jù)在數(shù)據(jù)庫(kù)中的結(jié)構(gòu)數(shù)據(jù)模型分為三種:(1)層次數(shù)據(jù)模型(2)網(wǎng)狀數(shù)據(jù)模型(3)關(guān)系數(shù)據(jù)模型二、層次數(shù)據(jù)模型:層次數(shù)據(jù)模型的基本結(jié)構(gòu)是樹(shù)型結(jié)構(gòu)(層次結(jié)構(gòu))。擅長(zhǎng)表示一對(duì)多聯(lián)系,無(wú)法直接表示多對(duì)多聯(lián)系。三、網(wǎng)狀數(shù)據(jù)模型:網(wǎng)狀數(shù)據(jù)模型的基本結(jié)構(gòu)是消除了層次模型的限制。四、關(guān)系數(shù)據(jù)模型1、關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型用二維表表示。有以下性質(zhì):(1)關(guān)系中元組均不相同元組的唯一性(2)元組的次序可以任意交

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論