版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二級(jí)公共基礎(chǔ)考點(diǎn)總結(jié)第一章 數(shù)據(jù)結(jié)構(gòu)與算法(八大考點(diǎn))考點(diǎn)一:算法L盲法是指解題方案的準(zhǔn)確而完整的描述。它有4個(gè)基本特征,分別是可行性、確定性、有窮性和擁有足夠的情報(bào)。2.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度算金的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算所需要的計(jì)算工作量(或算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù))算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間.考點(diǎn)二:數(shù)據(jù)結(jié)構(gòu)的基本概念.數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門學(xué)科.數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容:數(shù)據(jù)之間的邏輯關(guān)系(邏輯結(jié)構(gòu))、數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)方式(存儲(chǔ)結(jié)構(gòu))以及在這些數(shù)據(jù)上定義的運(yùn)算的集合(數(shù)據(jù)的運(yùn)算).數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)
算機(jī)存儲(chǔ)空間中的存放形式。在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息。.在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以是連續(xù)的,也可以是不連續(xù)的,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。.一般來說,一種數(shù)據(jù)結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu)。常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等,而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的;一個(gè)數(shù)據(jù)結(jié)構(gòu)中的各數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系是有可能不同的。.線性結(jié)構(gòu)是指各數(shù)據(jù)元素之間的邏輯關(guān)系可以用一個(gè)線性序列簡(jiǎn)單地表示出來。否則稱之為非線性結(jié)構(gòu)??键c(diǎn)三:線性表及其順序存儲(chǔ)結(jié)構(gòu)1.當(dāng)線性表采用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)時(shí),其主要特點(diǎn)是數(shù)據(jù)元素按線性表的邏輯次序,依次存放在一組地址連續(xù)的存儲(chǔ)單元中。在存儲(chǔ)單元中各元素的物理位置和邏輯結(jié)構(gòu)中各結(jié)點(diǎn)
間的相鄰關(guān)系是一致的。考點(diǎn)四:棧和隊(duì)列棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種〃后進(jìn)先出〃的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種〃先進(jìn)先出〃的線性表。棧和隊(duì)列的共同特點(diǎn)是只允許在端點(diǎn)處插入和刪除元素常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲(chǔ)空間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過大的存儲(chǔ)空間,勢(shì)必造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)存儲(chǔ)空間,則可利用棧的動(dòng)態(tài)特性使他們的存儲(chǔ)空間互補(bǔ)。所以,由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的機(jī)率(設(shè)有兩個(gè)串P和q,求q在P中首次出現(xiàn)位置的運(yùn)算稱作模式匹配)(n個(gè)頂點(diǎn)的連通圖中邊的條數(shù)至少為n-1)考點(diǎn)五:線性鏈表1.星表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(鏈?zhǔn)酱鎯?chǔ)中每個(gè)結(jié)點(diǎn)由兩部分組成:數(shù)據(jù)域和指針域),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。用鏈表表示線性表的突出優(yōu)點(diǎn)是便于插入和刪除操作.考點(diǎn)六:樹與二叉樹.樹是一個(gè)或多個(gè)結(jié)點(diǎn)組成的有限集合,其中一個(gè)特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個(gè)不相交的集合。每個(gè)集合同時(shí)又是一棵樹。樹有且只有1個(gè)根結(jié)點(diǎn)。.二叉樹的遍歷是指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn)二叉樹的遍歷可以分為三種:前序遍歷(DLR)是指先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹.(先根后左再右)中序遍歷(LDR)是指先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹.(先左后根再右)后序遍歷(LRD)是指先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn).(先左后右再根)如:已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是cedba解題思路:由后序或前序遍歷可判斷根結(jié)點(diǎn),再由中序遍歷可判斷左右子樹.考點(diǎn)七:查找技術(shù)一.順序查找順序查找的方法是:用待查關(guān)鍵碼值與線性表中各結(jié)點(diǎn)的關(guān)鍵碼值逐個(gè)比較,直到找出相等的關(guān)鍵碼值,則查找成功;或者找遍所有結(jié)點(diǎn)都不相等,則查找失敗。順序查找的優(yōu)點(diǎn):對(duì)線性表的結(jié)點(diǎn)的邏輯次序無要求(不必按關(guān)鍵碼值排序),對(duì)線性表的存儲(chǔ)結(jié)構(gòu)無要求(順序存儲(chǔ)、鏈接存儲(chǔ)皆可。)二二分法查找二分法查展是一種效率較高的線性表查找方法。要進(jìn)行二分法查找,則線性表結(jié)點(diǎn)必須進(jìn)按關(guān)鍵碼值排好序的,且線性表以順序方式存儲(chǔ)。二分法查找的方法:首先用要查找的關(guān)鍵碼值與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值相比較,這個(gè)中間結(jié)點(diǎn)把線性表分成了兩個(gè)子表,比較相等則查找完成,不等則根據(jù)比較結(jié)果確定下一步的查找應(yīng)在哪一個(gè)子表中進(jìn)行,如此進(jìn)行下去,直到找到滿足條件的結(jié)點(diǎn),或者確定表中沒有這樣的結(jié)點(diǎn)。對(duì)于二分法查找的缺點(diǎn)是線性表排序需花費(fèi)時(shí)間,順序方式存儲(chǔ)的插入、刪除不便。長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次??键c(diǎn)八:排序技術(shù)一.交換類排序法交換類排序的基本思想:兩兩比較待排序記錄的關(guān)鍵碼,并交換不滿足順序要求的那些偶對(duì),直到全部滿足為止.冒泡排序法(或稱下沉排序)將待排序的記錄順次兩兩比較,若為逆序則進(jìn)行交換.將序列照此方法從頭到尾處理一遍稱作一趟起泡,一趟起泡的效果是將關(guān)鍵碼值最大的記錄交換到了最后的位置,即該記錄的排序最終位置.若某一趟起泡過程中沒有發(fā)生任何交換,則排序過程結(jié)束.對(duì)n個(gè)記錄的文件進(jìn)行排序最多需要n-1趟起泡.對(duì)n個(gè)記錄的文件進(jìn)行冒泡排序,在最壞情況下,需要的比較次數(shù)為:N(N-1)/2快速排序法快速排序又稱分區(qū)交換排序,是對(duì)冒泡排序的一種改進(jìn).其基本方法是:在待排序序列中任取一個(gè)記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一個(gè)部分,關(guān)鍵碼值比它大的在另一個(gè)部分.再分別對(duì)兩個(gè)部分實(shí)施上述過程,一直重復(fù)到排序完成.在最壞的情況下與起泡排序相當(dāng),然而快速排序的平均執(zhí)行時(shí)間為O(nlog2n),顯然優(yōu)于起泡排序和直接插入排序、直接選擇排序方法。需要指出的是,快速排序需要O(logzn)的附加存儲(chǔ)開銷,這是因?yàn)榭焖倥判蛩惴ǖ膶?shí)現(xiàn)過程中需用到大小為O(log2n)的??臻g??焖倥判蚴且砸粋€(gè)記錄為基準(zhǔn),用交換的方法把文件分成兩部分的思想。.插入類排序法插入排序的基本思想是:每步將一個(gè)待排序記錄按其關(guān)鍵碼值的大小插入到前面已排序的文件中的適當(dāng)位置上,直到全部記錄插入完為止。1)簡(jiǎn)單插入排序它是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。這種排序的效率與冒泡排序法相同。在最壞情況下,簡(jiǎn)單插入排序需要N(N-l)/2次比較.將已排好序的序列中找插入位置時(shí)用順序法查找,找到插入位置后將該位置原來的記錄及其后面所有的記錄順序后移一個(gè)位置,空出該位置來插入記錄。
2)希爾(Shell)排序法(縮小增量法)希爾排序的基本思想是把記錄按下標(biāo)的一定增量分組,對(duì)每組記錄使用插入排序,隨增量的逐漸減小,所分成的組包含的記錄越來越多,到增量的值減小到1時(shí),整個(gè)數(shù)據(jù)合成一組,構(gòu)成一組有序記錄,故其屬于插入排序方法。在最壞情況下,希爾排序所需要的比較次數(shù)為O(NL5).希爾排序的效率與所選取的增量序列有關(guān)..選擇類排序法選擇排序的基本思想是:每次從待排序的記錄中選出關(guān)鍵碼值最小(或最大)的記錄,順序放在已排序的記錄序列的最后,直到全部排完。1)簡(jiǎn)單選擇排序簡(jiǎn)單選擇排序法在最壞情況下需要比較N(N-l)/2次對(duì)文件進(jìn)行n-1趟掃描,第I趟掃描從剩下的n-i+1個(gè)記錄中選出關(guān)鍵碼值最小的記錄,與第I個(gè)記錄交換。直接選擇排序的每一趟掃描找出當(dāng)前最小關(guān)鍵碼,但沒有為以后的選擇留下任何信息。
堆排序是對(duì)直接選擇排序的改進(jìn),在第一次選擇出最小關(guān)鍵碼的同時(shí)為以后的選擇準(zhǔn)備了條件。2)堆排序堆排序是完全二叉樹結(jié)構(gòu)的一個(gè)重要應(yīng)用。堆排序的基本思想是:對(duì)一組待排序的關(guān)鍵碼,首先把它們按堆的定義排成一個(gè)序列(稱為建堆),這就找到了最小的關(guān)鍵碼,然后將最小的關(guān)鍵碼取出,用剩下的關(guān)鍵碼再建堆,便得到次最小的的關(guān)鍵碼,如此反復(fù)進(jìn)行,直到將全部關(guān)鍵碼排好序?yàn)橹?。堆排序的方法?duì)于規(guī)模較小的線性表并不適合,但對(duì)于較大規(guī)模的線性表來說是很有效的.在最壞懷況下,堆排序需要比較的次數(shù)為nlog2n次,堆排序的執(zhí)行時(shí)間為O(nlog2n),且僅需要一個(gè)用于交換的附加存儲(chǔ)結(jié)點(diǎn)。因此堆排序是一種適合于較大文件的排序方法。相關(guān)知識(shí)點(diǎn):從平均時(shí)間性能而言,快速排序最佳,其所需時(shí)間最少,但快速排序在最壞情況下的時(shí)間性能不如堆排序和歸并排序。當(dāng)序列中的記錄基本有序或元素個(gè)數(shù)較少時(shí),冒泡排序和簡(jiǎn)單選擇排序?yàn)樽罴雅判蚍椒?所以,在待排序的元素序列基本有序的前提下,效率最高的排序方法是冒泡排序和簡(jiǎn)單選擇排序第二章 程序設(shè)計(jì)基礎(chǔ)(三大考點(diǎn))考點(diǎn)一:程序設(shè)計(jì)方法與風(fēng)格程序的主要風(fēng)格:“清晰第一,效率第二”要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注意下述1II一,要素:.源程序文檔化文檔是有關(guān)計(jì)算機(jī)程序功能、設(shè)計(jì)、編制、使用的文字或圖形資料。編制一個(gè)好的程序首先要確保它的正確性和可靠性還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格。在書寫時(shí)應(yīng)考慮為程序作注釋。.數(shù)據(jù)說明的方法.語句的結(jié)構(gòu)程序編寫要做到清晰第一、效率第二。.輸入和輸出考點(diǎn)二:結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的原則:概括為:自頂向下、逐步求精、模塊化、限制使用GOTO語句。結(jié)構(gòu)化程序的基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、重復(fù)結(jié)構(gòu)(或稱為循環(huán)結(jié)構(gòu))嚴(yán)格控制GOTO語句的使用。其意思是指:A.用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。B.若不使用GOTO語句會(huì)使功能模糊C.在某種可以改造而不是損害程序可讀性的情況下。相關(guān)知1。程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言,其基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算。控制成分:用來構(gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言。2.當(dāng)程序之間發(fā)生調(diào)用關(guān)系時(shí),調(diào)用命令所在的代碼段被稱為主程序,被調(diào)用的代碼段被稱為子程序。子程序是對(duì)功能的抽象,可分為過程和函數(shù)兩類,兩者的區(qū)別是函數(shù)是通過函數(shù)名來返回值的,而過程只能通過形式參數(shù)或?qū)θ肿兞窟M(jìn)行修改以返回值??键c(diǎn)三:面向?qū)ο蟮某绦蛟O(shè)計(jì)一.面向?qū)ο蟮膬?yōu)點(diǎn):A.與人類習(xí)慣的思維方法一致B.穩(wěn)定性好C.可重用性好(軟件重用是指在不同的軟件開發(fā)過程中重復(fù)使用相同或相似軟件元素的過程O重用是提高軟件生產(chǎn)率的最主要的方法。)D.易于開發(fā)大型軟件產(chǎn)品E.可維護(hù)性好4.面向?qū)ο蠓椒ǖ幕靖拍?)對(duì)象面向?qū)ο蠓椒▽W(xué)中的對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。面向?qū)ο蠓椒ɑ灸康暮椭饕獌?yōu)點(diǎn):通過重用性提高軟件的生產(chǎn)率。對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實(shí)體,對(duì)象是實(shí)體的抽象O對(duì)象是屬性和方法的封裝體。屬性即對(duì)象包含的信息,操作描述了對(duì)象執(zhí)行的功能,操作也稱為方法或服務(wù)。面向?qū)ο蠓椒ê图夹g(shù)以對(duì)象為核心,對(duì)象之間通過傳遞消息互相聯(lián)系。面向?qū)ο蠓椒ǖ幕靖拍畎ǎ簩?duì)象、屬性、方法、類、繼承、多態(tài)性沒有過程調(diào)用。對(duì)象有五個(gè)基本特點(diǎn):A.標(biāo)識(shí)惟一性B.分類性C.多態(tài)性D.封裝性E.模塊獨(dú)立性好2)類和實(shí)例將屬性、操作相似的對(duì)象歸為類。類是具有共同屬性、共同方法的對(duì)象的集合。所以,類是對(duì)象的抽象,它 描述了屬于該對(duì)象類型的所有對(duì)象的性質(zhì)。而一個(gè)對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。3)消息面向?qū)ο蟮氖澜缡峭ㄟ^對(duì)象與對(duì)象間彼此的相互合作來推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為“消息”。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象進(jìn)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。消息的使用類似于函數(shù)調(diào)用4)繼承繼承是使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。已有的類可當(dāng)作基類來引用,則新類相應(yīng)地可當(dāng)作派生類來引用。一個(gè)類直接繼承其父類的描述或特性,子類自動(dòng)地共享基類中定義的數(shù)據(jù)和方法。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。繼承分單繼承和多重繼承o單繼承指一個(gè)類只允許有一個(gè)父類,多重繼承指一個(gè)類允許有多個(gè)父類。
在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為繼承。繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語言不同于其他語言的主要標(biāo)志。5)多態(tài)性對(duì)象根據(jù)所接受的消息而做出的動(dòng)作,同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng),該現(xiàn)象稱為多態(tài)性。(利用多態(tài)性,用戶能夠發(fā)送一般形式的消息,而將所有的實(shí)現(xiàn)細(xì)節(jié)都留給接受消息的對(duì)象)多態(tài)性是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的行動(dòng)的現(xiàn)象。是否建立了豐富的類庫是衡量一個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)語言成熟與否的一個(gè)重要標(biāo)志。第三章軟件工程基礎(chǔ)(五大考點(diǎn))第三章軟件工程基礎(chǔ)(五大考點(diǎn))考點(diǎn)一:軟件工程基本概念—軟件定▽與軟件蚌占,計(jì)算機(jī)軟件是計(jì)算機(jī)朱統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計(jì)語言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語句)序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。計(jì)算機(jī)軟件是指與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。軟件的特點(diǎn):它是一種邏輯實(shí)體,沒有明顯的制作過程,軟件在運(yùn)行、使用期間不存在磨損、老化問題,軟件的開發(fā)具有依賴性,其復(fù)雜性高,成本高,軟件開發(fā)涉及諸多的社會(huì)因素。軟件按功能來分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。二.軟件危機(jī)與軟件工程.軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。軟件危機(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問題。軟件工程就是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。軟件工程過程是把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)。軟件工程過程通常包含4種基本活動(dòng):P-軟件規(guī)格說明。D-軟件開發(fā)。軟件確認(rèn)A-軟件演進(jìn).軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。軟件定義包括可行性研究與計(jì)劃制定、需求分析兩個(gè)階段;軟件開發(fā)包括軟件設(shè)計(jì)(概要設(shè)計(jì)和詳細(xì)設(shè)計(jì))、軟件編碼和軟件測(cè)試三大階段;軟件運(yùn)行維護(hù)階段包括使用、維護(hù)、退役。軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。只有軟件定義有用戶的參與。軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。三.軟件工程的目標(biāo)和原則1.基于軟件工程的目標(biāo)軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)(軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)),另一個(gè)內(nèi)容是軟件工程管理(軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等)把用戶的要求轉(zhuǎn)變成軟件產(chǎn)品的過程稱為軟件開發(fā)過程。1.軟件工程的原則:其基本原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。四.軟件開發(fā)工具與軟件開發(fā)環(huán)境軟件開發(fā)工具為軟件工程學(xué)提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。軟件開發(fā)工具的發(fā)展是從單項(xiàng)工具的開發(fā)逐步向集成工具發(fā)展的。軟件開發(fā)環(huán)境或稱軟件工程環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。計(jì)算機(jī)輔助軟件工程(CASE)是當(dāng)前軟件開發(fā)環(huán)境中富有特色的研究工作和發(fā)展方向。考點(diǎn)二:結(jié)構(gòu)化分析方法一.需求分析與需求分析方法.需求分析階段工作概括為四個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評(píng)審。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期待。準(zhǔn)確地解決了“軟件系統(tǒng)必須做什么”。需求規(guī)格說明書是需求分析的最終結(jié)果。.常見的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深悺F渲薪Y(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)o從需求分析建立的模型的特性來分,需求分析方法又分為靜態(tài)分析方法和動(dòng)態(tài)分析方法。二.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的運(yùn)用。.結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。.結(jié)構(gòu)化分析的常用工具:1)數(shù)據(jù)流圖(DFD-DataFlowDiagram)數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。o 數(shù)據(jù)流圖中的主要圖形元素:加工(轉(zhuǎn)換)。輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。f 數(shù)據(jù)流。沿箭頭方向傳送數(shù)據(jù)的通道,二般在旁邊標(biāo)注數(shù)據(jù)流名。= 存儲(chǔ)文件(數(shù)據(jù)源)。表示處理過程中存放各種數(shù)據(jù)的文件。匚源,潭。表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。建立數(shù)據(jù)流圖的步驟:由外向里,自頂向下,逐層分解。2)數(shù)據(jù)字典(DD-DataDictionary)數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的,嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。結(jié)構(gòu)化分析方法使用的描述工具數(shù)據(jù)字典定義了數(shù)據(jù)流圖中的每個(gè)圖形元素。3)判定樹4)判定表(它與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個(gè)邏輯條件的取值,即完成該加工的一組動(dòng)作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜)判定表采用表格表達(dá)工具。三.軟件需求規(guī)格說明書軟件需求規(guī)格說明書(SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。內(nèi)容對(duì)軟件主要功能、用戶界面、運(yùn)行環(huán)境、算法詳細(xì)過程、軟件的性能說明。它有以下幾個(gè)方面的作用:①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)??键c(diǎn)三:結(jié)構(gòu)化設(shè)計(jì)方法一.軟件設(shè)計(jì)的基本概念.軟件設(shè)計(jì)的基礎(chǔ)軟件件設(shè)計(jì)是確定系統(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ì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;詳細(xì)設(shè)計(jì)確立每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。軟件設(shè)計(jì)的一般過程是:軟件設(shè)計(jì)是一個(gè)迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì)。.軟件設(shè)計(jì)的基本原理:抽象模塊化
3)信息隱蔽(信息隱蔽指在一個(gè)模塊化內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說是不能訪問的。)4)模塊獨(dú)立性(耦合性和內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合和內(nèi)聚是相互關(guān)聯(lián)的。內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量。耦合性是模塊間互相連接的緊密程度的度量。)內(nèi)容耦合(耦合性最強(qiáng))、公共耦合、外部耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合、非直接耦合(獨(dú)立性最強(qiáng))軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是高內(nèi)聚低耦合。二.概要設(shè)計(jì)軟件的概要設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。結(jié)果得到一個(gè)優(yōu)化的軟件結(jié)構(gòu)圖。常見的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱為程序結(jié)構(gòu)圖。經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。
有關(guān)術(shù)語:深度:表示控制的層數(shù)。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。原子模塊:樹中位于葉子結(jié)點(diǎn)的模塊。面向數(shù)據(jù)流的設(shè)計(jì)方法中,典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。二詳細(xì)設(shè)計(jì)r詳質(zhì)設(shè)計(jì)階段的任務(wù)是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)O詳細(xì)設(shè)算階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),但詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體的編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼。因此,詳細(xì)設(shè)計(jì)階段的結(jié)果基本上就決定了最終的程序代碼的質(zhì)里,o2.常見的過程設(shè)計(jì)工具有:A圖形工具:程序流程圖(PFD),N-S,PAD,HIPOB表格工具:判定表C語言工具:PDL(偽碼)1)程序流程圖(PFD):它是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計(jì)表示工具,通常也稱為流程框圖。程序流程圖表達(dá)直觀、清晰、易于學(xué)習(xí)掌握,且獨(dú)立于任何一種程序設(shè)計(jì)語言。注:一控制流口加工步驟O邏輯條件N-S圖:提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖。PAD圖:它是問題分析圖(ProblemAnalysisDiagram)的英文縮寫。它是繼程序流程圖和方框圖之后,提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具。(樹型結(jié)構(gòu))PAD圖的特征:A結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高;B易于閱讀C最左端的縱線是程序主干線,對(duì)應(yīng)程序的第一層結(jié)構(gòu);每增加一層PAD圖向右擴(kuò)展一條縱線,故程序的縱線數(shù)等于程序?qū)哟螖?shù)。D程序執(zhí)行:從PAD圖最左主干線上端結(jié)點(diǎn)開始,自上而下,自向而右依次執(zhí)行,程序終止于最左主干線。PDL過程設(shè)計(jì)語言(PDL)也稱為結(jié)構(gòu)化的英語和偽碼,它是一種混合語言,采用英語的詞匯和結(jié)構(gòu)化程序設(shè)計(jì)語言的語法,類似編碼語言。考點(diǎn)四:軟件測(cè)試一.軟件測(cè)試的目的測(cè)試的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤。經(jīng)驗(yàn)表明,程序中存在錯(cuò)誤的概率與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比。這一現(xiàn)象說明,為了提高測(cè)試效率,測(cè)試人員應(yīng)該集中對(duì)付那些錯(cuò)誤群集的程序。一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的
錯(cuò)誤的測(cè)試.三.軟件測(cè)試技術(shù)從是否需要執(zhí)行被測(cè)軟件的角度,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試方法。按功能劃分為白盒測(cè)試和黑盒測(cè)試方法。.靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。動(dòng)態(tài)測(cè)試是基于計(jì)算機(jī)的測(cè)試,是為了發(fā)現(xiàn)錯(cuò)誤執(zhí)行程序的過程.白盒測(cè)試與黑盒測(cè)試.白盒測(cè)試方法也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。它是根據(jù)軟件的內(nèi)部工作過程,檢查內(nèi)部成分。主要方法有邏輯覆蓋(語句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋、判斷■條件覆蓋(查錯(cuò)能力最強(qiáng)))、基本路徑測(cè)試(最強(qiáng)的覆蓋準(zhǔn)則)。白盒測(cè)試屬于動(dòng)態(tài)測(cè)試。(白盒測(cè)試的基本原則是:保證所測(cè)模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)模塊每一循環(huán)都在邊界條件和一般條件下個(gè)執(zhí)行一次;驗(yàn)證所有內(nèi)部結(jié)構(gòu)的數(shù)據(jù)有效性?!鞍缀小狈ㄊ歉F舉路徑測(cè)試。)
.黑盒測(cè)試方法也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。它是對(duì)軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測(cè)試和驗(yàn)證。它不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能說明。主要方法有:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖等,主要用于軟件確認(rèn)測(cè)試。白盒法是根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì)測(cè)試用例的。黑盒法是根據(jù)程序的功能來設(shè)計(jì)測(cè)試用例的。注:白盒、黑盒法都不可能使測(cè)試達(dá)到徹底。四.軟件測(cè)試的實(shí)施軟件測(cè)試過程一般按4個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試(確認(rèn)測(cè)試)和系統(tǒng)測(cè)試1)單元測(cè)試單元測(cè)試的技術(shù)可以采用靜態(tài)分析和動(dòng)態(tài)測(cè)試。對(duì)動(dòng)態(tài)測(cè)試多采用白盒動(dòng)態(tài)測(cè)試為主,輔之以黑盒測(cè)試。單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì)說明書和源程序。
單元測(cè)試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。2)集成測(cè)試(概要設(shè)計(jì)階段進(jìn)行)集成測(cè)試是測(cè)試和組裝軟件的過程。集成測(cè)試的目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。集成測(cè)試的依據(jù)是概要設(shè)計(jì)說明書。人們提出了自頂向下和自底向上相結(jié)合、從兩頭向中間副近的混合式組裝方法,被形象稱之為“三明治”方法。3)確認(rèn)測(cè)試(需求分析階段進(jìn)行)確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能及其它特性是否滿足了需求規(guī)格說明中確定的各種需求,以及軟件配置是否完全、正確。確認(rèn)測(cè)試首先運(yùn)用黑盒方法,對(duì)軟件進(jìn)行有效性測(cè)試。對(duì)軟件是否能達(dá)到用戶所期望的要求的測(cè)試稱為有效性測(cè)試.以需求規(guī)格說明文檔作為測(cè)試基礎(chǔ)。以4)系統(tǒng)測(cè)試系統(tǒng)測(cè)試是在真實(shí)的系統(tǒng)工作環(huán)境下檢驗(yàn)軟件是否能與系統(tǒng)正確連接,發(fā)現(xiàn)軟件與系統(tǒng)需求
不一致的地方。系統(tǒng)測(cè)試的目的是盡可能多的發(fā)現(xiàn)軟件系統(tǒng)中的錯(cuò)誤和缺陷??键c(diǎn)五:程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。一.程序序調(diào)試的基本步驟:1)錯(cuò)誤定位2)修改設(shè)計(jì)和代碼,以排除錯(cuò)誤3)進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。二.軟件調(diào)試方法:調(diào)試的關(guān)鍵在于推斷程序內(nèi)部的錯(cuò)誤位置及原因。主要的調(diào)試方法有強(qiáng)行排錯(cuò)法(設(shè)置斷點(diǎn)和監(jiān)視表達(dá)式)、回溯法(適合小規(guī)模程序)和原因排除法(通過演繹和歸納,以及二分法來實(shí)現(xiàn))。第四章 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)(四大考點(diǎn))考點(diǎn)一:數(shù)據(jù)庫系統(tǒng)的基本概念一.數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)?數(shù)據(jù)數(shù)據(jù)實(shí)際上就是描述事物的符號(hào)記錄。計(jì)算機(jī)中的數(shù)據(jù)一般分為兩部分,即臨時(shí)性數(shù)據(jù)和持久性數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)中處理的就是持久性數(shù)據(jù)。軟件中的數(shù)據(jù)是有一定結(jié)構(gòu)的,數(shù)據(jù)有型(類型)和值之分。.數(shù)據(jù)庫數(shù)據(jù)庫(簡(jiǎn)稱DB)是數(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ù)模式存放的,數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共享”的特點(diǎn),即數(shù)據(jù)庫集中了各種應(yīng)用的數(shù)據(jù),進(jìn)行統(tǒng)一的構(gòu)造和存儲(chǔ),而使它們可被不同應(yīng)用程序所使用。.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(簡(jiǎn)稱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)的核心。其主要六個(gè)功能有:1)數(shù)據(jù)模式定義2)數(shù)據(jù)存取的物理構(gòu)建3)數(shù)據(jù)操縱4)數(shù)據(jù)的完整性、安全性定義與檢查5)數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù)6)數(shù)據(jù)的服務(wù)數(shù)據(jù)庫管理系統(tǒng)一般提供相應(yīng)的數(shù)據(jù)語言,它們是:數(shù)據(jù)定義語言(簡(jiǎn)稱DDL):該語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。數(shù)據(jù)操縱語言(簡(jiǎn)稱DML):該語言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作。數(shù)據(jù)控制語言(簡(jiǎn)稱DCL):該語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。上述數(shù)據(jù)語言按其使用方法具有兩種結(jié)構(gòu)形式:交互式命令語言(又稱為自含型或自主型語言)2)宿主型語言。.數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員(簡(jiǎn)稱DBA).其主要工作有:1)數(shù)據(jù)庫設(shè)計(jì)2)數(shù)據(jù)庫維護(hù)3)改善系統(tǒng)性能,提高系統(tǒng)效率..數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(簡(jiǎn)稱DBS).由五個(gè)部分構(gòu)成:1)數(shù)據(jù)庫(數(shù)據(jù))2)數(shù)據(jù)庫管理系統(tǒng)(軟件)3)數(shù)據(jù)庫管理員(人員) 4)硬件平臺(tái)(硬件)5)系統(tǒng)平臺(tái)(軟件)6.數(shù)據(jù)庫應(yīng)用系統(tǒng)(簡(jiǎn)稱DBAS).數(shù)據(jù)庫系統(tǒng)的發(fā)展數(shù)據(jù)庫系統(tǒng)經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段.數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn)數(shù)據(jù)庫系統(tǒng)基本特點(diǎn)有:1)數(shù)據(jù)的集成性(全局與局部的結(jié)構(gòu)模式構(gòu)成了數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)集成性的主要特征)2)數(shù)據(jù)的高共享性與低冗余性(數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值)3)數(shù)據(jù)獨(dú)立性(數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性。數(shù)據(jù)的獨(dú)立性一般分為物理獨(dú)立性和邏輯獨(dú)立性兩級(jí)。物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫的邏輯結(jié)構(gòu)。邏輯獨(dú)立性是指數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變,不需要相應(yīng)修改應(yīng)用程序。)4)數(shù)據(jù)統(tǒng)一管理與控制(主要包含三個(gè)方面:數(shù)據(jù)的完整性檢查、數(shù)據(jù)的安全性保護(hù)、并發(fā)控制)四.數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)體系:數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級(jí)模式及二級(jí)映射,三級(jí)模式分別為概念級(jí)模式、內(nèi)部級(jí)模式與外部級(jí)模式,二級(jí)映射則是分別是概念級(jí)到內(nèi)部級(jí)的映射以及外部級(jí)到概念級(jí)的映射。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。(可用DBMS中的DDL語言定義o)外部模式,也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也是用戶所見到的數(shù)據(jù)模式。(用外模式DDL描述。)內(nèi)部模式,又稱物理模式,它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。(用內(nèi)模式DDL描述。)考點(diǎn)二:數(shù)據(jù)模型一.數(shù)據(jù)模型的基本概念數(shù)據(jù)是現(xiàn)實(shí)世界符號(hào)的抽象,而數(shù)據(jù)模型是數(shù)據(jù)特征的抽象.其描述的內(nèi)容有三個(gè)部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作與數(shù)據(jù)約束。數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型:1)概念數(shù)據(jù)模型簡(jiǎn)稱概念模型。(它是一種面向客觀世界、面向用戶的模型;它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān),與具體的計(jì)算機(jī)平臺(tái)無關(guān)。較為有名的概念模型有E-R模型)以模式(或概念模式)為框架的數(shù)據(jù)庫稱為概念數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫的概念模型是關(guān)系模式的集合。2)邏輯數(shù)據(jù)模型又稱為數(shù)據(jù)模型。(它是一種面向數(shù)據(jù)庫系統(tǒng)的模型,常見的有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P偷龋┮宰幽J綖榭蚣艿臄?shù)據(jù)庫稱為用戶數(shù)據(jù)庫。3)物理數(shù)據(jù)模型又稱為物理模型。(它是一種面向計(jì)算機(jī)物理表示的模型,此模型給出了數(shù)據(jù)模型在計(jì)算機(jī)上物理結(jié)構(gòu)的表示。)以物理模式為框架的數(shù)據(jù)庫稱為物理數(shù)據(jù)庫。二.E-R模型廣泛使用的概念模型是E-R模型(或?qū)嶓w聯(lián)系模型),它于1976年由PeterChen首先提出。E-R模型的基本概念1)實(shí)體(它是概念世界中的基本單位,它們是客觀存在的且又能相互區(qū)別的事物。凡是有共性的實(shí)體可組成一個(gè)集合稱為實(shí)體集。)2)屬性(它是現(xiàn)實(shí)世界中事物的特性。一個(gè)屬性的取值范圍稱為該屬性的值域或值集)3)聯(lián)系(它是指現(xiàn)實(shí)世界中事物間的關(guān)聯(lián))兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種:一對(duì)一的聯(lián)系(簡(jiǎn)記為1:1)一對(duì)多或多對(duì)一聯(lián)系(簡(jiǎn)記為1:M或M:1)多對(duì)多聯(lián)系(簡(jiǎn)記M:N)oE-R模型由上面三個(gè)基本概念組成。由實(shí)體、聯(lián)系、屬性三者結(jié)合起來才能表示現(xiàn)實(shí)世界。E-R模型(設(shè)計(jì)關(guān)系模式)是概念設(shè)計(jì)與邏輯設(shè)計(jì)起橋梁作用。1)實(shí)體集表示法(用矩形表示實(shí)體集,在矩形內(nèi)寫上該實(shí)體集的名字)2)屬性集表示法(用橢圓形表示屬性,在橢圓內(nèi)寫上該屬性的名稱)4)聯(lián)系表示法(有菱形(內(nèi)寫上聯(lián)系名)表示聯(lián)系).層次模型層次模型是最早發(fā)展起來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu)。它們自頂向下、層次分明。但樹結(jié)構(gòu)是受到限制的,每棵樹有且僅有一個(gè)無雙親結(jié)點(diǎn),即根;樹中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。.網(wǎng)狀模型它的出現(xiàn)略晚于層次模型。在結(jié)構(gòu)上較層次模型好,不像層次模型那樣滿足嚴(yán)格的條件。網(wǎng)狀模型將通用的網(wǎng)絡(luò)拓樸結(jié)構(gòu)分成一些基本結(jié)構(gòu),一般規(guī)定根結(jié)點(diǎn)與任一葉子結(jié)點(diǎn)間的聯(lián)系均是一對(duì)多的聯(lián)系。.關(guān)系模型1)關(guān)系的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型采用二維表來表示,簡(jiǎn)稱表。二
維表由表框架及表的元組組成。表框架由N個(gè)命名的屬性組成,N稱為屬性元數(shù)。每個(gè)屬性有一個(gè)取值范圍稱為值域。在表框架中按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。一個(gè)表框架可以存放M個(gè)元組,M稱為表的基數(shù)。二維表一般滿足7個(gè)性質(zhì):元組個(gè)數(shù)有限性、元組的唯一性、元組的次序無關(guān)性、元組分量的原子性、屬性名惟一性、屬性的次序無關(guān)性、分量值域的同一性。以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。鍵具有標(biāo)識(shí)元組、建立元組間聯(lián)系等重要作用。在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個(gè)作為用戶使用的鍵稱為主鍵或主碼,一般主鍵也簡(jiǎn)稱為鍵或碼。表A中的某些屬性集是某B的鍵,則稱該屬性集為A的外鍵或外碼。表中一定要有鍵。
空值表示未知的值或不可能出現(xiàn)的值,一般用NULL表示。關(guān)系框架稱為關(guān)系的模式,關(guān)系模式支持子模式,關(guān)系子模式是關(guān)系數(shù)據(jù)庫模式中用戶所見到的那部分?jǐn)?shù)據(jù)模式描述。它也是二維表結(jié)構(gòu),關(guān)系子模式對(duì)應(yīng)用戶數(shù)據(jù)庫稱為視圖2)關(guān)系操縱數(shù)據(jù)查詢、數(shù)據(jù)刪除、數(shù)據(jù)插入、數(shù)據(jù)修改。3)關(guān)系中的數(shù)據(jù)約束關(guān)系模型允許定義三類數(shù)據(jù)約束,它們是實(shí)體完整性、參照完整性、用戶自定義的完整性約束。其中前種由關(guān)系數(shù)據(jù)庫系統(tǒng)自動(dòng)支持。相關(guān)知識(shí)點(diǎn):1)數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。2)在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算(并、交、差、笛卡爾積等),還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等。前者是將關(guān)系(即二維表)看成是元組的集合,這些運(yùn)算主要是從二維表的行的方向來進(jìn)行的。后者是從二維表的列的方向來進(jìn)行運(yùn)算的。3)關(guān)系數(shù)據(jù)模型誕生之后迅速發(fā)展,深受用戶喜愛,但關(guān)系數(shù)據(jù)模型也有缺點(diǎn),其最主要的缺點(diǎn)是由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型,因此為了提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)行優(yōu)化??键c(diǎn)三:關(guān)系代數(shù)一.關(guān)系模型的基本運(yùn)算1)插入設(shè)有關(guān)系R需插入若干元組,要插入的元組組成關(guān)系R,,則插入可用集合并運(yùn)算表示為:RUR,刪除設(shè)有關(guān)系R需刪除一些元組,要?jiǎng)h除的元組組成關(guān)系R,則刪除可用集合差運(yùn)算表示為:R-R,3)修改設(shè)需修改的元組構(gòu)成關(guān)系R,則先做刪除得:R-R,設(shè)修改后的元組構(gòu)成關(guān)系R”,此時(shí)將其插入即得到結(jié)果(RR)UR”4)查詢投影運(yùn)算(表示為兀12,???Aim(R))選擇運(yùn)算(表示為。f(R)邏輯條件F是一個(gè)邏輯表達(dá)式.基本邏輯條件:V、>、W、2、手復(fù)合邏輯條件有:八(并且)、V(或者)、?(否))c)笛卡爾積運(yùn)算(對(duì)于兩個(gè)關(guān)系R(n元關(guān)系P個(gè)元組)與S(m元關(guān)系q個(gè)元組)的合并操作可以用笛卡爾積T表示,記為T=RXS 該關(guān)系是一個(gè)n+m元系,元組個(gè)數(shù)是pXq)二.關(guān)系代數(shù)中的擴(kuò)充運(yùn)算:1)交運(yùn)算(記為:RAS)2)除運(yùn)算(如果將笛卡爾積看作乘,那么除運(yùn)算就是它的逆運(yùn)算。表示為:T+R=S或自然連接可記為:R|X|S通過公共域的相等值進(jìn)行連接.)考點(diǎn)四:數(shù)據(jù)庫設(shè)計(jì)與管理一.數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫設(shè)計(jì)的基本任務(wù):根據(jù)用戶對(duì)象的信息需求、處理需求和數(shù)據(jù)庫的支持環(huán)境(包括硬件、操作系統(tǒng)與DBMS)設(shè)計(jì)出數(shù)據(jù)模式。數(shù)據(jù)庫設(shè)計(jì)中有兩種方法,一是面向數(shù)據(jù);二是面向過程。面向數(shù)據(jù)的設(shè)計(jì)方法已成為主流方流。數(shù)據(jù)庫設(shè)計(jì)目前一般采用生命周期法,它們是:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測(cè)試階段、運(yùn)行階段等。數(shù)據(jù)庫設(shè)計(jì)中采用前四個(gè)階段,并且重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)與模型的設(shè)計(jì)為主線。
二.數(shù)據(jù)庫設(shè)計(jì)的需求分析需求分析是整個(gè)設(shè)計(jì)活動(dòng)的基礎(chǔ),也是最困難、最花時(shí)間的一步。分析和表達(dá)用戶的需求,經(jīng)常采用的方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆椒ā=Y(jié)構(gòu)化分析(簡(jiǎn)稱SA方法)方法用自頂向下、逐層分解的方法分析系統(tǒng)。用數(shù)據(jù)流圖(簡(jiǎn)記為DFD)表達(dá)了數(shù)據(jù)和處理過程的關(guān)系。數(shù)據(jù)字典對(duì)系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。(數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)流;數(shù)據(jù)存儲(chǔ);處理過程)三.數(shù)據(jù)庫概念設(shè)計(jì)數(shù)據(jù)庫概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在的語義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。數(shù)據(jù)庫概念設(shè)計(jì)的方法有兩種:集中式模式設(shè)計(jì)法(統(tǒng)一的模式設(shè)計(jì)方法)和視圖集成設(shè)計(jì)法(一種分散到集中的方法)。視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)
際情況靈活掌握,可以單獨(dú)使用也可混合使用O視圖集成的常見沖突:命名沖突、概念沖突、域沖突、約束沖突三.數(shù)據(jù)庫的邏輯設(shè)計(jì).從E-R圖向關(guān)系模式轉(zhuǎn)換數(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)系。.邏輯模式規(guī)范化及調(diào)整、實(shí)現(xiàn).關(guān)系視圖設(shè)計(jì)關(guān)系視圖的作用大致有三點(diǎn):提供數(shù)據(jù)邏輯獨(dú)立性、能適應(yīng)用戶對(duì)數(shù)據(jù)的不同需求、有一定數(shù)據(jù)保密功能。四.數(shù)據(jù)庫的物理設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)的主要目標(biāo)是對(duì)數(shù)據(jù)庫內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度及有效利用存儲(chǔ)空間。留給用戶參與物理設(shè)計(jì)的內(nèi)容有:索引設(shè)計(jì)、集簇設(shè)計(jì)和分區(qū)設(shè)計(jì)。五.數(shù)據(jù)庫管理數(shù)據(jù)庫管理包括六個(gè)內(nèi)容:數(shù)據(jù)庫的建立、數(shù)據(jù)庫的調(diào)整、數(shù)據(jù)庫的重組、數(shù)據(jù)庫安全性控制與完整性控制、數(shù)據(jù)庫的故障恢復(fù)、數(shù)據(jù)庫監(jiān)控。數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫中的數(shù)據(jù)從錯(cuò)誤狀態(tài)中恢復(fù)到某種邏輯一致的狀態(tài)。如果數(shù)據(jù)庫中包含成功事務(wù)提交的結(jié)果,則稱數(shù)據(jù)庫處于一致性狀態(tài)。數(shù)據(jù)庫保護(hù)分為:安全性控制、完整性控制、并發(fā)性控制、數(shù)據(jù)的恢復(fù)。第一套⑴下面敘述正確的是o(C)A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)(指的是算法所占用的空間)C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止D.以上三種描述都不對(duì)(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是。(C)A.隊(duì)列B.線性表C.二叉樹D.棧(3)在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是o(B)2n-18163215(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是o(A)A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯B.模塊只有一個(gè)入口,可以有多個(gè)出口(可以有0個(gè)入口)C.注重提高程序的執(zhí)行效率D.不使用goto語句(只是限制使用)(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?。(D)A.對(duì)象B.繼承C.類D.過程調(diào)用(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是o(B)A.可行性分析B.需求分析C.詳細(xì)設(shè)計(jì)D.程序編碼(7)在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是o(D)A.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)B.給出系統(tǒng)模塊結(jié)構(gòu)C.定義模塊算法D.定義需求并建立系統(tǒng)模型(8)數(shù)據(jù)庫系統(tǒng)的核心是o(B)A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫(9)下列敘述中正確的是o(C)A.數(shù)據(jù)庫是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是o(A)A.內(nèi)模式B.外模式C.概念模式D.邏哮式套(1)算法的時(shí)間復(fù)雜度是指o(C)A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)(2)下列敘述中正確的是o(A)A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)⑶設(shè)一棵完全二叉樹共有699個(gè)結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為o(B)349350255351(4)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是 。(B)A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性⑸在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是o(D)A.概要設(shè)計(jì)B.詳細(xì)設(shè)計(jì)C.可行性分析D.需求分析(6)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是。(A)A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭⑺軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及o(B)A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確(8)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是o(A)A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)(9)關(guān)系表中的每一橫行稱為一個(gè) 。(A)A.元組B.字段C.屬性
D.碼(10)數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是O(A)A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為和性域計(jì)第三套⑴算法而空間復(fù)雜度是指。(D)A.度是指。(D)B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過程中所需要的存儲(chǔ)空間(2)下列關(guān)于棧的敘述中正確的是 。(D)A.在棧中只能插入數(shù)據(jù)B.在棧中只能刪除數(shù)據(jù)C.棧是先進(jìn)先出的線性表D.棧是后進(jìn)先出的線性表(3)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為o(C)32B.311615(4)對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是O(A)A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名要符合語法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(5)下面對(duì)對(duì)象概念描述錯(cuò)誤的是 。(A)A.任何對(duì)象都必須有繼承性B.對(duì)象是屬性和方法的封裝體C.對(duì)象間的通訊靠消息傳遞D.操作是對(duì)象的動(dòng)態(tài)性屬性(6)下面不屬于軟件工程的3個(gè)要素的是o(D)A.工具B.過程C.方法D.環(huán)境(7)程序流程圖(PFD)中的箭頭代表的是o(B)A.數(shù)據(jù)流B.控制流C.調(diào)用關(guān)系D.組成關(guān)系(8)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)
立性最高的階段是 o(A)A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理(9)用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為o(B)A.關(guān)系模型B.層次模型C.網(wǎng)狀模型D.數(shù)據(jù)模型(10)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括 。(B)A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、打印、制表第四套⑴算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成o(D)制表第四套A.循環(huán)、分支、遞歸B.順序、循環(huán)、嵌套C,循環(huán)、遞歸、選擇D.順序、選擇、循環(huán)(2)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指o(B)A.數(shù)據(jù)所占的存儲(chǔ)空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.存儲(chǔ)在外存中的數(shù)據(jù)⑶在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過發(fā)送o(D)D.消息A.調(diào)用語句B.命令C.口令(4)檢查軟件產(chǎn)品是否符合需求定義的過程稱為O(A)A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試⑸下列工具中屬于需求分析常用工具的是o(D)A.PADPFDN-SDFD(6)下面不屬于軟件設(shè)計(jì)原則的是 。(C)A.抽象B.模塊化C.自底向上D.信息隱蔽(7)索引屬于o(B)A.模式B.內(nèi)模式C.外模式D.概念模式(8)在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是o(D)A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表(9)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成 。(B)A.屬性B.關(guān)系C.鍵D.域第五套(1)在下列選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該具有的基本特征 。(C)A.確定性B.可行性C.無窮性D.擁有足夠的情報(bào)(2)希爾排序法屬于哪一種類型的排序法o(B)A.交換類排序法B.插入類排序法C.選擇類排序法D.建堆排序法(3)下列關(guān)于隊(duì)列的敘述中正確的是 。(C)A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表(4)對(duì)長度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為 。(B)A.N+1B.N(N+l)/2N/2(5)信息隱蔽的概念與下述哪一種概念直接相關(guān)o(B)A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模擬耦合度(6)面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是o(C)A.模擬現(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)域的概念去思考(7)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是o(C)A.詳細(xì)設(shè)計(jì)B.需求分析C總體設(shè)計(jì)D.編程調(diào)試(8)軟件調(diào)試的目的是o(B)A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能(9)按條件f對(duì)關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式為 。(C)R|X|RR|X|R6f(R)d.nm(10)數(shù)據(jù)庫概念設(shè)計(jì)的過程中,視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序,以下各項(xiàng)中不對(duì)的是o(D)A.自頂向下B.由底向上C.由內(nèi)向外D.若雌到局部第K套(1)在計(jì)算機(jī)中,算法是指o(C)A.查詢方法B.加工方法C.解題方案的準(zhǔn)確而完整的描述D.排序方法(2)棧和隊(duì)列的共同點(diǎn)是o(C)A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同點(diǎn)(3)已知二叉樹后序遍歷序列是dabecy中序遍歷序列是debac,它的前序遍歷序列是o(A)cedbaacbeddecabdeabc(4)在下列幾種排序方法中,要求內(nèi)存量最大的是o(D)A.插入排序B.選擇排序C.快速排序D.歸并排序(5)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是o(A)A.程序結(jié)構(gòu)應(yīng)有助于讀者理解.不限制goto語句的使用C.減少或取消注解行D.程序越短越好(6)下列不屬于軟件調(diào)試技術(shù)的是 。(B)A.強(qiáng)行排錯(cuò)法B.集成測(cè)試法C.回溯法D.原因排除法(7)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是 。(D)A.便于用戶、開發(fā)人員進(jìn)行理解和交流B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)D.便于開發(fā)人員進(jìn)行需求分析(8)在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示o(C)A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分9)SQL語言又稱為o(C)A.結(jié)構(gòu)化定義語B.結(jié)構(gòu)化控制語_C.結(jié)構(gòu)化查詢語:D.結(jié)構(gòu)化操縱語言(10)視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是o(B)A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.基唇迪上
第七套
(1)數(shù)據(jù)結(jié)構(gòu)中,與所
使用的計(jì)算機(jī)無關(guān)的
是數(shù)據(jù)的o(C)A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)(2)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是o(D)ABCEDDBCEACDABEDCBEA(3)線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是 。(B)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)(4)在單鏈表中,增加頭結(jié)點(diǎn)的目的是 。(A)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)(5)軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指。(B)A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述C.軟件層次結(jié)構(gòu)D.軟件開發(fā)過程(6)為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為回PAD圖N-S圖C.結(jié)構(gòu)圖D.數(shù)據(jù)流圖(7)數(shù)據(jù)處理的最小單位是o(C)A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)(8)下列有關(guān)數(shù)據(jù)庫的描述,正確的是 。(C)A.數(shù)據(jù)庫是一個(gè)DBF文件B.數(shù)據(jù)庫是一個(gè)關(guān)系C.數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫是一組文件(9)單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為 。(A)A.外模式B.概念模式C.內(nèi)模式D.存儲(chǔ)模式(10)需求分析階段的任務(wù)是確定o(D)A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.螯膻統(tǒng)功能⑴算法分析的目的是o(D)A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有 。(C)n-1n
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《看圖編故事》指導(dǎo)課件
- 親子游樂場(chǎng)所租賃合同
- 2024年滬教版九年級(jí)歷史上冊(cè)月考試卷含答案
- 2025年統(tǒng)編版選修4化學(xué)下冊(cè)階段測(cè)試試卷
- 劇院保安員聘用合同
- 建筑工程交通規(guī)劃單位勞動(dòng)合同
- 2025年外研版2024九年級(jí)數(shù)學(xué)下冊(cè)階段測(cè)試試卷含答案
- 銷售傭金管理行業(yè)適配
- 藝術(shù)品收藏用房購房合同協(xié)議書
- 2025年牛津上海版高三物理上冊(cè)階段測(cè)試試卷
- 中餐廳主題宴會(huì)設(shè)計(jì)方案
- 緩沖罐操作規(guī)程
- 幼兒教育-個(gè)別幼兒教育記錄表.文檔
- (高清版)DZT 0338.4-2020 固體礦產(chǎn)資源量估算規(guī)程 第4部分 SD法
- 婦產(chǎn)科學(xué) (安康職業(yè)技術(shù)學(xué)院)智慧樹知到期末考試答案2024年
- 供電所營銷安全管理措施
- 水閘閘門運(yùn)行方案
- 2022-2023學(xué)年江蘇省連云港市九年級(jí)(上)期末數(shù)學(xué)試卷(含詳細(xì)答案解析)
- 會(huì)計(jì)事務(wù)所述職報(bào)告
- 2022年江蘇普通高中學(xué)業(yè)水平選擇性考試政治真題及答案
- 玻璃工業(yè)的節(jié)能減排與綠色制造
評(píng)論
0/150
提交評(píng)論