國家計(jì)算機(jī)二級公共基礎(chǔ)知識復(fù)習(xí)要點(diǎn)_第1頁
國家計(jì)算機(jī)二級公共基礎(chǔ)知識復(fù)習(xí)要點(diǎn)_第2頁
國家計(jì)算機(jī)二級公共基礎(chǔ)知識復(fù)習(xí)要點(diǎn)_第3頁
國家計(jì)算機(jī)二級公共基礎(chǔ)知識復(fù)習(xí)要點(diǎn)_第4頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二級公共基礎(chǔ)附220題祥解二級公共基礎(chǔ)知識新大綱基本要求1,掌握算法的基本概念.2,掌握基本數(shù)據(jù)結(jié)構(gòu)及其操作.3,掌握基本排序和查找算法.4掌握逐步求精的結(jié)構(gòu)化程序設(shè)計(jì)方法.5,掌握軟件工程的基本方法,具有初步應(yīng)用相關(guān)技術(shù)進(jìn)行軟件開發(fā)的能力.考試內(nèi)容基本數(shù)據(jù)結(jié)構(gòu)與算法1,算法的基本概念;算法復(fù)雜度的概念和意義(時(shí)間復(fù)雜度與空間復(fù)雜度).2,數(shù)據(jù)結(jié)構(gòu)的定義;數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)的圖形表示;線性結(jié)構(gòu)與非線性結(jié)構(gòu)的概念.3,線性表的定義;線性表的順序存儲結(jié)構(gòu)及其插入與除運(yùn)算.4,棧和隊(duì)列的定義;棧和隊(duì)列的順序存儲結(jié)構(gòu)及其基本運(yùn)算.5,線性單鏈表,雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算.6,樹的基本概念;二*樹的定義及其存儲結(jié)構(gòu);二*樹的前序,中序和后序遍歷.7,順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序).程序設(shè)計(jì)基礎(chǔ)1,程序設(shè)計(jì)方法與風(fēng)格.2,結(jié)構(gòu)化程序設(shè)計(jì).3,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對象,方法,屬性及繼承與多態(tà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ì),軟件測試的實(shí)施,單元測試,集成測試和系統(tǒng)測試.5,程序的調(diào)試,靜態(tài)調(diào)試與動態(tài)調(diào)試.四,數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)1,數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng).數(shù)據(jù)模型,實(shí)體練習(xí)模型及E-R圖,從E-R圖導(dǎo)出關(guān)系數(shù)據(jù)模型.2,關(guān)系代數(shù)運(yùn)算,包括幾何運(yùn)算及選擇,投影,連接運(yùn)算,數(shù)據(jù)庫規(guī)范化理論.數(shù)據(jù)庫設(shè)計(jì)方法和步驟:需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì)和物理設(shè)計(jì)的相關(guān)策略.公共基礎(chǔ)知識總結(jié)第一章數(shù)據(jù)結(jié)構(gòu)與算法1.1算法算法:是指解題方案的準(zhǔn)確而完整的描述.算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計(jì).算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止.特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時(shí)間內(nèi)做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時(shí)間的含義;(4)擁有足夠的情報(bào).算法的基本要素:一是對數(shù)據(jù)對象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu).指令系統(tǒng):一個計(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ù)雜度.算法時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量.(1)平均性態(tài)分析(2)最壞情況復(fù)雜性算法空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間.如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。數(shù)據(jù)結(jié)構(gòu)的基本基本概念數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(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ù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算)數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系.數(shù)據(jù)的存儲結(jié)構(gòu)有順序,鏈接,索引等.線性結(jié)構(gòu)條件:(1)有且只有一個根結(jié)點(diǎn);(2)每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件.非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu).線性表及其順序存儲結(jié)構(gòu)線性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的.在復(fù)雜線性表中,由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個記錄構(gòu)成的線性表又稱為文件.非空線性表的結(jié)構(gòu)特征:(1)且只有一個根結(jié)點(diǎn)a1,它無前件;(2)有且只有一個終端結(jié)點(diǎn)a.它無后件;(3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外,其他所有結(jié)點(diǎn)有且只有一個前件,也有且只有一個后件.結(jié)點(diǎn)個數(shù)n稱為線性表的長度,當(dāng)n=0時(shí),稱為空表.線性表的順序存儲結(jié)構(gòu)具有以下兩個基本特點(diǎn):(1)線性表中所有元素的所占的存儲空間是連續(xù)的;(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的.ai的存儲地址為:ADR(ai尸ADR(al)+(i-l)k,,ADR(al)為第一個元素的地址,k代表每個元素占的字節(jié)數(shù).順序表的運(yùn)算:插入,刪除,查找,排序,分解,復(fù)制和逆轉(zhuǎn)等操作.(詳見14-16頁)棧和隊(duì)列棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底.棧按照"先進(jìn)后出"FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用.用top表示棧頂位置,用bottom表示棧底.棧的基本運(yùn)算:(1)插入元素稱為入棧運(yùn)算;Q)刪除元素稱為退棧運(yùn)算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時(shí)指針無變化.隊(duì)列是指允許在一端(隊(duì)尾)進(jìn)入插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線性表.Rear指針指向隊(duì)尾,front指針指向隊(duì)頭.隊(duì)列是“先進(jìn)行出”(FIFO)或“后進(jìn)后出”(LILO)的線性表.隊(duì)列運(yùn)算包括⑴入隊(duì)運(yùn)算:從隊(duì)尾插入一個元素;(2)退隊(duì)運(yùn)算:從隊(duì)頭刪除一個元素.循環(huán)隊(duì)列:§=0表示隊(duì)列空,s=l且front=rear表示隊(duì)列滿線性鏈表數(shù)據(jù)結(jié)構(gòu)中的每一個結(jié)點(diǎn)對應(yīng)于一個存儲單元,這種存儲單元稱為存儲結(jié)點(diǎn),簡稱結(jié)點(diǎn).結(jié)點(diǎn)由兩部分組成:(1)用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結(jié)點(diǎn).在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的.鏈?zhǔn)酱鎯Ψ绞郊纯捎糜诒硎揪€性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu).線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結(jié)點(diǎn),右指針(Rlink)指向后件結(jié)點(diǎn).線性鏈表的基本運(yùn)算:查找,插入,刪除.樹與二叉樹樹是一種簡單的非線性結(jié)構(gòu),所有元素之間具有明顯的層次特性.在樹結(jié)構(gòu)中,每一個結(jié)點(diǎn)只有一個前件,稱為父結(jié)點(diǎn),沒有前件的結(jié)點(diǎn)只有一個,稱為樹的根結(jié)點(diǎn),簡稱樹的根.每一個結(jié)點(diǎn)可以有多個后件,稱為該結(jié)點(diǎn)的子結(jié)點(diǎn).沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn).在樹結(jié)構(gòu)中,一個結(jié)點(diǎn)所擁有的后件的個數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度.樹的最大層次稱為樹的深度.二叉樹的特點(diǎn):(1)非空二叉樹只有一個根結(jié)點(diǎn);(2)每一個結(jié)點(diǎn)最多有兩棵子樹,且分別稱為該結(jié)點(diǎn)的左子樹與右子樹.二叉樹的基本性質(zhì):(1)在二叉樹的第k層上,最多有2皿(史1)個結(jié)點(diǎn);(2)深度為m的二叉樹最多有2m-l個結(jié)點(diǎn);(3)度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個;N=NO+N1+N2N0=N2+l(4)具有n個結(jié)點(diǎn)的二叉樹,其深度至少為其中l(wèi)logZ1表示取log2n的整數(shù)部分;(5)具有n個結(jié)點(diǎn)的完全二叉樹的深度為|log21+l;(6)設(shè)完全二叉樹共有n個結(jié)點(diǎn).如果從根結(jié)點(diǎn)開始,按層序(每一層從左到右)用自然數(shù)給結(jié)點(diǎn)進(jìn)行編號(k=l,2.…n),有以下結(jié)論:①若k=l,則該結(jié)點(diǎn)為根結(jié)點(diǎn),它沒有父結(jié)點(diǎn);若k>l,則該結(jié)點(diǎn)的父結(jié)點(diǎn)編號為INT(k/2);②若2kgn,則編號為k的結(jié)點(diǎn)的左子結(jié)點(diǎn)編號為2k;否則該結(jié)點(diǎn)無左子結(jié)點(diǎn)(也無右子結(jié)點(diǎn));③若2k+lgn,則編號為k的結(jié)點(diǎn)的右子結(jié)點(diǎn)編號為2k+l;否則該結(jié)點(diǎn)無右子結(jié)點(diǎn).滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)有兩個子結(jié)點(diǎn),則k層上有2人”個結(jié)點(diǎn)深度為m的滿二叉樹有爐A個結(jié)點(diǎn).完全二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn).二叉樹存儲結(jié)構(gòu)采用鏈?zhǔn)酱鎯Y(jié)構(gòu),對于滿二叉樹與完全二叉樹可以按層序進(jìn)行順序存儲.二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;(3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結(jié)點(diǎn).查找技術(shù)順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈?zhǔn)酱鎯Y(jié)構(gòu).二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次.排序技術(shù)排序是指將一個無序序列整理成按值非遞減順序排列的有序序列.交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-l)/2;(2)快速排序法.插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-l)/2次比較;(2)希爾排序法,最壞情況需要0(a5)次比較.選擇類排序法:(1)簡單選擇排序法,最壞情況需要n(n-l)/2次比較;(2)堆排序法,最壞情況需要O(nlog2n)次比較.第二章程序設(shè)計(jì)基礎(chǔ)2.1程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格HRBJGD@163.COM如何形成良好的程序設(shè)計(jì)風(fēng)格1,源程序文檔化;2,數(shù)據(jù)說明的方法;3,語句的結(jié)構(gòu);4,輸入和輸出.注釋序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一,效率第二.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.3面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì):以60年代末挪威奧斯陸大學(xué)和挪威計(jì)算機(jī)中心研制的SIMULA語言為標(biāo)志.面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn):(1)與人類習(xí)慣的思維方法一致; (2)穩(wěn)定性好;(3)可重用性好;(4)易于開發(fā)大型軟件產(chǎn)品; (5)可維護(hù)性好.對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實(shí)體,對象是實(shí)體的抽象.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成.屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù).對象的基本特點(diǎn):(1)標(biāo)識惟一性;(2)分類性;(3)多態(tài)性;(4)封裝性;(5)模塊獨(dú)立性好.類是指具有共同屬性,共同方法的對象的集合.所以類是對象的抽象,對象是對應(yīng)類的一個實(shí)例.消息是一個實(shí)例與另一個實(shí)例之間傳遞的信息.消息的組成包括⑴接收消息的對象的名稱;(2)消息標(biāo)識符,也稱消息名;(3)零個或多個參數(shù).繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們.繼承分單繼承和多重繼承.單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類.多態(tài)性是指同樣的消息被不同的對象接受時(shí)可導(dǎo)致完全不同的行動的現(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)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;(5)軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素.軟件按功能分為應(yīng)用軟件,系統(tǒng)軟件,支撐軟件(或工具軟件).軟件危機(jī)主要表現(xiàn)在成本,質(zhì)量,生產(chǎn)率等問題.軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義,開發(fā)和維護(hù)的一整套方法,工具,文檔,實(shí)踐標(biāo)準(zhǔn)和工序.軟件工程包括3個要素:方法,工具和過程.軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P——軟件規(guī)格說明;(2)D——軟件開發(fā);(3)C一一軟件確認(rèn); (4)A一一軟件演進(jìn).軟件周期:軟件產(chǎn)品從提出,實(shí)現(xiàn),使用維護(hù)到停止使用退役的過程.軟件生命周期三個階段:軟件定義,軟件開發(fā),運(yùn)行維護(hù),主要活動階段是:⑴可行性研究與計(jì)劃制定;⑵需求分析;(3)軟件設(shè)計(jì);(4)軟件實(shí)現(xiàn);(5)軟件測試;⑹運(yùn)行和維護(hù).軟件工程的目標(biāo)和與原則:目標(biāo):在給定成本,進(jìn)度的前提下,開發(fā)出具有有效性,可靠性,可理解性,可維護(hù)性,可重用性,可適應(yīng)性,可移植性,可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品.基本目標(biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費(fèi)用;能按時(shí)完成開發(fā),及時(shí)交付使用.軟件工程的理論和技術(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ū)ο蟮姆治龅姆椒?從需求分析建立的模型的特性來分:靜態(tài)分析和動態(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ù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模.數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的,嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入,輸出,存儲成分和中間計(jì)算結(jié)果有共同的理解.判定樹:從問題定義的文字描述中分清哪些是判定的條件朋卜些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系,并列關(guān)系,選擇關(guān)系,根據(jù)它們構(gòu)造判定樹.判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜.數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心.軟件需求規(guī)格說明書的特點(diǎn):⑴正確性;⑵無岐義性;(3)完整性;(4)可驗(yàn)證性;⑸一致性;⑹可理解性;⑺可追蹤性.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)的唯一途徑.從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),接口設(shè)計(jì),過程設(shè)計(jì).結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各主要部件之間的關(guān)系.數(shù)據(jù)設(shè)計(jì):將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義.接口設(shè)計(jì):描述軟件內(nèi)部,軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信.過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述.從工程管理角度來看:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì).軟件設(shè)計(jì)的一般過程:軟件設(shè)計(jì)是一個迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì).衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn).在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱.優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合.軟件概要設(shè)計(jì)的基本任務(wù)是:(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);Q)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì);(3)編寫概要設(shè)計(jì)文檔;(4)概要設(shè)計(jì)文檔評審.模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系.在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息.還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭頭表示傳遞的是數(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ì),選擇分派一個適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果.詳細(xì)設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié).常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖、N—S、PAD、HIPO),表格工具(判定表),語言工具(PDL).程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計(jì)表示工具,也稱程序框圖。11控制流 <2^濯輯條件加工步驟程序流程圖特點(diǎn):簡單易學(xué),但不受約束,隨意轉(zhuǎn)移控制,會破壞結(jié)構(gòu)化設(shè)計(jì)的原則,且不易表示數(shù)據(jù)結(jié)構(gòu)N—S圖:方框圖。特征.每個構(gòu)件具有明確的功能域。.控制轉(zhuǎn)移必須遵守結(jié)構(gòu)化設(shè)計(jì)要求.易于確定局部數(shù)據(jù)和全局?jǐn)?shù)據(jù)的作用域。.易于表達(dá)嵌套關(guān)系和模塊的層次結(jié)構(gòu)PAD圖:特征.結(jié)構(gòu)清晰,結(jié)構(gòu)化程序高.易于閱讀.最左端的縱線是程序主干線,對應(yīng)程序的第一層結(jié)構(gòu);每增加一層PAD圖向右擴(kuò)展一個縱線,即縱線條數(shù)等于程序的層次數(shù)。.程序執(zhí)行時(shí),從PAD圖最左主干線上端結(jié)點(diǎn)開始,自上向下,自左向右依次執(zhí)行,程序終止于最左主干線PDL過程設(shè)計(jì)語言,也稱結(jié)構(gòu)化的英語和偽碼。1有為結(jié)構(gòu)化構(gòu)成元素,數(shù)據(jù)說明和模塊化特征提供的關(guān)鍵詞語法.處理部分的描述采用自然語言語法.可能說明簡單和復(fù)雜的數(shù)據(jù)結(jié)構(gòu).支持各種接口描述的子程序定義和調(diào)用技術(shù)4軟件測試軟件測試定義:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別.軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程.軟件測試方法:靜態(tài)測試和動態(tài)測試.靜態(tài)測試包括代碼檢查,靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量.不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行.動態(tài)測試:是基本計(jì)算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法.白盒測試(結(jié)構(gòu)測試或邏輯驅(qū)動測試):在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證.主要方法有邏輯覆蓋,基本路徑測試.邏輯覆蓋:指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計(jì)技術(shù)。通常指程度中的邏輯表示有判斷、分支、條件等幾種表示方式。語句覆蓋:選擇足夠的測試用例,使得程序中每個語句至少被執(zhí)行一次。.路徑覆蓋:執(zhí)行足夠的測試用例,使程序中所有可能的路徑至少經(jīng)歷一次。.判斷覆蓋:使設(shè)計(jì)的測試用例保證程序中每個判斷的每個取值分支至少經(jīng)歷一次.條件覆蓋:設(shè)計(jì)的測試用例保證程序中每個判斷的每個條件的可能取值至少執(zhí)行一次。.判斷一一條件覆蓋:設(shè)計(jì)足夠的測試用例,使判斷中每個條件的所有可能取值至少執(zhí)行一次,同時(shí)每個判斷的所有可能取值分支至少執(zhí)行一次。基本路徑測試:根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測試用例,對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試。黑盒測試(功能測試或數(shù)據(jù)驅(qū)動測試):墨盒測試是對軟件已試驗(yàn)的功能是否滿足需要進(jìn)行測試和驗(yàn)證。主要診斷功能不對或遺漏,界面錯誤,數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤,性能錯誤,初始化和終止條件錯,用于軟件確認(rèn).主要方法有等價(jià)類劃分法,邊界值分析法,錯誤推測法,因果圖等.等價(jià)類劃分法:是一種典型的黑盒測試方法。是將程序的所有可能的輸入數(shù)據(jù)劃分成若干部分,然后從每個等價(jià)類中選取數(shù)據(jù)作為測試用例。包括1有效等價(jià)類:合理、有意義的輸入數(shù)據(jù)構(gòu)成的集合,檢驗(yàn)程序中符合規(guī)定的功能和性能2無效等價(jià)類:不合理、無意義的輸入數(shù)據(jù)構(gòu)成的集合,可以檢驗(yàn)程序中符合規(guī)定的功能和性能。邊界值分析法:對各種輸入、輸出范圍的邊界情況設(shè)計(jì)測試用例的方法。程序錯誤最容易出現(xiàn)在輸入或輸出范圍的邊界處。錯誤推測法:以經(jīng)驗(yàn)和直覺推測程序中可能存在的各種錯誤,有針對性地編寫檢查這些錯誤的例子?;鞠敕ㄊ牵毫信e出程序中所有可能出現(xiàn)的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。軟件測試過程一般按4個步驟進(jìn)行:單元測試,集成測試,驗(yàn)收測試(確認(rèn)測試)和系統(tǒng)測試.1單元測試是對軟件設(shè)計(jì)的最小單位模塊進(jìn)行正確性檢測的過程,其目的是發(fā)現(xiàn)一個模塊內(nèi)部可能存在的各種錯誤。依據(jù):詳細(xì)設(shè)計(jì)說明書和源程序。動態(tài)測試以白盒測試為主,輔之以黑盒測試。單元測試主要針對模塊的五個基本特性進(jìn)行:(1模塊接口測試:測試通過模塊的數(shù)據(jù)流(2局部數(shù)據(jù)結(jié)構(gòu)測試:檢查局部數(shù)據(jù)一致性、數(shù)據(jù)的初始化、數(shù)據(jù)類型的一致以及數(shù)據(jù)的下溢,上溢。(3重要的執(zhí)行路徑的檢查(4出錯處理測試:檢查模塊的錯誤處理功能(5影響以上各點(diǎn)及其他相關(guān)點(diǎn)的邊界條件測試2集成測試是測試和組裝軟件的過程。主要目的是發(fā)現(xiàn)與結(jié)構(gòu)有關(guān)的錯誤。集成測試的依據(jù)是概要計(jì)算機(jī)說明書。集成測試涉及的內(nèi)容包括軟件單元的接口測試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試、邊界條件和非法輸入的測試等。集成測試時(shí)將模塊組成程序通常采用兩種方式:非增量方式組裝(一次性組裝)與增量方式組裝(自頂向下、自底向上以及自頂向下和自底向上結(jié)合)。3驗(yàn)收測試任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否滿足了規(guī)格說明書中確定的各種需求,軟件配置是否完全、正確首先運(yùn)用黑盒測試方法對軟件進(jìn)行有效性測試工,然后通過復(fù)審保證軟件配置齊全,分類有序以及軟件配置所有的成分的完備性、一致性、準(zhǔn)確性和可操作性。4系統(tǒng)測試是將通過測試的軟件作為整個基于計(jì)算機(jī)系統(tǒng)的一個元素,與計(jì)算機(jī)硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實(shí)際運(yùn)行環(huán)境下對計(jì)算機(jī)系統(tǒng)進(jìn)行集成測試和確認(rèn)測試。系統(tǒng)測試必須在目標(biāo)環(huán)境下運(yùn)行,其功能在于評估系統(tǒng)環(huán)境下軟件的性能,發(fā)現(xiàn)和捕捉軟件中潛在的錯誤。目的是在真實(shí)的系統(tǒng)工作環(huán)境下檢驗(yàn)軟件是否能與系統(tǒng)正確連接,發(fā)現(xiàn)軟件與系統(tǒng)需求不一致的地方。包括:功能測試、性能測試、操作測試、配置測試、外部接口測試和安全性測試。軟件測試貫穿整個軟件的生存期。.5程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,主要在開發(fā)階段進(jìn)行.程序調(diào)試分兩部分:根據(jù)錯誤的跡象確定程序中錯誤的性質(zhì)、原因和位置;對程序進(jìn)行修改,排除這個錯誤。程序調(diào)試的基本步驟:⑴錯誤定位;(2)修改設(shè)計(jì)和代碼,以排除錯誤;⑶進(jìn)行回歸測試,防止引進(jìn)新的錯誤.程序調(diào)試的原則:1確定錯的性質(zhì)和出錯位置時(shí)注意事項(xiàng)2修改錯誤的原則在出現(xiàn)錯誤的地方,可能有別的錯誤;改正錯誤只修改了這個錯誤的表現(xiàn),而沒有改正錯誤本身;改正錯誤的同時(shí)引入新的錯誤;改正錯誤的過程是回到程序設(shè)計(jì)階段;修改源代碼程序,不要改變目標(biāo)代碼。軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試.靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設(shè)計(jì)手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試.主要調(diào)試方法有:⑴強(qiáng)行排錯法;⑵回溯法;⑶原因排除法.4.1數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù):實(shí)際上就是描述事物的符號記錄.數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型,實(shí)型,字符型等.而數(shù)據(jù)的值給出了符合定型的值,如整型值15.數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(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ù)操縱,數(shù)據(jù)維護(hù),控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心.數(shù)據(jù)庫管理系統(tǒng)功能:(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架;(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段;⑶數(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)測,分析等.為完成以上六個功能,數(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ù)庫管理員DBA:對數(shù)據(jù)庫進(jìn)行規(guī)劃,設(shè)計(jì),維護(hù),監(jiān)視等的專業(yè)管理人員.工作:數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫維護(hù)、改善系統(tǒng)性能。數(shù)據(jù)庫系統(tǒng)DBS:由數(shù)據(jù)庫(數(shù)據(jù)),數(shù)據(jù)庫管理系統(tǒng)(軟件),數(shù)據(jù)庫管理員(人員),硬件平臺(硬件),軟件平臺(軟件)五個部分構(gòu)成的運(yùn)行實(shí)體.數(shù)據(jù)庫應(yīng)用系統(tǒng)DBAS:由數(shù)據(jù)庫系統(tǒng),應(yīng)用軟件及應(yīng)用界面三者組成.數(shù)據(jù)庫管理系統(tǒng)DBMS數(shù)據(jù)庫系統(tǒng)發(fā)展三個階段:文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的,統(tǒng)一的,管理和數(shù)據(jù)共享的能力.層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段:為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐.關(guān)系數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性),數(shù)據(jù)統(tǒng)一管理與控制.物理獨(dú)立性:是數(shù)據(jù)的物理結(jié)構(gòu)包括存儲結(jié)構(gòu)、存取方式的改變?yōu)?,不影響?shù)據(jù)庫的邏輯結(jié)構(gòu)。邏輯獨(dú)立性:數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變?nèi)缧薷臄?shù)據(jù)、增加數(shù)據(jù)類型等,不需要相應(yīng)修改應(yīng)用程序。數(shù)據(jù)的統(tǒng)一管理與控制1數(shù)據(jù)的完整性檢查2數(shù)據(jù)的安全性保護(hù)3并發(fā)控制數(shù)據(jù)庫系統(tǒng)的三級模式:(1)概念模式:數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;(2)外模式:也稱子模式或用戶模式.是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法.內(nèi)模式處于最底層,反映了數(shù)據(jù)在計(jì)算機(jī)物理結(jié)構(gòu)中的實(shí)際存儲形式;概念模式處于中層,反映了設(shè)計(jì)者的數(shù)據(jù)全局邏輯要求;處模式處于最外層,反映了用戶對數(shù)據(jù)的要求。數(shù)據(jù)庫系統(tǒng)的兩級映射:⑴概念模式到內(nèi)模式的映射;(2)外模式到概念模式的映射.2數(shù)據(jù)模型數(shù)據(jù)模型的概念:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征,動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架.描述了數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作及數(shù)據(jù)約束.E-R模型的基本概念⑴實(shí)體:現(xiàn)實(shí)世界中的事物;(2)屬性:事物的特性;(3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系.實(shí)體集的關(guān)系有一對一,一對多,多對多的聯(lián)系.E-R模型三個基本概念之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個實(shí)體可取屬性域內(nèi)的值.一個實(shí)體的所有屬性值叫元組.E-R模型的圖示法:(1)實(shí)體集表示法;⑵屬性表法;(3)聯(lián)系表示法.層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點(diǎn):(1)每棵樹有且僅有一個無雙親結(jié)點(diǎn),稱為根;(2)樹中除根外所有結(jié)點(diǎn)有且僅有一個雙親.網(wǎng)狀模型從圖論上看,網(wǎng)狀模型是一個不加任何條件限制的無向圖.關(guān)系模型采用二維表來表示,簡稱表,由表框架及表的元組組成.一個二維表就是一個關(guān)系.在二維表中凡能唯一標(biāo)識元組的最小屬性稱為鍵或碼.從所有侯選健中選取一個作為用戶使用的鍵稱主鍵.表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼.關(guān)系中的數(shù)據(jù)約束:(1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關(guān)系之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求..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ì)與管理數(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ū)ο蟮姆椒?結(jié)構(gòu)化分析(簡稱SA)方法用自頂向下,逐層分解的方式分析系統(tǒng).用數(shù)據(jù)流圖表達(dá)數(shù)據(jù)和處理過程的關(guān)系.對數(shù)據(jù)庫設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個部分:數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流(可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu)),數(shù)據(jù)存儲,處理過程.數(shù)據(jù)字典是在需求分析階段建立、在數(shù)據(jù)庫設(shè)計(jì)過程中完善的數(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)向外.視圖集成的幾種沖突:命名沖突,概念沖突,域沖突,約束沖突.數(shù)據(jù)庫的邏輯設(shè)計(jì)1從E-R圖向關(guān)系模式轉(zhuǎn)換。2邏輯模式規(guī)范化及調(diào)整、實(shí)現(xiàn)3關(guān)系視圖設(shè)計(jì)關(guān)系視圖設(shè)計(jì):關(guān)系視圖的設(shè)計(jì)又稱外模式設(shè)計(jì).關(guān)系視圖的主要作用:(1)提供數(shù)據(jù)邏輯獨(dú)立性;(2)能適應(yīng)用戶對數(shù)據(jù)的不同需求;(3)有一定數(shù)據(jù)保密功能.數(shù)據(jù)庫的物理設(shè)計(jì)主要目標(biāo)是對數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度有效利用存儲空間.一般RDBMS中留給用戶參與物理設(shè)計(jì)的內(nèi)容大致有索引設(shè)計(jì),集成簇設(shè)計(jì)和分區(qū)設(shè)計(jì).數(shù)據(jù)庫管理的內(nèi)容:(1)數(shù)據(jù)庫的建立;(2)數(shù)據(jù)庫的調(diào)整;(3)數(shù)據(jù)庫的重組;(4)數(shù)據(jù)庫安全性與完整性控制;(5)數(shù)據(jù)庫的故障恢復(fù);(6)數(shù)據(jù)庫監(jiān)控.附件一:國家二級基礎(chǔ)知識題庫及分析⑴棧和隊(duì)列的共同特點(diǎn)是DA)都是先進(jìn)先出B)都是先進(jìn)后出。只允許在端點(diǎn)處插入和刪除元素D)沒有共同點(diǎn)解析:棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除.二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表.所以沒有共同點(diǎn)(2)已知二叉樹后序遍歷序列是dAbec,中序遍歷序列是debac,它的前序遍歷序列是DCEDBAA)acbedB)decabC)deabcD)cedba解析:依據(jù)后序遍歷序列可確定根結(jié)點(diǎn)為c;再依據(jù)中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點(diǎn)為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,如下圖所示.求得該二叉樹的前序遍歷序列為選項(xiàng)D).(3)鏈表不具有的特點(diǎn)是BA)不必事先估計(jì)存儲空間B)可隨機(jī)訪問任一元素C)插入刪除不需要移動元素D)所需空間與線性表長度成正比解析:鏈表采用的是鏈?zhǔn)酱鎯Y(jié)構(gòu),它克服了順序存儲結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動數(shù)據(jù)元素.但是鏈?zhǔn)酱鎯Y(jié)構(gòu)也有不足之處:①每個結(jié)點(diǎn)中的指針域需額外占用存儲空間;②鏈?zhǔn)酱鎯Y(jié)構(gòu)是一種非隨機(jī)存儲結(jié)構(gòu).(4)結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是DA)順序結(jié)構(gòu),選擇結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu)B)分支結(jié)構(gòu),等價(jià)結(jié)構(gòu),循環(huán)結(jié)構(gòu)C)多分支結(jié)構(gòu),賦值結(jié)構(gòu),等價(jià)結(jié)構(gòu)D)順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)解析:順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(或重復(fù)結(jié)構(gòu))是結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu).(5)為了提高測試的效率,應(yīng)該DA)隨機(jī)選取測試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C)在完成編碼以后制定軟件的測試計(jì)劃D)集中對付那些錯誤群集的程序解析:測試的目的是發(fā)現(xiàn)軟件中的錯誤.經(jīng)驗(yàn)表明,程序中存在錯誤的概率與該程序中已發(fā)現(xiàn)的錯誤數(shù)成正比.這一現(xiàn)象說明,為了提高測試效率,測試人員應(yīng)該集中對付那些錯誤群集的程序.(6)算法的時(shí)間復(fù)雜度是指CA)執(zhí)行算法程序所需要的時(shí)間B)算法程序的長度。算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D)算法程序中的指令條數(shù)解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度.所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間.⑺軟件生命周期中所花費(fèi)用最多的階段是DA)詳細(xì)設(shè)計(jì)B)軟件編碼C)軟件測試D)軟件維護(hù)解析:軟件生命周期分為軟件定義,軟件開發(fā)及軟件運(yùn)行維護(hù)3個階段.本題中,詳細(xì)設(shè)計(jì),軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護(hù)是軟件生命周期的最后一個階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個階段,軟件工程學(xué)的一個目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià).(8)數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式,內(nèi)模式和外模式的語言為CA)CB)BasicC)DDLD)DML解析:選項(xiàng)A),B)顯然不合題意.數(shù)據(jù)定義語言(DataDefinitionLanguage,簡稱DDL)負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言(DataManipulationLanguage,簡稱DML)負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增,刪,改等操作.(9)下列有關(guān)數(shù)據(jù)庫的描述,正確的是CA)數(shù)據(jù)庫是一個DBF文件B)數(shù)據(jù)庫是一個關(guān)系。數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合D)數(shù)據(jù)庫是一組文件解析:數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序所共享.數(shù)據(jù)庫中的數(shù)據(jù)具有“集成“,“共享”之特點(diǎn).(10)下列有關(guān)數(shù)據(jù)庫的描述,正確的是DA)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程B)數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲結(jié)構(gòu)不變C)關(guān)系中的每一列稱為元組,一個元組就是一個字段D)如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字解析:數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項(xiàng)A)敘述錯誤;數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項(xiàng)B)敘述錯誤;關(guān)系中的行稱為元組,對應(yīng)存儲文件中的記錄,關(guān)系中的列稱為屬性,對應(yīng)存儲文件中的字段,故選項(xiàng)。敘述錯誤.填空題(1)算法的基本特征是可行性,確定性,【1】和擁有足夠的情報(bào).答案:有窮性解析:算法是指解題方案的準(zhǔn)確而完整的描述.它有4個基本特征,分別是可行性,確定性,有窮性和擁有足夠的情報(bào).⑵在長度為n的有序線性表中進(jìn)行二分查找.最壞的情況下,需要的比較次數(shù)為【2】.答案:log2n解析:對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較login次,而順序查找需要比較n次.(3)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【3】.答案:對象解析:將屬性,操作相似的對象歸為類,也就是說,類是具有共同屬性,共同方法的對象的集合.(4)通常,將軟件產(chǎn)品從提出,實(shí)現(xiàn),使用維護(hù)到停止使用退役的過程稱為【4】.答案:軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時(shí)期都屬于軟件生命周期.一般包括可行性研究與需求分析,設(shè)計(jì),實(shí)現(xiàn),測試,交付使用以及維護(hù)等活動.(5)數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型,網(wǎng)狀模型和【5】3種.答案:關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口.其總是基于某種數(shù)據(jù)模型,可以分為層次模型,網(wǎng)狀模型和關(guān)系模型.第二套:⑴已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG解析:利用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下:①前序遍歷的第一個結(jié)點(diǎn)A為樹的根結(jié)點(diǎn);②中序遍歷中A的左邊的結(jié)點(diǎn)為A的左子樹,A右邊的結(jié)點(diǎn)為A的右子樹;③再分別對A的左右子樹進(jìn)行上述兩步處理,直到每個結(jié)點(diǎn)都找到正確的位置.(2)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是A)有且只有1 B)1或多于1C)0或1D)至少2解析:樹是一個或多個結(jié)點(diǎn)組成的有限集合,其中一個特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個不相交的集合.每個集合同時(shí)又是一棵樹.樹有且只有1個根結(jié)點(diǎn).(3)如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是A)e3,el,e4,e2 B)e2,e4,e3,elC)e3,e4,el,e2D)任意順序解析:由?!焙筮M(jìn)先出”的特點(diǎn)可知:A)中el不可能比e2先出,C)中e3不可能比e4先出,且el不可能比e2先出,D)中棧是先進(jìn)后出的,所以不可能是任意順序.B)中出棧過程如圖所示:(4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A)不限制goto語句的使用B)減少或取消注解行C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解解析:濫用got。語句將使程序流程無規(guī)律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應(yīng)減少或取消,B)也不選;程序的長短要依照實(shí)際情況而論,而不是越短越好,C)也不選.(5)程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分,運(yùn)算成分,控制成分和A)對象成分B)變量成分。語句成分D)傳輸成分解析:程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言,其基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù).運(yùn)算成分:描述程序中所需的運(yùn)算.控制成分:用來構(gòu)造程序的邏輯控制結(jié)構(gòu).傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言.(6)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是A)便于用戶,開發(fā)人員進(jìn)行理解和交流B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C)作為確認(rèn)測試和驗(yàn)收的依據(jù)D)便于開發(fā)人員進(jìn)行需求分析解析:軟件需求規(guī)格說明書(SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一.它有以下幾個方面的作用:①便于用戶,開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測試和驗(yàn)收的依據(jù).(7)下列不屬于軟件工程的3個要素的是A)工具B)過程C)方法D)環(huán)境解析:軟件工程包括3個要素,即方法,工具和過程.方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā),管理,文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制,管理.(8)單個用戶使用的數(shù)據(jù)視圖的描述稱為A)外模式B)概念模式C)內(nèi)模式D)存儲模式解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;選項(xiàng)D)不正確,存儲模式即為內(nèi)模式.(9)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成A)屬性B)關(guān)系。鍵D)域解析:數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式.首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性.實(shí)體集也可以轉(zhuǎn)換成關(guān)系.(10)SQL語言又稱為A)結(jié)構(gòu)化定義語言B)結(jié)構(gòu)化控制語言。結(jié)構(gòu)化查詢語言D)結(jié)構(gòu)化操縱語言解析:結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡稱SQL)是集數(shù)據(jù)定義,數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫語言.填空題(1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【1】.解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式.在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息.⑵在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為【2】.解析:類是面向?qū)ο笳Z言中必備的程序語言結(jié)構(gòu),用來實(shí)現(xiàn)抽象數(shù)據(jù)類型.類與類之間的繼承關(guān)系實(shí)現(xiàn)了類之間的共享屬性和操作,一個類可以在另一個已定義的類的基礎(chǔ)上定義,這樣使該類型繼承了其超類的屬性和方法,當(dāng)然,也可以定義自己的屬性和方法.⑶耦合和內(nèi)聚是評價(jià)模塊獨(dú)立性的兩個主要標(biāo)準(zhǔn),其中【3】反映了模塊內(nèi)各成分之間的聯(lián)系.解析:內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量.4)一個項(xiàng)目具有一個項(xiàng)目主管,一個項(xiàng)目主管可管理多個項(xiàng)目,則實(shí)體”項(xiàng)目主管”與實(shí)體”項(xiàng)目”的聯(lián)系屬于【4】的聯(lián)系.解析:兩個實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1:1)的聯(lián)系,一對多(1:N)或多對一(N:l)的聯(lián)系和多對多(N:N)的聯(lián)系.(5)數(shù)據(jù)庫設(shè)計(jì)分為以下6個設(shè)計(jì)階段:需求分析階段,【5】,邏輯設(shè)計(jì)階段,物理設(shè)計(jì)階段,實(shí)施階段,運(yùn)行和維護(hù)階段.解析:數(shù)據(jù)庫設(shè)計(jì)分為以下6個設(shè)計(jì)階段:需求分析階段,概念設(shè)計(jì)階段,邏輯設(shè)計(jì)階段,物理設(shè)計(jì)階段,實(shí)施階段及數(shù)據(jù)庫運(yùn)行和維護(hù)階段.答案:BABDDDDABC存儲結(jié)構(gòu)繼承內(nèi)聚一對多或1:N概念設(shè)計(jì)階段第三套:(1)算法的空間復(fù)雜度是指A)算法程序的長度B)算法程序中的指令條數(shù)。算法程序所占的存儲空間D)執(zhí)行過程中所需要的存儲空間解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度.所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間.(2)用鏈表表示線性表的優(yōu)點(diǎn)是A)便于隨機(jī)存取B)花費(fèi)的存儲空間較順序存儲少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順序相同解析:鏈?zhǔn)酱鎯Y(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動數(shù)據(jù)元素.故鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表便于插入和刪除操作.(3)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的A)存儲結(jié)構(gòu)B)物理結(jié)構(gòu)C)邏輯結(jié)構(gòu)D)物理和存儲結(jié)構(gòu)解析:數(shù)據(jù)結(jié)構(gòu)概念一般包括3個方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu),存儲結(jié)構(gòu)及數(shù)據(jù)上的運(yùn)算集合.數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象的反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管它在計(jì)算機(jī)中的存儲表示形式.(4)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是A)程序的規(guī)模B)程序的效率。程序設(shè)計(jì)語言的先進(jìn)性D)程序易讀性解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下,逐步求精,模塊化及限制使用goto語句,總的來說可使程序結(jié)構(gòu)良好,易讀,易理解,易維護(hù).(5)軟件設(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ā)過程解析:軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),接口設(shè)計(jì)和過程設(shè)計(jì).其中結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各主要部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部,軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述.(6)檢查軟件產(chǎn)品是否符合需求定義的過程稱為A)確認(rèn)測試B)集成測試C)驗(yàn)證測試D)驗(yàn)收測試解析:確認(rèn)測試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需求規(guī)格說明定的各種需求;集成測試的主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤.⑺數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成.下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是A)控制流B)加工。數(shù)據(jù)存儲D)源和潭解析:數(shù)據(jù)流圖包括4個方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出),數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名),存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件),源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體).不包括選項(xiàng)中的控制流.(8)應(yīng)用數(shù)據(jù)庫的主要目的是A)解決數(shù)據(jù)保密問題B)解決數(shù)據(jù)完整性問題C)解決數(shù)據(jù)共享問題D)解決數(shù)據(jù)量大的問題解析:數(shù)據(jù)庫中的數(shù)據(jù)具有“集成“與“共享”的特點(diǎn),亦即是數(shù)據(jù)庫集中了各種應(yīng)用的數(shù)據(jù),進(jìn)行統(tǒng)一構(gòu)造與存儲,而使它們可以被不同應(yīng)用程序所使用,故選項(xiàng)C)正確.(9)在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于A)需求分析階段B)邏輯設(shè)計(jì)階段C)概念設(shè)計(jì)階段D)物理設(shè)計(jì)階段解析:E-R模型即實(shí)體-聯(lián)系模型,是將現(xiàn)實(shí)世界的要求轉(zhuǎn)化成實(shí)體,聯(lián)系,屬性等幾個基本概念,以及它們之間的兩種聯(lián)接關(guān)系.數(shù)據(jù)庫邏輯設(shè)計(jì)階段包括以下幾個過程:從E-R圖向關(guān)系模式轉(zhuǎn)換,邏輯模式規(guī)范化及調(diào)整,實(shí)現(xiàn)規(guī)范化和RDBMS,以及關(guān)系視圖設(shè)計(jì).(10)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段.其中數(shù)據(jù)獨(dú)立性最高的階段是A)數(shù)據(jù)庫系統(tǒng)B)文件系統(tǒng)C)人工管理D)數(shù)據(jù)項(xiàng)管理解析:人工管理階段是在20世紀(jì)50年代中期以前出現(xiàn)的,數(shù)據(jù)不獨(dú)立,完全依賴于程序;文件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段,數(shù)據(jù)獨(dú)立性差;數(shù)據(jù)庫系統(tǒng)具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性.填空題:(1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【1】兩大類.解析:數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類.(2)順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置【2】的存儲單元中.解析:常用的存儲表示方法有4種,順序存儲,鏈?zhǔn)酱鎯?,索引存儲,散列存?其中,順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置也相鄰的存儲單元中.⑶一個類可以從直接或間接的祖先中繼承所有屬性和方法.采用這個方法提高了軟件的【3】解析:本題考查了繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性.(4)軟件工程研究的內(nèi)容主要包括:【4】技術(shù)和軟件工程管理.解析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理.軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué),開發(fā)過程,開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué).軟件工程管理包括:軟件管理學(xué),軟件工程經(jīng)濟(jì)學(xué),以及軟件心理學(xué)等內(nèi)容.⑸關(guān)系操作的特點(diǎn)是【5】操作.解析:在關(guān)系操作中,所有操作對象與操作結(jié)果都是關(guān)系.而關(guān)系定義為元數(shù)相同的元組的集合.因此,關(guān)系操作的特點(diǎn)是集合操作.答案:DCCDBAACBA非相鄰結(jié)構(gòu)相鄰可重用性軟件開發(fā)集合第四套:(1)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為A)32B)31C)16D)15解析:所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個葉子結(jié)點(diǎn).這就是說,在滿二叉樹中,層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有2k-l個結(jié)點(diǎn),且深度為m的滿二叉樹有2m-l個結(jié)點(diǎn).(2)若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbAECHF,則其后序遍歷的結(jié)點(diǎn)訪問順序是AB CD EFG HA)bdgcefhaB)gdbecfhaC)bdgaechfD)gdbehfca解析:前序遍歷的第一個結(jié)點(diǎn)a為樹的根結(jié)點(diǎn);中序遍歷中a的左邊的結(jié)點(diǎn)為a的左子樹,a右邊的結(jié)點(diǎn)為a的右子樹;再分別對a的左右子樹進(jìn)行上述兩步處理,直到每個結(jié)點(diǎn)都找到正確的位置.(3)一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調(diào)用.而實(shí)現(xiàn)遞歸調(diào)用中的存儲分配通常用A)棧B)堆。數(shù)組D)鏈表解析:一些較流行的程序語言允許過程的遞歸調(diào)用.遞歸調(diào)用就是過程調(diào)用本身.遞歸實(shí)現(xiàn)的是:當(dāng)過程每一次執(zhí)行后,都能返回到最近一次調(diào)用它的過程中.這樣各調(diào)用點(diǎn)之間形成一種后進(jìn)先出關(guān)系,而棧結(jié)構(gòu)正適合來存儲這些調(diào)用點(diǎn).(4)軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和A)消除軟件危機(jī)B)軟件工程管理。程序設(shè)計(jì)自動化D)實(shí)現(xiàn)軟件可重用解析:軟件工程的目標(biāo)是,在給定的成本,進(jìn)度的前提下,開發(fā)出具有有效性,可靠性,可理解性,可維護(hù)性,可重用性,可適應(yīng)性,可移植性,可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品.基于這一目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理.(5)開發(fā)軟件時(shí)對提高開發(fā)人員工作效率至關(guān)重要的是A)操作系統(tǒng)的資源管理功能B)先進(jìn)的軟件開發(fā)工具和環(huán)境。程序人員的數(shù)量D)計(jì)算機(jī)的并行處理能力解析:軟件工程鼓勵研制和采用各種先進(jìn)的軟件開發(fā)方法,工具和環(huán)境.工具和環(huán)境的使用又進(jìn)一步提高了軟件的開發(fā)效率,維護(hù)效率和軟件質(zhì)量.(6)在軟件測試設(shè)計(jì)中,軟件測試的主要目的是A)實(shí)驗(yàn)性運(yùn)行軟件B)證明軟件正確C)找出軟件中全部錯誤D)發(fā)現(xiàn)軟件錯誤而執(zhí)行程序解析:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程.測試要以查找錯誤為中心,而不是為了演示軟件的正確功能.(7)數(shù)據(jù)處理的最小單位是A)數(shù)據(jù)B)數(shù)據(jù)元素C)數(shù)據(jù)項(xiàng)D)數(shù)據(jù)結(jié)構(gòu)解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識別,存儲和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算.故正確答案為選項(xiàng)C).(8)索引屬于A)模式B)內(nèi)模式C)外模式D)概念模式解析:內(nèi)模式(InternalSchema)又稱物理模式(PhysicalSchema),它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu),索引,集簇及hash等存取方式與存取路徑.(9)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余B)數(shù)據(jù)庫系統(tǒng)避免了一切冗余。數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)解析:數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值.(10)數(shù)據(jù)庫系統(tǒng)的核心是A)數(shù)據(jù)庫B)數(shù)據(jù)庫管理系統(tǒng)C)模擬模型D)軟件工程解析:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織,數(shù)據(jù)操縱,數(shù)據(jù)維護(hù),控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心.填空題(1)在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有【1】.解析:在樹形結(jié)構(gòu)中,每一個結(jié)點(diǎn)只有一個前件,稱為父結(jié)點(diǎn),沒有前件的結(jié)點(diǎn)只有一個,稱為樹的根結(jié)點(diǎn);每一個結(jié)點(diǎn)可以有多個后件,它們都稱為該結(jié)點(diǎn)的子結(jié)點(diǎn).沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn).(2)Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國的M.Jackson提出的,它是一種面向【2】的設(shè)計(jì)方法.解析:結(jié)構(gòu)化分析方法主要包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod).⑶面向?qū)ο蟮哪P椭?,最基本的概念是對象和?】.解析:面向?qū)ο竽P椭?,最基本的概念是對象和?對象是現(xiàn)實(shí)世界中實(shí)體的模型化;將屬性集和方法集相同的所有對象組合在一起,可以構(gòu)成一個類.⑷軟件設(shè)計(jì)模塊化的目的是【4】.解析:模塊化是指解決一個復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程,由此分解來降低復(fù)雜性.(5)數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型,【5】和物理數(shù)據(jù)模型.解析:數(shù)據(jù)是現(xiàn)實(shí)世界符號的抽象,而數(shù)據(jù)模型(datamodel)則是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征,動態(tài)行為和約束行為,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個抽象的框架.數(shù)據(jù)模型按不同的應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型(conceptualdatamodel),邏輯數(shù)據(jù)模型(logicdatamodel)物理數(shù)據(jù)模型(physicaldatamod叫.答案:BDABBDCBBB前件數(shù)據(jù)結(jié)構(gòu)類降低復(fù)雜性邏輯數(shù)據(jù)模型第五套:⑴數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu),對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及A)數(shù)據(jù)的存儲結(jié)構(gòu)B)計(jì)算方法。數(shù)據(jù)映象D)邏輯存儲解析:數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門學(xué)科,它包含3個方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu),存儲結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算.(2)串的長度是A)串中不同字符的個數(shù)B)串中不同字母的個數(shù)。串中所含字符的個數(shù)且字符個數(shù)大于零D)串中所含字符的個數(shù)解析:串的長度指的是串中的字符的個數(shù),且其字符個數(shù)可以為零.(3)在計(jì)算機(jī)中,算法是指A)加工方法B)解題方案的準(zhǔn)確而完整的描述C)排序方法D)查詢方法解析:計(jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個基本特征:可行性,確定性,有窮性和擁有足夠的情報(bào).(4)以下不屬于對象的基本特點(diǎn)的是A)分類性 B)多態(tài)性C)繼承性 D)封裝性解析:對象有如下一些基本特點(diǎn),即標(biāo)識惟一性,分類性,多態(tài)性,封裝性和模塊獨(dú)立性.(5)開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作A)軟件投機(jī)B)軟件危機(jī)。軟件工程D)軟件產(chǎn)生解析:軟件工程概念的出現(xiàn)源自軟件危機(jī).所謂軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題.總之,可以將軟件危機(jī)歸結(jié)為成本,質(zhì)量,生產(chǎn)率等問題.(6)下面不屬于軟件設(shè)計(jì)原則的是A)抽象B)模塊化C)自底向上D)信息隱蔽解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念,它們是抽象,模塊化,信息隱蔽和數(shù)據(jù)獨(dú)立性.自底向上是集成測試中增量測試的一種.(7)開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是A)大系統(tǒng)的復(fù)雜性B)人員知識不足??陀^世界千變?nèi)f化D)時(shí)間緊,任務(wù)重解析:軟件的顯著特點(diǎn)是規(guī)模龐大,復(fù)雜度超線性增長,在開發(fā)大型軟件時(shí),要保證高質(zhì)量,極端復(fù)雜困難,不僅涉及技術(shù)問題,更重要的是必須要有嚴(yán)格而科學(xué)的管理.(8)下列SQL語句中,用于修改表結(jié)構(gòu)的是A)ALTERB)CREATEC)UPDATED)INSERT解析:SQL語句中凡創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,再跟類型和名字,附加子句.(9)數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是A)數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)B)數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)C)數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)D)3者沒有明顯的包含關(guān)系解析:數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)包括數(shù)據(jù)庫(Database,簡稱DB)和數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS).(10)關(guān)系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是A)實(shí)體完整性約束B)參照完整性約束C)域完整性約束D)用戶自定義的完整性約束解析:關(guān)系模型允許定義3類數(shù)據(jù)約束,它們是實(shí)體完整性約束,參照完整性約束及用戶自定義的完整性約束.其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫系統(tǒng)支持,對于用戶自定義的完整性約束,則由關(guān)系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶利用該語言給出約束條件,運(yùn)行時(shí)由系統(tǒng)自動檢查.填空題(1)長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時(shí),插入一個元素所需移動元素的平均個數(shù)為【1】.解析:在線性表的任何位置插入一個元素的概率相等,即概率為p=l/(n+l),則插入一個元素時(shí)所需移動元素的平均次數(shù)為E=(l/(n+l))*0((n+l)*n/2)=n/2.⑵用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【2】.解析:用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型.(3)類是一個支持集成的抽象數(shù)據(jù)類型,而對象是類的【3】.解析:將屬性,操作相似的對象歸為類,也就是說,類是具有共同屬性,共同方法的對象的集合.所以,類是對象的抽象,對象則是其對應(yīng)類的一個實(shí)例.(4)數(shù)據(jù)流圖的類型有【4】和事務(wù)型.解析:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型.變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù).⑸當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲結(jié)構(gòu),存取方式等)改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【5】.解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序.也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu),存儲結(jié)構(gòu)與存取方式的改變不會影響應(yīng)用程序.數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級.答案;ADBCBCAABCn/2層次模型實(shí)例變換型物理獨(dú)立性第六套:⑴假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為A)Iog2nB)n2C)O(nl.5) D)n(n-l)/2解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-l)/2.(2)算法分析的目的是A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系O分析算法的易懂性和可靠性D)分析算法的效率以求改進(jìn)解析:算法分析是指對一個算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)量級,常用時(shí)間復(fù)雜度和空間復(fù)雜度表示.分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率.(3)線性表L=(al,a2,a3,...ai,...an),下列說法正確的是A)每個元素都有一個直接前件和直接后件B)線性表中至少要有一個元素C)表中諸元素的排列順序必須是由小到大或由大到小D)除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件解析:線性表可以為空表;第一個元素沒有直接前件,最后一個元素沒有直接后件;線性表的定義中,元素的排列并沒有規(guī)定大小順序.(4)在單鏈表中,增加頭結(jié)點(diǎn)的目的是A)方便運(yùn)算的實(shí)現(xiàn)B)使單鏈表至少有一個結(jié)點(diǎn)C)標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D)說明單鏈表是線性表的鏈?zhǔn)酱鎯?shí)現(xiàn)解析:頭結(jié)點(diǎn)不僅標(biāo)識了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個鏈表,因此增加頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn).⑸軟件工程的出現(xiàn)是由于A)程序設(shè)計(jì)方法學(xué)的影響B(tài))軟件產(chǎn)業(yè)化的需要C)軟件危機(jī)的出現(xiàn)D)計(jì)算機(jī)的發(fā)展解析:軟件工程概念的出現(xiàn)源自于軟件危機(jī).為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念.(6)軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于DA)硬件資源B)通信資源。支持軟件D)輔助資源⑺在數(shù)據(jù)流圖(DFD)中滯有名字的箭頭表示A)模塊之間的調(diào)用關(guān)系B)程序的組成成分C)控制程序的執(zhí)行順序D)數(shù)據(jù)的流向解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它.在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流.數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體.(8)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是A)數(shù)據(jù)分布性和邏輯整體性B)位置透明性和復(fù)制透明性C)分布性D)數(shù)據(jù)冗余解析:分布式數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)分布性,邏輯整體性,位置透明性和復(fù)制透明性的特點(diǎn),其數(shù)據(jù)也是分布的;但分布式數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)經(jīng)常重復(fù)存儲,數(shù)據(jù)也并非必須重復(fù)存儲,主要視數(shù)據(jù)的分配模式而定.若分配模式是一對多,即一個片段分配到多個場地存放,則是冗余的數(shù)據(jù)庫,否則是非冗余的數(shù)據(jù)庫.(9)關(guān)系表中的每一橫行稱為一個A)元組B)字段C)屬性D)碼解析:關(guān)系表中,每一行稱為一個元組,對應(yīng)表中的一條記錄;每一列稱為表中的一個屬性,對應(yīng)表中的一個字段;在二維表中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼.(10)下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是A)層次模型B)網(wǎng)狀模型。關(guān)系模型D)以上3個都是解析:關(guān)系模型較之格式化模型(網(wǎng)狀模型和層次模型)有以下方面的優(yōu)點(diǎn),即數(shù)據(jù)結(jié)構(gòu)比較簡單,具有很高的數(shù)據(jù)獨(dú)立性,可以直接處理多對多的聯(lián)系,以及有堅(jiān)實(shí)的理論基礎(chǔ).填空題(1)在算法正確的前提下,評價(jià)一個算法的兩個標(biāo)準(zhǔn)是【1】.(2)軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【3】的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ).(3)[4]是數(shù)據(jù)庫設(shè)計(jì)的核心.解析:數(shù)據(jù)模型是對客觀事物及聯(lián)系的數(shù)據(jù)描述,它反映了實(shí)體內(nèi)部及實(shí)體與實(shí)體之間的聯(lián)系.因此,數(shù)據(jù)模型是數(shù)據(jù)庫設(shè)計(jì)的核心.(4)在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個【5】.解析:在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關(guān)系.表中的每一列稱為一個屬性,相當(dāng)于記錄中的一個數(shù)據(jù)項(xiàng),對屬性的命名稱為屬性名;表中的一行稱為一個元組,相當(dāng)于記錄值.答案:DDDACDDDAC時(shí)間復(fù)雜度和空間復(fù)雜度軟件工程學(xué)數(shù)據(jù)模型關(guān)系第七套(1)下列敘述中正確的是A)線性表是線性結(jié)構(gòu) B)棧與隊(duì)列是非線性結(jié)構(gòu)C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)解析:線性表是一種線性結(jié)構(gòu),數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號,即數(shù)據(jù)元素之間的相對位置是線性的;棧,隊(duì)列,線性鏈表實(shí)際上也是線性表,故也是線性結(jié)構(gòu);樹是一種簡單的非線性結(jié)構(gòu).(2)非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿足A)p->next==NULLB)p==NULLC)p->next=headD)p=head解析:循環(huán)鏈表就是將鏈表的最后一個結(jié)點(diǎn)指向鏈表頭結(jié)點(diǎn)(或第一個結(jié)點(diǎn)),即p->next=head.(3)已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是A)堆排序B)直接插入排序??焖倥判駾)直接選擇排序解析:當(dāng)數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)表A按關(guān)鍵字值基本有序,在待排序序列基本有序的情況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng)B).(4)對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是A)程序應(yīng)簡單,清晰,可讀性好B)符號名的命名只要符合語法。充分考慮程序的執(zhí)行效率D)程序的注釋可有可無解析:程序設(shè)計(jì)應(yīng)該簡單易懂,語句構(gòu)造應(yīng)該簡單直接,不應(yīng)該為提高效率而把語句復(fù)雜化.(5)下列不屬于結(jié)構(gòu)化分析的常用工具的是A)數(shù)據(jù)流圖B)數(shù)據(jù)字典C)判定樹D)PAD圖解析:結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖,數(shù)據(jù)字典,判定樹和判定表.而PAD圖是常見的過程設(shè)計(jì)工具中的圖形設(shè)計(jì).(6)在軟件生產(chǎn)過程中,需求信息的給出是A)程序員B)項(xiàng)目管理者。軟件分析設(shè)計(jì)人員D)軟件用戶解析:軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能,行為,性能,設(shè)計(jì)約束等方面的期望.(7)下列工具中為需求分析常用工具的是A)PADB)PFDC)N-SD)DFD解析:需求分析中的常用工具有PAD,PFD及N-S等,而DFD(數(shù)據(jù)流圖)為結(jié)構(gòu)化分析工具.(8)NULL是指A)0B)空格C)未知的值或無任何值 D)空字符串解析:此題屬于記憶性的題目,NULL是指未知的值或無任何值.(9)數(shù)據(jù)庫的故障恢復(fù)一般是由A)數(shù)據(jù)流圖完成的B)數(shù)據(jù)字典完成的C)DBA完成的D)PAD圖完成的解析:一旦數(shù)據(jù)庫中的數(shù)據(jù)遭受破壞,需要及時(shí)進(jìn)行恢復(fù),RDBMS一般都提供此種功能,并由DBA負(fù)責(zé)執(zhí)行故障恢復(fù)功能.(10)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是A)數(shù)據(jù)結(jié)構(gòu)B)數(shù)據(jù)操作C)數(shù)據(jù)查詢D)數(shù)據(jù)約束解析:數(shù)據(jù)模型所描述的內(nèi)容有3個部分,它們是數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作和數(shù)據(jù)約束.其中,數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)的類型,內(nèi)容,性質(zhì),以及數(shù)據(jù)庫的聯(lián)系等;數(shù)據(jù)操作主要是描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式.填空題(1)冒泡排序算法在最好的情況下的元素交換次數(shù)為【1】.解析:根據(jù)冒泡排序算法思想可知,若待排序的初始序列為“正序”序列,則只需進(jìn)行一趟排序,在排序過程中進(jìn)行n-1次關(guān)鍵字間的比較,且不移動和交換記錄,這種情況是冒泡排序的最好情況,故冒泡排序算法在最好的情況下的元素交換次數(shù)為0.(2)在最壞情況下,堆排序需要比較的次數(shù)為【2】.⑶若串s="MathTypes”,則其子串的數(shù)目是【3】.解析:串s中共有9個字符,由于串中字符各不相同,則其子串中有0個字符的1個(空串),1個字符的9個,2個字符的8個,3個字符的7個,4個字符的6個,5個字符的5個,6個字符的4個,7個字符的3個,8個字符的2個,9個字符的1個,共有1+2+3+4+5+6+7+8+9+1=46.(4)軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【4】集合.(5)關(guān)系數(shù)據(jù)庫的關(guān)系演算語言是以【5】為基礎(chǔ)的DML語言.解析:關(guān)系數(shù)據(jù)庫中的關(guān)系演算包括元組關(guān)系演算和域關(guān)系演算.二者都是由原子公式組成的公式.而這些關(guān)系演算都是以數(shù)理邏輯中的謂詞演算為基礎(chǔ)的.答案:ACBAADDCCC0O(nlog2n)46軟件工具謂詞演算第八套:(1)循環(huán)鏈表的主要優(yōu)點(diǎn)是A)不再需要頭指針了B)從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個鏈表。在進(jìn)行插入,刪除運(yùn)算時(shí),能更好的保證鏈表不斷開D)已知某個結(jié)點(diǎn)的位置后,能夠容易的找到它的直接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論