二級(jí)等級(jí)考試公共基礎(chǔ)知識(shí)_第1頁
二級(jí)等級(jí)考試公共基礎(chǔ)知識(shí)_第2頁
二級(jí)等級(jí)考試公共基礎(chǔ)知識(shí)_第3頁
二級(jí)等級(jí)考試公共基礎(chǔ)知識(shí)_第4頁
二級(jí)等級(jí)考試公共基礎(chǔ)知識(shí)_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、公共基礎(chǔ)知識(shí)1數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計(jì)基礎(chǔ)軟件工程基礎(chǔ)數(shù)據(jù)庫基礎(chǔ)知識(shí)2第 1 章 數(shù)據(jù)結(jié)構(gòu)與算法一、 算法的基本概念二、 線形結(jié)構(gòu)與非線形結(jié)構(gòu)、棧和對(duì)列的定義三、 二叉樹的定義四、 查找技術(shù)與排序技術(shù)3 一、 算法的基本概念:(1)算法的空間復(fù)雜度:是指算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小。(2)算法的時(shí)間復(fù)雜度:是指執(zhí)行算法所需要的計(jì)算工作量(基本運(yùn)算次數(shù))。(3)算法的基本特征:確定性、可行性、有窮性、擁有足夠的情報(bào)。(4)算法的有窮性:是指一個(gè)算法必須在執(zhí)行有限的步驟以后結(jié)束。4例1:在下列選項(xiàng)中,不是一個(gè)算法一般應(yīng)該具有的基本特征的是_。(5-1)(A) 確定性 (B) 可行性 (C)

2、無窮性 (D) 擁有足夠的情報(bào)例2: 算法的時(shí)間復(fù)雜度是指_。(2-1)(A) 執(zhí)行算法程序所需的時(shí)間 (B) 算法程序的長(zhǎng)度(C) 算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù) (D) 算法程序中的指令條數(shù)例3:算法的空間復(fù)雜度是指_。(3-1)(A) 算法程序的長(zhǎng)度 (B) 算法程序中的指令條數(shù)(C) 算法程序所占的存儲(chǔ)空間 (D) 算法執(zhí)行過程中所需要的存儲(chǔ)空間5例4: 下面敘述正確的是_。(1-1)(A) 算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)(B) 算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)(C) 算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止(D) 算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所

3、需要的時(shí)間例5:在計(jì)算機(jī)中,算法是指_。(6-1)(A) 查詢方法 (B) 加工方法 (C) 解題方案的準(zhǔn)確而完整的描述 (D) 排序方法例6: 算法分析的目的是_。(8-1)(A) 找出數(shù)據(jù)結(jié)構(gòu)的合理性 (B) 找出算法中輸入和輸出之間的關(guān)系(C) 分析算法的易懂性和可靠性 (D) 分析算法的效率以求改進(jìn)6(7)下列敘述中正確的是_。(069)A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間可復(fù)雜度必定小D)上述三種說法都不對(duì)7例9:算法的基本特征是可行性、確定性、_和擁有足夠的情報(bào)。(7-1)例7:算法的

4、復(fù)雜度主要包括時(shí)間復(fù)雜度和_復(fù)雜度。(1-1)空間例8:實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的_。(6-1)空間復(fù)雜度和時(shí)間復(fù)雜有窮性(5)問題處理方案的正確而完整的描述稱為 【5】 。(054) 算法8二、 線形結(jié)構(gòu)與非線形結(jié)構(gòu)、棧和對(duì)列的定義(1)數(shù)據(jù)結(jié)構(gòu)的基本概念 數(shù)據(jù)結(jié)構(gòu)主要研究和討論以下三個(gè)方面的問題: 數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu)。 在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。 對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。9(2)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線形結(jié)構(gòu)與非線

5、形結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件: 有且只有一個(gè)根結(jié)點(diǎn); 每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線形結(jié)構(gòu),又稱線形表。所以線形表、棧與隊(duì)列、線形鏈表都是線形結(jié)構(gòu),而二叉樹是非線形結(jié)構(gòu)。10(3)棧是一種特殊的線性表:只能在固定的一端進(jìn)行插入和刪除操作,后進(jìn)先出表。(4)隊(duì)列可看作是插入在一端(隊(duì)尾)進(jìn)行,刪除在另一端(隊(duì)頭)進(jìn)行的線性表,先進(jìn)先出表。(5)線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來。11(6)循環(huán)鏈表具有兩個(gè)特點(diǎn): 在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我?/p>

6、或根據(jù)需要來設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。 循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。(7)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu):數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式。12例: 以下數(shù)據(jù)結(jié)構(gòu)屬于非線性數(shù)據(jù)結(jié)構(gòu)的是_。(1-2) (A) 隊(duì)列 (B) 線性表 (C) 二叉樹 (D) 棧例:下列敘述中正確的是_。(2-2)(A) 線形表是線形結(jié)構(gòu) (B) 棧與隊(duì)列是非線形結(jié)構(gòu)(C) 線形鏈表是非線形結(jié)構(gòu) (D) 二叉樹是線形結(jié)構(gòu)例:下列關(guān)于棧的敘述中正確的是_。(3-2)(A) 在棧中只能插入數(shù)據(jù) (B) 在棧中只能刪除數(shù)據(jù)(C) 棧是先進(jìn)先出的線性表 (D)

7、 棧是先進(jìn)后出的線性表例:下列關(guān)于隊(duì)列的敘述中正確的是_。(5-3)(A) 在隊(duì)列中只能插入數(shù)據(jù) (B) 在隊(duì)列中只能刪除數(shù)據(jù)(C) 隊(duì)列是先進(jìn)先出的線性表 (D) 隊(duì)列是先進(jìn)后出的線性表13例:棧和隊(duì)列的共同點(diǎn)是_。(6-2)(A) 都是先進(jìn)后出 (B) 都是先進(jìn)后出(C) 只允許在端點(diǎn)處插入和刪除元素 (D) 沒有共同點(diǎn)例:棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是_。(7-2) (A) ABCED (B) DBCEA (C) CDABE (D) DCBEA例:用鏈表表示線性表的優(yōu)點(diǎn)是_。(8-4)(A) 便于插入和刪除操作 (B) 數(shù)據(jù)

8、元素的物理順序與邏輯順序相同(C) 花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少 (D) 便于隨機(jī)存取14例:線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是_。(7-3)(A) 順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)(B) 隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)(C) 隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)(D) 任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)例: 在單鏈表中,增加頭結(jié)點(diǎn)的目的是_。(7-4)(A) 方便運(yùn)算的實(shí)現(xiàn) (B) 使單鏈表至少有一個(gè)結(jié)點(diǎn)(C) 標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置 (D) 說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)15例:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指_。(4-2) (054)(A) 數(shù)據(jù)所占的存儲(chǔ)空間量 (

9、B) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示 (C) 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 (D) 存儲(chǔ)在外存中的數(shù)據(jù) 例:數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的_。(7-1)(A) 存儲(chǔ)結(jié)構(gòu) (B) 物理結(jié)構(gòu) (C) 邏輯結(jié)構(gòu) (D) 物理和存儲(chǔ)結(jié)構(gòu)(2)下列關(guān)于棧的描述中錯(cuò)誤的是_。(054) A) 棧是先進(jìn)后出的線性表 B) 棧只能順序存儲(chǔ) C) 棧具有記憶作用 D) 對(duì)棧的插入與刪除操作中,不需要改變棧底指針16例:在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是_。(4-1)例:棧的基本運(yùn)算有三種:入棧、退棧和_。(5-1)讀棧頂元素循環(huán)鏈表 例:數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 _以及對(duì)數(shù)

10、據(jù)的操作運(yùn)算。(6-2)例:順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置 _存儲(chǔ)單元。(7-2)存儲(chǔ)結(jié)構(gòu)相鄰例:數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的_以及對(duì)數(shù)據(jù)的操作運(yùn)算。(6-2)存儲(chǔ)結(jié)構(gòu)17(5)數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為 【5】 。(064) 邏輯獨(dú)立性 (4)下列敘述中正確的是 (059)A)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)B)數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)C)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率D)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

11、,且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率(4)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 【4】 。(069) 棧(5)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于 【5】(069) 線性結(jié)構(gòu)18三、 二叉樹的定義(1)滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。(2)完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。由定義可知,滿二叉樹肯定是完全二叉樹,而完全二叉樹一般不是滿二叉樹。(3)具有n個(gè)結(jié)點(diǎn)的完全二叉樹,其父結(jié)點(diǎn)數(shù)為int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父結(jié)點(diǎn)數(shù)。19(4)二叉樹第i(i1)層上至多有

12、2i-1個(gè)結(jié)點(diǎn)。(5)二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。 前序遍歷:首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先根結(jié)點(diǎn)左子樹右子樹。 中序遍歷:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先左子樹根結(jié)點(diǎn)右子樹。 20 后序遍歷:首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn);并且,在遍歷左、右子樹時(shí),仍然先左子樹右子樹根結(jié)點(diǎn)。21例: 在一棵二叉樹上第8層的結(jié)點(diǎn)數(shù)最多的是_。(1-3)(A) 8 (B) 16 (C) 128 (D) 256例:在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_。(3-3)(A) 32

13、(B) 31 (C) 16 (D) 15例:下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是_。(2-3)(A) 除了最后一層外,每一層的結(jié)點(diǎn)數(shù)均達(dá)到最大值(B) 可能缺少若干個(gè)左右葉子結(jié)點(diǎn)(C) 完全二叉樹一般不是滿二叉樹(D) 具有結(jié)點(diǎn)的完全二叉樹的深度為log2n+122例:對(duì)下列二叉樹中中序遍歷的結(jié)果是_。(4-3) BACDEF(A) ABCDEF (B) DBEAFC (C) ABDECF (D) DEBFCA23(10)對(duì)下列二叉樹 進(jìn)行中序遍歷的結(jié)果是_。(069) A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG24例: 在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的

14、次序,二叉樹的遍歷可以分為三種:前序遍歷、_遍歷和后序遍歷。(2-1)中序例:設(shè)一棵完全二叉樹共有500個(gè)結(jié)點(diǎn),則在該二叉樹中有_個(gè)葉子結(jié)點(diǎn)。(3-1)25025(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 (064)A)隊(duì)列 B)棧C)雙向鏈表 D)二叉樹(5)下列敘述中正確的是 (064)A)線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) B)棧與隊(duì)列是非線性結(jié)構(gòu)C)雙向鏈表是非線性結(jié)構(gòu) D)只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)(6)對(duì)如下二叉樹(064) 進(jìn)行后序遍歷的結(jié)果為A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為 (064)A)32 B

15、)31 C)64 D)6326四、 查找技術(shù)與排序技術(shù)(1) 順序查找:無序表或鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)線性表。 方法:從線性表的第一個(gè)元素開始,依次將線性表中的元素與被查元素進(jìn)行比較,若相等則表示找到。若線性表中所有元素都與被查元素進(jìn)行比較但都不相等,則表示線性表中沒有要找的元素。 順序查找的效率是很低的。對(duì)于長(zhǎng)度為n的線性表,在最壞的情況下,需要比較n次;在平均情況下,需要比較n/2次。27(2)二分法查找:必須是有序表。 方法:將被查元素X與線性表的中間項(xiàng)的值進(jìn)行比較,若相等則表示找到。若X小于中間項(xiàng)的值,則在線性表的前半部分以相同的方法進(jìn)行查找;若X大于中間項(xiàng)的值,則在線性表的后半部分以相同的方法

16、進(jìn)行查找。 二分法的效率要比順序查找高的多。對(duì)于長(zhǎng)度為n的有序線性表,在最壞的情況下,只需要比較log2n次。28(3)交換類排序: 冒泡排序法是一種最簡(jiǎn)單的交換類排序方法,它是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。 假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2次。 快速排序法也是一種交換類的排序方法。它是從線性表中選取一個(gè)元素T,將表中元素與T比較,小者在前,大者在后,分成兩個(gè)子表;然后在不斷地進(jìn)行同樣的分割。直到所有子表為空。在最壞的情況下,需要的比較次數(shù)為n次。29(4)插入類排序: 所

17、謂插入排序,是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。 簡(jiǎn)單插入排序法是從線性表的第2個(gè)元素開始直到最后一個(gè)元素,逐次將其中的每個(gè)元素插入到前面已經(jīng)有序的子表中。在最壞的情況下,需要的比較次數(shù)為n(n-1)/2次。 希爾排序法屬于插入類排序,但它對(duì)簡(jiǎn)單插入排序做了較大的改進(jìn)。它是將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。在最壞的情況下,需要的比較次數(shù)為n1.5次。30(5) 選擇類排序: 簡(jiǎn)單選擇排序法是掃描整個(gè)線性表,從中選出最小元素,將它交換到表的最前面;然后對(duì)剩下的子表采用同樣的方法,直到子表為空。 假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,簡(jiǎn)單選擇排序需要的比較次數(shù)

18、為n(n-1)/2次。 堆排序法屬于選擇類排序法。在最壞的情況下,需要的比較次數(shù)為nlog2n次。(6) 歸并排序是將兩個(gè)或兩個(gè)以上的有序表組合成一個(gè)新的有序表。因此在排序過程中需要內(nèi)存容量最大。31例:希爾排序法屬于哪一種類型的排序法_。(5-2)(A) 交換類排序法 (B) 插入類排序法 (C) 選擇類排序法 (D) 建堆排序法 例:在下列幾種排序方法中,要求內(nèi)存量最大的是_。(6-4) (A) 插入排序 (B) 選擇排序 (C) 快速排序 (D) 歸并排序例:在長(zhǎng)度為N的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為_。 (5-4)(054) (A) N+1 (B) N (C) (

19、N+1)/2 (D) N/2(8)在長(zhǎng)度為 64 的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為_。(069)A)63 B)64 C)6 D)732例:在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為_。(3-2)n(n-1)/2例:已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是_。(8-3)(A) 堆排序 (B) 直接插入排序 (C) 快速排序 (D) 直接選擇排序例:在最壞的情況下,堆排序需要比較的次數(shù)為_。(8-2)nlog2n例:對(duì)于長(zhǎng)度為N的線性表,在最壞的情況下,下列各排序所對(duì)應(yīng)的比較次數(shù)為_。 (5-4)(054) (A) 冒泡排序?yàn)?n/2 (B) 冒泡排序?yàn)?

20、n (C) 快速排序?yàn)?n (D) 快速排序?yàn)?n(n-1)/233(1)對(duì)長(zhǎng)度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為 【1】 。(064) 45(2)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是(059) A)順序存儲(chǔ)的有序線性表 B)線性鏈表C)二叉鏈表 D)有序線性鏈表(3)下列關(guān)于棧的描述正確的是(059)A)在棧中只能插入元素而不能刪除元素B)在棧中只能刪除元素而不能插入元素C)棧是特殊的線性表,只能在一端插入或刪除元素D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素(4)一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為 【4】 個(gè)。 (059) 3234(1)

21、某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有 【1】 個(gè)葉子結(jié)點(diǎn)。 (054) 19(5)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于 【5】 結(jié)構(gòu)。 (059) 存儲(chǔ)結(jié)構(gòu)(5)下列對(duì)于線性鏈表的描述中正確的是_。(054)A) 存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的B) 存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面C) 存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面D) 存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的35第 2 章 程序設(shè)計(jì)基礎(chǔ)一、結(jié)構(gòu)化程序設(shè)計(jì)二、 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法36 一、結(jié)構(gòu)化程序設(shè)計(jì)(1) 結(jié)構(gòu)化程序設(shè)計(jì)方法的4條原則是: 自頂向下

22、逐步求精 模塊化 限制使用goto語句。(2)與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。(3) 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以保證程序的正確性。37例: 下面描述中,不符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是_。(1-4)使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯(B) 自頂向下(C) 注重提高程序的執(zhí)行效率(D) 限制使用GOTO語句例:在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是_。(6-5)(A) 程序結(jié)構(gòu)應(yīng)有助于讀者理解 (B) 不限制goto語句的使用(C) 減少或取消注解行 (D) 程序越短越好例:結(jié)構(gòu)化程序設(shè)計(jì)方

23、法的主要原則可以概括為自頂向下、逐步求精、_和限制使用goto語句。(2-2) 模塊化38例:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_。(2-4) (A) 程序的規(guī)模 (B) 程序的易讀性 (C) 程序的執(zhí)行效率 (D) 程序的可移植性例:算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成_。(4-1)(A) 循環(huán)、分支、遞歸 (B) 順序、循環(huán)、嵌套 (C) 循環(huán)、遞歸、選擇 (D) 順序、選擇、循環(huán) 例:對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是_。(3-4) (A) 程序應(yīng)簡(jiǎn)單、清晰、可讀性好 (B) 符號(hào)名的命名要符合語法 (C) 充分考慮程序的執(zhí)行效率 (D) 程序的注釋可有可無39(1)下列選項(xiàng)中不屬于結(jié)

24、構(gòu)化程序設(shè)計(jì)方法的是 ( 064) A)自頂向下 B)逐步求精C)模塊化 D)可復(fù)用(1)下列敘述中正確的是 (059) A)程序設(shè)計(jì)就是編制程序 B)程序的測(cè)試必須由程序員自己去完成C)程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試 D)程序經(jīng)調(diào)試改錯(cuò)后不必進(jìn)行再測(cè)試(1)下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是_。(069)A)源程序要文檔化 B)數(shù)據(jù)說明的次序要規(guī)范化C)避免濫用 goto 語句 D)模塊設(shè)主次要保證高耦合、高內(nèi)聚40二、 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 面向?qū)ο蟪绦蛟O(shè)計(jì)的概念:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。強(qiáng)調(diào)

25、模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。41(1) 面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測(cè)試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶?duì)象出發(fā),發(fā)展出對(duì)象,類,消息,繼承等概念。(2) 對(duì)象的概念:對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系。對(duì)象之間通過傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系。42(3) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,它由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。(4) 面向?qū)ο蟮氖澜缡峭ㄟ^

26、對(duì)象與對(duì)象間彼此的相互合作來推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。43(5)類是一個(gè)與對(duì)象緊密相關(guān)的概念。類是一個(gè)抽象的整體概念 ,對(duì)象是類的實(shí)例化。類與對(duì)象是面向?qū)ο蟪绦蛟O(shè)計(jì)語言的基礎(chǔ)。 以“學(xué)生”為例,說明類與對(duì)象的關(guān)系。 學(xué)生是一個(gè)籠統(tǒng)的名稱,是整體概念,我們把學(xué)生看成一個(gè)“類”,一個(gè)個(gè)具體的學(xué)生(比如你自己)就是這個(gè)類的實(shí)例,也就是這個(gè)類的一個(gè)個(gè)對(duì)象。44 控件工具欄中的各種控件并不是對(duì)象,而是代表了各個(gè)不同的類。通過類的實(shí)例化,可以得到真正的對(duì)象。當(dāng)在表單上添加一個(gè)控件時(shí),就將類轉(zhuǎn)換為對(duì)象,即創(chuàng)建了一個(gè)控件對(duì)象,也簡(jiǎn)稱為控件。類對(duì)象45例:下面概念中,

27、不屬于面向?qū)ο蠓椒ǖ氖莀。(1-5)(A) 對(duì)象、消息 (B) 繼承、多態(tài) (C) 類、封裝 (D) 過程調(diào)用例:下面對(duì)對(duì)象概念描述錯(cuò)誤的是_。(3-5)(A) 任何對(duì)象都必須有繼承性 (B) 對(duì)象是屬性和方法的封裝體(C) 對(duì)象間的通訊靠消息傳遞 (D) 操作是對(duì)象的動(dòng)態(tài)性屬性例:在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過發(fā)送_。(4-4)(A) 調(diào)用語句 (B) 命令 (C) 口令 (D) 消息例:面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)_。(3-3)實(shí)體46例:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是_。(5-6)(A)

28、 模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系(B) 強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念(C) 使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題(D) 鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考例:下列哪個(gè)是面向?qū)ο蟪绦蛟O(shè)計(jì)中程序運(yùn)行的最基本實(shí)體_。(7-3) (A) 對(duì)象 (B) 類 (C) 方法 (D) 函數(shù)47例:面向?qū)ο蟮哪P椭校罨镜母拍钍菍?duì)象和_。(6-4)例:在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的_性來實(shí)現(xiàn)的。(5-2)例:一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法,采用這個(gè)方法提高了軟件的_。(6-3)可重用性類封裝(2)在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為 【2】 。

29、(054) 對(duì)象 (2)在面向?qū)ο蠓椒ㄖ校?【2】 描述的是具有相似屬性與操作的一組對(duì)象。(064) 類 48第 3 章 軟件工程基礎(chǔ)一、 軟件工程基本概念二、 結(jié)構(gòu)化分析方法與結(jié)構(gòu)化設(shè)計(jì)方法三、軟件測(cè)試與程序的調(diào)試49 一、 軟件工程基本概念(1)基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:開發(fā)技術(shù)和軟件工程管理。(2) 軟件生命周期:將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。軟件生命周期的主要活動(dòng)階段為: 可行性研究和計(jì)劃制定 需求分析 軟件設(shè)計(jì) 軟件實(shí)現(xiàn) 軟件測(cè)試 運(yùn)行和維護(hù)(3)軟件工程的三要素的是:方法、工具和過程。50(4)軟件工程的基

30、本原則:這些原則包括抽象、信息隱藏、模塊化、局部化、確定性、一致性、完備性和可靠性。 信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說是不能訪問的。 模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。 衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。51例:軟件生命周期中所花費(fèi)用最多的階段是_。(1-7)(A) 詳細(xì)設(shè)計(jì) (B) 軟件編碼 (C) 軟件調(diào)試 (D) 軟件維護(hù)例:在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_。(2-5)(A) 概要設(shè)計(jì) (B) 詳細(xì)設(shè)計(jì) (C) 可行性分析 (D

31、) 需求分析例:下面不屬于軟件工程的3個(gè)要素的是_。(3-6) (A) 工具 (B) 過程 (C) 方法 (D) 環(huán)境例:下面不屬于軟件設(shè)計(jì)原則的是_。(4-7)(A) 抽象 (B) 模塊化 (C) 自底向上 (D) 信息隱藏52例:軟件工程研究的內(nèi)容主要包括:_技術(shù)和軟件工程管理。(4-2)例:軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成_。(8-6)(A) 定義、開發(fā)、運(yùn)行維護(hù) (B) 設(shè)計(jì)階段、編程階段、測(cè)試階段(C) 總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試 (D) 需求分析、功能定義、系統(tǒng)設(shè)計(jì)例:信息隱蔽的概念與下述哪一種概念直接相關(guān)_。(5-5)(A) 軟件結(jié)構(gòu)定義 (B) 模塊獨(dú)立性 (

32、C) 模塊類型劃分 (D) 模擬耦合度軟件開發(fā)53(2)兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為 (064)A)耦合度 B)內(nèi)聚度C)復(fù)雜度 D)數(shù)據(jù)傳輸特性(3)下列敘述中正確的是 (064) A)軟件測(cè)試應(yīng)該由程序開發(fā)者來完成 B)程序經(jīng)調(diào)試后一般不需要再測(cè)試C)軟件維護(hù)只包括對(duì)程序代碼的維護(hù) D)以上三種說法都不對(duì)(5)下列描述中正確的是(059)A)軟件工程只是解決軟件項(xiàng)目的管理問題B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C)軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則D)軟件工程只是解決軟件開發(fā)中的技術(shù)問題54(7)為了使模塊盡可能獨(dú)立,要求_。(054)A) 模塊的內(nèi)

33、聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B) 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)(8)下列描述中正確的是_。(054) A)程序就是軟件 B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制 C)軟件既是邏輯實(shí)體,又是物理實(shí)體 D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合55(2)從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是_。(069)A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì) B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì) C)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)(3)下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是

34、_。(069)A)軟件測(cè)試 B)概要設(shè)計(jì) C)軟件維護(hù) D)詳細(xì)設(shè)計(jì)56二、結(jié)構(gòu)化分析方法與結(jié)構(gòu)化設(shè)計(jì)方法 軟件開發(fā)階段包括:需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試5個(gè)階段。 需求分析:需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。 需求分析階段常用的工具是數(shù)據(jù)流程圖(DFD)和數(shù)據(jù)字典(DD)。 總體設(shè)計(jì): 系統(tǒng)設(shè)計(jì),確定系統(tǒng)的具體實(shí)現(xiàn)方案; 結(jié)構(gòu)設(shè)計(jì),確定軟件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。57 數(shù)據(jù)流圖:從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。 數(shù)據(jù)字

35、典是各類數(shù)據(jù)描述的集合,它通常包括五個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程。 軟件的需求分析階段的工作,可以概括為四個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。58例:在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是_。(1-6)(A) 可行性分析 (B) 需求分析 (C) 詳細(xì)設(shè)計(jì) (D) 程序編碼例:數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是_。(2-6)(A) 控制流 (B) 加工 (C) 數(shù)據(jù)存儲(chǔ) (D) 源和潭例:軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的_。(2-7

36、)(A) 功能需求 (B) 非功能需求 (C) 性能需求 (D) 功能需求和非功能需求59例:程序流程圖(PFD)中的箭頭代表的是_。(3-7)(A) 數(shù)據(jù)流 (B) 控制流 (C) 調(diào)用關(guān)系 (D) 組成關(guān)系例:下列工具中為需求分析常用工具的是_。(4-6) (A) PAD (B) PFD (C) N-S (D) DFD例:在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開發(fā)中的哪個(gè)階段。 (5-7)(A) 詳細(xì)設(shè)計(jì) (B) 需求分析 (C) 總體設(shè)計(jì) (D) 編程調(diào)試?yán)?軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指_。(7-5)(A) 模塊間的關(guān)系 (B) 系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟

37、件的過程描述(C) 軟件層次結(jié)構(gòu) (D) 軟件開發(fā)過程60例:下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是_。(6-7)(A) 便于用戶,開發(fā)人員進(jìn)行理解和交流(B) 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)(C) 作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù) (D) 便于開發(fā)人員進(jìn)行需求分析例:在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示_。(6-8) (A) 控制程序的執(zhí)行順序 (B) 模塊之間的調(diào)用關(guān)系 (C) 數(shù)據(jù)的流向 (D) 程序的組成成分61例: 為了避免流程圖在描述程序邏輯時(shí)靈活性,提出了用框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為_。(7-6) (A) PAD圖 (B) N-S

38、圖 (C) 結(jié)構(gòu)圖 (D) 數(shù)據(jù)流圖例:需求分析階段的任務(wù)是確定_。(7-10) (A) 軟件開發(fā)方法 (B) 軟件開發(fā)工具 (C) 軟件開發(fā)費(fèi)用 (D) 軟件系統(tǒng)功能例:下列不屬于結(jié)構(gòu)化分析的常用工具的是_。(8-5)(A) 數(shù)據(jù)流圖 (B) 數(shù)據(jù)字典 (C) 判定樹 (D) PAD圖62(6)在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是 (059)A)PDL(過程設(shè)計(jì)語言) B)PAD圖 C)N-S圖 D)DFD圖(7)下列敘述中正確的是(059) A)軟件交付使用后還需要進(jìn)行維護(hù)B)軟件一旦交付使用就不需要再進(jìn)行維護(hù)C)軟件交付使用后其生命周期就結(jié)束D)軟件維護(hù)是指修復(fù)程序中被破壞的指令63例:

39、軟件的需求分析階段的工作,可以概括為四個(gè)方面:_、 需求分析、編寫需求規(guī)格說明書和需求評(píng)審。(3-4)例:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是_方法。(4-3)例:數(shù)據(jù)流的類型有_和事物型。(5-3)例:Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國的M.Jackson提出的,它是面向_的設(shè)計(jì)方法。(7-3)需求獲取結(jié)構(gòu)化設(shè)計(jì)變換型數(shù)據(jù)結(jié)構(gòu)64 (1) 軟件測(cè)試方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。 (2) 設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:白盒測(cè)試與黑盒測(cè)試。 (3)軟件測(cè)試過程一般按 4個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)和系統(tǒng)測(cè)試。三、軟件測(cè)試與程序的調(diào)試65 單元測(cè)試: 是對(duì)軟件

40、設(shè)計(jì)的最小單位_模塊(程序單元)進(jìn)行正確性檢驗(yàn)的測(cè)試。單元測(cè)試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。 單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì)說明書和源程序。 單元測(cè)試的技術(shù)可以采用靜態(tài)分析和動(dòng)態(tài)測(cè)試。對(duì)動(dòng)態(tài)測(cè)試通常以白盒動(dòng)態(tài)測(cè)試為主,輔助以黑盒測(cè)試。66 集成測(cè)試: 集成測(cè)試是測(cè)試和組裝軟件的過程。它是把模塊在按照設(shè)計(jì)要求組裝起來的同時(shí)進(jìn)行測(cè)試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。 集成測(cè)試的依據(jù)是概要設(shè)計(jì)說明書。 集成測(cè)試所涉及的內(nèi)容包括:軟件單元的接口測(cè)試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試、邊界條件和非法輸入的測(cè)試等。 集成測(cè)試時(shí)將模塊組裝成程序通常采用兩種方式:非增量方式組裝與增量方式組裝。67 確認(rèn)測(cè)試: 確認(rèn)測(cè)試

41、的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中的確定的各種需求,以及軟件配置是否完全、正確。 系統(tǒng)測(cè)試: 系統(tǒng)測(cè)試是將通過測(cè)試確認(rèn)的軟件,作為整個(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)行一系列的集成測(cè)試和確認(rèn)測(cè)試。68 (4)程序的調(diào)試 程序調(diào)試的基本步驟: 錯(cuò)誤定位 修改設(shè)計(jì)和代碼進(jìn)行回歸測(cè)試。(5)軟件調(diào)試方法 強(qiáng)行排錯(cuò)法 回朔法 原因排除法69例:檢查軟件產(chǎn)品是否符合需求定義的過程稱為_。(4-5)(A) 確認(rèn)測(cè)試 (B) 集成測(cè)試 (C) 驗(yàn)證測(cè)試 (D) 驗(yàn)收測(cè)試?yán)很浖{(diào)試的

42、目的是_。(5-8) (A) 發(fā)現(xiàn)錯(cuò)誤 (B) 改正錯(cuò)誤 (C) 改善軟件的性能 (D) 挖掘軟件的潛能 例:下列不屬于軟件調(diào)試技術(shù)的是_。(6-6)(A) 強(qiáng)行排錯(cuò)法 (B) 集成測(cè)試法 (C) 回朔法 (D) 原因排除法例: 在軟件工程中,白箱測(cè)試可用與測(cè)試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是_。(8-7) (A) 循環(huán)的集合 (B) 地址的集合 (C) 路徑的集合 (D) 目標(biāo)的集合70(6)下列對(duì)于軟件測(cè)試的描述中正確的是_。(054) A) 軟件測(cè)試的目的是證明程序是否正確 B) 軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確 C) 軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤 D) 軟件測(cè)試的目的

43、是使程序符合結(jié)構(gòu)化原則(3)診斷和改正程序中錯(cuò)誤的工作通常稱為 _ 。(054) 程序調(diào)試 (2)_ 的任務(wù)是診斷和改正程序中的錯(cuò)誤。(069) 軟件調(diào)試/程序調(diào)試/調(diào)試71例:軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、_維護(hù)和預(yù)防性維護(hù)。(6-5)例:若按功能劃分,軟件測(cè)試的方法通常分為_測(cè)試方法和黑盒測(cè)試方法。(1-3)例:軟件測(cè)試是保證軟件質(zhì)量的重要手段,而軟件測(cè)試的主要和重要的測(cè)試方法是通過測(cè)試數(shù)據(jù)和_的設(shè)計(jì)來實(shí)現(xiàn)。(2-3)例:測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而_的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。(8-1)白盒測(cè)試實(shí)例完善性 調(diào)試72(4)程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)

44、試。其中_ 是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。(064) 靜態(tài)分析 (3)在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中 _ 的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。(059) 驅(qū)動(dòng)模塊例:下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為 _ (069) 373第 4 章 數(shù)據(jù)庫一、數(shù)據(jù)庫基礎(chǔ)知識(shí)二、關(guān)系數(shù)據(jù)庫 三、數(shù)據(jù)庫設(shè)計(jì)74計(jì)算機(jī)在數(shù)據(jù)管理方面經(jīng)歷了由低級(jí)到高級(jí)的發(fā)展過程。 人工管理階段。 文件系統(tǒng)階段。 數(shù)據(jù)庫管理系統(tǒng)階段。 分布式數(shù)據(jù)庫系統(tǒng) 面向?qū)ο髷?shù)據(jù)庫系統(tǒng) 75數(shù)據(jù)管理三個(gè)階段的比較

45、數(shù)據(jù)控制能力數(shù)據(jù)獨(dú)立性數(shù)據(jù)結(jié)構(gòu)化人 工 管 理不獨(dú)立,依賴于程序數(shù)據(jù)面向?qū)ο髷?shù)據(jù)共享程度數(shù)據(jù)庫系統(tǒng)文 件 系 統(tǒng)應(yīng)用程序自己控制應(yīng)用程序自己控制由DBMS提供數(shù)據(jù)安全性、完整性、并發(fā)控制記錄內(nèi)有結(jié)構(gòu)整體無結(jié)構(gòu)無結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述獨(dú)立性差具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性無共享、冗余度大共享差、冗余度大共享性大、冗余度小某個(gè)應(yīng)用程序某個(gè)應(yīng)用程序現(xiàn)實(shí)世界 數(shù)據(jù)管理者人文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)軟件背景硬件背景無直接存取設(shè)備磁盤、磁鼓大容量磁盤 有文件系統(tǒng)有數(shù)據(jù)庫管理系統(tǒng)沒有操作系統(tǒng)76例:下列關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是(A) 數(shù)據(jù)庫系統(tǒng)只是比文件系統(tǒng)管理的數(shù)據(jù)更多(B) 數(shù)據(jù)庫系

46、統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致(C) 數(shù)據(jù)庫系統(tǒng)避免了數(shù)據(jù)冗余(D) 數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余例:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是_。 數(shù)據(jù)庫系統(tǒng) (B) 文件系統(tǒng) (C) 人工管理 (D) 數(shù)據(jù)項(xiàng)管理77例:分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是_。分布式 B) 數(shù)據(jù)冗余 C) 數(shù)據(jù)分布性和邏輯整體性 D) 位置透明性和復(fù)制透明性例:在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有_。(A) 數(shù)據(jù)無冗余 (B) 數(shù)據(jù)可共享 (C) 專門的數(shù)據(jù)管理軟件 (D) 特定的數(shù)據(jù)模型(1)數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過

47、人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是 _ 。(059) 數(shù)據(jù)庫系統(tǒng) 78 數(shù)據(jù)庫系統(tǒng) 1有關(guān)數(shù)據(jù)庫的概念 數(shù)據(jù)庫 (DB) 數(shù)據(jù)庫(Database)是存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上,結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。 數(shù)據(jù)庫應(yīng)用系統(tǒng) (DBAS) 數(shù)據(jù)庫應(yīng)用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,面向某一類實(shí)際應(yīng)用軟件系統(tǒng)。79 數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫管理系統(tǒng)(Database Management System) 數(shù)據(jù)庫管理系統(tǒng)是對(duì)數(shù)據(jù)實(shí)行專門管理,提供安全性和完整性等統(tǒng)一控制機(jī)制。方便用戶以交互命

48、令或程序方式對(duì)數(shù)據(jù)庫進(jìn)行操作。 數(shù)據(jù)庫系統(tǒng)(DBS) 數(shù)據(jù)庫系統(tǒng)由五部分組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫管理員和用戶。802. 數(shù)據(jù)庫系統(tǒng)的特點(diǎn) (P5) 實(shí)現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余 采用特定的數(shù)據(jù)模型 具有較高的數(shù)據(jù)獨(dú)立性 有統(tǒng)一的數(shù)據(jù)管理與控制功能 813. 數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體 (公共基礎(chǔ)知識(shí) P89)(1)數(shù)據(jù)庫系統(tǒng)的三級(jí)模式 數(shù)據(jù)庫三級(jí)模式體系結(jié)構(gòu)的劃分,有利于保持?jǐn)?shù)據(jù)庫的數(shù)據(jù)獨(dú)立性。 外模式(子模式、用戶模式)是指數(shù)據(jù)庫用戶所看到的數(shù)據(jù)結(jié)構(gòu),用戶所看到的數(shù)據(jù)視圖。 概念模式(模式、邏輯模式)是數(shù)據(jù)庫中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所看到的

49、數(shù)據(jù)視圖的總和。外模式是模式的一部分。82 內(nèi)模式(存儲(chǔ)模式、物理模式)是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。(2)數(shù)據(jù)庫系統(tǒng)的兩級(jí)映射 概念模式到內(nèi)模式的映射 外模式到概念模式的映射 83例:數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為_。數(shù)據(jù)庫管理系統(tǒng) 或 DBMS例:數(shù)據(jù)庫系統(tǒng)的核心是(A) 數(shù)據(jù)模型 (B) DBMS (C) 軟件工具 (D) 數(shù)據(jù)庫 例:數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關(guān)系是(A) DBS包括DB和DBMS (B) DBMS包括DB和

50、DBS (C) DB包括DBS和DBMS (D) DBS就是DB,也就是DBMS(8)數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決 (059) A)數(shù)據(jù)共享問題 B)數(shù)據(jù)安全問題C)大量數(shù)據(jù)存儲(chǔ)問題 D)簡(jiǎn)化數(shù)據(jù)維護(hù)84例:數(shù)據(jù)的物理結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的_。例:數(shù)據(jù)庫系統(tǒng)的三級(jí)模式分別為_模式、內(nèi)部級(jí)模式與外部級(jí)模式。例:數(shù)據(jù)庫三級(jí)模式體系結(jié)構(gòu)的劃分,有利于保持?jǐn)?shù)據(jù)庫的_。內(nèi)模式 (物理模式)概念數(shù)據(jù)獨(dú)立性例:下列模式中,哪個(gè)是用戶模式(A) 內(nèi)模式 (B) 外模式 (C) 概念模式 (D) 邏輯模式例:索引屬于(A) 模式 (B) 內(nèi)模式 (C) 外模式 (D) 概念模式例:?jiǎn)蝹€(gè)用戶使

51、用的數(shù)據(jù)視圖的描述稱為(A) 外模式 (B) 概念模式 (C) 內(nèi)模式 (D) 邏輯模式85數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型:概念數(shù)據(jù)模型:面向客觀世界、面向用戶的模型:它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。邏輯數(shù)據(jù)模型:面向數(shù)據(jù)庫系統(tǒng)的模型,該模型著重于在數(shù)據(jù)庫系統(tǒng)一級(jí)的實(shí)現(xiàn)。物理數(shù)據(jù)模型:面向計(jì)算機(jī)物理表示的模型,此模型給出了數(shù)據(jù)模型在計(jì)算機(jī)上物理結(jié)構(gòu)的表示。 數(shù)據(jù)庫中的數(shù)據(jù)模型所描述的內(nèi)容有三部分: 數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束 862E-R 模型 (實(shí)體聯(lián)系模型) 概念模型是面向現(xiàn)實(shí)世界的它的出發(fā)點(diǎn)是有效和自然地模擬現(xiàn)實(shí)世界,給出數(shù)據(jù)的概念化結(jié)構(gòu)。 E-R模型是被廣泛使用的概念模型。 E-

52、R 模型的基本概念:(1)實(shí)體 實(shí)體是指客觀存在并能夠互相區(qū)別的事物,實(shí)體可以是我們看到的具體人、事、物,也可以是抽象的概念或聯(lián)系。87 (2) 屬性 描述實(shí)體的特性稱為屬性。 (3) 聯(lián)系 現(xiàn)實(shí)世界中事物間的關(guān)聯(lián)稱為聯(lián)系。 實(shí)體間聯(lián)系及聯(lián)系的種類 實(shí)體聯(lián)系是指實(shí)體類型之間的聯(lián)系,它反映了實(shí)體類型之間的某種關(guān)聯(lián)。一對(duì)一聯(lián)系(1:1):班級(jí)和班長(zhǎng)之間存在一對(duì)一的聯(lián)系。一對(duì)多聯(lián)系(1:n):班級(jí)和學(xué)生之間存在一對(duì)多的聯(lián)系。多對(duì)多聯(lián)系(m:n):學(xué)生和課程之間存在多對(duì)多的聯(lián)系。 88 3. 數(shù)據(jù)模型(P7)層次模型 以樹形結(jié)構(gòu)來表示實(shí)體及其之間的聯(lián)系(1:n) 1968年美國IBM公司推出的層次模型

53、的IMS數(shù)據(jù)庫管理系統(tǒng)。例: 學(xué)校組織結(jié)構(gòu)圖 ABCEFGH校部學(xué)院A系A(chǔ)學(xué)院B系B系C系D系E89共同存在問題: 難以實(shí)現(xiàn)系統(tǒng)擴(kuò)充,插入或刪除數(shù)據(jù)時(shí),在于涉及到大量鏈接指針的調(diào)整。 網(wǎng)狀模型 以網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系(m:n) 1969年美國數(shù)據(jù)系統(tǒng)語言研究會(huì)下屬數(shù)據(jù)庫任務(wù)組公布了關(guān)于網(wǎng)狀模型的DBTG報(bào)告。GABCFDE例:城市交通圖90關(guān)系模型 一組二維表表示實(shí)體及其之間的聯(lián)系,建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上。 1970年IBM公司研究員E.F.Codd發(fā)表論文提出了關(guān)系模型。 用二維表結(jié)構(gòu)來表示實(shí)體之間的聯(lián)系。關(guān)系不但可以表示實(shí)體間一對(duì)多的聯(lián)系,通過建立關(guān)系間的關(guān)聯(lián),也可以表示多對(duì)多的聯(lián)系。 關(guān)系模型是建立在關(guān)系代數(shù)基礎(chǔ)上的,因而具有堅(jiān)實(shí)的理 論基礎(chǔ),與層次模型和網(wǎng)狀模型相比,具有數(shù)據(jù)結(jié)構(gòu)單一、理論嚴(yán)密、使用方便、易學(xué)易用的特點(diǎn)。 91Stude

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論