軟件工程復習范圍.doc_第1頁
軟件工程復習范圍.doc_第2頁
軟件工程復習范圍.doc_第3頁
軟件工程復習范圍.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。軟件=程序+數據+文檔 軟件危機主要有以下一些典型表現: v (1) 對軟件開發(fā)成本和進度的估計常常很不準確。v (2) 用戶對“已完成的”軟件系統(tǒng)不滿意的現象經常發(fā)生。v (3) 軟件產品的質量往往靠不住。v (4) 軟件常常是不可維護的。v (5) 軟件通常沒有適當的文檔資料。v (6) 軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。v (7) 軟件開發(fā)生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。 軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。軟件工程具有下述的本質特性:1. 軟件工程關注于大型程序的構造2. 軟件工程的中心課題是控制復雜性3. 軟件經常變化4. 開發(fā)軟件的效率非常重要5. 和諧地合作是開發(fā)軟件的關鍵6. 軟件必須有效地支持它的用戶7. 在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人工作軟件工程的7條基本原理。v 1. 用分階段的生命周期計劃嚴格管理v 2. 堅持進行階段評審v 3. 實行嚴格的產品控制v 4. 采用現代程序設計技術v 5. 結果應能清楚地審查v 6. 開發(fā)小組的人員應該少而精v 7. 承認不斷改進軟件工程實踐的必要性 軟件生命周期包括那幾個階段?1. 問題定義2. 可行性研究3. 需求分析4. 總體設計5. 詳細設計6. 編碼和單元測試7. 綜合測試8. 軟件維護可行性分析就是要用最小的代價在盡可能短的時間內確定問題是否能夠解決可行性研究的幾個方面: 經濟可行性 技術可行性法律可行性 需求分析要解決的問題是:目標系統(tǒng)到底做什么?需求分析需要從哪幾方面入手:1. 功能需求2. 性能需求3. 可靠性和可用性需求4. 出錯處理需求5. 接口需求6. 約束7. 逆向需求8. 將來可能提出的要求數據流圖(DFD)是一種圖形化技術,描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。數據字典是關于數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合。總體設計的基本目的就是回答“概括地說,系統(tǒng)應該如何實現?”這個問題耦合是對一個軟件結構內不同模塊之間互聯(lián)程度的度量。耦合包括:非直接耦合、數據耦合、控制耦合、特征耦合、公共環(huán)境耦合、內容耦合。內聚標志一個模塊內各個元素彼此結合的緊密程度,它是信息隱藏和局部化概念的自然擴展。內聚包括:偶然內聚;邏輯內聚;時間內聚;過程內聚;通信內聚;順序內聚;功能內聚, 深度表示軟件結構中控制的層數,它往往能粗略地標志一個系統(tǒng)的大小和復雜程度。寬度是軟件結構內同一個層次上的模塊總數的最大值。扇出是一個模塊直接控制(調用)的模塊數目。一個模塊的扇入表明有多少個上級模塊直接調用它。詳細設計階段的根本目標是確定應該怎樣具體地實現所要求的系統(tǒng)結構程序設計的經典定義如下所述:“如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。”測試人員的目的是為了“破壞”已經建造好的軟件系統(tǒng)竭力證明程序中有錯誤不能按照預定要求正確工作。測試用例(Test Case)是為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。 軟件測試準則(1) 所有測試都應該能追溯到用戶需求。(2) 應該遠在測試開始之前就制定出測試計劃。(3) 把Pareto原理應用到軟件測試中。(4) 應該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)?!睖y試。(5) 窮舉測試是不可能的。(6) 為了達到最佳的測試效果,應該由獨立的第三方從事測試工作。單元測試集中檢測軟件設計的最小單元模塊。集成測試是測試和組裝軟件的系統(tǒng)化技術,主要目標是發(fā)現與接口有關的問題20世紀80年代初 Smalltalk成為面向對象技術發(fā)展的一個重要里程碑 。面向對象方法具有下述4個要點:(1) 認為客觀世界是由各種對象組成的(2) 把所有對象都劃分成各種對象類(3) 按照子類(或稱為派生類)與父類(或稱為基類)的關系,把若干個對象類組成一個層次結構的系統(tǒng)(4) 對象彼此之間僅能通過傳遞消息互相聯(lián)系。面向對象方法學的優(yōu)點1. 與人類習慣的思維方法一致2. 穩(wěn)定性好3. 可重用性好4. 較易開發(fā)大型軟件產品5. 可維護性好對象是具有相同狀態(tài)的一組操作的集合。類是對具有相同屬性和行為的一個或多個對象的描述實例就是由某個特定的類所描述的一個具體的對象。消息就是要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。方法就是對象所能執(zhí)行的操作,也就是類中所定義的服務。屬性就是類中所定義的數據,它是對客觀世界實體所具有的性質的抽象。從字面上理解,所謂封裝就是把某個事物包起來,使外界不知道該事物的具體內容。在面向對象的軟件技術中,繼承是子類自動地共享基類中定義的數據和方法的機制。關聯(lián)表示兩個類的對象之間存在某種語義上的聯(lián)系。聚集也稱為聚合,是關聯(lián)的特例。聚集表示類與類之間的關系是整體與部分的關系。依賴關

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論