軟件工程-原理、方法與應用史濟民 顧春華 版知識點整理(完整版)_第1頁
軟件工程-原理、方法與應用史濟民 顧春華 版知識點整理(完整版)_第2頁
軟件工程-原理、方法與應用史濟民 顧春華 版知識點整理(完整版)_第3頁
軟件工程-原理、方法與應用史濟民 顧春華 版知識點整理(完整版)_第4頁
軟件工程-原理、方法與應用史濟民 顧春華 版知識點整理(完整版)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1.軟件生存周期:1)需求分析2)軟件分析3)軟件設計4)編碼(測試)5)軟件測試6)運行維護2. 7種模型:(1)瀑布模型特點:線性模型,每一個階段必須完成規定的文檔使用場合:需求明確的中、小型軟件開發快速原型模型特點:用戶介入早,通過迭代完善用戶需求,應用快速開發工具 適用場合:需求不明確的小型軟件開發(3)增量模型特點:每次完成一個增量,可用于oo開發適用場合:容易分塊的大型軟件開發螺旋模型特點:典型迭代模型,重視風險分析,可用于oo開發適用場合:具有不確定性的大型軟件開發(5)構件集成模型特點:軟件開發與構件開發平行運行適用場合:領域工程,行業的中型軟件開發轉換模型特點:形式化的需求規

2、格說明書,自動的程序變換系統適用場合:理想化模型,尚無成熟工具支持凈室模型特點:形式化的增量開發模型,在潔凈狀態下實現軟件制作適用場合:開發團隊熟悉形式化方法,中小型軟件開發統一過程定義:描述了軟件開發過程中各個環節應該做什么、怎么做,什么時候做以及為什么要這樣 做,描述了一組以某種順序完成的活動四個階段:初始階段細化階段構造階段遷移階段敏捷過程定義:是指一種以人為核心,以迭代方式循序漸進開發的方法。軟件可行性研究內容:1)經濟可行性2)技術可行性3)運行可行性4)法律可行性步驟:1)對當前系統進行調查和研究2)導出新系統的解決方案3)提出推薦方案4)編寫可行性論證報告風險識別定義:1)項目風

3、險2)技術風險3)商業風險風險預測:1)風險發生的可能性(極罕見,罕見,普通,可能,極可能)2)風險發生后的后果(災難性的,嚴重的,輕微的,可忽略的) 項目風險:在預算、進度、人力、資源、客戶及需求等方面潛在的問題技術風險:設計,實現,接口和維護等方面的問題商業風險:包括市場,商業策略,推銷策略等方面的風險項目實施計劃1)項目實施計劃2)質量保證計劃3)軟件測試計劃4)文檔編制計劃5)用戶培訓計劃6)綜合支持計劃7)軟件分發計劃結構化分析基本任務與指導思想基本任務:1)編寫軟件需求規格說明書2)建立系統分析模型指導思想:抽象與分解基本步驟:1)自頂向下對系統進行功能分解,畫出分層DFD圖2)右

4、后先前定義系統的數據和加工,編制DD和PSPEC3)最終寫出SRS,入模型(結構化分析模型)的組成組成符號1)2)3)4)10.組成符號1)2)3)4)圓框代表加工;箭頭代表數據的流向;數據名稱總是標在箭頭的邊上;方框表示數據的源點和終點;雙杠(或單杠)表示數據文件或數據庫;大型復雜的軟件系統SRS :需求規格說明書通常把這種不需再分解的加工稱為“基本加工”,把上述逐步分解稱為“自頂向下,逐步細化”將分析模型轉化為軟件的設計模型分析模型設計模型狀態轉換圖(STD) 控制規格說明(CSPEC) 加工規格說明(PSPEC)過程設計數據流圖(DFD)接口設計 體系結構設計數據字典(DD) 實體聯系圖

5、(E-R)數據設計13. DFDSC 圖把DFD圖轉換為最終SC圖,僅僅完成了軟件設計的第一步。傳統的軟件工程將軟件設計分成兩步走:1)總體(或結構)設計一一用最終SC圖表示2)模塊設計:用逐步細化的方法來實現14,傳統軟件工程方法與面向對象的區別、各自的優缺點區別:前者是面向過程的語言,一切以算法為核心后者是面向對象的語言,構成類的封裝機制,跟好的實現了代碼的服用性能,依據 高內聚、低耦合的思想核心傳統的軟件工程主要指結構化軟件工程方法優點:1)整體思路清楚,目標明確2)設計工作中階段性非常強,有利于系統開發的總體管理和控制3)在系統分析時可以診斷出原系統中存在的問題和結構上的缺陷缺點:1)

6、用戶要求難以在系統分析階段準確定義,致使系統在交付時產生許多問題2)不能適應事務變化的要求3)系統的開發周期長面向對象:優點:1)加強了對問題空間和軟件系統的理解2)改進包括用戶在內的與軟件分析有關的各類人員之間的交流3)對需求的變化具有較強的適應性4)很好地支持軟件復用5)確保從需求模型到設計模型的一致性缺點:1)用戶與分析員和管理之間的問題2)開發周期長3)結構化程度較低,開發初期難以鎖定功能要求軟件需求定義:是指一個軟件系統必須遵循的條件或具備的能力三個層次:業務需求、用戶需求、功能需求特征:功能性可用性可靠性性能可支持性設計約束軟件需求工程定義:是一門應用有效的技術和方法,合適的工具和

7、符號,來確定,管理和描述目標 系統及其外部行為特征的學科。需求分析四大步驟:1)需求獲取2)需求建模3)需求描述4)需求驗證需求獲取的常用方法1)常規的需求獲取方法a)建立聯合分析小組b)用戶訪談c)問題分析的確認2)用快速原型法獲取需求面向對象的需求建模1)畫用例圖a)確定參與者(泛指所有存在于系統外部并與系統進行交互的人,硬件或其他 系統)b)確定用例c)繪制和檢查用例圖2)寫用例規約a)用例規約的內容b)用例規約示例c)用例模型的檢查3)描述補充規約4)編寫術語表5)調整用例模型需求管理的內容1)特定實踐a)獲得對需求的理解b)獲取需求承諾c)管理需求變更d)維護對需求的雙向可追溯性e)

8、標識項目工作與需求的一致性2)管理流程a)需求確認b)需求跟蹤c)需求變更需求變更的流程:變更申請-審批- 更改- 重新確認面向對象開發的全過程OOA分析模型-OOD設計模型-OOP實現模型-OOT的迭代過程22. OOA 的點1)同時加強了對問題空間和軟件系統的了解2)改進包括用戶在內的軟件分析有關的各類人員的交流3)對需求的變化具有較強的適應性4)很好地支持軟件復用5)確保從需求模型到設計模型的一致性分析類的類型邊界類:提供了對參與者或外部協議交互的接口控制類:用于封裝一個或幾個用例所特有的流程控制行為實體類:用于對必須存儲的信息和相關的行為建模面向對象設計的兩個層次1)系統架構設計1)系

9、統高層結構設計2)確定設計元素3)確定任務管理策略4)實現分布式機制5)設計技術存儲方案6)人機界面設計2)系統元素設計1)類/對象設計2)子系統設計3)包設計25. OODa)任務:將分析階段建立的分析模型轉換為軟件設計模型b)廣義地說,對象也是一種模塊,再模塊設計中要求的高內聚、低耦合等性質c)可重復使用的軟件組件稱之為構件d)現有的可復用構件,大多數是在對象的基礎上創建的e)模塊是一個擁有明確定義的輸入、輸出和特性的程序實體試比較3種不同的設計思想a)面向過程的思想:i.各模塊功能可能相互交叉或重疊,模塊間常常存在數據的共享或數據結構的共享b)面向功能的思想:i.各模塊的功能單一,如能將

10、它們與其他模塊的數據共享降到最低限度,就可以在某些應用中重用c)面向對象的思想:i.各模塊是一個個獨立的單位,不僅重用性較好,而且易于測試,聯調和維護軟件設計一般包括1)數據設計(DD、E-R)2)體系結構設計(DFD)3)接口設計(DFD)4)過程設計(STD,控制規格說明、加工規格說明)傳統的軟件設計1)概要設計結構設計接口設計編寫概要設計文檔2)詳細設計i.確定各個軟件部件的數據結構和操作,產生描述各軟件部件的詳細設計文檔軟件測試黑盒測試定義:是根據被測試程序的功能來進行測試,也稱為功能性測試方法:等價分類法邊界值分析法錯誤猜測發因果圖法白盒測試定義:以程序的結構為依據,又稱結構測試常用方法:邏輯覆蓋法路徑測試法軟件的維護定義:在一個軟件產品交付使用后對其進行修改,以糾正故障、改進其性能和其他 屬性,或使產品適應改變了的環境分類:完善性維護糾錯性維護適應性維護預防性維護可維護性定義:是衡量維護容易程度的一種軟件屬性取決于:可理解性可修改性可測試性三者一起構成了

溫馨提示

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

評論

0/150

提交評論