




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、二級(jí)公共基礎(chǔ)知識(shí)總結(jié)(30分:10選擇+5填空)第一章 數(shù)據(jù)結(jié)構(gòu)與算法一 算法1.概念:是解題方案的準(zhǔn)確而完整的描述。算法不等于程序,也不等于計(jì)算方法。2.基本特征:(1)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性; (2)有窮性,算法必須能在有限的時(shí)間內(nèi)做完,即能在執(zhí)行有限個(gè)步驟后終止;(3)可行性,算法原則上能夠精確地執(zhí)行;(4)擁有足夠的情報(bào)。3.基本要素:一是對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。4.指令系統(tǒng):一個(gè)計(jì)算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合。5.基本運(yùn)算和操作包括:算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸。6.基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)
2、構(gòu)、循環(huán)結(jié)構(gòu)。7.基本設(shè)計(jì)方法:列舉法、歸納法、遞推、遞歸、減半遞推技術(shù)、回溯法。8.算法復(fù)雜度(算法效率的度量)(1)算法時(shí)間復(fù)雜度:指執(zhí)行算法所需要的計(jì)算工作量。即算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。通常,一個(gè)算法所用的時(shí)間包括編譯時(shí)間和運(yùn)行時(shí)間。(2)算法空間復(fù)雜度:指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的空間,算法執(zhí)行過(guò)程中所需的額外空間。二 數(shù)據(jù)結(jié)構(gòu)1.數(shù)據(jù)的基本單位是數(shù)據(jù)元素2.數(shù)據(jù)結(jié)構(gòu):指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。3.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)物理結(jié)構(gòu)):數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式4.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引、散列。5.
3、數(shù)據(jù)結(jié)構(gòu)類型(按各元素之間前后件關(guān)系的復(fù)雜度劃分):(1)線性結(jié)構(gòu)的條件:有且只有一個(gè)根結(jié)點(diǎn); 每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。(2)非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。6.線性結(jié)構(gòu): (1)線性表 記錄:由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素 文件:由多個(gè)記錄構(gòu)成的線性表。 線性表的順序存儲(chǔ)結(jié)構(gòu)基本特點(diǎn):a) 線性表中所有元素所占的存儲(chǔ)空間是連續(xù)的;b) 線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的 線性鏈表(線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu))數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)結(jié)點(diǎn)對(duì)應(yīng)于一個(gè)存儲(chǔ)單元,這種存儲(chǔ)單元稱為存儲(chǔ)結(jié)點(diǎn),簡(jiǎn)稱結(jié)點(diǎn)。結(jié)點(diǎn)由兩部分組成:a) 用于存儲(chǔ)數(shù)據(jù)元素值,稱為數(shù)據(jù)域;b) 用于
4、存放指針,稱為指針域,用于指向前一個(gè)或后一個(gè)結(jié)點(diǎn)。在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來(lái)確定的。鏈?zhǔn)酱鎯?chǔ)方式即可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)需要更多地存儲(chǔ)空間(2)棧 限定在一端(即棧頂)進(jìn)行插入與刪除的線性表。 棧頂位置用指針top表示。棧底位置用指針bottom表示。 棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用。 棧的存儲(chǔ)方式有順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。 棧的基本運(yùn)算:a) 入棧運(yùn)算,在棧頂位置插入元素;b) 退棧運(yùn)算,刪除元素
5、(取出棧頂元素并賦給一個(gè)指定的變量);c) 讀棧頂元素,將棧頂元素賦給一個(gè)指定的變量,此時(shí)指針無(wú)變化。 棧的元素個(gè)數(shù)=bottom-top+1(3)隊(duì)列 指允許在一端(隊(duì)尾)進(jìn)入插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線性表。 用rear指針指向隊(duì)尾,用front指針指向隊(duì)頭元素的前一個(gè)位置。 隊(duì)列是“先進(jìn)先出”(FIFO)或“后進(jìn)后出”(LILO)的線性表。 隊(duì)列運(yùn)算包括:a) 入隊(duì)運(yùn)算:從隊(duì)尾插入一個(gè)元素; b) 退隊(duì)運(yùn)算:從隊(duì)頭刪除一個(gè)元素。 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)一般采用隊(duì)列循環(huán)的形式。循環(huán)隊(duì)列s=0表示隊(duì)列空;s=1且front=rear表示隊(duì)列滿。 循環(huán)隊(duì)列的元素個(gè)數(shù):frontrear時(shí),
6、元素個(gè)數(shù)=n(循環(huán)隊(duì)列容量)-front+rear7非線性結(jié)構(gòu) (1)樹(shù) 每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn)。 沒(méi)有前件的結(jié)點(diǎn)只有一個(gè),稱為樹(shù)的根結(jié)點(diǎn),簡(jiǎn)稱樹(shù)的根。 每一個(gè)結(jié)點(diǎn)可以有多個(gè)后件,稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)。 沒(méi)有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。 一個(gè)結(jié)點(diǎn)所擁有的后件的個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹(shù)的度。 樹(shù)的最大層次稱為樹(shù)的深度。(2)二叉樹(shù) 特點(diǎn):a) 非空二叉樹(shù)只有一個(gè)根結(jié)點(diǎn);b) 每一個(gè)結(jié)點(diǎn)最多有兩棵子樹(shù),且分別稱為該結(jié)點(diǎn)的左子樹(shù)與右子樹(shù)。 滿二叉樹(shù)是指除最后一層外,每一層上的所有結(jié)點(diǎn)有兩個(gè)子結(jié)點(diǎn),則k層上有2k-1個(gè)結(jié)點(diǎn)深度為m的滿二叉樹(shù)有2m-1個(gè)結(jié)點(diǎn)。完全二叉樹(shù)是指除最
7、后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)。 基本性質(zhì):a) 在二叉樹(shù)的第k層上,最多有2k-1(k1)個(gè)結(jié)點(diǎn);b) 深度為m的二叉樹(shù)最多有2m-1個(gè)結(jié)點(diǎn);c) 度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))=度為2的結(jié)點(diǎn)數(shù)+1;d) 二叉樹(shù)總結(jié)點(diǎn)數(shù)=度為0的結(jié)點(diǎn)數(shù)+度為1的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)e) 具有n個(gè)結(jié)點(diǎn)的二叉樹(shù),其深度至少為log2n+1,其中l(wèi)og2n表示取log2n的整數(shù)部分f) 具有n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的深度為log2n+1;g) 完全二叉樹(shù)中度為1的節(jié)點(diǎn)只可能是0或1個(gè)補(bǔ)充:增加度為1的結(jié)點(diǎn)不會(huì)影響二叉樹(shù)的葉子結(jié)點(diǎn)數(shù),每增加一個(gè)度為2的結(jié)點(diǎn)便會(huì)增加一個(gè)葉子結(jié)點(diǎn),沒(méi)
8、有度為2的結(jié)點(diǎn)時(shí)葉子結(jié)點(diǎn)數(shù)為1。 二叉樹(shù)存儲(chǔ)結(jié)構(gòu)采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),對(duì)于滿二叉樹(shù)與完全二叉樹(shù)可以按層序進(jìn)行順序存儲(chǔ)。 二叉樹(shù)的遍歷:a) 前序遍歷(DLR),首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);b) 中序遍歷(LDR),首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);c) 后序遍歷(LRD)首先遍歷左子樹(shù),然后訪問(wèn)遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。前序遍歷結(jié)果為 a b d e h i c f g ;中序遍歷結(jié)果為 d b h e i a f c g ;后序遍歷結(jié)果為 d h i e b f g c a例2:圖1.13的二叉樹(shù)。圖1.13(1)前序遍歷先訪問(wèn)整棵二叉樹(shù)的根結(jié)點(diǎn)A,然后再先序
9、遍歷左子樹(shù)T1;在訪問(wèn)T1時(shí),也以先序遍歷原則,先訪問(wèn)T1的根結(jié)點(diǎn)B,然后再先序遍歷T1的左子樹(shù)T11;在訪問(wèn)T11時(shí),也以先序遍歷原則,先訪問(wèn)T11的根結(jié)點(diǎn)D,然后再先序遍歷T11的左子樹(shù)。由于此時(shí)T11的左子樹(shù)只有H結(jié)點(diǎn),所以訪問(wèn)H結(jié)點(diǎn),T11的左子樹(shù)先序遍歷結(jié)束,根據(jù)先序遍歷的原則,進(jìn)行先序遍歷T11的右子樹(shù)。由于T11的右子樹(shù)只有I結(jié)點(diǎn),故訪問(wèn)此結(jié)點(diǎn)后T11的右子樹(shù)的先序遍歷結(jié)束。先序遍歷完T11子樹(shù)后,返回T1子樹(shù),先序遍歷T1的右子樹(shù)。先序遍歷完T1子樹(shù)后,接著先序遍歷根結(jié)點(diǎn)A的右子樹(shù)T2。先序遍歷完T2后,該二叉樹(shù)的所有結(jié)點(diǎn)都已經(jīng)訪問(wèn)過(guò),各結(jié)點(diǎn)被訪問(wèn)的順序?yàn)椋篈BDHIECFG(
10、2)中序遍歷:先中序遍歷左子樹(shù),然后再訪問(wèn)根結(jié)點(diǎn),最后再中序遍歷右子樹(shù)。對(duì)圖1.12的二叉樹(shù)進(jìn)行中序遍歷,訪問(wèn)各個(gè)結(jié)點(diǎn)的順序?yàn)椋篐DIBEAFCG(3)后序遍歷:先后序遍歷左子樹(shù),然后再后序遍歷右子樹(shù),最后再訪問(wèn)根結(jié)點(diǎn)。對(duì)圖1.12的二叉樹(shù)進(jìn)行后序遍歷,訪問(wèn)各個(gè)結(jié)點(diǎn)的順序?yàn)椋篐IDEBFGCA。下面樹(shù)的先序、中序、后續(xù)遍歷的結(jié)果依次為_(kāi) abdcef _、 bdaecf _、_ dbefca小結(jié):邏輯結(jié)構(gòu)可分為線性表和非線性表。 線性表包括棧、隊(duì)列,其存儲(chǔ)方式為順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)均可。鏈?zhǔn)叫陀校壕€性鏈表,帶鏈的棧,帶鏈的隊(duì)列,循環(huán)鏈表等。 非線性表包括樹(shù)(二叉樹(shù)),其存儲(chǔ)方式為鏈?zhǔn)酱鎯?chǔ)。8.
11、查找技術(shù)只能使用順序查找的兩種情況:(1)線性表為無(wú)序表,不管是順序存儲(chǔ)還是鏈?zhǔn)酱鎯?chǔ);(2)表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),即使是有序線性表。二分法查找只適用于順序存儲(chǔ)的有序表,對(duì)于長(zhǎng)度為n的有序線性表,最壞情況只需比較log2n次,而順序查找需要比較n次。9. 排序技術(shù)排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列的有序序列。類別排序方法最壞情況下的比較次數(shù)交換類冒泡排序n(n-1)/2快速排序n(n-1)/2插入類簡(jiǎn)單插入排序n(n-1)/2希爾排序O(n1.5)選擇類簡(jiǎn)單選擇排序n(n-1)/2堆排序O(nlog2n) 相比以上幾種(除希爾排序法外),堆排序法的時(shí)間復(fù)雜度最小。第二章 程序設(shè)計(jì)基礎(chǔ)一
12、 程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格1.“清晰第一、效率第二”已成為當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格。2. 形成良好的程序設(shè)計(jì)風(fēng)格需注意:(1) 源程序文檔化; (2) 數(shù)據(jù)說(shuō)明的次序要規(guī)范化; (3)語(yǔ)句的結(jié)構(gòu)應(yīng)該簡(jiǎn)單直接,不要為提高效率而復(fù)雜化; (4)輸入數(shù)據(jù)前要有提示信息和輸出信息符合規(guī)范。3. 注釋:序言性注釋和功能性注釋。 二 結(jié)構(gòu)化程序設(shè)計(jì)1. 基本原則:(1)自頂向下; (2)逐步求精;( 3)模塊化; (4)限制使用goto語(yǔ)句。2. 基本結(jié)構(gòu):(1)順序結(jié)構(gòu):一種簡(jiǎn)單的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡(jiǎn)單選擇和多分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應(yīng)該 選擇哪一條分支
13、來(lái)執(zhí)行相應(yīng)的語(yǔ)句序列;(3)循環(huán)結(jié)構(gòu):又稱重復(fù)結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同或類似的程序段。3. 基本工具:程序流程圖,N-S圖4. 特點(diǎn):只有一個(gè)入口和出口三 面向?qū)ο蟮某绦蛟O(shè)計(jì)(主要考慮的是提高軟件的可重用性)1. 面向?qū)ο蟮某绦蛟O(shè)計(jì)的首次提出以60年代末挪威奧斯陸大學(xué)和挪威計(jì)算機(jī)中心研制的SIMULA語(yǔ)言為標(biāo)志。2. 面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn):(1)與人類習(xí)慣的思維方法一致;(2)穩(wěn)定性好;(3)可重用性好;(4)易于開(kāi)發(fā)大型軟件產(chǎn)品;(5)可維護(hù)性好。3. 面向?qū)ο蠹夹g(shù)的基本特征:(1) 抽象性(2) 繼承性 繼承具有傳遞性,一個(gè)類實(shí)際上繼承了他上層的全部基類的特性。 繼
14、承分單繼承和多重繼承。單繼承指一個(gè)類只允許有一個(gè)父類,即類等級(jí)為樹(shù)形結(jié)構(gòu);多重繼承指一個(gè)類允許有多個(gè)父類。*:類的繼承性是類之間共享屬性和操作的機(jī)制,它提高了軟件的可重用性。(3) 多態(tài)性 是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng)的現(xiàn)象 (4) 封裝性4. 對(duì)象是屬性和方法的封裝體,一個(gè)對(duì)象由對(duì)象名、屬性和操作三部分組成,對(duì)象是實(shí)體的抽象。(1) 基本特點(diǎn):標(biāo)識(shí)唯一性,分類性,多態(tài)性,封裝性(實(shí)現(xiàn)信息屏蔽)和模塊獨(dú)立性(2) 屬性即對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過(guò)執(zhí)行對(duì)象的操作來(lái)改變。操作描述了對(duì)象執(zhí)行的功能,是對(duì)象的動(dòng)態(tài)屬性,操作也稱為方法或服務(wù)。5. 類是指具
15、有共同屬性、共同方法的對(duì)象的集合。所以類是對(duì)象的抽象,對(duì)象是對(duì)應(yīng)類的一個(gè)實(shí)例。6. 消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息。對(duì)象間的通信靠消息傳遞。它統(tǒng)一了數(shù)據(jù)流和控制流。 *:在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送消息。第三章 軟件工程基礎(chǔ)一 軟件工程基本概念1. 計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。2. 軟件按功能分為:應(yīng)用軟件:教務(wù)管理系統(tǒng)系統(tǒng)軟件:操作系統(tǒng)支撐軟件(或工具軟件):編譯軟件,匯編軟件3. 軟件危機(jī)主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問(wèn)題。4. 軟件工程的核心思想是把軟件產(chǎn)品看作是一個(gè)工程產(chǎn)品來(lái)處理。5. 軟件工程包括3個(gè)要素:方法、工具和
16、過(guò)程。6. 軟件生命周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程。分三個(gè)階段:(1)定義階段:可行性研究與計(jì)劃制定;需求分析(2)開(kāi)發(fā)階段:軟件設(shè)計(jì)(概要設(shè)計(jì)和詳細(xì)設(shè)計(jì));軟件實(shí)現(xiàn);軟件測(cè)試(3)維護(hù)階段:運(yùn)行和維護(hù)二需求分析1.工作:需求獲取,需求分析,編寫(xiě)需求規(guī)格說(shuō)明書(shū),需求評(píng)審。2.從需求分析建立的模型的特性來(lái)分:靜態(tài)分析和動(dòng)態(tài)分析3.軟件需求規(guī)格說(shuō)明書(shū)(SRS)是需求分析階段的最后成果 特點(diǎn):正確性;無(wú)歧義性;完整性;可驗(yàn)證性;一致性;可理解性;可追蹤性4.方法:(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龅姆椒ㄈ?結(jié)構(gòu)化分析方法1. 結(jié)構(gòu)化分析方法(SA):面向數(shù)據(jù)流進(jìn)
17、行需求分析的方法2. 結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。3. 結(jié)構(gòu)化分析的常用工具:數(shù)據(jù)流圖;數(shù)據(jù)字典;判定樹(shù);判定表。(1)數(shù)據(jù)流圖(DFD圖):描述數(shù)據(jù)處理過(guò)程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。 加工(轉(zhuǎn)換)圓框,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生的輸出。 數(shù)據(jù)流箭頭,沿箭頭方向傳遞數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。 存儲(chǔ)文件(數(shù)據(jù)源)雙橫線,表示處理過(guò)程中存放各種數(shù)據(jù)的文件。 源、潭方框,表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。*:數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。四 結(jié)構(gòu)化設(shè)計(jì)方
18、法1. 軟件設(shè)計(jì)的基本原理是:(1)抽象; (2)模塊化; (3)信息隱蔽; (4)模塊獨(dú)立性。2. 衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。耦合性是模塊見(jiàn)相互連接的緊密程度的度量。內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量。*:在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。*:優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合,有利于提高模塊的獨(dú)立性。五軟件設(shè)計(jì)1. 概要設(shè)計(jì)的基本任務(wù)是:(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì);(3)編寫(xiě)概要設(shè)計(jì)文檔;(4)概要設(shè)計(jì)文檔評(píng)審。在結(jié)構(gòu)圖(SC)中,模塊用一個(gè)矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。 可以用帶注釋的箭頭表示模塊調(diào)用過(guò)程中
19、來(lái)回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。2. 詳細(xì)設(shè)計(jì)常見(jiàn)工具: 圖形工具: 程序流程圖(PFD)、N-S圖(方框圖)、問(wèn)題分析圖(PAD)和HIPO圖 表格工具: 判定表 語(yǔ)言工具: PDL(偽碼)*:程序流程圖中:箭頭為控制流、方框?yàn)榧庸げ襟E、菱形為邏輯條件。六軟件測(cè)試1. 軟件測(cè)試的目的:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。2. 軟件測(cè)試方法:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。(1) 靜態(tài)測(cè)試:代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過(guò)人工進(jìn)行。(2) 動(dòng)態(tài)測(cè)試:是基本計(jì)算機(jī)的測(cè)試,主要包括白盒測(cè)試方法和黑盒測(cè)試方法。白盒測(cè)試:也稱結(jié)構(gòu)測(cè)試或邏輯
20、測(cè)試。在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證。白盒測(cè)試主要考慮內(nèi)部的邏輯結(jié)構(gòu)。主要方法有邏輯覆蓋、基本路徑測(cè)試。黑盒測(cè)試:也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。是在軟件接口處進(jìn)行,完成功能驗(yàn)證。黑盒測(cè)試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求和功能規(guī)格說(shuō)明,檢查程序的功能是否符合它的設(shè)計(jì)要求。用于軟件確認(rèn)測(cè)試。主要方法有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖等。3. 軟件測(cè)試過(guò)程一般按4個(gè)步驟進(jìn)行:(1)單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)和系統(tǒng)測(cè)試。(2)單元測(cè)試是對(duì)模塊(程序單元)進(jìn)行,靜態(tài)動(dòng)態(tài)均有,動(dòng)態(tài)時(shí)以白盒為主輔之以黑盒。(3)集成測(cè)試是測(cè)試、組裝軟件。(4
21、) 確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說(shuō)明中的各項(xiàng)需求以及軟件配置是否完全正確,先用黑盒。七 程序的調(diào)試1. 程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,主要在開(kāi)發(fā)階段進(jìn)行。2.程序調(diào)試的基本步驟:(1)錯(cuò)誤定位;(2)修改設(shè)計(jì)和代碼,以排除錯(cuò)誤;(3)進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。3.軟件調(diào)試可分為靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過(guò)人的思維來(lái)分析源程序代碼和排錯(cuò),是主要的設(shè)計(jì)手段,而動(dòng)態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:(1)強(qiáng)行排錯(cuò)法;(2)回溯法;(3)歸納法; (4)演繹法。第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)一數(shù)據(jù)庫(kù)系統(tǒng)的基本概念1. 數(shù)據(jù)庫(kù)管理系統(tǒng)的六大功能:
22、(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫(kù)構(gòu)建其數(shù)據(jù)框架;(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段;(3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫(kù)的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡(jiǎn)單的算術(shù)運(yùn)算及統(tǒng)計(jì);(4)數(shù)據(jù)的完整性、安全性定義與檢查;(5)數(shù)據(jù)庫(kù)的并發(fā)控制與故障恢復(fù);(6)數(shù)據(jù)的服務(wù):如拷貝、轉(zhuǎn)存、重組、性能監(jiān)測(cè)、分析等。為完成以上功能,數(shù)據(jù)庫(kù)管理系統(tǒng)提供以下的數(shù)據(jù)語(yǔ)言:(1)數(shù)據(jù)定義語(yǔ)言(DDL):負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;(2)數(shù)據(jù)操縱語(yǔ)言(DML):負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等;(3)數(shù)據(jù)控制語(yǔ)言(DCL):負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與
23、檢查以及并發(fā)控制、故障恢復(fù)等。數(shù)據(jù)語(yǔ)言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語(yǔ)言);宿主型語(yǔ)言(一般可嵌入某些宿主語(yǔ)言中)。2.數(shù)據(jù)庫(kù)管理員:對(duì)數(shù)據(jù)庫(kù)進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的專業(yè)管理人員。3.數(shù)據(jù)庫(kù)系統(tǒng):由數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、硬件平臺(tái)(硬件)、軟件平臺(tái)(軟件)五個(gè)部分構(gòu)成的運(yùn)行實(shí)體。數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持.4.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng):由數(shù)據(jù)庫(kù)系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。5.數(shù)據(jù)管理發(fā)展的三個(gè)階段:人工管理階段,文件系統(tǒng)階段,數(shù)據(jù)庫(kù)系統(tǒng)階段。而數(shù)據(jù)獨(dú)立性最高的是數(shù)據(jù)庫(kù)系統(tǒng)。6.數(shù)據(jù)庫(kù)系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性 、數(shù)據(jù)的高
24、共享性與低冗余性 、數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)、數(shù)據(jù)統(tǒng)一管理與控制。6.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式:(1)概念模式:數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;(2)外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式;(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。7.數(shù)據(jù)庫(kù)系統(tǒng)的兩級(jí)映射:(1)概念模式到內(nèi)模式的映射;(2)外模式到概念模式的映射。二 數(shù)據(jù)模型1. (1)E-R模型(實(shí)體聯(lián)系模型)的基本概念實(shí)體:現(xiàn)實(shí)世界中的事物;屬性:事物的特性;聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集間的聯(lián)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。E-R
25、模型基本概念之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)實(shí)體的所有屬性值叫元組。(2)E-R模型的圖示法:描述概念模型的常用工具。實(shí)體集表示法矩形;屬性表法橢圓形;聯(lián)系表示法菱形。2.數(shù)據(jù)庫(kù)管理系統(tǒng)常見(jiàn)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型三種。層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),具有以下特點(diǎn):(1)每棵樹(shù)有且僅有一個(gè)無(wú)雙親結(jié)點(diǎn),稱為根;(2)樹(shù)中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。從圖論觀點(diǎn)看,網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖。關(guān)系模型是數(shù)學(xué)化的模型。要用到集合論、離散數(shù)學(xué)等理論知識(shí)。關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱表,由表框架及表的元組組成。一個(gè)二維
26、表就是一個(gè)關(guān)系。每行數(shù)據(jù)稱為元組。在二維表中凡能唯一標(biāo)識(shí)元組的最小屬性稱為鍵或碼。從所有侯選鍵中選取一個(gè)作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。二維表的表框架由n個(gè)命名的屬性組成,n稱為屬性元數(shù)。每個(gè)屬性有一個(gè)取值范圍稱為值域。表框架對(duì)應(yīng)了關(guān)系的模式,即類型的概念。在表框架中按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組,實(shí)際上,一個(gè)元組是由n個(gè)元組分量所組成,每個(gè)元組分量是表框架中每個(gè)屬性的投影值。學(xué)號(hào)姓名性別出生年月班級(jí)籍貫張潔然男07-07-8807動(dòng)畫(huà)1班天津李一明男05-01-8707播音5班廣西南寧王 麗女04-09-8807管理4班遼寧沈陽(yáng)劉 宏男1
27、0-11-8807新聞3班江蘇南京*:同一個(gè)關(guān)系模型的任兩個(gè)元組值不能完全相同。主碼:或稱為關(guān)鍵字、主鍵,簡(jiǎn)稱碼、鍵,表中的一個(gè)屬性或幾個(gè)屬性的組合、其值能唯一地標(biāo)識(shí)表中一個(gè)元組的,稱為關(guān)系的主碼或關(guān)鍵字。例如,學(xué)生的學(xué)號(hào)。主碼屬性不能取空值。外部關(guān)鍵字:或稱為外鍵,在一個(gè)關(guān)系中含有與另一個(gè)關(guān)系的關(guān)鍵字相對(duì)應(yīng)的屬性組稱為該關(guān)系的外部關(guān)鍵字。外部關(guān)鍵字取空值或?yàn)橥獠勘碇袑?duì)應(yīng)的關(guān)鍵字值。例如,在學(xué)生表中含有的所屬班級(jí)名字,是班級(jí)表中的關(guān)鍵字屬性,它是學(xué)生表中的外部關(guān)鍵字。關(guān)系中的數(shù)據(jù)約束:(1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關(guān)系之間的基本約束; (3)用
28、戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語(yǔ)義要求。3。關(guān)系代數(shù)( 1).關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。( 2 )關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門(mén)關(guān)系運(yùn)算包括:選擇、投影、連接。( 3 )關(guān)系模型的基本運(yùn)算: 插入 刪除 修改 查詢(包括投影、選擇、笛卡爾積運(yùn)算)還有擴(kuò)充運(yùn)算交、除、連接及自然連接運(yùn)算。在關(guān)系運(yùn)算中,連接運(yùn)算后得到的新表的屬性是運(yùn)算前表中屬性相加。即多于原來(lái)關(guān)系中屬性的個(gè)數(shù)。( 4 )集合運(yùn)算及選擇、投影、連接運(yùn)算 并():關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)?/p>
29、于S的元組構(gòu)成的集合。 差():關(guān)系R和S具有相同的關(guān)系模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合。 交():關(guān)系R和S具有相同的關(guān)系模式,R和S的交是由屬于R且屬于S的元組構(gòu)成的集合。 廣義笛卡爾積():設(shè)關(guān)系R和S的屬性個(gè)數(shù)分別為n、m,則R和S的廣義笛卡爾積是一個(gè)有(n+m)列的元組的集合。每個(gè)元組的前n列來(lái)自R的一個(gè)元組,后m列來(lái)自S的一個(gè)元組,記為RS。*:根據(jù)笛卡爾積的定義:有n元關(guān)系R及m元關(guān)系S,它們分別有p、q個(gè)元組,則關(guān)系R與S經(jīng)笛卡爾積記為RS,該關(guān)系是一個(gè)n+m元關(guān)系,元組個(gè)數(shù)是pq,由R與S的有序組組合而成。 例:有兩個(gè)關(guān)系R和S,分別進(jìn)行并、差、交和廣義笛卡爾積運(yùn)算。(5)在關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中,基本的關(guān)系運(yùn)算有選擇、投影與聯(lián)接三種操作:1)選擇:選擇指的是從二維關(guān)系表的全部記錄中,把那些符合指定條件的記錄挑出來(lái)。(產(chǎn)生新行)2)投影:投影是從所有字段中選取一部分字段及其值進(jìn)行操作,它是一種縱向操作。(產(chǎn)生新列)3)聯(lián)接:聯(lián)接將兩個(gè)關(guān)系模式基于共有屬性拼接成一個(gè)更寬的關(guān)系模式,生成的新關(guān)系中包含滿足聯(lián)接條件的元組。4. 數(shù)據(jù)庫(kù)設(shè)計(jì)與管理(1)數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)應(yīng)用的核心。數(shù)據(jù)庫(kù)設(shè)計(jì)的根本目標(biāo)是解決數(shù)據(jù)共享問(wèn)題.(2)數(shù)據(jù)庫(kù)設(shè)計(jì)的兩種方法:1) 面向數(shù)據(jù):以信息需求為主,兼顧處理需求;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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑項(xiàng)目合同范本:勘察與設(shè)計(jì)
- 山地旅游資源開(kāi)發(fā)承包合同
- 鋼材采購(gòu)合同樣本格式
- 餐飲服務(wù)與廚師雇傭合同范文
- 涂料供應(yīng)與采購(gòu)合同范本
- 合同檔案寄存確認(rèn)書(shū)
- 貸款合同模板:個(gè)人貸款標(biāo)準(zhǔn)合同范本
- 銀行與公司短期貸款合同范例
- 氣動(dòng)系統(tǒng)培訓(xùn)課件
- 海豚培訓(xùn)課件下載
- 2025年中國(guó)CAR-T免疫細(xì)胞治療行業(yè)市場(chǎng)發(fā)展前景研究報(bào)告-智研咨詢發(fā)布
- 妊娠期用藥安全課件
- 月子會(huì)所護(hù)理人員禮儀
- GB/T 44958-2024化工設(shè)備安全管理規(guī)范
- 無(wú)人機(jī)行業(yè)調(diào)查研究報(bào)告
- 2025年軋鋼原料工技能考試題庫(kù)
- 大學(xué)生考研規(guī)劃
- 2022版藝術(shù)新課標(biāo)解讀心得(課件)小學(xué)美術(shù)
- 四川政采評(píng)審專家入庫(kù)考試基礎(chǔ)題復(fù)習(xí)試題
- 車(chē)輛采購(gòu)論證方案
- 《ZARA服裝品牌策劃》課件
評(píng)論
0/150
提交評(píng)論