知識點(diǎn)1軟件工程基本概念匯總_第1頁
知識點(diǎn)1軟件工程基本概念匯總_第2頁
知識點(diǎn)1軟件工程基本概念匯總_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、知識點(diǎn)1軟件工程基本概念 軟件工程是指應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來 開發(fā)與維護(hù)軟件的學(xué)科。知識點(diǎn)2軟件生命周期將軟件產(chǎn)品從開始計劃起,到廢棄不用止,稱為軟件生命周期。軟件生命周期一般劃分為計劃、開發(fā)和運(yùn)行 3個時期,每一時期又區(qū)分為若干 個階段。計劃時期有問題定義和可行性研究兩個階段;開發(fā)時期有需求分析、設(shè) 計、編碼和測試4個階段;運(yùn)行時期主要是系統(tǒng)維護(hù)階段。知識點(diǎn)3軟件設(shè)計基本概念軟件設(shè)計分為總體設(shè)計和詳細(xì)設(shè)計目的:確定軟件的總體結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、用戶界面和算法細(xì)節(jié)任務(wù):將需求階段產(chǎn)生的軟件需求說明轉(zhuǎn)換為用適當(dāng)手段表示的軟件設(shè)計文檔總體設(shè)計目的:要解決的問題是“

2、怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)”任務(wù):確定軟件的總體結(jié)構(gòu),進(jìn)行模塊劃分,確定每個模塊的功能、接口及模 塊之間的調(diào)用關(guān)系,并對全局?jǐn)?shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,同時產(chǎn)生概要設(shè)計說明書。詳細(xì)設(shè)計目的:要解決的問題是“應(yīng)該怎樣具體實(shí)現(xiàn)目標(biāo)系統(tǒng)”任務(wù):在概要設(shè)計的基礎(chǔ)上,設(shè)計每個模塊實(shí)現(xiàn)的細(xì)節(jié)及對局部數(shù)據(jù)進(jìn)行設(shè)計 (包括模塊的數(shù)據(jù)結(jié)構(gòu)和所需的算法,同時產(chǎn)生詳細(xì)設(shè)計說明書。知識點(diǎn)4軟件設(shè)計的基本原理抽象是一種思維方法。忽略細(xì)節(jié),把握本質(zhì)。軟件工程每一步都是對軟件解法 的抽象層次的一次細(xì)化。自頂向下逐步求精:首先對設(shè)計的系統(tǒng)要有一個全面的理解,然后從頂層開 始,連續(xù)地逐層向下分解,直至所有的模塊都小到便于掌握為止。模塊化:層次結(jié)構(gòu)

3、為樹狀結(jié)構(gòu)。信息隱蔽與局部化:有利于軟件的可維護(hù)性可以防止誤操作和誤修改。模塊獨(dú)立性:模塊化、抽象、信息隱蔽和局部化直接結(jié)果。好處是使軟件開發(fā) 更容易、適合分工合作,使軟件測試和維護(hù)更容易。啟發(fā)性原則:改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性。知識點(diǎn)5結(jié)構(gòu)化分析方法軟件開發(fā)方法主要有結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法。結(jié)構(gòu)化分析(簡稱SA方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法。該方法使用簡單易讀的符號,運(yùn)用抽 象的概念模型,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪出 滿足功能要求的軟件模型。知識點(diǎn)6軟件測試的目的和準(zhǔn)則 軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程目的:通過在計算機(jī)上執(zhí)行程序檢驗(yàn)

4、軟件是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別,并改正程序中的錯誤,以保證程序的可靠運(yùn)行。原則:1、確定期望輸出結(jié)果2、測試者應(yīng)避免測試自己的程序3、對非法和非期望的輸入數(shù)據(jù)要像合法的和期望的輸入數(shù)據(jù)一樣編寫測試用例4、程序模塊經(jīng)測試后,殘存的錯誤數(shù)目與已發(fā)現(xiàn)的錯誤數(shù)目成正比5、嚴(yán)格按測試計劃執(zhí)行,避免測試的隨意性6對每一個測試結(jié)果應(yīng)當(dāng)做全面檢查7、妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為軟件維護(hù)提供方 便知識點(diǎn)7軟件測試的方法和實(shí)施軟件測試分為靜態(tài)分析和動態(tài)測試。動態(tài)測試又分為白盒測試和黑盒測試。白盒測試常用以下幾種技術(shù):語句覆蓋;判定覆蓋;條件覆蓋;判定/條件覆蓋

5、;條件組合覆蓋;路徑覆蓋。黑盒測試常使用的技術(shù)如下:等價類劃分法;邊界值分 析法;錯誤推測法;因果圖法。軟件測試的實(shí)施:單元測試;集成測試;確認(rèn)測試;系統(tǒng)測試知識點(diǎn)8程序的調(diào)試程序調(diào)試,是將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測試, 修正語法錯誤和邏輯錯誤的過程。步驟:用編輯程序把編制的源程序按照一定的書寫格式送到計算機(jī)中。把源程序翻 譯成機(jī)器語言。使用計算機(jī)中的連接程序,把翻譯好的計算機(jī)語言程序連接起來, 并扶植成一個計算機(jī)能真正運(yùn)行的程序。將修改后的程序進(jìn)行試算,接著仍要編 譯、連接和執(zhí)行,直至無邏輯錯誤為止。也可以在完成后再進(jìn)行編譯。按照如下知識點(diǎn)順序:知識點(diǎn)1算法的復(fù)雜

6、度算法的復(fù)雜度:時間復(fù)雜度與空間復(fù)雜度。知識點(diǎn)2邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)邏輯結(jié)構(gòu)(數(shù)據(jù)結(jié)構(gòu)):數(shù)據(jù)元素之間邏輯上的關(guān)系,是數(shù)據(jù)的組織形式。分為:線性結(jié)構(gòu)和非線性結(jié)構(gòu)(具體為集合;線性結(jié)構(gòu);樹型結(jié)構(gòu);圖狀結(jié)構(gòu))。存儲結(jié)構(gòu):數(shù)據(jù)元素以及數(shù)據(jù)元素之間的邏輯關(guān)系在計算機(jī)內(nèi)存中的表示。一般 地,一個存儲結(jié)構(gòu)包括以下兩個主要部分:存儲結(jié)點(diǎn) (簡稱結(jié)點(diǎn),每個結(jié)點(diǎn)存放一個 數(shù)據(jù)元素;數(shù)據(jù)元素之間關(guān)系的表示,也就是邏輯結(jié)構(gòu)的計算機(jī)內(nèi)部表示。常用的 數(shù)據(jù)存儲結(jié)構(gòu):順序存儲方法;鏈?zhǔn)酱鎯Ψ椒?;索引存儲方法;散列存儲方法。知識點(diǎn)3線性結(jié)構(gòu)和非線性結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)指的是數(shù)據(jù)元素之間存在著“

7、一對一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。非線 性結(jié)構(gòu)的邏輯特征是一個結(jié)點(diǎn)元素可能對應(yīng)多個直接前驅(qū)和多個后驅(qū)。常用的線性結(jié)構(gòu)有:線性表,棧,隊(duì)列,雙隊(duì)列,數(shù)組,串。廣義表,是一種非線性的數(shù)據(jù)結(jié)構(gòu)。常見的非線性結(jié)構(gòu)有:樹(二叉樹等,圖(網(wǎng)等。知識點(diǎn)4棧棧的邏輯結(jié)構(gòu)和線性表相同,但是,棧(Stack是僅限在表的一端進(jìn)行插入和刪除運(yùn)算的線性表,通常稱插入、刪除這一端為棧頂,另一端稱為棧底,表中無元素時為空棧棧的運(yùn)算原則是“先進(jìn)后出”。插入運(yùn)算稱為進(jìn)棧(或入棧。刪除運(yùn)算稱為退棧(或出棧?;具\(yùn)算為:入棧、出棧、取棧頂元素知識點(diǎn)5隊(duì)列隊(duì)列(Queue,兩頭都有限制,插入只能在表的一端進(jìn)行(只進(jìn)不出,而刪除只 能在表

8、的另一端進(jìn)行(只出不進(jìn),進(jìn)行插入操作的端稱為隊(duì)尾,進(jìn)行刪除操作的端 稱為隊(duì)頭。隊(duì)列中沒有元素時,稱為空隊(duì)列。操作原則是先進(jìn)先出隊(duì)列的順序存儲一般采用循環(huán)隊(duì)列。把隊(duì)列設(shè)想成一個循環(huán)表,即設(shè)想數(shù)組首 尾相連。這種存儲結(jié)構(gòu)稱為循環(huán)隊(duì)。知識點(diǎn)6鏈表線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu):單鏈表、循環(huán)鏈表等其他鏈表。知識點(diǎn)7二叉樹及其基本性質(zhì) 二叉樹:是結(jié)點(diǎn)的有窮集合,它或者是空集,或者同時滿足下述兩個條件:有且僅有一個稱為根的結(jié)點(diǎn);其余結(jié)點(diǎn)分為兩個互不相交的集合T1、T2, T1與T2都是二叉樹,并且Tl與T2有順序關(guān)系(T1在T2之前,它們分別稱為根的左子樹和右子 樹?;拘再|(zhì):二叉樹第i(i >1層上至多有2

9、i-1個結(jié)點(diǎn);深度為k(k >1的二叉樹至多有個結(jié)點(diǎn);對任何一棵二叉樹,如果其終端結(jié)點(diǎn)數(shù)為,度為2的結(jié)點(diǎn)數(shù)為,貝U 7 =+1。知識點(diǎn)8二叉樹的遍歷二叉樹的遍歷:就是按某種次序“訪問”二叉樹上的所有結(jié)點(diǎn),使得每個結(jié)點(diǎn)被訪 問一次,而且僅被訪問一次。二叉樹是由三個基本單元組成:根結(jié)點(diǎn)、左子樹和右子樹。因此,若能依次遍歷這 三部分,便是遍歷了整個二叉樹。假如以 L、D R分別表示遍歷左子樹、訪問根結(jié) 點(diǎn)和遍歷右子樹,則可有 DLR DRL LDR LRD RDL RLD 6種遍歷二叉樹方案。 若限定先左后右,則只有 DLR LDR LRD三種情況,分別稱之為先根(序、中根(序 和后根(序遍歷

10、??键c(diǎn)9順序查找以順序表作為存儲結(jié)構(gòu)查找過程:從表中最后一個(或第一個)記錄開始,逐個進(jìn) 行記錄的關(guān)鍵字和給定值的比較,若某個記錄的關(guān)鍵字和給定值比較相等,貝U查找 成功;反之,若直至第一個記錄,其關(guān)鍵字和給定值比較都不等,則表明表中沒有 所查記錄,查找失敗??键c(diǎn)10二分法查找使用二分查找的線性表滿足兩個條件:用順序存儲結(jié)構(gòu);線性表是有序表“有序”是特指元素按非遞減排列,即從小到大排列,但允許相鄰元素相等。二分查找法的基本思想是:每次將處于查找區(qū)間中間位置上的數(shù)據(jù)元素的鍵值x與給定值K比較,若不等則縮小查找區(qū)間(若K比中間值大則舍棄下半部分,若 K比 中間值小則舍棄上半部分并在新的區(qū)間內(nèi)重復(fù)上述過程,直到查找成功或查找區(qū)間 長度為0(即查找不成功為止??键c(diǎn)11排序1、 交換類排序法:借助數(shù)據(jù)元素的“交換”來進(jì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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論