


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一級公共基礎知識總結第一章數(shù)據(jù)結構與算法1.1算法亙:是一組有窮指令集,是解題方案的準確而憲整的描述。通俗地說,算法就是計算機解題的過程。算法不等于程序,也不等于計算方法,程序的編制不可能優(yōu)于算法的設計。算法是一組嚴謹?shù)囟x運算順序的規(guī)則,每一個規(guī)則都是有效的,且是明確的,此順序將在有限的次數(shù)下終止。所以其四個基本特征包括:(1) 確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性;(2) 有窮性,算法必須能在有限的時間內做完,即能在執(zhí)行有限個步驟后終止;(3) 可行性,算法原則上能夠精確地執(zhí)行;(4) 擁有足夠的情報。算法的基本要素:一是對數(shù)據(jù)對象的運算和操作;二
2、是算法的控制結構。 指令系統(tǒng):一個計算機系統(tǒng)館執(zhí)行的所有指令的集合?;具\算和操作包括:算術運算、邏輯運算、關系運算、數(shù)據(jù)傳輸。算法的三種基本控制結構:幀序結構、選擇結構、循環(huán)結秫算法基本設計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術、回溯法。算法效率的度量一算法復雜度:|算法時間復雜屈算法空間復耘。算法時間復雜度:指執(zhí)行算法所需要的計算工作量。即算法執(zhí)行過程中所需要的基本運算次數(shù)。通常,一個算法所用的時間包括編譯時間和運行時間。算法空間復雜度:指執(zhí)行這個算法所需要的內存空間。包括算法程序所占的空間.輸入的初始數(shù)據(jù)所占 的空間,算法執(zhí)行過程中所需的額外空間。1.2數(shù)據(jù)結構的基本概念數(shù)據(jù)結構
3、:摘相互有關聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結構研究的三個方面:(1) 數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關系,即戰(zhàn)據(jù)的邏輯砸:(2) 在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關系,即|數(shù)據(jù)的存儲結構|;對各種數(shù)據(jù)結構講行的運算。數(shù)據(jù)的邏輯結構應包含:(1) 表示數(shù)據(jù)元素的信息;(2) 表示各數(shù)據(jù)元素之間的前后件關系(指邏輯關系,與存儲位置無關)。數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結構,也稱數(shù)據(jù)物理結構數(shù)據(jù)的存儲結構有順序、鏈接、索引等。線性結構的條件,(一個非空數(shù)據(jù)結構):(1) 有且只有一個根結點;每一個結點最多有一個前件,也最多有一個后件。非線性結構:不滿足線性結構
4、條件的數(shù)據(jù)結構。1.3線性表及其順序存儲結構線性是由 組數(shù)據(jù)兀素構成,數(shù)據(jù)兀素的位置只取決于自己的序號,兀素之間的相對位置是線性的。在復雜線性表中,由若干項數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為是?9由多個記錄構成的線性表稱為文件。 非空線性表的結構特征:(1) 且只有一個根結點它無前件;(2) 有且只有一個終端結點an,它無后件;(3) 除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個后件。結點個數(shù)n稱為唾 裏詬麗,當 nR 時,稱為商線性表的順序存儲結構具有以下兩個基本特點:線性表中所有元素所占的存儲空間是連續(xù)的 ;線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。元素 ai 的
5、存儲地址為:ADR(ai)=ADR(a1) + (i-1)k,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數(shù)。順序表的運算:查找、插入、刪除。1.4線性鏈表數(shù)據(jù)結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱殛。結點由兩部分組成:(1) 用于存儲數(shù)據(jù)元素值,稱為麻埸;(2) 用于存放指針,稱為贈針劃,用于指向前一個或后一個結點。在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。線性單鏈表中,HEAD稱為頭
6、指針,HEAXNULL (或0)稱為陰軋 如果是雙項鏈表的兩指針:I左指釧(Llink)指向前件結點,右指釧(Rlink)指向后 件結點。線性鏈表的基本運算:查找、插入、刪除。1.5ft和隊列凰:限定在一端進行播入與刪除的線性表。其允許插入與刪除的一端稱為桟頂,用指針 top表示棧頂位置。不允許插入與刪除的另一端稱為棧底,用指針bottom表示棧底。棧按照| “先進話(FILO)或后進先出勺(LIFO)組織數(shù)據(jù),棧具有記憶作用。桟的存儲方式有順序存儲和鏈式存儲。棧的基本運算:(1)入棧運算,在桟頂位置插入元素;(2) 退棧運算,刪除元素(取出棧頂元素并賦給一個指定的變量);(3) 讀棧頂元素,
7、將棧頂元素賦給一個指定的變量,此時指針無變化。頑:指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。用rear指針指向隊尾,用 front指針指向隊頭元素的前一個位置。 隊列是I "先進先出四(FIFO)或嚴后進后 出昨(LILO)的線性表匚 隊列運算包括:(1)入隊運算:從隊尾插入一個元素; 退隊運算:從隊頭刪除一個 元素。隊列的順序存儲結構一般采用隊列循環(huán)的形式。循環(huán)隊列s=0表示隊列空;s=1且front=rear表示隊列滿。計算循環(huán)隊列的元素個數(shù):“尾指針減頭指針”,若為負數(shù),再加其容童即可。1.6樹與二叉樹樹是一種簡單的非線性結構,其所有元素之間具有明顯的層
8、次特性。在樹結構中,每一個結點只有一個前件,稱為父結點。沒有前件的結點只有一個,稱為樹的根結點,簡稱材的根。每一個結點可以有多個后件,稱為該結點的子結點。沒在樹結構中,一個結點所擁有的后件的個數(shù)稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。二叉樹I的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。滿二叉樹是指除最后一層外,每一層上的所有結點有兩個子結點,則k層上有2個結點深度為 m的滿 二叉樹有2°T個結點。完全二叉測是指除最后一層外,每一層上的結點數(shù)均達到最大值,在最后一層上只缺少右邊的若干結點。二叉
9、樹基本性質:在二叉樹的第k層上,最多有2i(kM1)個結點; 深度為m的二叉樹最多有2*T個結點;(3) 度為0的結點(即葉子結點)總是比度為2的結點多一個;(4) 具有n個結點的二叉樹,其深度至少為Iog2n +1,其中1。的表示 取log2n的整數(shù)部分(5) 具有n個結點的完全二叉樹的深度為 Iog2n +1;(6) 設完全二叉樹共有n個結點。如果從根結點開始,按層序(每一層從 左到右)用自然數(shù)1,2, -n給結點進行編號(k曰,2?n),有以下結論:%1若k=d,則該結點為根結點,它沒有父結點;若 k>1,則該結點的父結點編號為I NT (k/2):%1若2kWn,則k結點的左子結
10、點編號為2k;否則該結點無左子結點(也無右子結點);%1若2k+1An,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。補充:增加度為1的結點不會影響二叉樹的葉子結點數(shù),每增加一個度為2的結點便會增加一個葉子結點,沒有度為2的結點時葉子結點數(shù)為U已知完全二叉樹有x個結點,求其葉子結點數(shù):%1確定層數(shù)為k;第k層的結點數(shù)y=x-(21-1);第k-1層的葉子結點數(shù)n=2 4 1 “/2若 y/2有余,則要加1>最后y+ru二叉樹存儲結構采用陡式存儲 結構I,對于滿二叉樹與完全二叉樹可以按層序進行順序存儲。二叉樹的遍歷:(1) 前序遍歷I (DLR),首先訪問根結點,然后遍歷
11、左子樹,最后遍歷右子樹;(樹根在第一,下走不跳結點)(2) |中序遍質丨(LDR),首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;(有左先左,再尋根,后找右。最左邊的結點最先遍歷,最右邊的結點最后遍歷)(3) 詬序遍歷丨(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結點。(有左先左,再找右,后尋根,到最右一路上行,樹根在最后)小結:邏輯結構可分為線性表和非線性表。線性表包括棧、隊列,其存儲方式為順序存儲、鏈式存儲均可。鏈式型有:線性鏈表,帶鏈的棧,帶鏈的隊列,循環(huán)鏈表等。非線性表包括樹(二叉樹),其存儲方式為鏈式存儲。1.7查找技術只能使用順序查找的兩種情況:(1) 線性表為無序表
12、,不管是順序存儲還是鏈式存儲;(2) 表采用鏈式存儲結構,即使是有序線性表。二分法查找只適用于順序存儲的有序閡,對于長度為n的有序線性表,最壞情況只需比較llogan I次,而 順序 查找需要比較n次。1.8排序技術排序是指將一個無序序列蔓理成按值非遞減順序排列陛空営。交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為 |n(n T)/2|;(2 )快速排序法。插入類排序法:(1) 簡單插入排序法,最壞情況需要|n(nT)/21次比較;希爾排序法,最壞情況需要叵亜次(2) 比較。選擇類排序法:(1)簡單選擇排序法,最壞情況需要 h呼“ /21次比較;堆排序法,最壞情況需要 0(nlog2n)|次
13、比較。相比以上幾種(除希爾排序法外),堆排序法的時間復雜度最小 O類別方法時間復維交換類冒泡排序相鄰元索憾不滿足條件時交換如)/2快速排序選擇基準兀素1通過交換1劃分成兩個子 序列O(nl og2 n)插入類簡單插入排序盧 pXT待排序的元素看成為-個有序表和-個無序表1將無序表中元素插入到有序表中晦 1)/2希爾排序分割成若千個子序列分別進聞插入排序0(nlj)選擇類簡單選擇排序掃描整個踐性表I從中選岀*小的元素將它交換到表的靈前而晦 1)/2堆排序選建堆撚后將堆頂元素與堆中琦個元素交如再調整為堆O(nlogn)第章程序設計基礎2.1程序設計設計方法和風格"清晰第一、效率第二&qu
14、ot;已成為當今主導的程序設計風格。形成良好的程序設計風格需注意:(詳見書P27)1、源程序文檔化;2、數(shù)據(jù)說明的方法;3、語句的結構;4、輸入和輸出。 注釋謝序言性繇祀功飽性痊蔣。 語句結構|清晰第一、效率第日。2. 2結構化程序設計結構化程序設計方法的四條原則是:自頂向;2、逐步求;3、模塊;4.限制使用goto語句結構化程序的基本結構及特點:化(1) 順序結構:一種簡單的程序設計,最基本、最常用的結構;(2) 選擇結構:又稱分支結構,包括簡單選擇和多分支選擇結構,可根據(jù)條件,判斷應該選擇哪一條分支來執(zhí)行相應的語句序列;(3) 循環(huán)結構:又稱重復結構,可根據(jù)給定條件,判斷是否需要重復執(zhí)行某
15、一相同或類似的程序段。結構化程序設計的特點:只有一個入口和出口2.3面向對象的程序設計面向對象的程序設計的首次提出以 60年代末挪威奧斯陸大學和挪威計算機中心研制的SIMULA語言為標 志O面向對象方法的優(yōu)點:(1) 與人類習慣的思維方法一致;(2)穩(wěn)定性好;(3)可重用性好;(4) 易于開發(fā)大型軟件產品;(5)可維護性好。亟是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向對象的程序設計方法中,對象是由數(shù)據(jù)的容許的操作組成的封裝體,是系統(tǒng)中用來描述客觀事物的-個實體,是構成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。 屬性即對象
16、所包含的信息,它在設計對象時確定,一般只能通過執(zhí)行對象的操作來改變。操作描述了對象執(zhí)行的功能,是對象的動態(tài)屬性,操作史塗為方法或服務對象的基本特點:(3) C (check) -軟件確認;(4) A (act ion) -軟件演進對應回答某必重復類允許的說(1) 標識惟一性;分類性;多態(tài)性;封裝性;(5)模塊獨立性好。囲是指具有共同屬性、共同方法的對象的集合。類是關于對象性質的描述。類是對象的抽象,對象是其 類的一個實例。新?是一個實例與另一個實例之間傳遞的信息。對象間的通信靠消息傳遞。它請求對象執(zhí)行某一處理或 一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。消息的組咸包括:(1) 接收消息的對象的名稱
17、;(2)消息標識符,也稱消息名;(3)零個或多個參數(shù)。畫是使用已有的類定義作為基礎建立新類的定義技術,廣義指能夠直接獲得已有的性質和特征,而不 定義他們。繼承具有傳遞性,一個類實際上繼承了他上層的全部基類的特性。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,即類等級為材形結構:多重繼承指一個有多個父類。多態(tài)性庭指同樣的消息被不同的對象接受時可導致完全不同的行動的現(xiàn)象第三章軟件工程基礎3.1軟件工程基本概念計算機軟件是包桔麗J蘇閡相關文檔I的完整集合。較件的特點包括:(1) 軟件是一種邏輯實體,具有抽象性;(2) 軟件的生產與硬件不同,它沒有明顯的制作過程;(3) 軟件在運行、使用期間
18、不存在磨損、老化問題;(4) 軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導致了軟件移植的問題;(5) 軟件復雜性高,成本昂貴;(6) 軟件開發(fā)涉及諸多的社會因素。軟件按功能分為應用軟件、系統(tǒng)軟件、支撐軟件 (或工具軟件)。軟件危機主要表現(xiàn)在成本、質量、生產率等問題。軟件工程是應用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。簡單就是使軟件走向工程化。軟件工程的核心思想是把軟件產品看作是一個工程產品來處理。 軟件工程包括3個要素:麗:雜網(wǎng)。軟件工程過程是把軟件轉化為輸出的一組彼此相關的資源活動,包含4種基本活動:(1) P(plan)軟件規(guī)格說明;(
19、2) D(do)軟件開發(fā);軟件生命周期:軟件產品從提出、實現(xiàn)、使用維護到停止使用退役的過程。軟件生命周期分三個階段:軟件定義 主要活動階段是:軟件開發(fā)運行維 護(1)可行性研究與計劃制定;(2)需求分析;(3) 軟件設計(概要設計和詳細設計);(4)軟件實現(xiàn);(5)軟件測試;(6)運行和維護。重用要較軟件工程的目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可 性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品?;灸繕耍焊冻鲚^低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需 低的費用;能按時完成開發(fā),及時交付使用。軟件工程
20、的理論和技術性研究的內容主要包括 :軟件開發(fā)技和軟件工程管軟件開發(fā)技術包括:1軟件開發(fā)方法開發(fā)過術開發(fā)工承件工程環(huán)境O學程具軟件開發(fā)環(huán)境或軟件工程環(huán)境是指全面支持軟件開發(fā)全過程的軟件工具的集合。軟件工程管理包括:陜件管理學U軟件工程經濟學I、軟件心理學等內容。軟件管理學包括人員組織、進度妥排、質童保證、配覺管理、項目計劃等。軟件工程基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。3.2結構化分析方法結構化方法的核心和基礎是結構化程序設計吞。軟件定義階段中,可行性研究與計劃的制定是確定持開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開
21、發(fā)的實施計劃。需求分析,對待開發(fā)軟件提出的需求分析并給出詳細的定義。需求分析階段的工作:需求獲取,需求分析,編寫需求規(guī)格說明書,需求評審。需求分析方法有:(1)I結構化需求分析方瀏;%1面向數(shù)據(jù)結構的Jackson方法(ISD);%1面向數(shù)據(jù)流的結構化分析方法 (SA);%1面向數(shù)據(jù)結構的結構化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD);(2) |面向對象的分析的方法| (00A)o 從需求分析建立的模型的特性來分:禪態(tài)手析區(qū)麗芬析 結構化分析方法的實質:著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。纟吉構化分析的常用工具: 黴據(jù)両 ;|判定樹;闋
22、定表I。(1)數(shù)據(jù)流圖(DFD圖):描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系 統(tǒng)功能建模。%1加工(轉換)一一圓框,輸入數(shù)據(jù)經加工變換產生的輸出。%1數(shù)據(jù)流頭,沿箭頭方向傳遞數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名。%1存儲文件(數(shù)據(jù)源)雙橫線,表示處理過程中存放各種數(shù)據(jù)的文件。%1源、潭方框,表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。(2) 數(shù)據(jù)字典:對所有與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶 和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。數(shù)據(jù)字典廉結構化分析的核心。(3)判定樹:從問題定義的文字描述中分清哪些是判定的
23、條件,哪些是判定的結論,根據(jù)描述材料中的 連接詞找出判定條件之間的從屬關系、并列關系、選擇關系,根據(jù)它們構造判定樹。(4)判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組 動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。軟件需求規(guī)軽陰書的特點:正確性;無咬義性;完整性;可驗證性;%1 一致性;可理解性;可修改性;可追蹤性。3. 3結構化設計方法軟件設吃是確定系統(tǒng)的物理模風。|軟件設計廉開發(fā)階段最重要的步驟,是將需求準確地轉化為完整的軟件產品或系統(tǒng)的唯一途徑。系統(tǒng)設計人員和程序設計人員應該在反復理解軟件需求的基礎上,給出軟件結構、模塊的劃分、
24、功能的分配以及處理流程。軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務。從技術觀點來看,軟件設計包括軟件 |結構設計|、|數(shù)據(jù)設計|、接口設計|、|過程設計|。%1結構設計:定義軟件系統(tǒng)各主要部件之間的關系。%1數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉化為數(shù)據(jù)結構的定義。%1接口設計:描述軟件內部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。%1過程設計:把系統(tǒng)結構部件轉換成軟件的過程描述。 從工程管理角度來看,軟件設計分兩步:腕要設計 I利詳細設計I。軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低層次的過程設計;穿插進行數(shù)據(jù)設計和接口設計。軟件設
25、計的基本原理是:(1)抽象;(2)模塊化;(3)信息隱蔽;(4)模塊獨立性。 衡量軟件模塊獨立性使用蒔亙囲內聚性 I兩個定性的度童標準。耦合性是模塊見相互連接的緊密程度的度量。耦合程度取決于各個模塊之間接口的復雜程度、調用方式以及哪些信息通過接口。內聚性是一個模塊內部各個元素間彼此結合的緊密程度的度量O在程序結構中各模塊的內聚性越強,則耦合性越弱。優(yōu)秀軟件應高內聚,低藕召,有利于提高模塊的獨 立性。軟件概要設計的基本任務是:(1)設計軟件系統(tǒng)結構;(2)數(shù)據(jù)結構及數(shù)據(jù)庫設計;(3)編寫概要設計文檔;(4)概要設計文檔評 審。在結構圖中,模塊用一個矩形表示,箭頭表示模塊間的調用關系。可以用帶注釋
26、的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圖的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結構圖的基本形式:基本形式、順序形式、重復形式、選擇形式。結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調模塊。典型的數(shù)據(jù)流類型有兩種:便環(huán)利事務型I。變換型系統(tǒng)結構圖由輸入、中心變換、輸出三部分組成。事務型數(shù)據(jù)流的特點是:接受一項事務,根據(jù)事務處理的特點和性質,選擇分派一個適當?shù)奶幚韱卧?,然后給出結果。詳細設計:是為軟件結構圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構,用某種選定的表達工具表示算法和數(shù)據(jù)結構的細節(jié)。常見的過程設計工具有:圖形工具(程序流程圖(PFD )、一S圖、
27、PAD圖、),表格工具(判定表),語言工具(PDL)。程序流程圖中:箭頭為控制流、方框為加工步驟、菱形為邏輯條件。3.4軟件測試軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試方法:靜態(tài)測試和動態(tài)測試I。靜態(tài)測試包括代碼檢查、靜態(tài)結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:是基本計算機的測試,主要包括白盒測試方法和黑盒測試方法。白盒測試|:也稱結構測試或邏輯測試。在程序內部進行,主要用于完成軟件內部操作的驗證。白盒測試主要考慮內部的邏輯結
28、構。主要方法有邏輯覆蓋、基本路徑測試。黑盒測試I:也稱功能測試或數(shù)據(jù)驅動測試。是在軟件接口處進行,完成功能驗證。黑盒測試完全不考慮程序內部的邏桂結構和內部特性,只依據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的設計要求。主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結構或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認測試。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。驅動測試相當于被測模塊的主程序,它接收測試數(shù)據(jù),并傳給被測模塊,輸出實際測試結果。軟件測試過程一般按 4個步線講行:單元測試、集成測試、驗收測試(確認測試)和系統(tǒng)測試。單元測試是對模塊(程序單元)進行
29、,靜態(tài)動態(tài)均有,動態(tài)時以白盒為主輔之以鳳盒集成測試是測試、組裝軟件。確認測試的任務是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中的各項需求以及軟件配置是否完全正確,先用黑盒。3.5程序的調試程序調試的任務是診斷和改正程序中的錯誤,主要在開發(fā)階段進行。程序調試的基本步驟:(1) 錯誤定位;(2) 修改設計和代碼,以排除錯誤;(3) 進行回歸測試,防止引進新的錯誤。軟件調試可分為靜態(tài)調試和動態(tài)調試。靜態(tài)調試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態(tài)調試是輔助弊態(tài)調試。主要調試方法有:(1)強行排錯法;(2)回溯法;(3)原因排除法。第四章數(shù)據(jù)庫設計基礎4.1數(shù)據(jù)
30、庫系統(tǒng)的基本概念數(shù)據(jù):實際上就是描述事物的符號記錄。軟件的數(shù)據(jù)是有一定的結構,有型與值之分,如整型、實型、字符型等。而數(shù)據(jù)的值給岀了符合定型的值,如整型值15。是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎上建立數(shù)據(jù)庫,是數(shù)據(jù)的集合,具有統(tǒng)一的結構形式并存放于統(tǒng)一的存儲介質內,是多種應用數(shù)據(jù)的集成,并可被各個應用程序共享。數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點。數(shù)據(jù)庫管理系珮一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù) 服務等,數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)的六大功能:(1) 數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構建其
31、數(shù)據(jù)框架;(2) 數(shù)據(jù)存取的物理構建:為數(shù)據(jù)模式的物理存取與構建提供有效的存取方法與手段;(3) 數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡單的算術運算及統(tǒng)計;(4) 數(shù)據(jù)的完整性、安全性定義與檢查;(5) 數(shù)據(jù)庫的并發(fā)控制與故障恢復;(6) 數(shù)據(jù)的服務:如拷貝、轉存、重組、性能監(jiān)測.分析等。為完成以上功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:(1) 數(shù)據(jù)定義語言(DDL):負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建;(2) 數(shù)據(jù)操縱語言(DML)負責數(shù)據(jù)的操縱,如查詢與增、刪、改等;(3) 數(shù)據(jù)控制語言(DCL):負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障
32、恢復等。數(shù)據(jù)語言按其使用方式具有兩種結構形式:交互式命令(又稱自含型或自主型語言):宿主型語言(一般可嵌入某些宿主語言中)。數(shù)據(jù)庫管理員:對數(shù)據(jù)庫進行規(guī)劃、設計、維護、監(jiān)視等的專業(yè)管理人員。數(shù)據(jù)庫系列:由數(shù)據(jù)庫(數(shù)據(jù)人 數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(硬件)、 軟件平臺 (軟件)五個部分構成的運行實體。對數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持數(shù)據(jù)庫應用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應用軟件及應用界面三者組成。數(shù)據(jù)管理發(fā)展的三個階段:人工管理階段,文件系統(tǒng)階段,數(shù)據(jù)庫系統(tǒng)階段。而數(shù)據(jù)獨立性最高的是數(shù)據(jù)庫系統(tǒng)。文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完蔓的、統(tǒng)一的、管理
33、和數(shù)據(jù)共享的能力。層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段:為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。數(shù)據(jù)庫系統(tǒng)的基本特點:數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)獨立性(物理獨立性與邏 輯獨立性)、數(shù)據(jù)統(tǒng)一管理與控制。物理獨立性:用戶的應用程序與存儲在磁盤在踐盤等介質上的數(shù)據(jù)庫是相互獨立的。數(shù)據(jù)庫系統(tǒng)的三級模式:(1) 概念模式:數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結構的描述,全體用戶公共數(shù)據(jù)視圖;(2) 外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;(3) 內模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結構與物理存取方法。數(shù)據(jù)庫系統(tǒng)的兩級映射:(1) 概念模式到內模式的映射;(2) 外模式
34、到概念模式的映射。4. 2數(shù)據(jù)模型數(shù)據(jù)模型:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)據(jù)結構、數(shù)據(jù)操作及數(shù)據(jù)約束。關系模型屬于非格式化模型,而模型和網(wǎng)狀模型屬于格式化模型。E-R模型(實體聯(lián)系模型)的基本概念:現(xiàn)實世界中的事物;(1)實(2)體 屬(3):事物的特性;:現(xiàn)實世界中事物間的關系。實體集間的聯(lián)系有一對一、一對多.多對多的聯(lián)系。E-R 模型基本概念之間的聯(lián)接關系:實體是概念世界中的基本單位,屬性有屬性域,每個實體可取系屬性域內的值。一個實體的所有屬性值叫元組。E-R模型的圖示法:(1)實體集表示形;(2)屬性表橢圓形;(3)聯(lián)系表示菱形。 層次模型的基本結構是樹形結構,具有以下特點:(1) 每棵樹有且僅有一個無雙親結點,稱為框;(2) 樹中除根外所有結點有且僅有一個雙親。從圖論觀點看,網(wǎng)狀模型是一個不加任何條件限制的無向圖。個二維表就是一個關系鍵或碼I。從所有侯選鍵中選取一個作關系模型是數(shù)學化的模型。要用到集合論、離散數(shù)學等理論知識。 關系模型米用二維表來表示,簡稱囲,由表框架及表的兀組組成。 每行數(shù)據(jù)稱為元組。在二維表中凡飽唯一標識元組的最小屬性稱為 為用戶使用的鍵稱主笛。表 A中的某屬性是某表B的鍵,則稱該屬 性集為A的外鍵或外碼。關系中的數(shù)據(jù)約
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文庫發(fā)布:上班會課件
- 護理專業(yè)教學課件
- 初中語言賞析教學課件
- 2024-2025 學年中小學學校工會主席述職報告-
- 寶寶牙齒教學課件
- 教育機構介紹課件模板
- 世界地形教學課件
- 【德州】2025年山東禹城市教育醫(yī)療衛(wèi)生系統(tǒng)事業(yè)單位招聘人員65人筆試歷年典型考題及考點剖析附帶答案詳解
- 題型05 定量實驗探究-備戰(zhàn)2020年中考化學實驗題型特訓(原卷版)
- 新年福利玩?;顒臃桨?/a>
- 新媒體部筆試題目及答案
- 道路旅客運輸安全生產管理制度x
- 人教(部編版)道德與法治八下5.3基本政治制度教學設計
- 黑龍江省2024年普通高校招生體育類本科批院校專業(yè)組投檔分數(shù)線(歷史類)
- 水閘地基施工方案
- 企業(yè)數(shù)字化轉型服務協(xié)議
- 《建立合適邊界:親子教育課件》
- DB37-T 4516-2022 高速公路邊坡光伏發(fā)電工程技術規(guī)范
- 變電所設備更換申請報告
- 2023年遺傳學考試題庫(含答案)
- 課題申報參考:基于多模態(tài)大數(shù)據(jù)的大學生心理危機預警機制研究
評論
0/150
提交評論