2023年9月全國計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第1頁
2023年9月全國計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第2頁
2023年9月全國計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第3頁
2023年9月全國計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第4頁
2023年9月全國計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)點(diǎn)總結(jié)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二級(jí)公共基礎(chǔ)知識(shí)總結(jié)

第一章數(shù)據(jù)結(jié)構(gòu)與算法

1.1算法

算法:是指解題方案的準(zhǔn)確而完整的描述。算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不也許優(yōu)于算法的設(shè)計(jì)。算法的特性涉及:

(1)可行性;

(2)擬定性,算法中每一環(huán)節(jié)都必須有明擬定義,不充許有模棱兩可的解釋,不允許有多義性;

(3)有窮性,算法必須能在有限的時(shí)間內(nèi)做完,涉及合理的執(zhí)行時(shí)間的含義;

(4)擁有足夠的情報(bào)。

算法的基本要素:一是對數(shù)據(jù)對象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。

指令系統(tǒng):一個(gè)計(jì)算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合。

基本運(yùn)算涉及:算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸。

算法的控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。

算法基本設(shè)計(jì)方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。

算法復(fù)雜度:算法時(shí)間復(fù)雜度和算法空間復(fù)雜度。兩個(gè)之間沒有聯(lián)系的。

算法時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量。

算法空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

1.2數(shù)據(jù)結(jié)構(gòu)的基本基本概念

數(shù)據(jù)結(jié)構(gòu)研究的三個(gè)方面:

(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);

(2)在對數(shù)據(jù)進(jìn)行解決時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);

(3)對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。

數(shù)據(jù)結(jié)構(gòu)是指互相有關(guān)聯(lián)的數(shù)據(jù)元素的集合。

數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等。

線性結(jié)構(gòu)條件:

(1)有且只有一個(gè)根結(jié)點(diǎn);

(2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。

非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。

1.3線性表及其順序存儲(chǔ)結(jié)構(gòu)

線性表是由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號(hào),元素之間的相對位置是線性的。

在復(fù)雜線性表中,由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個(gè)記錄構(gòu)成的線性表又稱為文獻(xiàn)。線性表的順序存儲(chǔ)結(jié)構(gòu)具有以下兩個(gè)基本特點(diǎn):

(1)線性表中所有元素的所占的存儲(chǔ)空間是連續(xù)的;

(2)線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。

1.4棧和隊(duì)列

棧是限定在一端進(jìn)行插入與刪除的線性表。1、先進(jìn)后出FILO;1、支持子程序調(diào)用;2、具有記憶功能;3、可以不用順序存放數(shù)據(jù);4、只可以在top首部進(jìn)行操作,bottom是絕對不動(dòng)的;5、棧的存放數(shù)據(jù)的個(gè)數(shù)為num=(bottom–top)+1;隊(duì)列是指允許在一端(隊(duì)尾)進(jìn)入插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線性表。1、Rear指針指向隊(duì)尾,front指針指向隊(duì)頭。3、先進(jìn)先出FIFO,或者是后進(jìn)后出LILO2、循環(huán)隊(duì)列里面的個(gè)數(shù)計(jì)算方法:A、rear>front的時(shí)候,num=rear–front;B、rear<front的時(shí)候,num=rear+n–front;

1.5線性鏈表

數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)結(jié)點(diǎn)相應(yīng)于一個(gè)存儲(chǔ)單元,這種存儲(chǔ)單元稱為存儲(chǔ)結(jié)點(diǎn),簡稱結(jié)點(diǎn)。

結(jié)點(diǎn)由兩部分組成:(1)用于存儲(chǔ)數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,

在鏈?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)系是由指針域來擬定的。

鏈?zhǔn)酱鎯?chǔ)方式即可用于表達(dá)線性結(jié)構(gòu),也可用于表達(dá)非線性結(jié)構(gòu)。

線性鏈表的基本運(yùn)算:查找、插入、刪除。

1.6樹與二叉樹

樹是一種簡樸的非線性結(jié)構(gòu),所有元素之間具有明顯的層次特性。

在樹結(jié)構(gòu)中,沒有前件的結(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn),簡稱樹的根。每一個(gè)結(jié)點(diǎn)可以有多個(gè)后件,稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)。沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。

在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件的個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。樹的最大層次稱為樹的深度。

二叉樹的特點(diǎn):(1)非空二叉樹只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有兩棵子樹,且分別稱為該結(jié)點(diǎn)的左子樹與右子樹。

二叉樹的基本性質(zhì):必考的題目

(1)在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn);

(2)深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn);

(3)度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè);

(4)二叉樹中n=n0+n1+n滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)有兩個(gè)子結(jié)點(diǎn),則k層上有2k-1個(gè)結(jié)點(diǎn)深度為m的滿二叉樹有2m-1個(gè)結(jié)點(diǎn)。

完全二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)成最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)。

二叉樹存儲(chǔ)結(jié)構(gòu)采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),對于滿二叉樹與完全二叉樹可以按層序進(jìn)行順序存儲(chǔ)。

二叉樹的遍歷:(一般畫個(gè)圖要你把順序?qū)懗鰜恚?/p>

(1)前序遍歷(DLR),一方面訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;

(2)中序遍歷(LDR),一方面遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;

(3)后序遍歷(LRD)一方面遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結(jié)點(diǎn)。

1.7查找技術(shù)

順序查找的使用情況:

長度為n的線性表,找出一個(gè)數(shù)據(jù),最差的情況為比較n次。長度為n的線性表,找出一個(gè)最大數(shù)據(jù),最差的情況為比較n-1次。

二分法查找只合用于順序存儲(chǔ)的有序表,二分查找:對于長度為n的有序線性表,最壞情況只需比較log2n次。

1.8排序技術(shù)

排序是指將一個(gè)無序序列整理成按值非遞減順序排列的有序序列。

互換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2;(2)快速排序法,需要比較的次數(shù)為n(n-1)/2;。

插入類排序法:(1)簡樸插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要O(n1.5)次比較。

選擇類排序法:(1)簡樸選擇排序法,最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要O(nlog2n)次比較。第二章程序設(shè)計(jì)基礎(chǔ)

2.1程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格

注釋分序言性注釋和功能性注釋,語句結(jié)構(gòu)清楚第一、效率第二。不要弄反了。程序一定規(guī)定具有易讀性,可讀性較好。程序設(shè)計(jì)方法有兩種,結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)。

2.2結(jié)構(gòu)化程序設(shè)計(jì)

結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:考試重點(diǎn)都要背下來自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語句。注意,這四個(gè)特點(diǎn)中,最重要的是模塊化。結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點(diǎn):

(1)順序結(jié)構(gòu):一種簡樸的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu);

(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),涉及簡樸選擇和多分支選擇結(jié)構(gòu),

(3)循環(huán)結(jié)構(gòu):可根據(jù)給定條件,判斷是否需要反復(fù)執(zhí)行某一相同程序段。

2.3面向?qū)ο蟮某绦蛟O(shè)計(jì)

面向?qū)ο蟮某绦蛟O(shè)計(jì):以對象為核心。面向?qū)ο缶哂心男┗靖拍睿簩ο?、類和?shí)例、消息、繼承、多態(tài)性、面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn):

(1)與人類習(xí)慣的思維方法一致;

(2)穩(wěn)定性好;

(3)可重用性好;

(4)易于開發(fā)大型軟件產(chǎn)品;

(5)可維護(hù)性好。

對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,對象是?shí)體的抽象。

面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組表達(dá)其靜態(tài)特性的屬性和它可執(zhí)行的一組操作組成。

屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù)。

對象的基本特點(diǎn):

(1)標(biāo)記惟一性;

(2)分類性;

(3)多態(tài)性;重點(diǎn)

(4)封裝性;重點(diǎn)

(5)模塊獨(dú)立性好。

類是指具有共同屬性、共同方法的對象的集合。類是對象的抽象,對象是相應(yīng)類的一個(gè)實(shí)例。

消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息。

消息的組成涉及:接受消息的對象的名稱;(2)消息標(biāo)記符,也稱消息名;(3)零個(gè)或多個(gè)參數(shù)。繼承是指可以直接獲得已有的性質(zhì)和特性,而不必反復(fù)定義他們。

繼承分單繼承和多重繼承。對象也可以沒有繼承。1、單繼承指一個(gè)類只允許有一個(gè)父類,2、多重繼承指一個(gè)類允許有多個(gè)父類。

多態(tài)性是指同樣的消息被不同的對象接受時(shí)可導(dǎo)致完全不同的行動(dòng)的現(xiàn)象第三章軟件工程基礎(chǔ)

3.1軟件工程基本概念

計(jì)算機(jī)軟件是涉及程序、數(shù)據(jù)及相關(guān)文檔的完整集合。

軟件的特點(diǎn)涉及:

(1)軟件是一種邏輯實(shí)體;

(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;

(3)軟件在運(yùn)營、使用期間不存在磨損、老化問題;

(4)軟件的開發(fā)、運(yùn)營對計(jì)算機(jī)系統(tǒng)具有依賴性,(5)軟件復(fù)雜性高,成本昂貴;

(6)軟件開發(fā)涉及諸多的社會(huì)因素。

軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。1、數(shù)據(jù)庫管理系統(tǒng)是系統(tǒng)軟件。2、教務(wù)處管理系統(tǒng)是應(yīng)用軟件。

軟件危機(jī)重要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。

軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。

軟件工程涉及3個(gè)要素:方法、工具、過程。

方法:完畢軟件工程項(xiàng)目的技術(shù)手段。工具:支持軟件的開發(fā)、管理、文檔生成。過程:支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng),包含4種基本活動(dòng):

(1)P——軟件規(guī)格說明;(2)D——軟件開發(fā);(3)C——軟件確認(rèn);(4)A——軟件演進(jìn)。

軟件生命周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程。

軟件生命周期三個(gè)階段:軟件定義、軟件開發(fā)、運(yùn)營維護(hù),重要活動(dòng)階段是:

需求分析是定義階段。具體設(shè)計(jì)和概要設(shè)計(jì)是開發(fā)階段。

軟件工程的目的和與原則:

目的:在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。

基本目的:付出較低的開發(fā)成本;達(dá)成規(guī)定的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能準(zhǔn)時(shí)完畢開發(fā),及時(shí)交付使用。

基本原則:抽象、信息隱蔽、模塊化、局部化、擬定性、一致性、完備性和可驗(yàn)證性。

軟件工程的理論和技術(shù)性研究的內(nèi)容重要涉及:軟件開發(fā)技術(shù)和軟件工程管理。

軟件開發(fā)技術(shù)涉及:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。

軟件工程管理涉及:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。

軟件管理學(xué)涉及人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。

軟件工程原則涉及抽象、信息隱蔽、模塊化、局部化、擬定性、一致性、完備性和可驗(yàn)證性。

3.2結(jié)構(gòu)化分析方法

結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計(jì)理論。

需求分析方法有(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龅姆椒ā?/p>

需求分析階段工作4個(gè)方面:1、需求獲取2、需求分析3、編寫需求規(guī)格說明書(重點(diǎn))4、需求評(píng)審從需求分析建立的模型的特性來分:靜態(tài)分析和動(dòng)態(tài)分析。

結(jié)構(gòu)化分析方法的實(shí)質(zhì):面向數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的解決流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為重要工具,建立系統(tǒng)的邏輯模型。

結(jié)構(gòu)化分析的常用工具:

(1)數(shù)據(jù)流圖;(2)數(shù)據(jù)字典;(3)鑒定樹;(4)鑒定表。

數(shù)據(jù)流圖:描述數(shù)據(jù)解決過程的工具,是需求理解的邏輯模型的圖形表達(dá),它直接支持系統(tǒng)功能建模。

數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。

軟件需求規(guī)格說明書的特點(diǎn):(核心的是無歧義性)

(1)對的性;(2)無岐義性;(3)完整性;(4)可驗(yàn)證性;(5)一致性;(6)可理解性;(7)可追蹤性。

3.3結(jié)構(gòu)化設(shè)計(jì)方法

軟件設(shè)計(jì)的基本目的是用比較抽象概括的方式擬定目的系統(tǒng)如何完畢預(yù)定的任務(wù),軟件設(shè)計(jì)是擬定系統(tǒng)的物理模型。

軟件設(shè)計(jì)是開發(fā)階段最重要的環(huán)節(jié),是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。

從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)涉及軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。。

從工程管理角度來看:概要設(shè)計(jì)和具體設(shè)計(jì)。

軟件設(shè)計(jì)的一般過程:軟件設(shè)計(jì)是一個(gè)迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì)。

衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。耦合性:對一個(gè)軟件結(jié)構(gòu)中不同模塊之間互連限度的度量。內(nèi)聚性:一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密限度的度量。

在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。

軟件概要設(shè)計(jì)的基本任務(wù)是:

(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì);

(3)編寫概要設(shè)計(jì)文檔;(4)概要設(shè)計(jì)文檔評(píng)審。

模塊用一個(gè)矩形表達(dá),箭頭表達(dá)模塊間的調(diào)用關(guān)系。

在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表達(dá)模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的箭頭表達(dá)傳遞的是控制信息,空心圓箭心表達(dá)傳遞的是數(shù)據(jù)。

結(jié)構(gòu)圖的基本形式:基本形式、順序形式、反復(fù)形式、選擇形式。

結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。

典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。

變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。

事務(wù)型數(shù)據(jù)流的特點(diǎn)是:接受一項(xiàng)事務(wù),根據(jù)事務(wù)解決的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)慕鉀Q單元,然后給出結(jié)果。

具體設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊擬定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表達(dá)算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。

常見的過程設(shè)計(jì)工具有:考試重點(diǎn)1、圖形工具(程序流程圖)、2、表格工具(鑒定表)、3、語言工具(PDL)。程序流程圖是考試重點(diǎn),其中->箭頭表達(dá)控制流,<>菱形表達(dá)邏輯條件。

3.4軟件測試

軟件測試定義:使用人工或自動(dòng)手段來運(yùn)營或測定某個(gè)系統(tǒng)的過程,其目的在于檢查它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。

軟件測試的目的:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。

軟件測試方法:靜態(tài)測試和動(dòng)態(tài)測試。

靜態(tài)測試:涉及代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)營軟件,重要通過人工進(jìn)行。

動(dòng)態(tài)測試:是基本計(jì)算機(jī)的測試,重要涉及白盒測試方法和黑盒測試方法。

白盒測試:在程序內(nèi)部進(jìn)行,重要用于完畢軟件內(nèi)部CAO作的驗(yàn)證。重要方法有邏輯覆蓋、基本基途徑測試。

黑盒測試:重要診斷功能不對或漏掉、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤、性能錯(cuò)誤、初始化和終止條件錯(cuò),用于軟件確認(rèn)。白盒重要方法:1、邏輯覆蓋測試2、基本途徑測試。黑盒重要方法:1等價(jià)類劃分法、2邊界值分析法、3錯(cuò)誤推測法、4因果圖。

軟件測試過程一般按4個(gè)環(huán)節(jié)進(jìn)行(要背先后順序):單元測試、集成測試、驗(yàn)收測試(確認(rèn)測試)和系統(tǒng)測試。

3.5程序的調(diào)試

程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,重要在開發(fā)階段進(jìn)行。

軟件調(diào)試可分表靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。靜態(tài)調(diào)試重要是指通過人的思維來分析源程序代碼和排錯(cuò),是重要的設(shè)計(jì)手段,動(dòng)態(tài)調(diào)試是輔助靜態(tài)調(diào)試。調(diào)試方法有:(1)強(qiáng)行排錯(cuò)法;(2)回溯法;(3)因素排除法。第四章數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)

4.1數(shù)據(jù)庫系統(tǒng)的基本概念

數(shù)據(jù):事實(shí)上就是描述事物的符號(hào)記錄。

數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型、實(shí)型、字符型等。數(shù)據(jù)庫:長期存儲(chǔ)在計(jì)算機(jī)內(nèi)部的、有組織、可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的具有集成與共享的特點(diǎn)。數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:

(1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;

(2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等;

(3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。

數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。

數(shù)據(jù)庫管理員:對數(shù)據(jù)庫進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的專業(yè)管理人員。

數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(tái)(硬件)、軟件平臺(tái)(軟件)五個(gè)部分構(gòu)成的運(yùn)營實(shí)體。DBS是最大的涉及其他所有的。

數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。

數(shù)據(jù)庫發(fā)展的三個(gè)階段:人工管理階段、文獻(xiàn)系統(tǒng)階段、數(shù)據(jù)庫管理階段。

數(shù)據(jù)庫系統(tǒng)階段的基本特點(diǎn):1、數(shù)據(jù)的集成性、2、數(shù)據(jù)的高共享性與低冗余性、3、數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)、數(shù)據(jù)統(tǒng)一管理與控制。

數(shù)據(jù)庫系統(tǒng)的三級(jí)模式:

(1)概念模式:數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;

(2)外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;

(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式,可以有多個(gè)外模式。

數(shù)據(jù)庫系統(tǒng)的兩級(jí)映射:

(1)概念模式到內(nèi)模式的映射;

(2)外模式到概念模式的映射。

4.2數(shù)據(jù)模型

數(shù)據(jù)模型的概念:是數(shù)據(jù)特性的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個(gè)抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。

E-R模型的基本概念

(1)實(shí)體:現(xiàn)實(shí)世界中的事物;

(2)屬性:事物的特性;

(3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對一、一對多、多對多的聯(lián)系。

E-R模型的圖示法:(1)實(shí)體集表達(dá)法;(2)屬性表法;(3)聯(lián)系表達(dá)法。E-R模型的:矩形表達(dá)實(shí)體;橢圓表達(dá)矩形;棱形表達(dá)聯(lián)系。

關(guān)系模型采用二維表來表達(dá),簡稱表,由表框架及表的元組組成。1、一個(gè)二維表就是一個(gè)關(guān)系。

2、在二維表中凡能唯一標(biāo)記元組的最小屬性稱為鍵或碼。具有唯一性。3、元組就是二維表中一行,屬性就是二維表表中一列。4、從所有侯選健中選取一個(gè)作為用戶使用的鍵稱主鍵。5、表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。6、分量是不可以再分的。以上六點(diǎn)非常重要。

關(guān)系中的數(shù)據(jù)約束:

(1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;

(2)參照完全性約束:是關(guān)系之間的基本約束;

(3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義規(guī)定。4.3關(guān)系代數(shù)

關(guān)系數(shù)據(jù)庫系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表達(dá)關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。

關(guān)系模型的基本運(yùn)算:

(1)插入(2)刪除(3)修改(4)查詢(涉及投影、選擇、笛卡爾積)

兩個(gè)表的運(yùn)算一般會(huì)考到:投影、鏈接、選擇、笛卡爾積、交、并當(dāng)中的一個(gè)。4.4數(shù)據(jù)庫設(shè)計(jì)與管理

數(shù)據(jù)庫設(shè)計(jì)是數(shù)據(jù)應(yīng)用的核心。

數(shù)據(jù)庫設(shè)計(jì)的兩種方法:

(1)面向數(shù)據(jù):以信息需求為主,兼顧解決需求;

(2)面向過程:以解決需求為主,兼顧信息需求。

數(shù)據(jù)庫的生命周期:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測試階段、運(yùn)營階段、進(jìn)一步修改階段。

需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒ā=Y(jié)構(gòu)化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達(dá)數(shù)據(jù)和解決過程的關(guān)系。對數(shù)據(jù)庫設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行具體的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的重要結(jié)果。

數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,涉及5個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流(可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲(chǔ)、解決過程。

數(shù)據(jù)庫概念設(shè)計(jì)的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系。公共基礎(chǔ)補(bǔ)充知識(shí)點(diǎn)一個(gè)數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)根據(jù)需要可以有多個(gè)存儲(chǔ)結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)的不同,會(huì)導(dǎo)致解決的效率不同。2、程序設(shè)計(jì)方法和技術(shù)的發(fā)展通過了結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì)兩個(gè)階段。3、當(dāng)今程序設(shè)計(jì)的風(fēng)格是“清楚第一,效率第二”。4、程序可以沒有輸入,但是一定要有輸出。5、結(jié)構(gòu)化程序設(shè)計(jì)遵循:自頂向下,逐步求精,模塊化,限制使用goto語句(??迹?。6、面向?qū)ο蟮幕咎攸c(diǎn):標(biāo)志唯一性,分類性,多態(tài)性,封裝性,模塊獨(dú)立性。特別重要的是多態(tài)性和封裝性。沒有類比性。7、多態(tài)性:統(tǒng)一操作可以是不同對象的行為。同樣的消息被不同的對象接受時(shí)可導(dǎo)致不同的動(dòng)作的現(xiàn)象。8、封裝性:從外面看不到對象的內(nèi)部,只能看到對象的外部特性。9、類:是具有共同屬性、共同方法的對象的集合。描述了屬于該對象類型的所有對象的性質(zhì),而一個(gè)對象則是相應(yīng)類的一個(gè)實(shí)例。(??迹?0、消息:是指對象間的互相合作的協(xié)作機(jī)制,是一個(gè)對象與另一個(gè)對象之間的傳遞的消息。11繼承:是指使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。繼承分為單繼承和多繼承。12、面向?qū)ο笾?,類的?shí)例叫做對象。13、源程序文檔化規(guī)定程序應(yīng)當(dāng)加上注釋。注釋一般為序言性注釋和功能性注釋。14、面向?qū)ο蠓椒ê图夹g(shù)是以對象為核心。軟件工程基礎(chǔ)軟件工程的核心思想是把軟件當(dāng)作一個(gè)工程產(chǎn)品來解決。軟件開發(fā)的三個(gè)階段以及每個(gè)階段的任務(wù):定義階段開發(fā)階段維護(hù)階段這個(gè)表請大家抽時(shí)間背下。軟件開發(fā)的三個(gè)階段,每個(gè)階段的工程。軟件開發(fā)方法涉及分析方法,設(shè)計(jì)方法,程序設(shè)計(jì)方法。結(jié)構(gòu)化方法涉及結(jié)構(gòu)化分析方法,結(jié)構(gòu)化設(shè)計(jì)方法,結(jié)構(gòu)化編程方法。結(jié)構(gòu)化分析方法在軟件需求分析階段的應(yīng)用。結(jié)構(gòu)化分析常用的工具中最重要的工具是數(shù)據(jù)流圖。表達(dá)加工,表達(dá)數(shù)據(jù)流,表達(dá)數(shù)據(jù)存儲(chǔ)(數(shù)據(jù)源)表達(dá)源和潭。軟件規(guī)格說明書(SRS)是需求分析階段的最后結(jié)果,是軟件開發(fā)文檔重要的文檔之一。軟件設(shè)計(jì)規(guī)定高耦合性和低內(nèi)聚性是考試的重點(diǎn),要知道什么是耦合,什么是內(nèi)聚。軟件測試和程序調(diào)試的區(qū)別。軟件測試的過程涵蓋了整個(gè)軟件生命周期。目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。10、從是否要執(zhí)行被測試軟件的角度,軟件測試分為靜態(tài)測試和動(dòng)態(tài)測試。11、從功能上劃分,軟件測試分為白盒測試和黑盒測試。12、白盒測試是檢查內(nèi)部成分,方法有:邏輯覆蓋測試方法,基本途徑測試。13、黑盒測試是對軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測試和驗(yàn)證。方法有:等價(jià)類劃分法,邊界值劃分法,錯(cuò)誤推測法。程序調(diào)試的任務(wù):診斷和改正程序中錯(cuò)誤,它和軟件測試不同,調(diào)試重要在開發(fā)階段。軟件調(diào)試方法:強(qiáng)制排錯(cuò)法,回朔法,因素排除法。軟件維護(hù)不屬于軟件生命周期開發(fā)階段的任務(wù)。軟件進(jìn)行了程序調(diào)試后還要進(jìn)行測試。軟件工程的重要思想是:強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化的原則。軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是:DFD圖。結(jié)構(gòu)化分析常見的工具:DFD圖,DD(數(shù)據(jù)字典),鑒定樹,鑒定表。程序和軟件是不同的,軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合。軟件的開發(fā)、運(yùn)營對計(jì)算機(jī)系統(tǒng)具有依賴性。軟件工程的三要素:工具、過程、方法。軟件生命周期中,可以準(zhǔn)確擬定軟件系統(tǒng)必須做什么和必須具有哪些功能的階段是:需求分析。數(shù)據(jù)流圖只具有數(shù)據(jù)流,不具有控制流。數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型。數(shù)據(jù)流的類型有兩種:事務(wù)型和變換型。在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)解決,這些解決可以完畢該作業(yè)規(guī)定的功能,這種數(shù)據(jù)流叫做事務(wù)型數(shù)據(jù)流。程序流程圖中的箭頭代表的是:控制流。在結(jié)構(gòu)化方法中,軟件功能分解屬于總體設(shè)計(jì)階段。內(nèi)聚型中內(nèi)聚性最強(qiáng)的是:功能內(nèi)聚。檢查軟件產(chǎn)品是否符合需求定義的過程是:確認(rèn)測試。軟件危機(jī):泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中碰到的一系列嚴(yán)重的問題。Jackson方法是一種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件開發(fā)工具集合。軟件需求是指用戶對目的軟件系統(tǒng)在功能、行為、性能設(shè)計(jì)約束等方面的盼望。為每一個(gè)模塊擬定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)的是具體設(shè)計(jì)階段的任務(wù)。數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)關(guān)系運(yùn)算是考試的重點(diǎn),考的多的是并和笛卡爾積。不改變屬性但減少元組個(gè)數(shù)的是并。投影也是比較喜歡考的,一般的意思是從4、5個(gè)列中選出2、3個(gè)。笛卡爾

溫馨提示

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

評(píng)論

0/150

提交評(píng)論