計算機(jī)軟件基礎(chǔ)概念_第1頁
計算機(jī)軟件基礎(chǔ)概念_第2頁
計算機(jī)軟件基礎(chǔ)概念_第3頁
計算機(jī)軟件基礎(chǔ)概念_第4頁
計算機(jī)軟件基礎(chǔ)概念_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機(jī)軟件基礎(chǔ)(二)復(fù)習(xí)資料第一章概論1, 裸機(jī),虛擬機(jī);由處理器,存儲器,輸入輸出設(shè)備組成的沒有軟件的硬件系統(tǒng)稱為裸機(jī),加上軟件系統(tǒng)稱為虛擬機(jī)。2, 軟件:程序加相關(guān)文檔加所需數(shù)據(jù),構(gòu)成軟件。3, 匯編語言及其特點:用指令助記符組成的語言為匯編語言,其特點是:其源程序需由匯編程序編譯成由機(jī)器指令組成的目標(biāo)程序后,才能運行。它是面向機(jī)器的語言執(zhí)行速度比較快,但難記,難理解,難編寫。4, 高級語言及其特點:按一定的語法規(guī)則,用詞和數(shù)學(xué)公式組成的語言為高級語言。它的源程序也需經(jīng)編譯程序編譯成目標(biāo)程序后才能運行。它是面向過程的語言,運行速度比較慢,但是易懂,易理解,易編寫。5, 操作系統(tǒng)及其概念:負(fù)責(zé)控制和管理及調(diào)度計算機(jī)系統(tǒng)資源,合理組織計算機(jī)工作流程,方便用戶使用計算機(jī)的系統(tǒng)軟件稱為操作系統(tǒng),它的發(fā)展經(jīng)歷了五個階段:手工操作,批處理系統(tǒng),執(zhí)行程序系統(tǒng),多道程序系統(tǒng),分時系統(tǒng)階段。6, 手工操作階段特點:沒有操作系統(tǒng),純?nèi)斯げ僮饔嬎銠C(jī),所有資源由一個用戶程序獨占,處理器所牌等待狀態(tài)。機(jī)器利用率不高。7, 批處理階段特點:用監(jiān)控程序?qū)τ嬎銠C(jī)資源進(jìn)行管理,減少了人工干預(yù),提高了計算機(jī)的效率,,但很多時間化在輸入輸出上,處理機(jī)大部份時間仍處于等待狀態(tài)。執(zhí)行系統(tǒng)階段特點:此階段使用了通道和中斷技術(shù),實現(xiàn)了輸入輸出操作與處理器并行工作,減少了處理器的等待時間,但沒有完全消除處理器對外設(shè)的等待現(xiàn)象。8, 多道程序系統(tǒng)階段特點:此系統(tǒng)可在內(nèi)存同時放入多個程序,它們可以交替占用CPU和外設(shè),即多個程序可以同時運行,便某一刻僅一道程序運行。它顯著提高了計算機(jī)資源利用率,并用調(diào)度程序,存儲管理程序,設(shè)備管理程序,文件調(diào)度程序來管理計算機(jī)系統(tǒng)相關(guān)資源。9, 分時系統(tǒng)階段特點:此系統(tǒng)用時間片算法調(diào)度CPU,當(dāng)用戶在各自終端用交互方式操作各自程序時,使得每個用戶感覺到自己在使用一臺獨立的高速計算機(jī)。10, 軟件分類:系統(tǒng)軟件:為應(yīng)用軟件服務(wù)的軟件,如操作系統(tǒng)等。應(yīng)用軟件:解決實際問題所使用的軟件。它又分事務(wù)處理軟件,工程與科學(xué)計算軟件,實時應(yīng)用軟件,嵌入式應(yīng)用軟件,微機(jī)應(yīng)用軟件,人工智能軟件等。第二章數(shù)據(jù)結(jié)構(gòu)11, 數(shù)據(jù):描述客觀事物的數(shù),字符,及所有能輸入到計算機(jī)中并被計算機(jī)程序處理的符號的集合。12, 數(shù)據(jù)元素:數(shù)據(jù)運算的基本單位,又稱結(jié)點,記錄,它的形式可以是一個數(shù),字符串,或由多個數(shù)據(jù)項組成的記錄。構(gòu)成數(shù)據(jù)元素的項目稱為數(shù)據(jù)項。13, 程序:由算法加數(shù)據(jù)結(jié)構(gòu)組成。14, 數(shù)據(jù)結(jié)構(gòu):相互間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。15, 數(shù)據(jù)的邏輯結(jié)構(gòu):從邏輯上反映數(shù)據(jù)元素間的結(jié)構(gòu)(鄰接)關(guān)系的組織形式。種類有,線性結(jié)構(gòu),非線性結(jié)構(gòu)的樹形,網(wǎng)狀,集合結(jié)構(gòu),共四種l16, 數(shù)據(jù)的存儲結(jié)構(gòu):數(shù)據(jù)邏輯結(jié)構(gòu)在存儲器上的具體體現(xiàn)(組織形式),它有順序結(jié)構(gòu),鏈?zhǔn)浇Y(jié)構(gòu),索引結(jié)構(gòu),散列結(jié)構(gòu)四種。17, 順序存儲結(jié)構(gòu):邏輯上相鄰的元素存儲在物理上也相鄰(地址連續(xù))的存儲單元上的存儲形式。其特點是:存儲密度大,空間利用率高,可以隨機(jī)和順序訪問,插入,刪除一個元素耗費資源高。因為要移動元素。18, 鏈?zhǔn)酱鎯Y(jié)構(gòu):邏輯上相鄰的元素可以存儲在物理上不相鄰的存儲單元上的存儲形式。其特點是:存儲密度低,空間利用率低,只能順序訪問,插入,刪除一個元素耗費資源低。因為不要移動元素。19, 線性表及其特點:元素間存在線性邏輯關(guān)系的邏輯結(jié)構(gòu),其特點是:首結(jié)點只有一個直接后繼,尾結(jié)點只有一個直接前趨,其它結(jié)點只有一個直接前趨,一個直接后繼。20, 順序表及其特點:采用順序存儲結(jié)構(gòu)的線性表為順序表。其任一元素i的地址計算公式為:i元素地址=首元素地址+G-1)*數(shù)據(jù)類型的字節(jié)數(shù)。其中i為元素個數(shù)。21, 順序表的基本運算:見P13—14,其插入,刪除運算的平均移動次數(shù)是:n/2,(n-1)2平均時間復(fù)雜度為:O(n)量級。其特點是:結(jié)構(gòu)簡單,可隨機(jī)訪問數(shù)據(jù)元素,插,刪要平均移動一半元素,估計所需空間易不準(zhǔn)確。估大浪費,估小不夠。22, 鏈表及其特點:采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表為鏈表,不能計算元素的地址。23, 鏈表的基本運算:見P17—21。其特點是:平均時間復(fù)雜度為:O(n)量級。只能順序訪問數(shù)據(jù)元素,插,刪不要移動元素,不須估計所需空間。24, 帶頭結(jié)點的單鏈表:有一個不放數(shù)據(jù)的結(jié)點作頭結(jié)點的單鏈表,此為空表,其優(yōu)點是,空表,非空表,以及任一一個結(jié)點的操作方式都一樣。25, 循環(huán)鏈表:尾結(jié)點地址域放頭結(jié)點地址的單鏈表稱循環(huán)鏈表,其優(yōu)點是:從任一結(jié)點出發(fā)都能訪問完所有的結(jié)點。26, 雙向鏈表:每個結(jié)點有前后二個指針域的鏈表。其優(yōu)點是:可方便訪問前趨結(jié)點。其鏈結(jié)特點是:前一結(jié)點的右指針域==后一結(jié)點的左指針域。27, 棧及其特點:只能從一端進(jìn)行插,刪操作的線性表稱為棧。有棧頂(只能從這兒插,刪操作),棧底之分。其訪問特點是:先進(jìn)后出,或后進(jìn)先出。其基本運算見P23。28, 順序棧及其基本運算:見P23—25,采用順序存儲結(jié)構(gòu)的棧稱為順序棧,其插入,刪除只能從棧頂進(jìn)行,平均時間復(fù)雜度為:O(n)量級。其特點是:結(jié)構(gòu)簡單,估計所需空間易不準(zhǔn)確。估大浪費,估小不夠。29, 鏈棧及其特點:采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的棧為鏈棧,另外有單鏈表的特點30, 鏈表的基本運算:其基本運算見P24--25。其特點是:平均時間復(fù)雜度為:O(n)量級。不須估計所需空間。31, 隊列及其特點:只能尾插,頭刪的線性表稱為隊列。有隊尾(只能從這兒插,刪操作),隊頭之分。其訪問特點是:先進(jìn)先出,或后進(jìn)后出。其基本運算見P25。32, 順序隊列及其基本運算:見P27,采用順序存儲結(jié)構(gòu)的隊列稱為順序隊列,只能從隊尾插入,隊頭刪除,平均時間復(fù)雜度為:O(n)量級。其特點是:結(jié)構(gòu)簡單,估計所需空間易不準(zhǔn)確。估大浪費,估小不夠。33, 順序隊列特點:直形隊列不足:易形成假滿,為此用循環(huán)隊列,循環(huán)隊列,隊空判據(jù):rear==front,隊滿判據(jù):(rear+1)%m==front.。循環(huán)隊列的指針移動規(guī)定。Front=(front+1)%m。rear=(rear+1)%m。34, 鏈隊及其特點:采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的隊列為鏈隊,另外有單鏈表的特點。35, 鏈隊的基本運算:其基本運算見P28。其特點是:平均時間復(fù)雜度為:O(n)量級。36, 數(shù)組:二維數(shù)組中:先行序存儲:每行存儲滿了,再存儲下一行。先列序:每列存儲滿了,再存儲下一列。任一元素地下計算公式丄OC(ai,j)=LOC(a1,1)+((i-1)*n+(j-1))*m。m為數(shù)據(jù)類型字節(jié)數(shù)。37, 關(guān)于樹和二叉樹:樹的定義請看P33,沒有空樹,最少有一個結(jié)點,只有根結(jié)點無前趨,其它結(jié)點只有一個前趨,可有多個后繼。樹的基本術(shù)語看P34。38, 樹的存儲結(jié)構(gòu):鏈?zhǔn)酱鎯Y(jié)構(gòu),有結(jié)點異構(gòu)型,即每個結(jié)點的指針域數(shù)目(度)不同。結(jié)點同構(gòu)型,即每個結(jié)點指針域(度)相同。39, 二叉樹:結(jié)點的度最大為2的樹,可以有空及非空二叉樹。二叉樹的五種形態(tài)請見P35。二叉樹的性質(zhì):二叉樹第i層最多結(jié)點數(shù)為:2口個。最多結(jié)點數(shù)為:2k-l。葉結(jié)點數(shù)n0=n2+1。對完全二叉樹,其樹的深度=[log2n]+1。完全二叉樹父子結(jié)點間編號關(guān)系是:父結(jié)點號=子結(jié)點號/2,左孩號=父號*2,右孩號=父號*2+1,若父號*2>n,無左孩。父號*2+1>n無右孩。42, 二叉樹的存儲結(jié)構(gòu):有順序二叉樹,結(jié)點編號為下標(biāo),依次存入數(shù)據(jù)元素內(nèi)。按父結(jié)點號=子結(jié)點號/2,左孩號=父號*2,右孩號=父號*2+1關(guān)系,訪問各結(jié)點。對于非完全二叉樹采用加虛結(jié)點變?yōu)橥耆鏄涞姆绞酱鎯?。見P3743, 完全二叉樹:樹結(jié)點按從上到下,從左到右順序排放的二叉樹為完全二叉樹。滿二叉樹:有2k-1個結(jié)點的二叉樹為滿二叉樹。44, 二叉樹鏈?zhǔn)酱鎯Y(jié)構(gòu):二叉鏈表存儲結(jié)構(gòu)見P37。45, 樹轉(zhuǎn)換成二叉樹方式:橫連僅留左子樹再順時針轉(zhuǎn)45度。二叉樹轉(zhuǎn)換成樹則反之。46, 二叉樹遍歷:前根序:根—左—右。中根序:左—根—右。后根序:左—右—根。有關(guān)代碼見P41。47,二叉排序樹特點:對于升序:根結(jié)點值>=左孩值,根結(jié)點值<=右孩值。48, 平均查找長度:為查找元素在表中的位置而與關(guān)鍵字比較次數(shù)的期望值。用ASL表示,其計算公式見P45。49, 線性查找法特點:事先不要求排序,對存儲結(jié)構(gòu)無要求,但查找速度慢,特別是對長表的查找速度慢。其平均查找長度ASL=(n+1)/2。50,二分查找法特點:需事先對表排序,比較次數(shù)少,速度快,但事先排序耗費資源,其平均查找長度ASL=log2n。mid=(low+high)/2,如果小于中間值,要往左找因此要改high的值,此時,high=mid-1,如果大于中間值,要往右找因此要改low的值,low=mid+1,會圖形法畫出查找過程,見P46散列查找特點:不需多次比較,一次就能訪問所查元素的查找法。由關(guān)鍵字值利用散列函數(shù)計算查找元素的位置值。主要查找函數(shù)有:直接地址法,求模運算法(%),平方到中法,折疊法。構(gòu)造散列函數(shù)的沖突概念:二個記錄的關(guān)鍵字值爭奪同一個存儲位置的現(xiàn)象稱為沖突,這二個關(guān)鍵字值稱為同義詞。解決沖突的方法有:鏈地址法,見P49—50。開地址法,見P50—52。排序有關(guān)概念:直接選擇排序法:總比較次數(shù)=(n2-n)/2,最壞情況下總移動次數(shù)=3(n-1),平均時間復(fù)雜度為:O(n2)量級。會圖形法畫出排序過程。見P52。直接插入排序法:最壞情況下的比較次數(shù)=(n+2)(n-1)/2,最壞情況下的移動次數(shù)=(n2+3-4).見P52。最好情況下的比較次數(shù)=口-1,最好情況下的移動次數(shù)=2(n-1),平均時間復(fù)雜度為:O(n2)量級。特點:算法易實現(xiàn),當(dāng)n比較小時是一種較佳的排序方法。n很大時不適用。會圖形法畫出排序過程見P53。二分插入排序法:比較次數(shù)比線性查找法少得多。比較的平均時間復(fù)雜度為O(nlog2n)量級,其移動次數(shù)與直接插入排序法同其時間復(fù)雜度為O(說)量級。要會圖形法畫出排序過程。冒泡排序法::最壞情況下的比較次數(shù)=(n2-n)/2,最好情況下的比較次數(shù)=n-1,最好情況下的移動次數(shù)=0,平均時間復(fù)雜度為:O(n2)量級。會圖形法畫出排序過程P55.快速排序法:最壞情況下的比較次數(shù)=(n2-n)/2,最好情況下的比較次數(shù)=nlog2n,最好情況下的移動次數(shù)=0,平均時間復(fù)雜度為:O(nlog2n)量級。會圖形法畫出排序過程P57第三章. 操作系統(tǒng)58, 操作系統(tǒng)的類型:多道批處理系統(tǒng):多個作業(yè)同時放入內(nèi)存,在一段時間內(nèi)并行運行,它們可以交替使用CPU及外設(shè)。它不適于運行時要用戶干預(yù)的作業(yè),只適于運行處理時間要求不嚴(yán),運行步驟嚴(yán)格。比較成熟的作業(yè)。分時操作系統(tǒng):見第一章有關(guān)內(nèi)容。它適于運行時要用戶干預(yù)的作業(yè),如程序調(diào)試,軟件開發(fā)等。實時操作系統(tǒng):能及時響應(yīng)請求,快速反饋處理的操作系統(tǒng)。適于生產(chǎn)控制類的應(yīng)用情況。另個還有,單用戶,多用戶操作系統(tǒng),單任務(wù)多任務(wù)操作系統(tǒng)。DOS是單任務(wù)的,windows是多任務(wù)的。網(wǎng)絡(luò)操作系統(tǒng)。60.操作系統(tǒng)的五大功能:處理機(jī)管理:管理CPU的合理分配與回收。即分配策略。實施方法,回收方式。存儲管理:內(nèi)存的合理分配和回收,數(shù)據(jù)的保護(hù),實現(xiàn)虛擬內(nèi)存。文件管理:實現(xiàn)文件的存儲,檢索,修改,解決文件的共享和保密保護(hù)。設(shè)備管理:實現(xiàn)外設(shè)的合理分配與回收。實現(xiàn)外設(shè)啟動,實現(xiàn)處設(shè)與CPU并行工作。給用戶提供一個好的工作環(huán)境。作業(yè)管理:為用戶提供一個使用系統(tǒng)的良好環(huán)境與結(jié)口,制定好的調(diào)度策略,組織作業(yè)運行,提高系統(tǒng)效率。61.進(jìn)程:有獨立功能的程序在某數(shù)據(jù)集上的運行稱為進(jìn)程。它是操作系統(tǒng)中可以并行工作的最基本單位。它是動態(tài)的,它有生命過程,是暫時存在的。一個進(jìn)程可以包含多個程序。程序是有獨立功能的一組指令的集合,它是靜態(tài)的,可以永久存在,一個程序運行在不同的數(shù)據(jù)集上可以產(chǎn)生多個進(jìn)程。62:進(jìn)程的三種狀態(tài):就緒態(tài):進(jìn)程獲得除CPU外一切資源所處的狀態(tài)。作業(yè)進(jìn)入內(nèi)存就處于這一狀態(tài)。運行態(tài):進(jìn)程占用CPU時的狀態(tài)。等待態(tài):進(jìn)程因等待某種事件發(fā)生,如等待資源分配,等待故障修好等,所處的狀態(tài)。63,三種狀態(tài)轉(zhuǎn)換:運行態(tài)可轉(zhuǎn)入就緒態(tài)或等待態(tài)或完成任務(wù)結(jié)束生命,等待態(tài)只能轉(zhuǎn)入就緒態(tài),就緒態(tài)只能轉(zhuǎn)入運行狀態(tài)。進(jìn)程運行畢從運行態(tài)進(jìn)入結(jié)束,進(jìn)程占用時間到進(jìn)入就緒態(tài),進(jìn)程需要重新分配資源或等待故障修理畢從運行態(tài)進(jìn)入等待態(tài)。進(jìn)程控制塊:PCB,它是進(jìn)程存在的標(biāo)志,是描述進(jìn)程基本情況,和運行變化過程的一種數(shù)據(jù)結(jié)構(gòu),作業(yè)進(jìn)入內(nèi)存就建立一PCB,由它來控制管理進(jìn)程。它由四大部份組成,標(biāo)識信息:進(jìn)程名;說明信息:說明進(jìn)程的現(xiàn)在狀態(tài)。等待原因,程序和數(shù)據(jù)的內(nèi)存地址;現(xiàn)場信息:記錄進(jìn)程退出CPU時,在CPU中所處的現(xiàn)場信息,如在通用,控制,程序狀態(tài)寄存器中的內(nèi)容。管理信息:進(jìn)程的優(yōu)先級隊列地址。PCB加程序加數(shù)據(jù)構(gòu)成進(jìn)程實體。進(jìn)程隊列:運行態(tài)隊列,就緒態(tài)隊列,等待態(tài)隊列。均為鏈隊。進(jìn)程常用調(diào)度算法:先來先服務(wù)調(diào)度法;優(yōu)先數(shù)法:優(yōu)先級高的先占用CPU;又分不可搶占式及搶占式;時間片輪轉(zhuǎn)法:它和先來先服務(wù)法結(jié)合進(jìn)行調(diào)度。進(jìn)程時間片用完必須退出CPU,讓下一個進(jìn)程占用。它常用于分時操作系統(tǒng)中。見P70進(jìn)程通信:進(jìn)程互斥:不允許二個進(jìn)程同時訪問同一臨界資源的臨界區(qū)稱為進(jìn)程互斥。一次只允許一個進(jìn)程訪問的資源稱為臨界資源,臨界資源的那段程序代碼稱為臨界區(qū)。互斥訪問臨界區(qū)的原則:一次只許一個進(jìn)程進(jìn)臨界區(qū),臨界區(qū)有進(jìn)程時其它里程只能等待。進(jìn)都不能久呆,等待者不能久等。例見P71。進(jìn)程同步:一個進(jìn)程的執(zhí)行只有等到接到另一個進(jìn)程的消息時才能實現(xiàn),稱為進(jìn)程同步。它們間有依賴關(guān)系。PV操作:解決進(jìn)程同步與互斥而用到的原語操作。原語操作是指:由若干條指令組成的可完成特定功能,執(zhí)行中不能中斷的一段程序。它們都對信息號量S進(jìn)行操作。P操作P(S)操作:執(zhí)行時,將s—i;s>=0,進(jìn)程可進(jìn)臨界區(qū),SV0則進(jìn)程不能進(jìn)臨界區(qū),且置它于等待隊列中等待。V操作V(S)操作:執(zhí)行時,將s+i;S>0,臨界區(qū)仍有進(jìn)程,其它進(jìn)程還不能進(jìn)臨界區(qū)仍要等待,sv=o則從等待隊列移出一進(jìn)程進(jìn)入就緒態(tài)隊列準(zhǔn)備訪問臨界區(qū)。用PV操作實現(xiàn)互斥:此時設(shè)S初值等于1。S=1,再執(zhí)行上述的PV操作,見73。S等于-n就有n個進(jìn)程處于等待隊列。70.用PV操作實現(xiàn)同步:SP(信號量)=1表示緩沖區(qū)只能放一個產(chǎn)品,SP(信號量)=0表示緩沖區(qū)已滿有能放產(chǎn)品。生產(chǎn)者執(zhí)行P(SP)操作放產(chǎn)品,執(zhí)行V(SG)操作通知消費者可以取產(chǎn)品。SG(信號量)=0表示緩沖區(qū)無產(chǎn)品消費者不能取。SG(信號量)=1表示緩沖區(qū)有一個產(chǎn)品消費者可以取,消費者執(zhí)行P(SG)操作取產(chǎn)品,執(zhí)行V(SP)操作通知生產(chǎn)者可以再放產(chǎn)品。參見P74。如果SP=n,則緩沖區(qū)可以放n件產(chǎn)品。死鎖:系統(tǒng)中二個或多個進(jìn)程無限期地等待對方的資源,而不能運行的狀態(tài)稱為死鎖。這種狀態(tài)的進(jìn)程稱為死鎖進(jìn)程。產(chǎn)生死鎖的四個必要條件:一,進(jìn)程要互斥使用資源,二。不可搶奪資源,三,只能部份分配資源,四,進(jìn)程間循環(huán)等待對方資源。預(yù)防死鎖的方法:破壞死鎖四個必要條件中的一個,就能預(yù)防死鎖。方法有:一,預(yù)先靜態(tài)分配資源,即一次性分配給進(jìn)程所需全部資源。二,編號分配資源法,即將資源編號,只有獲得小號資源的進(jìn)程才能獲得大號資源。三。搶奪式分配資源法。見P76避免死鎖的方法:在系統(tǒng)運行中關(guān)注死鎖的發(fā)生情況,如會發(fā)生則避免其發(fā)生,銀行家算法能比較好避免死鎖的發(fā)生。銀行家算法方式是:如果系統(tǒng)當(dāng)前資源數(shù)能滿足進(jìn)程的全部需要就分配給它,否則不分配。這樣能保證進(jìn)程執(zhí)行完畢,放出資源給別的進(jìn)程使用。如果資源分配會產(chǎn)生死鎖則不分配。這樣系統(tǒng)處于安全狀態(tài)。死鎖的檢測與解除:系統(tǒng)運行時用死鎖檢測程序檢測是否存在死鎖,如果存在則用一定方法解除死鎖,一般用二張表記錄進(jìn)程占用和等待資源的情況。有死鎖就解除,解除方法有。一。搶占資源法。二。撤消進(jìn)程法。DOD進(jìn)程管理特點:它是一個單用戶單任務(wù)操作系統(tǒng),無并發(fā)進(jìn)程出現(xiàn)。用戶進(jìn)程由程序,程序段前綴PSP,環(huán)境塊EVB(可視為進(jìn)程控制快的擴(kuò)充)三部份組成。其中PSP是一個有256字節(jié)的類似于進(jìn)程控制塊的控制塊,是DOS與程序的結(jié)口,其內(nèi)的信息供DOS內(nèi)核進(jìn)行文件操作,進(jìn)程運行及管理時使用°EVB是一個字符串塊,由一系列環(huán)境變量組成,由它設(shè)置進(jìn)程的運行環(huán)境。詳情請參見P78—79。DOS系統(tǒng)進(jìn)程運行情況:COMMAND.COM是袓先進(jìn)程,然后由它建立用戶進(jìn)程(分配空間,建立PSP和EVB),二者只能串行,而不能并行運行。不會產(chǎn)生死鎖。存儲管理方面:存儲管理的任務(wù)有:合理分配,回收主存空間;保護(hù)文件不被破壞。實現(xiàn)邏輯地址和物理地址之間的轉(zhuǎn)換。實現(xiàn)主存空間的共享。實現(xiàn)虛擬內(nèi)存建立。存儲管理方式有:單一連續(xù)存儲管理;分區(qū)存儲管理;頁式存儲管理;段式存儲管理;段頁式存儲管理。分區(qū)存儲管理:它是將內(nèi)存分為若干連續(xù)分區(qū),用連續(xù)分配方式將一個區(qū)分給一個作業(yè)。又分為固定分區(qū)和可變分區(qū)二種形式。固定式:內(nèi)存分為若干大小不等,且固定的連續(xù)分區(qū),將比較適合大小的分區(qū)分給作業(yè)。此種方式用分區(qū)分配表方式管理分區(qū)的分配與回收。用靜態(tài)重定位方式進(jìn)行地址轉(zhuǎn)換。這種方式因會產(chǎn)生較多的碎片而浪費空間。但簡單易行。參看P81??勺兪剑旱谝淮畏峙淇臻g多個作業(yè)進(jìn)入內(nèi)存時,依次劃出與作業(yè)大小相同的連續(xù)分區(qū)分配給各作業(yè),此時僅一個空閑區(qū),但系統(tǒng)運行一段時間后,也會產(chǎn)生多個碎片,此時可用移動技術(shù)合并碎片成大的空閑區(qū),但為此要消耗大量的計算機(jī)資源。此種方式用空閑區(qū)表和已分配分區(qū)分表二張表管理分區(qū)的分配與回收。用動態(tài)重定位方式進(jìn)行地址轉(zhuǎn)換,參看P82。頁式存儲管理:將內(nèi)存分為大小相等的塊作業(yè)也分為大小相等的頁,且塊與頁大小相等,作業(yè)按其頁數(shù)分配相等的塊數(shù),各塊地址可不連續(xù)。其優(yōu)點是:基本無碎片,其不足是共享和保護(hù)方面不理想。頁式存儲管理的地址結(jié)構(gòu):由頁號和頁內(nèi)相對地址二部分構(gòu)成。邏輯地址%頁字的節(jié)數(shù),余數(shù)為此頁的頁內(nèi)地址,商為此頁的頁號。用頁表(每一作業(yè)一張頁表),系統(tǒng)作業(yè)表和存儲塊表三張表管理塊的分配與回收。參同見P83--84頁式存儲管理的地址轉(zhuǎn)換公式:絕對地址=塊號*快長+頁內(nèi)相對地址。一個計算例見P84頁中部。每一主存指令執(zhí)行要訪問二次內(nèi)存,一次訪問頁表一次訪問實際單元。81頁式虛擬存儲管理:實現(xiàn)虛擬內(nèi)存的方式:只將作業(yè)的第一頁和少量的重要頁裝入內(nèi)存。其它頁放硬盤的內(nèi)存虛擬區(qū)。運行時如果所需要的頁不在內(nèi)存,則產(chǎn)生一個缺頁中斷,將它從內(nèi)存虛擬區(qū)調(diào)入內(nèi)存,如果內(nèi)存不夠,則先調(diào)出一頁,再調(diào)入一頁。用頁式虛擬存儲管理頁表進(jìn)行有關(guān)的地址轉(zhuǎn)換。參見P84。82頁式虛擬存儲管理常用調(diào)度算法:先進(jìn)先出法FIFO,最近最久沒用法LRU,最近最少使用法LFU。參見P85抖動:一頁頻繁調(diào)入調(diào)出稱為抖動。段式存儲管理:將作業(yè)分為大小不等的段,作業(yè)按其段數(shù)分配相應(yīng)的段內(nèi)存區(qū),各段內(nèi)地址連續(xù),但各段區(qū)地址可不連續(xù)。其優(yōu)點是:共享和保護(hù)方面理想。用段表管理內(nèi)存的分配與回收見,這方面類似于頁式管理,P86。段式虛擬存儲管理:類似于頁式虛擬存儲管理,只不過調(diào)入,調(diào)出單位是段而已。段頁式存儲管理:就是段式管理和頁式管理相結(jié)合,作業(yè)先分成若干段,每段再分為若干頁。邏輯地址格式是:段號,頁號,頁內(nèi)地址。用段,頁表進(jìn)行內(nèi)存分配與管理。參見P87DOS存儲管理的特點:采用單一連續(xù)區(qū)存儲管理模式,用靜態(tài)重定位實現(xiàn)地址轉(zhuǎn)換。用內(nèi)存控制塊MCB控制管理內(nèi)存空間。84.文件管理。文件。邏輯上有完整意義的一組相關(guān)信息的有序集合。用它實現(xiàn)文件按名名存取。一張軟盤,一個硬盤,一盤磁帶稱為一卷,一卷分為若干塊,塊是存儲器交換信息的最小物理單位。85文件系統(tǒng)的功能:實現(xiàn)文件名到外存空間的地址轉(zhuǎn)換,即文件按名訪問。合理分配回收外存;建立文件目錄;實現(xiàn)對文件的控制和存取操作。實現(xiàn)文件的共享。保護(hù)和保密。參見P9186文件分類:參見P91—92文件邏輯結(jié)構(gòu):用戶從組織角度組織文件的邏輯組織方式稱為文件的邏輯結(jié)構(gòu),它有二種形式:記錄文件,和流式文件。87文件的二類存取方法:順序訪問:按文件邏輯地址順序存取文件,每次存取在上一次的基礎(chǔ)上進(jìn)行。每讀寫完一條記錄,指針自動移動到下一條記錄,。對流式文件則要指明要讀寫的字符數(shù)。88隨機(jī)存取:充許用戶以任意順序訪問文件,89文件邏輯結(jié)構(gòu):用戶從使用角度組織文件的邏輯組織方式稱為文件的邏輯結(jié)構(gòu),它有二種形式:記錄文件,和流式文件。記錄文件是邏輯記錄的集合,記錄是一個邏輯上有獨立意義的基本信息單位。流式文件是相關(guān)信息的字符流有序集合,如文本文件。文件存取方法:隨機(jī)存取法,順序存取法二種。文件系統(tǒng)任務(wù):將文件的邏輯文件結(jié)構(gòu)轉(zhuǎn)換成其物理文件結(jié)構(gòu)。89文件物理結(jié)構(gòu):文件在存儲介質(zhì)上的存放組織形式稱為文件的物理結(jié)構(gòu)或稱存儲結(jié)構(gòu),又有三種類型。連續(xù)結(jié)構(gòu):即順序存儲結(jié)構(gòu)。其優(yōu)點是,簡單,可順序,隨機(jī)訪問信息。但插入,刪除麻煩,需要移動,且易造成空間浪費??臻g利用率不高。鏈?zhǔn)浇Y(jié)構(gòu):即前面介紹的鏈?zhǔn)酱鎯Y(jié)構(gòu),其優(yōu)點是插入,刪除不用移動。但只能順序存取。索引結(jié)構(gòu):文件可以放在分散的即不連續(xù)的物理塊上。系統(tǒng)為每一文件建一張索引表,其內(nèi)有文件信息的邏輯快號與其物理塊號對照關(guān)系。它有鏈?zhǔn)浇Y(jié)構(gòu)插入,刪除不用移動的優(yōu)點,又有能隨機(jī)訪問信息的特長。見P92--9490.文件存儲空間管理方式(合理分配回收空間方式):位示圖法:由90個字節(jié)組成的一張位圖表,橫向八個位,每位表示一個物理塊,縱向90個字節(jié)。即90行,共可表達(dá)720物理塊。每位為0時表示此塊空閑,為上表示此塊已占用。參見P95。空閑區(qū)表法:此表有三個主要列。分別記有第一個空閑塊號,空閑塊數(shù),及連續(xù)物理塊號情況。分配時將空閑塊分配給文件,并將它們從表中刪除,回收時將快號合并登入表中。見P95空閑塊鏈法:將空閑塊連成一個塊鏈。分配時,從鏈上刪除被分出去的塊,回收時插入回收空閑的塊。見P95-96。91.文件目錄:其作用是實現(xiàn)文件名到文件物理地址間的轉(zhuǎn)換文件控制塊:其內(nèi)有文件名,文件物理地址,文件的邏輯結(jié)構(gòu),物理結(jié)構(gòu)的種類,文件長,記錄長,文件屬性,用戶對文件的使用權(quán)限,建立或修改文件的日期等。目錄表:文件控制塊的集合,建一文件加一文件控制塊,刪除一文件刪除一文件控制塊。目錄文件:只有文件目錄表的文件。目錄結(jié)構(gòu):有一級目錄結(jié)構(gòu),二級目錄結(jié)構(gòu),多級目錄結(jié)構(gòu)。參見P97—98。文件的共享,保護(hù),保密:共享:即多個用戶共用同一文件,以不同用戶用同一路徑訪問等形式來實現(xiàn)。保護(hù):用建立副本,定時轉(zhuǎn)儲,給用戶授權(quán)等形式來保護(hù)文件。保密:用加密算法使文件轉(zhuǎn)成密碼文本,進(jìn)行保密,用時用解密算法恢復(fù)原文。DOS文件管理特點:它采用樹形目錄結(jié)構(gòu)進(jìn)行文件管理,存儲上采用文件分配表FAT,文件存放單位是簇,文件占用的簇的連續(xù)簇號登記在FAT表中。有關(guān)表的情況參見P100。設(shè)備管理:設(shè)備管理的功能:合理分配與回收外設(shè),啟動外設(shè),處理外設(shè)的中斷事件,實現(xiàn)虛擬設(shè)備。從物理上分外設(shè)種類:字符設(shè)備:逐個字符傳送信息的外設(shè),如打印機(jī)等。塊設(shè)備:整塊傳送數(shù)據(jù)的外設(shè),如磁盤等。通道技術(shù):通道技術(shù)就是用I/O處理機(jī)來管理外設(shè)與內(nèi)存的信息交換的技術(shù)。因此主機(jī)對外設(shè)的控制分為,通道,控制器,外設(shè)三個層次。其構(gòu)成圖參見P10294?緩沖技術(shù):采用設(shè)立緩沖區(qū)的技術(shù),它可改善CPU和I/O設(shè)備間速度不匹配的情況,可減少I/O設(shè)備請求CPU的中斷次數(shù),放寬對CPU的時間響應(yīng)要求。減少I/O操作占用通道的時間。緩沖區(qū)的種類:雙緩沖區(qū)和多緩沖區(qū)可明顯改善CPU和I/O設(shè)備間的并行性。專用緩沖區(qū):每一外設(shè)一個緩沖區(qū),其利用率不高。緩沖池:若干緩沖區(qū)組成的緩沖大區(qū),由多臺外設(shè)共用,利用率比較高。95.外設(shè)分配與回收:按資源分類,可分為獨占設(shè)備,共享設(shè)備,虛擬設(shè)備。獨占設(shè)備:一個作業(yè)在整個運行期都占用的設(shè)備稱為獨占設(shè)備,如打印機(jī)。獨占設(shè)備分配方式:靜態(tài)分配法,即作業(yè)運行前將它所需要的所有外設(shè)都分配給它,運行結(jié)束才收回。此法設(shè)備利用率低。動態(tài)分配法:即作業(yè)運行要用到什么設(shè)備時才分配給它,一用完就收回。此法設(shè)備利用率高,但是要防止死鎖的產(chǎn)生。共享設(shè)備分配方式:可由多個作業(yè)同時使用的設(shè)備稱為共享設(shè)備,如磁盤。采用動態(tài)分配法。不過此時要考慮保證互斥使用,合理使用以提高系統(tǒng)性能。96.虛擬設(shè)備:虛擬設(shè)備含義:利用高速直接存儲設(shè)備(如磁盤)模擬低速的獨占設(shè)備(如打印機(jī)),使獨占設(shè)備轉(zhuǎn)化成邏輯上的共享設(shè)備的技術(shù)。其作用是提高獨占設(shè)備的使用效率。虛擬設(shè)備系統(tǒng)代表:假脫機(jī)系統(tǒng)(SPOOLING系統(tǒng))其工作原理如下:輸入時,預(yù)輸入程序?qū)⑺钄?shù)據(jù)輸入輸入井中,井管理程序再從輸入井將數(shù)據(jù)讀到內(nèi)存。輸入井起了虛擬輸入機(jī)的作用。輸出時,井管理程序?qū)?shù)據(jù)寫入輸出井,緩輸出程序再把要輸出的數(shù)據(jù)從輸出井輸出到物理設(shè)備上(如打印機(jī)),輸出井起了虛擬輸出機(jī)的作用。因此虛擬設(shè)備提高了CPU與外設(shè)的并行性和獨占設(shè)備的利用率。但是要占用大量磁盤空間。設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)和算法:數(shù)據(jù)結(jié)構(gòu)有:系統(tǒng)設(shè)備表(每臺設(shè)備一個表目),設(shè)備控制表(設(shè)備控制塊的集合),控制器表(控制器的控制塊的集合),通道表(通道控制塊的集合)。算法:有先來先服務(wù),優(yōu)先數(shù)法等,分配時注意防止死鎖。DOS管理設(shè)備的特點:它將設(shè)備分為字符設(shè)備和塊設(shè)備二種,每當(dāng)要使用外設(shè)時,便生成一個I/O請求頭調(diào)用指定設(shè)備的驅(qū)動程序,再由它調(diào)用I/O指令和中斷功能完成所需服務(wù)。DOS設(shè)備驅(qū)動程序組成:設(shè)備頭(內(nèi)有設(shè)備標(biāo)識)等,見P106。設(shè)備策略模塊,設(shè)備中斷模塊三部分組成。97.作業(yè)管理操作系統(tǒng)與用戶間的接口:有程序級接口,和作業(yè)級接口。程序級接口:一組系統(tǒng)調(diào)用命令構(gòu)成,即系統(tǒng)的一組子功能。如中斷命令。它為用戶在編寫程序時使用計算機(jī)資源服務(wù)。作業(yè)級接口:作業(yè):用戶要求計算機(jī)所做工作的集合。作業(yè)的每個步驟稱為作業(yè)步。作業(yè)級接口的功能:為用戶提供組織作業(yè)工作流程,控制作業(yè)運行的各種操作命令作業(yè)級接口的分類:聯(lián)機(jī)接口:即交互接口,由一組操作命令構(gòu)成,用戶在終端輸入它們向系統(tǒng)提出服務(wù)請求。用戶可視中間操作情況,提出進(jìn)一步的操作命令,至作業(yè)完成。脫機(jī)接口:批處理方式。由一組作業(yè)控制命令組成。執(zhí)行作業(yè)時,執(zhí)行前,作業(yè)一次性輸入計算機(jī)中,用戶中間不用干預(yù),至作業(yè)運行結(jié)束得結(jié)果。作業(yè)管理的任務(wù):完成作業(yè)調(diào)度和作業(yè)控制。98.脫機(jī)接口,即批處理下作業(yè)管理方式:作業(yè)構(gòu)成:程序,數(shù)據(jù),作業(yè)說明書。作業(yè)說明書構(gòu)成:作業(yè)情況(用戶名,作業(yè)名,所用語言,作業(yè)控制方式優(yōu)先級等)作業(yè)資源(內(nèi),外存的所需空間大小,I/O設(shè)備的類型和數(shù)量,使用CPU的時間等)。作業(yè)說明書用作業(yè)控制語言編寫。作業(yè)控制塊JCB:其內(nèi)有:作業(yè)名,用戶名,作業(yè)現(xiàn)在的狀態(tài)、優(yōu)先數(shù)、對設(shè)備的要求、使用資源的情況,作業(yè)在外存的地址、長度、建立的時間、最遲完成時間等。因多個作業(yè)的存在所以有一個JCB鏈表。作業(yè)的狀態(tài)及其轉(zhuǎn)換:進(jìn)入態(tài)-后備態(tài)—>執(zhí)行態(tài)—>完成態(tài)。見P108作業(yè)調(diào)度算法:作業(yè)調(diào)度任務(wù):完成作業(yè)從后備態(tài)到執(zhí)行態(tài)到完成態(tài)的轉(zhuǎn)換。調(diào)度的三個目標(biāo):盡量提高作業(yè)呑吐量、系統(tǒng)資源利用率、公平性。作業(yè)調(diào)度算法:先來先服務(wù)法,最短作業(yè)優(yōu)先法,最高響應(yīng)比優(yōu)先法:響應(yīng)比=響應(yīng)時間/等待時間,此法公平性強(qiáng)。最高優(yōu)先數(shù)法,均衡調(diào)度法。99.分時方式下作業(yè)管理:有交互控制方式:有命令驅(qū)動方式,菜單驅(qū)動方式,命令文件方式等方式,見P111終端作業(yè)調(diào)度:采用時間片輪轉(zhuǎn)法。即每個作業(yè)使用完自己的時間片就必須讓出CPU,給下一個作業(yè)占用CPU。另外,將終端作業(yè)作為前臺作業(yè),批處理作業(yè)作為后臺作業(yè)。優(yōu)先權(quán)總是給終端作業(yè)。見P111—112DOS作業(yè)管理的特點:向用戶提供程序級(軟中斷和系統(tǒng)功能調(diào)用)和作業(yè)控制級(一組操作命令)二種接口。只有作業(yè)控制功能無作業(yè)調(diào)度功能。因為它是一個單用戶操作系統(tǒng)。WINDOWS用戶界面,自閱。、見P112—115。第四章數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)管理發(fā)展三階段:人工管理,文件管理,數(shù)據(jù)庫管理三階段。人工管理階段:沒有數(shù)據(jù)管理軟件,不保存數(shù)據(jù),既使要共用數(shù)據(jù)也不能互相利用。文件管理階段:有了文件系統(tǒng),有存放在外存中的數(shù)據(jù)文件,程序和數(shù)據(jù)文件只有一對一的關(guān)系,獨立性低,數(shù)據(jù)間相互聯(lián)系很弱。共享性低,數(shù)據(jù)冗余度大。數(shù)據(jù)庫階段:數(shù)據(jù)面向系統(tǒng),可適應(yīng)多個應(yīng)用程序的要求,數(shù)據(jù)冗余度小,獨立性高,數(shù)據(jù)間聯(lián)系性強(qiáng),可保證數(shù)據(jù)的完整性。見P120數(shù)據(jù)庫:相關(guān)數(shù)據(jù)的集合,它可為各種用戶共享,有最小的數(shù)據(jù)冗余,數(shù)據(jù)間聯(lián)系密切而且有較高的數(shù)據(jù)及程序獨立性,有管理數(shù)據(jù)庫的軟件DBMS,數(shù)據(jù)庫又一種定義:為一個特點組織多種應(yīng)用服務(wù)的數(shù)據(jù)的集合。具有盡可能小的數(shù)據(jù)冗余度和較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫的組成與結(jié)構(gòu):DB(數(shù)據(jù)庫),DBA(數(shù)據(jù)庫管理員),DBMS(數(shù)據(jù)庫管理系統(tǒng))。DBS(數(shù)據(jù)庫系統(tǒng)):它由計算機(jī)系統(tǒng),DB,DBMS,DBA,和應(yīng)用程序集合構(gòu)成。見P121DBMS主要功能:維持DBS的正?;顒?,接受并響應(yīng)用戶對數(shù)據(jù)庫的一切要求,如建立刪除表,檢索,統(tǒng)計修改數(shù)據(jù)庫中數(shù)據(jù)。為用戶提供對數(shù)據(jù)庫的維護(hù)手段等。數(shù)據(jù)庫三級結(jié)構(gòu):用戶邏輯結(jié)構(gòu)(面向用戶或應(yīng)用程序員的用戶級,外模式,子模式,用戶視圖,對應(yīng)用戶級數(shù)據(jù)庫);數(shù)據(jù)整體邏輯結(jié)構(gòu)(面向建立和維護(hù)數(shù)據(jù)庫人員的概念級,概念模式,全局視圖,對應(yīng)概念級數(shù)據(jù)統(tǒng)庫);物理存儲結(jié)構(gòu)(面向存儲數(shù)據(jù)的系統(tǒng)程序員的物理級,內(nèi)模式,存儲視圖,內(nèi)視圖,對應(yīng)物理級數(shù)據(jù)庫)。參見P122二級映象:外模式與概念模式間映象,定義了外用戶視圖和全局視圖間的對應(yīng)關(guān)系;內(nèi)模式和概念模式間映象,它定義了全局視圖與內(nèi)視圖間的對應(yīng)關(guān)系。數(shù)據(jù)的物理獨立性和邏輯獨立性:數(shù)據(jù)的物理獨立性:內(nèi)模式和概念模式間映象,使得數(shù)據(jù)的存儲結(jié)構(gòu)改變時即內(nèi)模式改變時,數(shù)據(jù)的概念模式即全局邏輯結(jié)構(gòu)可以不變,這樣應(yīng)用程序可以不變。數(shù)據(jù)的邏輯獨立性:是指外模式與概念模式間映象使得,當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)即全局模式改變時,數(shù)據(jù)的局部邏輯結(jié)構(gòu),不用改變,即應(yīng)用程序可不改變。參見P122107.?dāng)?shù)據(jù)模型:數(shù)據(jù)的描述:現(xiàn)實世界:客觀世界,客觀事物包括有生命和無生命的事物。信息世界:是客觀世界的抽象。機(jī)器世界:信息世界在計算機(jī)中的表現(xiàn)形式?,F(xiàn)實世界的客觀事物集合在信息世界稱為實體集,在機(jī)器世界稱為數(shù)據(jù)文件,客觀事物性質(zhì)在信息世界稱為屬性,在機(jī)器世界稱為字段。現(xiàn)實世界的一個事物,在信息世界稱為實體,在機(jī)器世界稱為一條記錄。記錄是實體集中各字段某一組值的集合。關(guān)鍵字:能唯一標(biāo)識記錄的字段或字段組合。實體間聯(lián)系:主要有1:1,1:N,M:N,三種類型,掌握如何用實例判斷它們。要會畫E-R圖即實體模型,又稱概念模型,參見P124108.?dāng)?shù)據(jù)模型:它是實體模型的數(shù)據(jù)化模型,主要有三種類型,層次模型,網(wǎng)狀模型,關(guān)系模型。層次模型:又稱樹型模型,它的二個基本條件是:有且只有一個沒有雙親結(jié)點的根結(jié)點,其它結(jié)點只有一個雙親結(jié)點,可有多個子結(jié)點。查詢記錄必須從根結(jié)點開始,比較麻煩。IMS系統(tǒng)是其典型代表。這種模型比較適于1:1和1:n聯(lián)系類型,參見P125網(wǎng)狀模型:它的二個基本條件是:有一個以上的沒有雙親的結(jié)點,其它結(jié)點可以有多個雙親結(jié)點。引入了系概念,系就是一棵二叉樹,根為首記錄,葉為屬記錄,查詢比較麻煩,DBTG系統(tǒng)是其典型代表。見P126。以上二者稱為格式化數(shù)據(jù)模型。關(guān)系模型:一個二維表是一個關(guān)系,若干個表組成關(guān)系模型,表中列稱為屬性,數(shù)據(jù)項,表中一行稱為記錄,關(guān)系用:關(guān)系名(屬性名列表)描述。其特點是:實體,實體間聯(lián)系是有關(guān)系,操作對象是關(guān)系,操作結(jié)果也是關(guān)系。其最大優(yōu)點是:簡單,用戶易掌握,易操作,適用于1:1,1:N,M:N,三種聯(lián)系類型。用查表的方式就可以查找數(shù)據(jù),參見P126--127109.關(guān)系代數(shù):分為二類,一類是傳統(tǒng)集合運算,如并,交,差,笛卡爾積;一類是關(guān)系特有的運算,如:投影,選擇,等值連接,自然連接。傳統(tǒng)集合運算:并,交,差,笛卡爾積,參見P128。特有關(guān)系運算:投影:從一個關(guān)系中選出所需要的列的得新關(guān)系的運算,縱向選,為單目運算。選擇:從一個關(guān)系中選出所需要的元組得新關(guān)系的的運算,橫向選,為單目運算。連接:從二個關(guān)系的笛卡爾積中選出屬性間滿足一定條件的元組得新關(guān)系的的運算,為雙目運算。自然連接:對二個有部分相同屬性的關(guān)系進(jìn)行這些屬性的等值連接,并除去重復(fù)屬性得新關(guān)系的的運算,為雙目運算。以上四種運算,參見P129—132。數(shù)據(jù)庫結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫是表的集合,一個數(shù)據(jù)庫文件(.DBF)就是一張二維表,表的一列稱為一個字段,一行稱為一條記錄,它由框架和數(shù)據(jù)二部分組成。數(shù)據(jù)庫結(jié)構(gòu)的一些規(guī)定:字段名命名規(guī)則:由1—10字符組成,只能以字母為首,只有用字母、數(shù)字、下劃線字符。字段的數(shù)據(jù)類型:有字符型C,可以是任何字符,最多254個字符。數(shù)值型N:缺省為8個字節(jié),最多20個字節(jié)。對于實數(shù)還要定義小數(shù)位數(shù)。浮點型F:缺省為8個字節(jié),最多20個字節(jié)。對于實數(shù)還要定義小數(shù)位數(shù)。其精密度超過數(shù)值型。日期型D:缺省為8個字節(jié)。邏輯型L:寬度只能為1個字節(jié),只有T,F(xiàn)二個值。備注型M:寬度只能為10個字節(jié),其內(nèi)只放,備注文件的地址,不是放備注的內(nèi)容。沒有備注文件時是小寫的m.以上參見P134—135。數(shù)據(jù)庫建立及記錄操作命令:參見P136—142(各命令的具體參數(shù)項請看書有關(guān)頁)

CREATE文件名回車。按圖示法操作。建庫結(jié)構(gòu)(建表)命令見P136Ctrl+PgDn:打開備注窗口寫備注文件。USE文件名回車:打開后面文件,關(guān)閉當(dāng)前文件。USE回車:只關(guān)閉文件。LISTSTRUCTURE打開查看數(shù)據(jù)庫結(jié)構(gòu)窗口LISTSTRUCTURE打開查看數(shù)據(jù)庫結(jié)構(gòu)窗口MODIFYSTRUCTURE打開修改數(shù)據(jù)庫結(jié)構(gòu)窗口MODIFYSTRUCTURE打開修改數(shù)據(jù)庫結(jié)構(gòu)窗口LIST LIST 可選參數(shù).DISPLAY可選參數(shù)?變量或函數(shù)??變量或函數(shù)GOTONSKIPNBROWSEAPPENDCtrl+W:或Ctrl+EndCtrl+QDELETERECALLPACKREPLACE逐行顯示各條記錄,省略參數(shù)也如此。逐屏顯示記錄,省略參數(shù)僅顯示當(dāng)前一條記錄。換行顯示變量值,或函數(shù)結(jié)果值同行顯示多個變量值,或函數(shù)結(jié)果值指針移向第N條記錄,絕對定位指針向前或向后(有負(fù)號時)移N條記錄,相對定位打開數(shù)據(jù)庫文件,查看和修改記錄尾加記錄存盤退出APPEND狀態(tài)放棄APPEND操作存盤并退出給記錄加上刪除標(biāo)記給記錄消除刪除標(biāo)記從硬盤上永久刪除記錄更新指定字段值數(shù)據(jù)庫信息重組命令,見P143--148(各命令的具體參數(shù)項請看書有關(guān)頁)SORT 對數(shù)據(jù)庫文件記錄排序,備注型字段不能參與排序。建立單一索引(.IDX)文件命令:(只能是升序)INDEXON索引關(guān)鍵字表達(dá)式TO索引文件名FOR條件建立結(jié)構(gòu)復(fù)合索引(?CDX)文件命令:INDEXON索引關(guān)鍵字表達(dá)式TAG索引標(biāo)識符FOR條件建立獨立復(fù)合索引(?CDX)文件命令:INDEXON索引關(guān)鍵字表達(dá)式TAG索引標(biāo)識符OF復(fù)合索引文件名FOR條件以上索引關(guān)鍵字段只能是:C,N,D型。排序要占用很大的磁盤空間,建索引文件占用的磁盤空間小。排序和建索引都可以加快查詢速度,索引更快。索引類型:單索引文件(名.IDX),只一個索引關(guān)鍵字的索引文件。復(fù)合索引文件:(名.CDX)—個文件可有多個索引關(guān)鍵字,即多種索引。第一索引由索引標(biāo)識答標(biāo)識。又分結(jié)構(gòu)復(fù)合索引(其名與數(shù)據(jù)庫文件同名,且與數(shù)據(jù)庫文件自動打開,同步更新修改)和獨立復(fù)合索引(另有自己的文件名)。另外對于用頻高的索引最好建結(jié)構(gòu)復(fù)合索引。反之建獨立復(fù)合索引。USE庫文件名INDEX索引文件名 同步打開索引文件SETINDEXTO索引文件名 只打開索引文件REINDEX 重新索引(更新)已打開的索引文件數(shù)據(jù)查詢命令,見P148--150(各命令的具體參數(shù)項請看書有關(guān)頁)關(guān)于FOR,WHILE的不同點:FOR能查找不管是否滿足條件的所有記錄,與LIST,DISPLAY配合顯示滿足條件的記錄。WHILE只要遇上不滿足條件的記錄就不

往下查找,因此當(dāng)?shù)谝粭l記錄就不滿足條件時,用它不能實現(xiàn)查找滿足條件的記錄,因此沒排序,沒索引的文件不能用它。它與LIST,DISPLAY配合顯示滿足條件的記錄。用它還必須將指針移到第一條滿足條件的記錄。數(shù)據(jù)查詢命令:沒建索引(只排序)的查詢命令:LOCATE?….FOR 查找滿足條件的記錄,CONTINUE下移一條記錄,與上述命令配合可查找下一條記錄CONTINUE下移一條記錄,與上述命令配合可查找下一條記錄對一個數(shù)據(jù)庫文件循環(huán)查找方式USE文件名DOWHILE。NOT對一個數(shù)據(jù)庫文件循環(huán)查找方式USE文件名DOWHILE。NOT。EOF()LOCATEFOR。。。DISPOLAYCONTINUEENDDOUSE建索引的查詢命令:SEEK索引字值DISPLAYSKIP打開數(shù)據(jù)統(tǒng)庫文件只要沒到文件尾繼續(xù)查找查找滿足條件的記錄顯示此記錄指針移到下一條記錄查找指定索引字值的記錄顯示此記錄指針移到下一條記錄114.多表操作命令見P151158--150(各命令的具體參數(shù)項請看書有關(guān)頁)工作區(qū):含義:一個內(nèi)存緩沖區(qū),其內(nèi)只能放一個數(shù)據(jù)庫文件,可以放多個索引文件,對于此數(shù)據(jù)庫文件的操作只在此區(qū)內(nèi)進(jìn)行。最多只能有255個工作區(qū),前十個工作區(qū)用A—I及1--10標(biāo)識。SELECT工作區(qū)標(biāo)識SELECT工作區(qū)標(biāo)識選擇指定工作區(qū)為當(dāng)前工作區(qū)。如果工作區(qū)標(biāo)識是0.則最小號工作區(qū)為當(dāng)前工作區(qū)。0.則最小號工作區(qū)為當(dāng)前工作區(qū)。USE庫文件名ALIAS工作區(qū)別名庫文件。SELECT別名二個庫文件1:1連接命令:SETRELATIONTO索引關(guān)鍵字在當(dāng)前工作區(qū)打開庫文件,別名可代表指定此別名工作區(qū)為當(dāng)前工作區(qū)INTO工作區(qū)名或別名。。。。。。。。將當(dāng)前工作區(qū)的庫文件和INTO后指定的工作區(qū)的庫文件1:連接。此時要求INTO后指定的工作區(qū)的庫文件要建立索并打開引文件。二個庫文件1:N連接命令:SETRELATIONTO索引關(guān)鍵字INTO工作區(qū)名或別名。。。。。。。。SETSKIPTO工作區(qū)名或別名以上二條命令配合,將當(dāng)前工作區(qū)庫文件和INTO后指定工作區(qū)的庫文件實現(xiàn)1:N連接。具體例子請參見P153—154二例115.關(guān)于SQL的SELECT査詢語句:SELECT要查詢的字段列表(要查詢的內(nèi)容)FROM數(shù)據(jù)庫文件列表(查詢源)WHERE條件(查詢要滿足的條件)ORDERBY查詢結(jié)果排序的字段列表(查詢 結(jié)果按指定字段值排序)GROUPBY查詢結(jié)果分組顯示的字段列表(查詢結(jié)果按此指 定字段分組顯示)TO查詢結(jié)果去處。(查詢結(jié)果存放處,可以是屏幕,文件等)上述命令為SQL的查詢語句,可查詢一個或多個表,實例請參見P155—156。第五章軟件工程基礎(chǔ)P161--207116.軟件:程序+必須數(shù)據(jù)+對應(yīng)的文檔軟件工程學(xué):采用工程的概念,原理,技術(shù)和方法研制和維護(hù)軟件的方法體系。軟件危機(jī):軟件生產(chǎn)需要大量人力物力,但質(zhì)量難保證,難滿足用戶要求,生產(chǎn)難控制,難適應(yīng)硬件環(huán)境變化,維護(hù)困難,難估計成本和時間,使用中常出錯。失敗的軟件系統(tǒng)難挽回。這些現(xiàn)象稱為軟件危機(jī)。參見P161117.軟件工程七原理:嚴(yán)格按計劃管理,堅持階段評審,嚴(yán)格的產(chǎn)品控制,用現(xiàn)代化程序設(shè)計技術(shù),結(jié)果能清晰檢查,小組成員少而精,必需不斷改善工程實踐。參見P162軟件生命期:軟件從開發(fā)到使用,最后退出使用的整個時期稱為軟件生命期,在軟件開發(fā)的瀑布型中,它分為五個階段:分析,設(shè)計,編碼,測試,運行,前四階段稱為開發(fā)期,后階段稱為運行維護(hù)期。參見P163--164分析階段主要任務(wù):理解用戶要求,對它進(jìn)行可行性分析,估計軟件系統(tǒng)的成本和收益,將用戶要求用書面形式表達(dá),形成系統(tǒng)說明書(需求規(guī)格說明書)它是以后各階段工作基礎(chǔ)。本階段結(jié)果是:系統(tǒng)說明書。參見P163--164設(shè)計階段主要任務(wù):建立軟件系統(tǒng)結(jié)構(gòu)(模塊結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu))。又分為總體設(shè)計(其任務(wù)是:確定系統(tǒng)模塊結(jié)構(gòu));詳細(xì)設(shè)計(其主要任務(wù)是:確定和詳細(xì)描述模塊功能,接口和實現(xiàn)方法)。設(shè)計階段的結(jié)果是:模塊說明書和系統(tǒng)數(shù)據(jù)結(jié)構(gòu)說明書。編碼階段主要任務(wù):選用合適程序設(shè)計語言,為各模塊編寫代碼,進(jìn)行調(diào)試,本階段結(jié)果是程序。參見P163--164測試階段主要任務(wù):發(fā)現(xiàn)并排除錯誤,此階段又分為模塊測試,聯(lián)合測試,驗收測試等。運行維護(hù)階段主要任務(wù):維護(hù)軟件,斷續(xù)排錯,修改及擴(kuò)充軟件。參見P163--164軟件工程中的文檔:系統(tǒng)說明書,模塊說明書,程序,測試計劃,測試用例,使用手冊等。軟件的原型開發(fā)模型:原型法含義:開發(fā)人員首先開發(fā)出一個不很成熟的系統(tǒng)原型,然后交用戶試用,試用過程中用戶和開發(fā)人員,不斷交換意見,不斷修改,完善優(yōu)化原型,最后形成用戶比較滿意的軟件系統(tǒng)。參見P164原型法類型:紙上原型:書面原型,用于表示人機(jī)界面;工作原型:制作不成熟有部份主要功能的軟件,于計算機(jī)上運行,在運行中不斷修改,完善?,F(xiàn)有程序原型:將已有軟件系統(tǒng)作為原型,給用戶運行試用,再不斷修改,完善。原型法適于用戶要求不太明確的場合。參見P164開發(fā)方法和工具:軟件方法:主要有SA(結(jié)構(gòu)化分析法)和Jackson法,它們適用于數(shù)據(jù)處理系統(tǒng);SREM法,它適于實時控制系統(tǒng)。開發(fā)工具:主要有分析工具,設(shè)計工具,編碼工具,確認(rèn)工具,維護(hù)工具等。這些工具用于輔助軟件開發(fā)生產(chǎn)的各個階段,以提高軟件生產(chǎn)的自動化,生產(chǎn)率和可靠性,降低成本。軟件工程環(huán)境則是軟件方法和工具的結(jié)合的工作平臺,它提供了一組軟件開發(fā),分析,設(shè)計,編碼,測試,維護(hù)的工具和相應(yīng)的軟件開發(fā)方法,即提供一個良好的軟件開發(fā)工作環(huán)境。軟件分析:軟件分析含義:軟件開發(fā)人員和用戶共同理解用戶需求,并將它們形成理解明確的文檔—系統(tǒng)說明書。軟件分析又分為三個階段:問題定義,可行性研究,需求分析。問題定義的任務(wù):確定解決什么問題??尚行匝芯康娜蝿?wù):研究所確定問題的技術(shù),經(jīng)濟(jì),社會可行性,確定問題解決在上述三個方面可行。寫出可行性研究報告。需求分析的任務(wù):將用戶要求確定為系統(tǒng)功能并形成系統(tǒng)說明書。系統(tǒng)說明書的作用:作為開發(fā)人員與用戶的合同;反映問題的結(jié)構(gòu),作為設(shè)計和編寫的基礎(chǔ);作為驗收依據(jù)。結(jié)構(gòu)化分析法(SA):SA含義:將一個復(fù)雜系統(tǒng)自頂向下,逐層分解成子系統(tǒng),子子系統(tǒng),真到為單一功能的子系統(tǒng)為止的層狀結(jié)構(gòu),是一種化繁為簡的過程。其中運用了分解,抽象二種手段。抽象就是不考慮細(xì)節(jié),而抽象出子系統(tǒng)的框架的過程。參見P167。結(jié)構(gòu)化分析步驟:建立現(xiàn)有系統(tǒng)的物理模型;從它抽象出現(xiàn)有系統(tǒng)的邏輯模型;分析要開發(fā)系統(tǒng)與現(xiàn)有系統(tǒng)軟件上的差異,建立要開發(fā)系統(tǒng)的邏輯模型;對要開發(fā)系統(tǒng)的邏輯模型進(jìn)行優(yōu)化,補(bǔ)充。見P168系統(tǒng)說明書的組成:一套分層數(shù)據(jù)流圖(描述系統(tǒng)的分解),一本數(shù)據(jù)詞典(說明數(shù)據(jù)流圖中的第一個數(shù)據(jù)),一組小說明(說明系統(tǒng)中的加工)數(shù)據(jù)流圖:DFD,數(shù)據(jù)流圖定義:以圖形方式描述數(shù)據(jù)在系統(tǒng)中流動和加工流程的圖形,是SA方法中表示開發(fā)系統(tǒng)邏輯模型的工具。數(shù)據(jù)流圖四種元素:箭頭表示數(shù)據(jù)流;園表示加工;方框表示起、終點;直線表示文件(存儲)。數(shù)據(jù)流:一組固定成份的數(shù)據(jù),其命名要見名知義,數(shù)據(jù)流圖中不能有控制流和激發(fā)條件。加工:進(jìn)行數(shù)據(jù)流的轉(zhuǎn)換,也就見名知義。文件:是數(shù)據(jù)的存儲,注意加工和文件間的數(shù)據(jù)流動方向,加工如果要讀,則從文件流向加工,寫則反之。畫數(shù)據(jù)流圖的步驟:一。先畫頂層圖:畫輸入,總加工,輸出三部分。二。畫下層圖及分層數(shù)據(jù)流圖。此時從輸入流出發(fā),由左向右畫出一系列加工及中間數(shù)據(jù)流,直至最后輸出流。此時還要注意畫文件,有數(shù)據(jù)存儲需要時,畫一文件。當(dāng)加工復(fù)雜時,可把它分解成幾個子加工,此時要畫分層子數(shù)據(jù)流圖。參見pl69—176畫數(shù)據(jù)流圖幾點注意:一,數(shù)據(jù)流與加工的命名應(yīng)見名知義。二。數(shù)據(jù)流及加工難命名時,可能要將它們分解。暫時不考慮畫細(xì)節(jié),區(qū)分?jǐn)?shù)據(jù)流和控制流。畫分層數(shù)據(jù)流圖幾點注意:一。定好父子圖的關(guān)系,一般父圖的一個復(fù)雜加工可以畫為一張子圖,此時注意父子圖的編號關(guān)系。二。檢查父子圖的平衡:即父子圖間的輸入與輸出有對應(yīng)關(guān)系。參見p174。三。當(dāng)數(shù)據(jù)在加工過程中有存儲的需要時,一般要畫出文件即存儲形式。四。一般一次分解宜<=七個子加工。五。當(dāng)加工為單一的加工時,它的分解可以結(jié)束。即是最底層的加工。參見p173—175數(shù)據(jù)流圖正確性檢查要點:數(shù)據(jù)流和加工命名正確性;父子圖的平衡性;數(shù)據(jù)的守恒性,不守恒性是指,輸出流沒有對應(yīng)的輸入流,或輸入流沒被利用;不能有阱文件,即只有數(shù)據(jù)流入,沒有數(shù)據(jù)流出的文件。參見p175—176數(shù)據(jù)詞典:數(shù)據(jù)詞典定義:數(shù)據(jù)流圖中各數(shù)據(jù)元素嚴(yán)格定義的集合。編寫數(shù)據(jù)詞典的原則:每一個元素名有一條目對應(yīng)。每一元素名各組成部份有一條目對應(yīng);其結(jié)構(gòu)是由頂向下,逐步分解分層結(jié)構(gòu);名詞匯定義無二義性;定義應(yīng)無重復(fù);條目按字典序排列。參見p176各關(guān)系操作符的定義:參見p177數(shù)據(jù)詞典條目類型:數(shù)據(jù)流;文件;數(shù)據(jù)項;加工(在小文明中定義)。數(shù)據(jù)詞典實現(xiàn)方式:人工實現(xiàn)方式:每個條目一張卡片,于上寫上其名,類型,定義,特性,限制等,所有卡片按字典序排列。計算機(jī)實現(xiàn)方式:由計算機(jī)和數(shù)據(jù)詞典管理程序共同完成此項任務(wù)。此程序的功能參見p178—179小說明:dfd中每一基本加工有一小說明,它給出加工的精確的詳細(xì)描述,它包括:如何讀進(jìn),輸出數(shù)據(jù)流,輸入與輸出流間的轉(zhuǎn)換規(guī)則,加工的激發(fā)條件,加工邏輯等。參見p179寫小說明的三種方式(SA的工具):結(jié)構(gòu)化語言:外層語法為形式化語言,如程序語言的關(guān)鍵字,內(nèi)層語法多為自然語言和數(shù)學(xué)符號及常用運算符等,判定表:參見p81,其優(yōu)點是:適于復(fù)雜的條件組合場合,不足是:不適于循環(huán)場合。判定樹:優(yōu)缺點類型似于判定表,為豎式樹形結(jié)構(gòu),比判定表清晰易懂,但當(dāng)條件組合太復(fù)雜時,用判定表更妥。參見p182面向?qū)ο蠓治龇ǎ篛OA:參見p183OOA概念模型的組成:由一組相關(guān)對象組成,對象是客觀實體的屬性及其允許操作的抽象。抽象對象的方法:類化:將結(jié)構(gòu)和操作上有共同性質(zhì)的對象抽象為一個類稱為類化,類化的逆向過程稱為實例化。一般化:將對象的共性抽象化成一個更一般化的類即基類的過程稱為一般化,繼承:由更一般化的類即基類加上若干特定性質(zhì)定義更具體的類即子類的過程稱為繼承。集約化:一個對象由其它若干對象構(gòu)成的過程稱為集約化。組合化:將滿足某些規(guī)則的對象組合形成一個整體對象,而忽略組成部份的細(xì)節(jié)的過程稱為組合化。軟件設(shè)計:參見p184軟件設(shè)計含義:將用戶要求轉(zhuǎn)換成一個具體設(shè)計方案,即決定軟件系統(tǒng)做什么的過程,又分為總體設(shè)計和詳細(xì)設(shè)計二步。總體設(shè)計任務(wù):設(shè)計軟件系統(tǒng)體系結(jié)構(gòu),即以分析階段的系統(tǒng)說明書為基礎(chǔ),設(shè)計軟件系統(tǒng)的層次模塊結(jié)構(gòu)。詳細(xì)設(shè)計任務(wù):決定每一模塊的算法,并細(xì)化它。設(shè)計階段的主要工作結(jié)果:是模塊說明書,它由模塊結(jié)構(gòu)圖和模塊功能說明二部份組成。設(shè)計階段是軟件開發(fā)重要一步開發(fā)人員應(yīng)該特別重視。結(jié)構(gòu)化設(shè)計方法:(SD)。參見p184—195SD的基本思想:將系統(tǒng)設(shè)計成由相對獨立,功能單一的模塊組成的結(jié)構(gòu),即層次模塊結(jié)構(gòu)。它是按照自頂而下,逐層分解,逐步細(xì)化原則進(jìn)行。模塊含義:是具有某種功能的程序段,如C語言中的函數(shù)。結(jié)構(gòu)圖:SD用的描述方式,它可描述軟件系統(tǒng)的結(jié)構(gòu),反映塊間及塊內(nèi)聯(lián)系。結(jié)構(gòu)圖的主要圖形元素:參見p185:模塊(方框),調(diào)用(箭頭),數(shù)據(jù)(帶注釋小箭頭)。畫結(jié)構(gòu)圖注意事項:一個模塊只能也現(xiàn)一次,命名要見名知義,模塊間傳送的數(shù)據(jù)應(yīng)用調(diào)用的模塊名命名,注意附加符號意義。整個結(jié)構(gòu)圖應(yīng)畫在一張紙上,一般輸入塊在左,輸出塊在右,處理塊在中,參見p185—186SD的優(yōu)點:因為模塊間的相對獨立性,所以各塊可獨立編寫,理解,排錯,測試,修改。防止錯誤在塊間擴(kuò)散,蔓延。因而可提高系統(tǒng)的可靠性,易理解性,易維護(hù)性等。SD方法的步驟:先建一滿足要求的初始結(jié)構(gòu)圖,再改進(jìn)它,提高內(nèi)聚性,降低耦合性。126.塊間聯(lián)系(各塊間聯(lián)系性,又稱耦合性)與塊內(nèi)聯(lián)系(內(nèi)聚性):參見p186—188耦合性越低,內(nèi)聚性越高,模塊獨立性越高。塊間聯(lián)系(耦合性):考量角度:一,塊間職聯(lián)系方式:CALL調(diào)用<直接引用。二,塊間共用信息的作用:混合>控制>數(shù)據(jù)。三,塊間共用信息的數(shù)量:信息越多塊間聯(lián)系越大。塊間界面越清析塊間聯(lián)系越小,塊間聯(lián)系種類及其大小順序:數(shù)據(jù)連接<特征連接<控制連接<公共連接<內(nèi)容連接數(shù)據(jù)連接:塊間傳遞數(shù)據(jù),如函數(shù)調(diào)用的值傳遞。特征連接:二塊與同一數(shù)據(jù)結(jié)構(gòu)有關(guān)聯(lián),如函數(shù)調(diào)用的地址傳遞??刂七B接:塊間調(diào)用傳遞的是控制變量,如傳遞標(biāo)記,開關(guān)等。公共連接:多個模塊共享同一數(shù)據(jù)區(qū)(如全局變量)。內(nèi)容連接:一塊直接訪問另一塊的內(nèi)容。127.塊內(nèi)聯(lián)系(一塊內(nèi)各成份間的聯(lián)系性,又稱內(nèi)聚性):參見p187塊內(nèi)聯(lián)系種類及其大小順序:偶然性<邏輯性<瞬時性<通信性<順序性<功能性偶然性:塊內(nèi)各成份之間沒有任何聯(lián)系,這種塊內(nèi)聯(lián)系稱為偶然性。它們不易修改,無法定義此塊功能,難測試。邏輯性:塊內(nèi)有幾個邏輯功能相似成份,它們間的聯(lián)系稱為邏輯性,如一個塊有讀出一個記錄,寫入一個記錄的功能的單接口多功能的模塊。瞬時性:塊內(nèi)成份間聯(lián)系有時間性的聯(lián)系稱為瞬時性,如:初始化模塊(幾個變量同時初始化)。通信性:塊內(nèi)各成分引用共同的數(shù)據(jù)即共享數(shù)據(jù)而產(chǎn)生的聯(lián)系稱為通信性。如一塊可讀入一個事務(wù)數(shù)據(jù),又能更新主文件。這二處功能共享相同事務(wù)數(shù)據(jù)。順序性:塊內(nèi)成份間執(zhí)行有順序而產(chǎn)生的聯(lián)系稱為順序性,如一個成份的輸出是另一個成份的輸入。功能性:塊內(nèi)各成份共同協(xié)作完成同一個任務(wù)產(chǎn)生的聯(lián)系稱為功能性。如計算平方根模塊。128.改進(jìn)結(jié)構(gòu)圖的原則:完善模塊功能,降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系(低耦合,高內(nèi)聚),除去重復(fù)功能,模塊大小適當(dāng)(30—50行),模塊層次結(jié)構(gòu)的深度,寬度,扇出,扇入適當(dāng)。降低模塊接口的復(fù)雜程序,應(yīng)單出、入口。盡可能研究整張結(jié)構(gòu)圖,等等。參見p188—190129.結(jié)構(gòu)圖的設(shè)計:參見p190--194由數(shù)據(jù)流圖導(dǎo)出初步結(jié)構(gòu)圖:變換型DFD(變換型數(shù)據(jù)流圖,由此設(shè)計出變換型結(jié)構(gòu)圖):變換型DFD含義:它是由輸入,變換(處理),輸出三部份構(gòu)成的數(shù)據(jù)流圖,特別是變換部份,它是系統(tǒng)的主加工,是串行式處理集合。根據(jù)它可設(shè)計變換型結(jié)構(gòu)圖。變換型結(jié)構(gòu)圖畫設(shè)計方法:參見p191—193先從數(shù)據(jù)流圖找出主加工(即變換中心)邏輯輸入(最接近變換處理的輸入),邏輯輸出(最接近變換處理的輸出)部份。再設(shè)計出頂層和第一層,然后設(shè)計中下層。頂層圖一般僅由,輸入,主加工,輸出三部份組成。第一層圖,主要將復(fù)雜主加工分解為幾個串行的子加工便可。中,下層設(shè)計原則:輸入部份設(shè)計:為每上一層輸入塊設(shè)計二個塊,一個為接收再下一層輸入數(shù)據(jù)的接收塊,一個為變換輸入數(shù)據(jù)成上一層輸入塊需要的數(shù)據(jù)形式的變換塊。輸出部份設(shè)計:為每上一層輸出塊設(shè)計二個塊,一個為接收輸出數(shù)據(jù)的接收塊,一個為變換輸出數(shù)據(jù)成下一層輸出塊需要的數(shù)據(jù)形式的變換塊。變換中心設(shè)計:每一個處理設(shè)計為一個處理塊。事務(wù)型DFD含義(事務(wù)型數(shù)據(jù)流圖,由此設(shè)計出事務(wù)型結(jié)構(gòu)圖):它是由輸入,事務(wù)(處理),輸出三部份構(gòu)成的數(shù)據(jù)流圖,特別是事務(wù)部份,它是系統(tǒng)的主加工,是并行式處理集合,即事務(wù)中心由多條處理路徑并行組成,根據(jù)給定條件,從中選擇一條路徑處理輸入數(shù)據(jù)得到輸出。根據(jù)它可設(shè)計事務(wù)型結(jié)構(gòu)圖。事務(wù)型結(jié)構(gòu)圖畫設(shè)計方法:參見p193—194先從數(shù)據(jù)流圖找出主加工(即事務(wù)中心)邏輯輸入(最接近變換處理的輸入),邏輯輸出(最接近變換處理的輸出)部份。再設(shè)計出頂層和第一層,然后設(shè)計中下層。頂層圖一般僅由,輸入,主加工,輸出三部份組成。第一層圖,主要將復(fù)雜主加工分解為幾個并行的子加工(即事務(wù)中心)便可。中,下層設(shè)計原則:輸入、輸出部份設(shè)計同變換型。事務(wù)中心設(shè)計:每一個事務(wù)設(shè)計一事務(wù)處理塊。對每一事務(wù)處理塊設(shè)計若干操作塊。為每一操作塊設(shè)計若干細(xì)節(jié)塊,設(shè)計時盡量提高操作塊和細(xì)節(jié)塊的共享性。面向?qū)ο蟮脑O(shè)計方法OOD:此類設(shè)計方法產(chǎn)生的模塊是類(一類實體)模塊,即類作為模塊基本單位,將類間組織成層次結(jié)構(gòu)和組合結(jié)構(gòu),由此形成軟件系統(tǒng)的體系結(jié)構(gòu),它含有完整的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu),類模塊的相對獨立性高,因而使系統(tǒng)結(jié)構(gòu)清析,模塊重用性高,錯誤可以限制在很小范圍內(nèi),系統(tǒng)修改容易。軟件測試參見p195—206軟件測試含義:測試是為發(fā)現(xiàn)程序錯誤執(zhí)行程序的過程。軟件測試的目標(biāo):為發(fā)現(xiàn)程序錯誤執(zhí)行程序的過程,好的測試用例是極可能發(fā)現(xiàn)尚沒發(fā)現(xiàn)錯誤的測試用例,成功的測試是為發(fā)現(xiàn)至今尚沒發(fā)現(xiàn)的錯誤的測試。測試不能發(fā)現(xiàn)所有錯誤。黑盒測試法:不關(guān)心程序內(nèi)部的邏輯結(jié)構(gòu)和特性,只檢查程序是否符合用戶要求的功能的測試。測試不能窮舉,只能選用有代表性的一組數(shù)據(jù)進(jìn)行測試。白盒測試法:主要測試程序內(nèi)部的邏輯結(jié)構(gòu)和控制結(jié)構(gòu)和模塊的接口,檢查程序內(nèi)路徑是否能按預(yù)定要求正確工作測試。測試也不能窮舉,只能選用有代表性的一組數(shù)據(jù)進(jìn)行測試。測試原則:由獨立部門進(jìn)行,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期結(jié)果構(gòu)成,測試數(shù)據(jù)不僅要合理的還要用不合理的。要檢查程序應(yīng)作和不應(yīng)做的工作,要長期保留測試用例,程序修改后還應(yīng)測試,注意重點測試易出錯部份。131.白盒測試方面參見p197—200覆蓋標(biāo)準(zhǔn)及其強(qiáng)弱:覆蓋標(biāo)準(zhǔn)的強(qiáng)弱順序:語句覆蓋

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論