全國計(jì)算機(jī)等級(jí)考試二級(jí)
《全國計(jì)算機(jī)等級(jí)考試二級(jí)》由會(huì)員分享,可在線閱讀,更多相關(guān)《全國計(jì)算機(jī)等級(jí)考試二級(jí)(203頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言程序設(shè)計(jì) 考試方式筆試:90分鐘 100分 題型:單選題(40題) 70分 填空題(15題/空) 30分 其中:基礎(chǔ)30分 C程序70分上機(jī):90分鐘 100分 題型:填空 修改正確得分 改錯(cuò) 結(jié)果運(yùn)行正確得分 編程 結(jié)果運(yùn)行正確得分 試題結(jié)構(gòu)分析二級(jí)C一直以來是整個(gè)二級(jí)考試中試題最多、難度最大、報(bào)考人數(shù)也最多的考試,但是從2008年4月份開始筆試由原來120分鐘減少到90分鐘,所以二級(jí)C語言首次題數(shù)減少、單個(gè)題目難度下降(選擇題由原來的50個(gè)題目減少到40個(gè),填空由原來的20空減少到15空,滿分100分保持不變),從而試題整體難度下降。而上機(jī)考試時(shí)間由原來的60分
2、鐘增加至90分鐘,但上機(jī)題目不僅不加難,反而降低難度。所以整個(gè)等級(jí)考試難度是下降的趨勢,08年4月以后開始,等級(jí)考試將沿襲這種題型和題量安排等。 筆試試題分類統(tǒng)計(jì)二級(jí)C各章節(jié)知識(shí)點(diǎn)考察到的題目題號(hào)和分值分析:C語言初步知識(shí) 選擇11-13 共3分順序結(jié)構(gòu) 選擇14-16 填空7 共5分選擇結(jié)構(gòu) 選擇17-20 填空6 共6分循環(huán)結(jié)構(gòu) 選擇21、22 填空8 共6分函數(shù) 選擇32、34 填空11、13 共8分指針/數(shù)組/字符串 選擇23-27、31、33、35、40 填空10-12 共24分預(yù)編譯與動(dòng)態(tài)內(nèi)存 選擇28、39 共4分結(jié)構(gòu)與共用體 選擇29、36 填空14 共6分位運(yùn)算 選擇38 共
3、2分文件 選擇30、37 填空15 共6分?jǐn)?shù)據(jù)結(jié)構(gòu)與算法 選擇5-7 填空2、3 共10分程序設(shè)計(jì)基礎(chǔ) 選擇2 共2分軟件工程基礎(chǔ) 選擇1、3、4 填空1 共8分 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 選擇8-10 填空4、5 共10分其中:選擇110每題2分 選擇1120每題1分 選擇2140每題2分 填空1-15空每空2分 試題特點(diǎn)1、題數(shù)減少以前一共50道選擇題、20個(gè)空的填空題,今年只有40道選擇題,15個(gè)空的填空題。試題數(shù)的減少,使考生有充足的時(shí)間分析和檢查題目。2、單個(gè)題目的難度下級(jí)。在本次二級(jí)C語言筆試試題中,未出現(xiàn)一些特別難的試題,比如沒有出現(xiàn)“指向指針的指 針作函數(shù)參數(shù)”等類型的試題。備考建議:大
4、家可以看出,指針、數(shù)組、字符串無論在筆試還是上機(jī)都是重中之重,既是重點(diǎn)又是難點(diǎn)。C語言程序初步、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)是基礎(chǔ)。編譯預(yù)處理、作用域與存儲(chǔ)類、位運(yùn)算、文件等是難點(diǎn)但不是重點(diǎn),每年都會(huì)考到,但題量都不大。結(jié)構(gòu)體與共用體可以說比較重點(diǎn)又是難點(diǎn)。公共基礎(chǔ)部分除了程序設(shè)計(jì)基礎(chǔ)這一部分,其他三部分旗鼓相當(dāng),都是重點(diǎn)。 考試內(nèi)容基礎(chǔ)部分30分程序設(shè)計(jì)70分上機(jī)100分 基礎(chǔ)部分知識(shí)要點(diǎn)(30分) 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 2. 程序設(shè)計(jì)基礎(chǔ) 3. 軟件工程基礎(chǔ) 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 計(jì)算機(jī)等級(jí)考試(二級(jí)公共基礎(chǔ))考試大綱 基本要求1.掌握算法的基本概念。2.掌握基本數(shù)據(jù)結(jié)構(gòu)及其操作
5、。3.掌握基本排序和查找算法。4.掌握逐步求精的結(jié)構(gòu)化程序設(shè)計(jì)方法。5.掌握軟件工程的基本方法,具有初步應(yīng)用相關(guān)技術(shù)進(jìn)行軟件開發(fā)的能力。6.掌握數(shù)據(jù)庫的基本知識(shí),了解關(guān)系數(shù)據(jù)庫的設(shè)計(jì)。 計(jì)算機(jī)等級(jí)考試(二級(jí)公共基礎(chǔ))考試大綱 考試內(nèi)容一、基本數(shù)據(jù)結(jié)構(gòu)與算法1.算法的基本概念;算法復(fù)雜度的概念和意義(時(shí)間復(fù)雜度與空間復(fù)雜度)。2.數(shù)據(jù)結(jié)構(gòu)的定義;數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)的圖形表示;線性結(jié)構(gòu)與非線性結(jié)構(gòu)的概念。3.線性表的定義;線性表的順序存儲(chǔ)結(jié)構(gòu)及其插入與刪除運(yùn)算。4.棧和隊(duì)列的定義;棧和隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算。5.線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算。6.樹的基本
6、概念;二叉樹的定義及其存儲(chǔ)結(jié)構(gòu);二叉樹的前序、中序和后序遍歷。7.順序查找與二分法查找算法;基本排序算法(交換類排序, 選擇類排序,插入類排序)。 計(jì)算機(jī)等級(jí)考試(二級(jí)公共基礎(chǔ))考試大綱 考試內(nèi)容二、程序設(shè)計(jì)基礎(chǔ)1.程序設(shè)計(jì)方法與風(fēng)格。2.結(jié)構(gòu)化程序設(shè)計(jì)。3.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對(duì)象,方法,屬性及繼承與多態(tài)性。 計(jì)算機(jī)等級(jí)考試(二級(jí)公共基礎(chǔ))考試大綱 考試內(nèi)容三、軟件工程基礎(chǔ)1.軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。2.結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。3.結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。4.軟件測試的方法,白盒測試與黑盒測試,測試用例設(shè)計(jì),
7、軟件測試的實(shí)施,單元測試、集成測試和系統(tǒng)測試。5.程序的調(diào)試,靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。 計(jì)算機(jī)等級(jí)考試(二級(jí)公共基礎(chǔ))考試大綱 考試內(nèi)容四、數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)1.數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)。2.數(shù)據(jù)模型,實(shí)體聯(lián)系模型及E-R圖,從E-R圖導(dǎo)出關(guān)系數(shù)據(jù)模型。3.關(guān)系代數(shù)運(yùn)算,包括集合運(yùn)算及選擇、投影、連接運(yùn)算,數(shù)據(jù)庫規(guī)范化理論。4.數(shù)據(jù)庫設(shè)計(jì)方法和步驟:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)的相關(guān)策略。 考試方式公共基礎(chǔ)知識(shí)有10道選擇題和5道填空題,共三十分。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法1.1 算法 算法:是指解題方案的準(zhǔn)確而完整的描述。 算法不等于程序,也不等計(jì)算機(jī)方法,程序
8、的編制不可能優(yōu)于算法的設(shè)計(jì)。 算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個(gè)規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包括: (1)可行性; (2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性; (3)有窮性,算法必須能在有限的時(shí)間內(nèi)做完,即能在執(zhí)行有限個(gè)步驟后終止,包括合理的執(zhí)行時(shí)間的含義; (4)擁有足夠的情報(bào)。 算法的基本要素:一是對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。 1. 基本數(shù)據(jù)結(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):順序
9、結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 算法基本設(shè)計(jì)方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。 算法復(fù)雜度:算法時(shí)間復(fù)雜度和算法空間復(fù)雜度。 算法時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量。 算法空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法算法考試方式及題型分析單選題算法的時(shí)間復(fù)雜度是指( ) A)執(zhí)行算法程序所需要的時(shí)間 B)算法程序的長度 C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù) D)算法程序中的指令條數(shù)C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 下面敘述正確的是 ( ) A. 算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān) B. 算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù) C. 算
10、法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止 D. 以上三種描述都不對(duì) C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法算法的空間復(fù)雜度是指 ( ) A. 算法程序的長度 B. 算法程序中的指令條數(shù) C. 算法程序所占的存儲(chǔ)空間 D. 算法執(zhí)行過程中所需要的存儲(chǔ)空間 D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是( ) A)輸入、處理、輸出 B)樹形、網(wǎng)形、環(huán)形 C)順序、選擇、循環(huán) D)主程序、子程序、函數(shù) C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成。( ) A. 循環(huán)、分支、遞歸 B. 順序、循環(huán)、嵌套 C. 循環(huán)、遞歸、選擇 D. 順序、選擇、循環(huán) D 1.
11、 基本數(shù)據(jù)結(jié)構(gòu)與算法 在下列選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該具有的基本特征( ) A. 確定性 B. 可行性 C. 無窮性 D. 擁有足夠的情報(bào) C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 在計(jì)算機(jī)中,算法是指( ) A. 查詢方法 B. 加工方法 C. 解題方案的準(zhǔn)確而完整的描述 D. 排序方法 C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法算法分析的目的是 ( ) A. 找出數(shù)據(jù)結(jié)構(gòu)的合理性 B. 找出算法中輸入和輸出之間的關(guān)系 C. 分析算法的易懂性和可靠性 D. 分析算法的效率以求改進(jìn) D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法算法考試方式及題型分析填空題算法的復(fù)雜度主要包括_復(fù)雜度和空間復(fù)雜度。 (時(shí)間) 算法的基本特征是可行性
12、、確定性、_和擁有足夠的情報(bào)。 (有窮性) 實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的 _。(空間復(fù)雜度和時(shí)間復(fù)雜度) 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 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)在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu); (3)對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。 數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。 數(shù)據(jù)的邏輯結(jié)構(gòu)包含: (1)表示數(shù)據(jù)元素的信息; (2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等。 線性結(jié)構(gòu)條件: (1)有且只有一個(gè)
13、根結(jié)點(diǎn); (2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。 非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 1.3 線性表及其順序存儲(chǔ)結(jié)構(gòu) 線性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號(hào),元素之間的相對(duì)位置是線性的。 在復(fù)雜線性表中,由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個(gè)記錄構(gòu)成的線性表又稱為文件。 非空線性表的結(jié)構(gòu)特征: (1)且只有一個(gè)根結(jié)點(diǎn)a1,它無前件; (2)有且只有一個(gè)終端結(jié)點(diǎn)an,它無后件; (3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外,其他所有結(jié)點(diǎn)有且只有一個(gè)前件,也有且只有一個(gè)后件。結(jié)點(diǎn)個(gè)數(shù)n稱為線性表的長度,當(dāng)n=0時(shí),稱為空表。 線性表的順序存
14、儲(chǔ)結(jié)構(gòu)具有以下兩個(gè)基本特點(diǎn): (1)線性表中所有元素的所占的存儲(chǔ)空間是連續(xù)的; (2)線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。 ai的存儲(chǔ)地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個(gè)元素的地址,k代表每個(gè)元素占的字節(jié)數(shù)。 順序表的運(yùn)算:插入、刪除。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 1.4 棧和隊(duì)列 棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。 棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。 棧的基本運(yùn)算: (1)插
15、入元素稱為入棧運(yùn)算; (2)刪除元素稱為退棧運(yùn)算; (3)讀棧頂元素是將棧頂元素賦給一個(gè)指定的變量,此時(shí)指針無變化。 隊(duì)列是指允許在一端(隊(duì)尾)進(jìn)入插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線性表。Rear指針指向隊(duì)尾,front指針指向隊(duì)頭。 隊(duì)列是“先進(jìn)行出”(FIFO)或“后進(jìn)后出”(LILO)的線性表。 隊(duì)列運(yùn)算包括 (1)入隊(duì)運(yùn)算:從隊(duì)尾插入一個(gè)元素; (2)退隊(duì)運(yùn)算:從隊(duì)頭刪除一個(gè)元素。 循環(huán)隊(duì)列:s=0表示隊(duì)列空,s=1且front=rear表示隊(duì)列滿 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 1.5 線性鏈表 數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)結(jié)點(diǎn)對(duì)應(yīng)于一個(gè)存儲(chǔ)單元,這種存儲(chǔ)單元稱為存儲(chǔ)結(jié)點(diǎn),簡稱結(jié)點(diǎn)。 結(jié)點(diǎn)由兩部分
16、組成: (1)用于存儲(chǔ)數(shù)據(jù)元素值,稱為數(shù)據(jù)域; (2)用于存放指針,稱為指針域,用于指向前一個(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)系是由指針域來確定的。 鏈?zhǔn)酱鎯?chǔ)方式即可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。 線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結(jié)點(diǎn),右指針(Rlink)指向后件結(jié)點(diǎn)。 線性鏈表的基本運(yùn)算:查找、插入、刪除。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 1.6 樹與二叉樹 樹是一種簡單的非線性結(jié)構(gòu),所有元素之間具
17、有明顯的層次特性。 在樹結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒有前件的結(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)的左子樹與右子樹。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法二叉樹的基本性質(zhì): (1)在二叉樹的第k層上,最多有2k-1(k1)個(gè)結(jié)點(diǎn); (2)深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn); (3)度為0的結(jié)點(diǎn)(即葉子
18、結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè); (4)具有n個(gè)結(jié)點(diǎn)的二叉樹,其深度至少為log2n+1,其中l(wèi)og2n表示取log2n的整數(shù)部分; (5)具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為log 2n+1; 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法(6)設(shè)完全二叉樹共有n個(gè)結(jié)點(diǎn)。如果從根結(jié)點(diǎn)開始,按層序(每一層從左到右)用自然數(shù)1,2,.n給結(jié)點(diǎn)進(jìn)行編號(hào)(k=1,2.n),有以下結(jié)論: 若k=1,則該結(jié)點(diǎn)為根結(jié)點(diǎn),它沒有父結(jié)點(diǎn);若k1,則該結(jié)點(diǎn)的父結(jié)點(diǎn)編號(hào)為INT(k/2); 若2kn,則編號(hào)為k的結(jié)點(diǎn)的左子結(jié)點(diǎn)編號(hào)為2k;否則該結(jié)點(diǎn)無左子結(jié)點(diǎn)(也無右子結(jié)點(diǎn)); 若2k+1n,則編號(hào)為k的結(jié)點(diǎn)的右子結(jié)點(diǎn)編號(hào)為2k+1;否則該
19、結(jié)點(diǎn)無右子結(jié)點(diǎn)。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法滿二叉樹是指除最后一層外,每一層上的所有結(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),對(duì)于滿二叉樹與完全二叉樹可以按層序進(jìn)行順序存儲(chǔ)。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法二叉樹的遍歷: (1)前序遍歷(DLR),首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹; (2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹; (3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根
20、結(jié)點(diǎn)。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)考試題型分析選擇題數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指( ) A. 數(shù)據(jù)所占的存儲(chǔ)空間量 B. 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示 C. 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D. 存儲(chǔ)在外存中的數(shù)據(jù)B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法下列敘述中,錯(cuò)誤的是()A)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)B)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)C)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的D)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的( )A)存儲(chǔ)結(jié)構(gòu) B)物理結(jié)構(gòu)C)邏輯結(jié)構(gòu) D)物理和存儲(chǔ)結(jié)構(gòu)C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法根據(jù)
21、數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成( )A)動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C)線性結(jié)構(gòu)和非線性結(jié)構(gòu)D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法線性表L=(a1,a2,a3,ai,an),下列說法正確的是()A)每個(gè)元素都有一個(gè)直接前件和直接后件B)線性表中至少要有一個(gè)元素C)表中諸元素的排列順序必須是由小到大或由大到小D)除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是()A)順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)B)順序存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)
22、存取的存儲(chǔ)結(jié)構(gòu)C)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)D)隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是 ( )A. 隊(duì)列B. 線性表C. 二叉樹D. 棧C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法下列關(guān)于棧的敘述正確的是( ) A)棧是非線性結(jié)構(gòu) B)棧是一種樹狀結(jié)構(gòu) C)棧具有先進(jìn)先出的特征 D)棧具有后進(jìn)先出的特征 D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法下列敘述中正確的是( ) A. 線性表是線性結(jié)構(gòu) B. 棧與隊(duì)列是非線性結(jié)構(gòu) C. 線性鏈表是非線性結(jié)構(gòu) D. 二叉樹是線性結(jié)構(gòu)A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法用鏈表表示線性表的優(yōu)點(diǎn)是() A. 便于插入和刪除
23、操作 B. 數(shù)據(jù)元素的物理順序與邏輯順序相同 C. 花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少 D. 便于隨機(jī)存取A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法串的長度是()A)串中不同字符的個(gè)數(shù)B)串中不同字母的個(gè)數(shù)C)串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零D)串中所含字符的個(gè)數(shù)D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法下列關(guān)于棧的敘述中正確的是( ) A. 在棧中只能插入數(shù)據(jù) B. 在棧中只能刪除數(shù)據(jù) C. 棧是先進(jìn)先出的線性表 D. 棧是先進(jìn)后出的線性表D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法下列關(guān)于隊(duì)列的敘述中正確的是( ) A. 在隊(duì)列中只能插入數(shù)據(jù) B. 在隊(duì)列中只能刪除數(shù)據(jù) C. 隊(duì)列是先進(jìn)先出的線性表 D. 隊(duì)列是先進(jìn)后出的線性表C 1.
24、基本數(shù)據(jù)結(jié)構(gòu)與算法棧和隊(duì)列的共同點(diǎn)是() A. 都是先進(jìn)后出 B. 都是先進(jìn)先出 C. 只允許在端點(diǎn)處插入和刪除元素 D. 沒有共同點(diǎn)C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法 棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是() A. ABCED B. DBCEA C. CDABE D. DCBEA D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是()A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D)任意順序B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法在單鏈表中,增加頭結(jié)點(diǎn)的目的是( )A)方便運(yùn)算的實(shí)現(xiàn)
25、 B)使單鏈表至少有一個(gè)結(jié)點(diǎn)C)標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D)說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿足()A)p-next=NULL B)p=NULLC)p-next=head D)p=head C 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法設(shè)樹T的度為4,其中度為1,2,3,4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1。則T中的葉子結(jié)點(diǎn)數(shù)為()A)8 B)7 C)6 D)5 A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是( )A. 8B. 16C. 32D. 15 B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()A)有且
26、只有1 B)1或多于1C)0或1 D)至少2 A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法設(shè)一棵完全二叉樹共有699個(gè)結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為( )A. 349B. 350C. 255D. 351 B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是()A)bdgcefha B)gdbecfha C)bdgaechf D)gdbehfca D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()A. cedbaB. acbedC. decabD. deabc
27、 A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法設(shè)有下列二叉樹:對(duì)此二叉樹前序遍歷的結(jié)果為()A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY BT A BZX CY P 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法設(shè)有下列二叉樹:對(duì)此二叉樹中序遍歷的結(jié)果為()A)ABCDEF B)DBEAFCC)ABDECF D)DEBFCA BD AB E CF 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的_。 (物理結(jié)構(gòu))在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、_遍歷和后序遍歷。 (中序)設(shè)一棵完全二叉樹共有500個(gè)結(jié)點(diǎn),則在該二叉樹
28、中有_個(gè)葉子結(jié)點(diǎn)。(250) 數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的_結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。 (邏輯)棧的基本運(yùn)算有三種:入棧、退棧和_。(讀棧頂元素#讀棧頂?shù)脑?讀出棧頂元素 ) 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 _以及對(duì)數(shù)據(jù)的操作運(yùn)算。(存儲(chǔ)結(jié)構(gòu)) 順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置_的存儲(chǔ)單元中。(相鄰)若二叉樹度為2的節(jié)點(diǎn)數(shù)有17個(gè),則葉節(jié)點(diǎn)數(shù)為 。 (18)若串s=Program,則其子串的數(shù)目是_。 (29) 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法1.7 查找技術(shù) 順序查找的使用情況: (1)線性表為無序表; (2)表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 二分法查找只適用于順序存儲(chǔ)的有序表,對(duì)
29、于長度為n的有序線性表,最壞情況只需比較log2n次。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法1.8 排序技術(shù) 排序是指將一個(gè)無序序列整理成按值非遞減順序排列的有序序列。 交換類排序法: (1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2; (2)快速排序法。 插入類排序法: (1)簡單插入排序法,最壞情況需要n(n-1)/2次比較; (2)希爾排序法,最壞情況需要O(n1.5)次比較。 選擇類排序法: (1)簡單選擇排序法, 最壞情況需要n(n-1)/2次比較; (2)堆排序法,最壞情況需要O(nlog 2n)次比較。 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法排序與查找試題分析選擇題 在待排序的元素序列基本有序的前提下,
30、效 率最高的排序方法是()A)冒泡排序 B)選擇排序C)快速排序 D)歸并排序 A 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法希爾排序法屬于哪一種類型的排序法 ( )A. 交換類排序法B. 插入類排序法C. 選擇類排序法D. 建堆排序法B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法對(duì)長度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為( )A. N+1B. NC. (N+1)/2D. N/2 B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法在下列幾種排序方法中,要求內(nèi)存量最大的是( )A. 插入排序B. 選擇排序C. 快速排序D. 歸并排序D 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是( )A
31、. 堆排序B. 直接插入排序C. 快速排序D. 直接選擇排序B 1. 基本數(shù)據(jù)結(jié)構(gòu)與算法在最壞情況下,堆排序需要比較的次數(shù)為_。 (O(nlog2n) )在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為_。 (n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2) ) 其他 n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有() A. n-1 B. n(n-1) C. n D. n+1 C 2. 程序設(shè)計(jì)基礎(chǔ) 2.1 程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格 良好的程序設(shè)計(jì)風(fēng)格: 1、源程序文檔化; 2、數(shù)據(jù)說明的方法; 3、語句的結(jié)構(gòu); 4、輸入和輸出。 注釋分序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一、效率第
32、二。 2. 程序設(shè)計(jì)基礎(chǔ) 2.2 結(jié)構(gòu)化程序設(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:1. 自頂向下;2. 逐步求精;3.模塊化;4.限制使用goto語句。 結(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),可根據(jù)條件,判斷應(yīng)該選擇哪一條分支來執(zhí)行相應(yīng)的語句序列; (3)重復(fù)結(jié)構(gòu):又稱循環(huán)結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。 2. 程序設(shè)計(jì)基礎(chǔ) 2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì):以60年代末挪威奧斯陸大學(xué)和挪威計(jì)算機(jī)中心研制的SIMULA語言為標(biāo)志。 面向?qū)ο蠓椒?/p>
33、的優(yōu)點(diǎn): 1、與人類習(xí)慣的思維方法一致; 2、穩(wěn)定性好; 3、可重用性好; 4、易于開發(fā)大型軟件產(chǎn)品; 5、可維護(hù)性好。 對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實(shí)體,對(duì)象是實(shí)體的抽象。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。 2. 程序設(shè)計(jì)基礎(chǔ) 屬性即對(duì)象所包含的信息,操作描述了對(duì)象執(zhí)行的功能,操作也稱為方法或服務(wù)。 對(duì)象的基本特點(diǎn): 1、標(biāo)識(shí)惟一性; 2、分類性; 3、多態(tài)性; 4、封裝性; 5、模塊獨(dú)立性好。 類是指具有共同屬性、共同方法的對(duì)象的集合。所以類是對(duì)
34、象的抽象,對(duì)象是對(duì)應(yīng)類的一個(gè)實(shí)例。 2. 程序設(shè)計(jì)基礎(chǔ) 消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息。 消息的組成包括: 1、接收消息的對(duì)象的名稱; 2、消息標(biāo)識(shí)符,也稱消息名; 3、零個(gè)或多個(gè)參數(shù)。 繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。 繼承分單繼承和多重繼承。單繼承指一個(gè)類只允許有一個(gè)父類,多重繼承指一個(gè)類允許有多個(gè)父類。 多態(tài)性是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng)的現(xiàn)象。 2. 程序設(shè)計(jì)基礎(chǔ) 程序設(shè)計(jì)試題及分析選擇題下面對(duì)對(duì)象概念描述錯(cuò)誤的是() A)任何對(duì)象都必須有繼承性 B)對(duì)象是屬性和方法的封裝體 C)對(duì)象間的通訊靠消息傳遞 D)操作是對(duì)象的動(dòng)態(tài)屬
35、性A 2. 程序設(shè)計(jì)基礎(chǔ) 在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是( ) A)不限制goto語句的使用 B)減少或取消注解行 C)程序越短越好 D)程序結(jié)構(gòu)應(yīng)有助于讀者理解D 2. 程序設(shè)計(jì)基礎(chǔ) 結(jié)構(gòu)化程序設(shè)計(jì)的一種基本方法是() A)篩選法 B)遞歸法 C)歸納法 D)逐步求精法D 2. 程序設(shè)計(jì)基礎(chǔ) 下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是() A. 使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯 B. 模塊只有一個(gè)入口,可以有多個(gè)出口 C. 注重提高程序的執(zhí)行效率 D. 不使用goto語句A 2. 程序設(shè)計(jì)基礎(chǔ) 下列敘述中,不屬于結(jié)構(gòu)化分析方法的是() A)面向數(shù)據(jù)流的結(jié)構(gòu)化分析方
36、法 B)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法 C)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法 D)面向?qū)ο蟮姆治龇椒― 2. 程序設(shè)計(jì)基礎(chǔ) 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是() A. 程序的規(guī)模 B. 程序的易讀性 C. 程序的執(zhí)行效率 D. 程序的可移植性B 2. 程序設(shè)計(jì)基礎(chǔ) 對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是() A. 程序應(yīng)簡單、清晰、可讀性好 B. 符號(hào)名的命名要符合語法 C. 充分考慮程序的執(zhí)行效率 D. 程序的注釋可有可無A 2. 程序設(shè)計(jì)基礎(chǔ) 下面對(duì)對(duì)象概念描述錯(cuò)誤的是() A. 任何對(duì)象都必須有繼承性 B. 對(duì)象是屬性和方法的封裝體 C. 對(duì)象間的通訊靠消息傳遞 D. 操作是對(duì)象的動(dòng)
37、態(tài)性屬性A 2. 程序設(shè)計(jì)基礎(chǔ) 對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對(duì)數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行() A)結(jié)合 B)隱藏 C)封裝 D)抽象C 2. 程序設(shè)計(jì)基礎(chǔ) 下面概念中,不屬于面向?qū)ο蠓椒ǖ氖牵ǎ?A. 對(duì)象 B. 繼承 C. 類 D. 過程調(diào)用D 2. 程序設(shè)計(jì)基礎(chǔ) 在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過發(fā)送() A. 調(diào)用語句 B. 命令 C. 口令 D. 消息D 2. 程序設(shè)計(jì)基礎(chǔ) 面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是() A. 模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系 B. 強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念 C. 使用現(xiàn)實(shí)世界的概念抽象地思考
38、問題從而自然地解決問題 D. 鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考C 2. 程序設(shè)計(jì)基礎(chǔ) 結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、_和限制使用goto語句。 (模塊化) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)_。(實(shí)體)在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對(duì)象的_性來實(shí)現(xiàn)的。 (封裝)一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的_。 (可重用性) 2. 程序設(shè)計(jì)基礎(chǔ) 面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和 _。 (類) Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國的M.Jackson提出的,它是一種面向_的設(shè)計(jì)
39、方法。 (數(shù)據(jù)結(jié)構(gòu))與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是_方法。 (結(jié)構(gòu)化設(shè)計(jì)) 3. 軟件工程基礎(chǔ) 3.1 軟件工程基本概念 計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。 軟件的特點(diǎn)包括: (1)軟件是一種邏輯實(shí)體; (2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程; (3)軟件在運(yùn)行、使用期間不存在磨損、老化問題; (4)軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題; (5)軟件復(fù)雜性高,成本昂貴; (6)軟件開發(fā)涉及諸多的社會(huì)因素。 3. 軟件工程基礎(chǔ) 軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。 軟件危機(jī)主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問
40、題。 軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。 軟件工程包括3個(gè)要素:方法、工具和過程。 軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng),包含4種基本活動(dòng): (1)P軟件規(guī)格說明;(2)D軟件開發(fā);(3)C軟件確認(rèn);(4)A軟件演進(jìn)。 3. 軟件工程基礎(chǔ) 軟件周期:軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程。 軟件生命周期三個(gè)階段:軟件定義、軟件開發(fā)、運(yùn)行維護(hù),主要活動(dòng)階段是: 1、可行性研究與計(jì)劃制定; 2、需求分析; 3、軟件設(shè)計(jì); 4、軟件實(shí)現(xiàn); 5、軟件測試; 6、運(yùn)行和維護(hù)。 3. 軟件工程基礎(chǔ) 軟件工程的目標(biāo)和與原則:
41、 目標(biāo):在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。 基本目標(biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能按時(shí)完成開發(fā),及時(shí)交付使用。 基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。 3. 軟件工程基礎(chǔ) 軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。 軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。 軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。 軟件
42、管理學(xué)包括人員組織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計(jì)劃等。 軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。 3. 軟件工程基礎(chǔ) 3.2 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計(jì)理論。 需求分析方法有: 1、結(jié)構(gòu)化需求分析方法; 2、面向?qū)ο蟮姆治龅姆椒ā?從需求分析建立的模型的特性來分:靜態(tài)分析和動(dòng)態(tài)分析。 結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。 3. 軟件工程基礎(chǔ) 結(jié)構(gòu)化分析的常用工具: 1、數(shù)據(jù)流圖;2、數(shù)據(jù)字典;3、判定樹;4、判定表。 數(shù)據(jù)流圖
43、:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。 數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。 判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個(gè)邏輯條件的取值,即完成該加工的一組動(dòng)作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。 數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。 3. 軟件工程基礎(chǔ)
44、軟件需求規(guī)格說明書的特點(diǎn): 1、正確性; 2、無岐義性; 3、完整性; 4、可驗(yàn)證性; 5、一致性; 6、可理解性; 7、可追蹤性。 3. 軟件工程基礎(chǔ) 3.3 結(jié)構(gòu)化設(shè)計(jì)方法 軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。 軟件設(shè)計(jì)是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。 3. 軟件工程基礎(chǔ) 從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。 (1)結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各主要部件之間的關(guān)系。 (2)數(shù)據(jù)設(shè)計(jì):將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。 (3)接口設(shè)計(jì):描述軟件內(nèi)部
45、、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。 (4)過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。 3. 軟件工程基礎(chǔ) 從工程管理角度來看:概要設(shè)計(jì)和詳細(xì)設(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)。 在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。 3. 軟件工程基礎(chǔ) 軟件概要設(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)審。 3. 軟件工程基礎(chǔ) 模塊用一個(gè)矩
46、形表示,箭頭表示模塊間的調(diào)用關(guān)系。 在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。 結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。 結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。 3. 軟件工程基礎(chǔ) 典型的數(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ù)奶幚韱卧?,然后給出結(jié)果。 詳細(xì)設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工
47、具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。 常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。 3. 軟件工程基礎(chǔ) 3.4 軟件測試 軟件測試定義:使用人工或自動(dòng)手段來運(yùn)行或測定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。 軟件測試的目的:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。 軟件測試方法:靜態(tài)測試和動(dòng)態(tài)測試。 (1)靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。 (2)動(dòng)態(tài)測試:是基本計(jì)算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法 軟件測試過程一般按4個(gè)步驟進(jìn)行:單元測試、集成測試、驗(yàn)收測試(確認(rèn)
48、測試)和系統(tǒng)測試。 3. 軟件工程基礎(chǔ) 白盒測試方法和黑盒測試白盒測試:在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證。主要方法有邏輯覆蓋、基本基路徑測試。 黑盒測試:主要診斷功能不對(duì)或遺漏、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤、性能錯(cuò)誤、初始化和終止條件錯(cuò),用于軟件確認(rèn)。主要方法有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖等。 3. 軟件工程基礎(chǔ) 3.5 程序的調(diào)試 程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,主要在開發(fā)階段進(jìn)行。 程序調(diào)試的基本步驟: 1、錯(cuò)誤定位; 2、修改設(shè)計(jì)和代碼,以排除錯(cuò)誤; 3、進(jìn)行回歸測試,防止引進(jìn)新的錯(cuò)誤。 軟件調(diào)試可分表靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試。靜態(tài)調(diào)試主要是指
49、通過人的思維來分析源程序代碼和排錯(cuò),是主要的設(shè)計(jì)手段,而動(dòng)態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:1、強(qiáng)行排錯(cuò)法;2、回溯法;3、原因排除法。 3. 軟件工程基礎(chǔ) 軟件工程試題及分析選擇題軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成() A)定義、開發(fā)、運(yùn)行維護(hù) B)設(shè)計(jì)階段、編程階段、測試階段 C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試 D)需求分析、功能定義、系統(tǒng)設(shè)計(jì) A 3. 軟件工程基礎(chǔ) 下列工具中為需求分析常用工具的是() A)PAD B)PFD C)N-S D)DFD開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是() A)大系統(tǒng)的復(fù)雜性 B)人員知識(shí)不足 C)客觀世界千變?nèi)f化 D)時(shí)間緊、任務(wù)重AD
50、 3. 軟件工程基礎(chǔ) 下面不屬于軟件工程的3個(gè)要素的是( ) A)工具 B)過程 C)方法 D)環(huán)境為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為( ) A)PAD圖 B)N-S圖 C)結(jié)構(gòu)圖 D)數(shù)據(jù)流圖在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是( ) A)路徑的集合 B)循環(huán)的集合 C)目標(biāo)的集合 D)地址的集合DBA 3. 軟件工程基礎(chǔ) 軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指() A)模塊間的關(guān)系 B)系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述 C)軟件層次結(jié)構(gòu) D)軟件開發(fā)過程B 3. 軟件工
51、程基礎(chǔ) 完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例的測試方法是() A)黑箱測試法 B)白箱測試法 C)錯(cuò)誤推測法 D)安裝測試法A 3. 軟件工程基礎(chǔ) 數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是() A)控制流 B)加工 C)數(shù)據(jù)存儲(chǔ) D)源和終分析:數(shù)據(jù)流圖4種基本符號(hào):正方形或立方體代表源點(diǎn)或終點(diǎn);圓角矩形或圓形代表數(shù)據(jù)處理;開口矩形或兩平行線代表數(shù)據(jù)存儲(chǔ);箭頭代表數(shù)據(jù)流A 3. 軟件工程基礎(chǔ) 下列不屬于軟件調(diào)試技術(shù)的是() A)強(qiáng)行排錯(cuò)法 B)集成測試法 C)回溯法 D)原因排除法軟件生命
52、周期中花費(fèi)時(shí)間最多的階段是() A)詳細(xì)設(shè)計(jì) B)軟件編碼 C)軟件測試 D)軟件維護(hù)軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是() A)低內(nèi)聚低耦合 B)低內(nèi)聚高耦合 C)高內(nèi)聚低耦合 D)高內(nèi)聚高耦合CBD 3. 軟件工程基礎(chǔ) 信息隱蔽的概念與下述哪一種概念直接相關(guān)?() A)軟件結(jié)構(gòu)定義 B)模塊獨(dú)立性 C)模塊類型劃分 D)模塊耦合度在軟件生產(chǎn)過程中,需求信息的給出是() A)程序員 B)項(xiàng)目管理者 C)軟件分析設(shè)計(jì)人員 D)軟件用戶下列敘述中,不屬于測試的特征的是() A)測試的挑剔性 B)完全測試的不可能性 C)測試的可靠性 D)測試的經(jīng)濟(jì)性CBD 3. 軟件工程基礎(chǔ) 在結(jié)構(gòu)化設(shè)
53、計(jì)方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示() A)模塊之間的調(diào)用關(guān)系 B)程序的組成成分 C)控制程序的執(zhí)行順序 D)數(shù)據(jù)的流向檢查軟件產(chǎn)品是否符合需求定義的過程稱為() A)確認(rèn)測試 B)集成測試 C)驗(yàn)證測試 D)驗(yàn)收測試下面不屬于軟件設(shè)計(jì)原則的是() A)抽象 B)模塊化 C)自底向上 D)信息隱蔽CAA 3. 軟件工程基礎(chǔ) 下面不屬于靜態(tài)測試方法的是() A)代碼檢查 B)白盒法 C)靜態(tài)結(jié)構(gòu)分析 D)代碼質(zhì)量度量在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是( ) A. 可行性分析 B. 需求分析 C. 詳細(xì)設(shè)計(jì) D. 程序編碼在軟件開發(fā)中,下面任務(wù)不
54、屬于設(shè)計(jì)階段的是( ) A. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) B. 給出系統(tǒng)模塊結(jié)構(gòu) C. 定義模塊算法 D. 定義需求并建立系統(tǒng)模型DBB 3. 軟件工程基礎(chǔ) 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是( ) A. 概要設(shè)計(jì) B. 詳細(xì)設(shè)計(jì) C. 可行性分析 D. 需求分析 軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及( ) A. 階段性報(bào)告 B. 需求評(píng)審 C. 總結(jié) D. 都不正確下面不屬于軟件工程的3個(gè)要素的是( ) A. 工具 B. 過程 C. 方法 D. 環(huán)境DDB 3. 軟件工程基礎(chǔ) 程序流程圖(PFD)中的箭頭代表的是( )
55、 A. 數(shù)據(jù)流 B. 控制流 C. 調(diào)用關(guān)系 D. 組成關(guān)系檢查軟件產(chǎn)品是否符合需求定義的過程稱為( ) A. 確認(rèn)測試 B. 集成測試 C. 驗(yàn)證測試 D. 驗(yàn)收測試下列工具中屬于需求分析常用工具的是( ) A. PAD B. PFD C. N-S D. DFD ADB 3. 軟件工程基礎(chǔ) 下面不屬于軟件設(shè)計(jì)原則的是( ) A. 抽象 B. 模塊化 C. 自底向上 D. 信息隱蔽在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是( ) A. 詳細(xì)設(shè)計(jì) B. 需求分析 C. 總體設(shè)計(jì) D. 編程調(diào)試軟件調(diào)試的目的是( ) A. 發(fā)現(xiàn)錯(cuò)誤 B. 改正錯(cuò)誤 C. 改善軟件的性能 D. 挖掘軟件
56、的潛能CBC 3. 軟件工程基礎(chǔ) 下列不屬于軟件調(diào)試技術(shù)的是( ) A. 強(qiáng)行排錯(cuò)法 B. 集成測試法 C. 回溯法 D. 原因排除法下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是( ) A. 便于用戶、開發(fā)人員進(jìn)行理解和交流 B. 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù) C. 作為確認(rèn)測試和驗(yàn)收的依據(jù) D. 便于開發(fā)人員進(jìn)行需求分析 在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示( ) A. 控制程序的執(zhí)行順序 B. 模塊之間的調(diào)用關(guān)系 C. 數(shù)據(jù)的流向 D. 程序的組成成分DB C 3. 軟件工程基礎(chǔ) 軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指( ) A
57、. 模塊間的關(guān)系 B. 系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述 C. 軟件層次結(jié)構(gòu) D. 軟件開發(fā)過程為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為( ) A. PAD圖 B. N-S圖 C. 結(jié)構(gòu)圖 D. 數(shù)據(jù)流圖 需求分析階段的任務(wù)是確定( ) A. 軟件開發(fā)方法 B. 軟件開發(fā)工具 C. 軟件開發(fā)費(fèi)用 D. 軟件系統(tǒng)功能BBD 3. 軟件工程基礎(chǔ) 下列不屬于結(jié)構(gòu)化分析的常用工具的是( ) A. 數(shù)據(jù)流圖 B. 數(shù)據(jù)字典 C. 判定樹 D. PAD圖 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成( ) A. 定義、開發(fā)、運(yùn)行維護(hù) B. 設(shè)計(jì)階
58、段、編程階段、測試階段 C. 總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試 D. 需求分析、功能定義、系統(tǒng)設(shè)計(jì)在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是( ) A. 循環(huán)的集合 B. 地址的集合 C. 路徑的集合 D. 目標(biāo)的集合ADC 3. 軟件工程基礎(chǔ) 若按功能劃分,軟件測試的方法通常分為白盒測試方法和_測試方法。 (黑盒)軟件的調(diào)試方法主要有:強(qiáng)行排錯(cuò)法、_和原因排除法。 (回溯法)軟件的需求分析階段的工作,可以概括為四個(gè)方面:_、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。 (需求獲取)軟件工程研究的內(nèi)容主要包括:_技術(shù)和軟件工程管理。 (軟件開發(fā))數(shù)據(jù)流的類型有_和事務(wù)型。 (
59、變換型)軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、_維護(hù)和預(yù)防性維護(hù)。 (完善性 ) 測試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而_的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。 (調(diào)試) 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 數(shù)據(jù):實(shí)際上就是描述事物的符號(hào)記錄。 數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型、實(shí)型、字符型等。而數(shù)據(jù)的值給出了符合定型的值,如整型值15。 數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序共享。 數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。 數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱
60、、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 數(shù)據(jù)庫管理系統(tǒng)功能: (1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架; (2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段; (3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡單的算術(shù)運(yùn)算及統(tǒng)計(jì); (4)數(shù)據(jù)的完整性、安生性定義與檢查; (5)數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù); (6)數(shù)據(jù)的服務(wù):如拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 為完成以上六個(gè)功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言: (1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;
61、 (2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等; (3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。 數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 數(shù)據(jù)庫管理員:對(duì)數(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í)體。 數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。 文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是
62、它無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。 層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。 關(guān)系數(shù)據(jù)庫系統(tǒng)階段 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性 、數(shù)據(jù)的高共享性與低冗余性 、數(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)與物理存取方法。 數(shù)據(jù)庫系統(tǒng)的兩級(jí)映射: (1)概念模式到內(nèi)模式的映射; (
63、2)外模式到概念模式的映射。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 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)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。 E-R模型三個(gè)基本概念之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)實(shí)體的所有屬性值叫元組。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) E-R模型的圖示法:1、實(shí)體集表示法;
64、2、屬性表法;3、聯(lián)系表示法。 層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點(diǎn): (1)每棵樹有且僅有一個(gè)無雙親結(jié)點(diǎn),稱為根; (2)樹中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。 從圖論上看,網(wǎng)狀模型是一個(gè)不加任何條件限制的無向圖。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 關(guān)系模型采用二維表來表示,簡稱表,由表框架及表的元組組成。一個(gè)二維表就是一個(gè)關(guān)系。 在二維表中凡能唯一標(biāo)識(shí)元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個(gè)作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。 關(guān)系中的數(shù)據(jù)約束: (1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值; (2)參照完全性約束:是關(guān)系之間的基本約
65、束; (3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 4.3關(guān)系代數(shù) 關(guān)系數(shù)據(jù)庫系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。 關(guān)系模型的基本運(yùn)算: 1、插入;2、刪除;3、修改;4、查詢(包括投影、選擇、笛卡爾積運(yùn)算) 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 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è)
66、計(jì)階段、編碼階段、測試階段、運(yùn)行階段、進(jìn)一步修改階段。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒?。結(jié)構(gòu)化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達(dá)數(shù)據(jù)和處理過程的關(guān)系。對(duì)數(shù)據(jù)庫設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(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ǔ)、處理過程。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 數(shù)據(jù)庫概念設(shè)計(jì)的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系。設(shè)計(jì)的方法有兩種 (1)集中式模式設(shè)計(jì)法(適用于小型或并不復(fù)雜的單位或部門); (2)視圖集成設(shè)計(jì)法。 設(shè)計(jì)方法:E-R模型與視圖集成。 視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序:自頂向下、由底向上、由內(nèi)向外。 視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。 關(guān)系視圖設(shè)計(jì):關(guān)系視圖的設(shè)計(jì)又稱外模式設(shè)計(jì)。 4. 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ) 關(guān)系視圖的主要作用: (1)提供數(shù)據(jù)邏輯獨(dú)立性; (2)能適應(yīng)用戶對(duì)數(shù)據(jù)的不同需求; (3)有一定數(shù)據(jù)保密功能。 數(shù)據(jù)庫的物理設(shè)計(jì)主要目標(biāo)是對(duì)數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案