軟件工程期末復習要點歸納總結_第1頁
軟件工程期末復習要點歸納總結_第2頁
軟件工程期末復習要點歸納總結_第3頁
軟件工程期末復習要點歸納總結_第4頁
軟件工程期末復習要點歸納總結_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程期末復習要點歸納總結軟件工程期末復習要點歸納總結軟件工程期末復習要點歸納總結xxx公司軟件工程期末復習要點歸納總結文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設計,管理制度軟件工程學概論1、軟件危機產(chǎn)生的原因軟件本身的特點:難于維護、邏輯復雜軟件開發(fā)與維護的方法不正確:忽略需求分析重要性、輕視軟件維護課本表述:軟件不同于硬件,它是計算機中的邏輯部件而不是物理部件軟件不同于一般程序,它的一個顯著特點是規(guī)模龐大,而且程序的復雜性將規(guī)模的增加而呈現(xiàn)指數(shù)上升。軟件本身特有的特點確實給開發(fā)和維護帶了一些客觀困難軟件開發(fā)與維護有關的許多錯誤認識與做法有關(忽略需求分析,輕視軟件維護)對用戶要求沒有完整準確的認識就匆忙開始著手編寫程序在軟件不同階段進行修改需要付出的代價是很不相同的2、軟件危機的表現(xiàn)(什么是軟件危機)(1)、成本高:(2)、軟件質量得不到保證:軟件質量問題導致失敗的軟件項目非常多 (3)、進度難以控制: ●項目延期比比皆是●由于進度問題而取消的軟件項目較常見●只有一小部分的項目能夠按期完成 (4)、維護十分困難:▼軟件維護的多樣性▼軟件維護的復雜性▼軟件維護的副作用3、克服軟件危機 (1)、管理的角度: 軟件開發(fā)過程的研究、文檔的標準化以及人員的交流方式等 (2)、軟件開發(fā)方法的研究 結構化軟件開發(fā)方法,面向對象的開發(fā)4、軟件工程的定義 概括的說,軟件工程師指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術和方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經(jīng)濟地開發(fā)出高質量的軟件并有效地維護它,這就是軟件工程。 (1)、軟件工程就是建立和使用一套合理的工程原理,從而經(jīng)濟地獲得可靠的、可以在實際機器上高效運行的軟件。 (2)、=1\*GB3①把系統(tǒng)的、規(guī)范的、可度量的方法應用于軟件開發(fā)、運行和維護的過程,也就是把工程應用于軟件.=2\*GB3②研究=1\*GB3①中提到的途徑 總之:軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。他借鑒傳統(tǒng)工程的原理、方法,以提高質量,降低成本為目的。5、軟件工程的本質特性 1、 關注與大型程序的構造 2、 中心課題是控制復雜度 3、 軟件經(jīng)常變化 4、 開發(fā)軟件的效率非常重要 5、 和諧的合作是開發(fā)軟件的關鍵 6、 軟件必須有效地支持它的用戶 7、 在軟件工程領域中通常由具有一個文化背景的人替另外一種文化背景的人創(chuàng)造產(chǎn)品6、軟件工程的基本原理 1、用分階段的生命周期計劃嚴格管理 2、堅持進行階段評審 3、實行嚴格的產(chǎn)品控制 4、采用現(xiàn)代程序設計技術 5、結果應能清楚地審查 6、開發(fā)小組應該少而精 7、承認不斷改進軟件工程實踐的必要性軟件工程學包含3個要素:方法、工具和過程7、軟件生命周期 (1)、概念: 軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也成軟件維護)3個時期組成。 (2)、內容:問題定義回答“要解決的問題是什么“,寫出關于問題性質、工程目標和工程規(guī)模的書面報告可行性分析回答”對于問題是否有行得通的解決辦法“,即探索問題是否值得去解,是否有可行的辦法需求分析確定”為了解決這個問題,目標系統(tǒng)必須做什么“,確定目標系統(tǒng)必須具備哪些功能,得到需求規(guī)格說明書。總體設計回答”概括地說,應該怎樣實現(xiàn)目標系統(tǒng)?“,確定程序由哪些模塊組成以及模間的關系詳細設計回答”應該怎樣具體地實現(xiàn)這個系統(tǒng)呢”,確定實現(xiàn)模塊功能所需要的算法與數(shù)據(jù)結構編碼和單元測試寫出正確的容易理解、容易維護的程序模塊,然后仔細測試每個模塊綜合測試通過各種類型的測試(及相應的調試)是軟件達到預定要求軟件維護通過各種必要活動是系統(tǒng)持久地滿足用戶需求8、生命周期模型 (1)、瀑布模型 傳統(tǒng)瀑布模型特點:階段間具有順序性與依賴性推遲實現(xiàn)的觀點質量保證的觀點瀑布模型優(yōu)點:可強迫開發(fā)人員使用規(guī)范的方法(例如:結構化技術);嚴格規(guī)定每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須通過驗證。缺點:1、“瀑布模型是由文檔驅動的”成為主要缺點適用范圍: 適合于用戶需求明確、完整、無重大變化的軟件項目開發(fā)。 (2)、快速原型模型適用范圍:用戶不能給出完整、準確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應性或人機交互的形式等情況。 (3)、增量模型 特點:1、反復的應用瀑布模型的基本成分和原型模型的迭代特征,每一個線型過程產(chǎn)生一個“增量”的發(fā)布或提交,該增量均是一個可運行的產(chǎn)品。 2、早期的版本實現(xiàn)用戶的基本需求,并提供給用戶評估的平臺。 優(yōu)點:在較短時間內向用戶提交可完成部分工作的產(chǎn)品;逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊;缺點:軟件體系結構必須是開放的;開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構件,相互矛盾;多個構件并行開發(fā),具有無法集成的風險。(4)、螺旋模型 基本思想: 使用原型或其他方法來降低風險。 適用范圍: 適用于內部開發(fā)大規(guī)模軟件項目。 優(yōu)點:1、對可選方案和約束條件的強調有利于已有軟件的重用,也有助于把軟件質量作為軟件發(fā)的一個重要目標2、減少了過多測試或測試不足3、維護和開發(fā)之間并沒有本質區(qū)別 缺點:風險驅動,需要相當豐富的風險評估經(jīng)驗和專門知識,否則風險更大隨著迭代次數(shù)的增加,工作量加大,軟件開發(fā)成本增加(5)、噴泉模型 特點:噴泉模型是一種以用戶需求為動力,以對象為驅動的模型,主要用于采用對象技術的軟件開發(fā)項目。該模型認為軟件開發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性。 (6)、Rational統(tǒng)一過程RUP重復一系列周期,每個周期由一個交付給用戶的產(chǎn)品結束。每個周期劃分為初始、細化、構造和移交四個階段,每個階段圍繞著五個核心工作流(需求、分析、設計、實現(xiàn)、測試)分別迭代。 可行性研究概念(目的)用最小的代價在盡可能短的時間內確定問題是否能夠解決,不是解決問題,而是確定問題是否值得去解決??尚行匝芯咳蝿樟私饪蛻舻囊蠹艾F(xiàn)實環(huán)境,從技術、經(jīng)濟和社會因素等三方面研究并論證本軟件項目的可行性,編寫可行性研究報告,制定初步項目開發(fā)計劃。即對軟件開發(fā)以后的行動方針提出建議。研究內容技術可行性使用現(xiàn)有的技術能實現(xiàn)這個系統(tǒng)嗎

經(jīng)濟可行性 這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎

操作可行性 系統(tǒng)的操作方式在這個用戶組織內行得通嗎

法律可行性 新系統(tǒng)開發(fā)是否會侵犯法藤、集體或國家利益

數(shù)據(jù)字典(1)、內容 1、數(shù)據(jù)流 2、數(shù)據(jù)流分量(即數(shù)據(jù)元素) 3、數(shù)據(jù)存儲 4、處理 (2)、作用對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素都有一個確切的定義。需求分析需求分析的任務確定對系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導出系統(tǒng)的邏輯模型修正系統(tǒng)的開發(fā)步驟獲取需求的方法訪談面向數(shù)據(jù)流自頂向下簡易的應用規(guī)模說明技術快速建立軟件模型實體-關系圖(P63)、層次方框圖(P68)和IPO圖(結構化分析模型●數(shù)據(jù)流圖: 描繪當數(shù)據(jù)在軟件系統(tǒng)中移動時被變換的邏輯過程,指明系統(tǒng)具有的變換數(shù)據(jù)的功能,是建立功能模型的基礎●實體-聯(lián)系圖:描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關系,用于建立數(shù)據(jù)模型?!駹顟B(tài)轉換圖:指明了作為外部事件結果的系統(tǒng)行為。描繪了系統(tǒng)的各種行為模式(稱為“狀態(tài)”)和在不同狀態(tài)間轉換的方式。是行為建模的基礎總體設計模塊獨立性與耦合性(P97模塊化把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求模塊化的優(yōu)點:使軟件結構清晰,容易設計也容易閱讀與理解容易測試與調試,提高可靠性提高軟件的可修改性有助于軟件開發(fā)工程的組織管理模塊獨立的重要性○有效的模塊化(即具有獨立的模塊)的軟件比較容易開發(fā)出來○獨立的模塊比較容易測試和維護耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度,耦合要低,即每個模塊和其他模塊之間的關系要簡單數(shù)據(jù)耦合:兩個模塊之間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)控制耦合:傳遞的信息中有控制信息特征耦合:當把整個數(shù)據(jù)結構作為參數(shù)傳遞而被調用的模塊只需要使用其中一部分數(shù)據(jù)元素公共環(huán)境耦合:兩個或多個模塊通過一個公共環(huán)境相互作用內容耦合:出現(xiàn)一下情況之一,則為內容耦合:一個模塊訪問另一個模塊的內部數(shù)據(jù)一個模塊不通過正常入口而轉到另一個模塊的內部兩個模塊有一部分代碼重疊一個模塊有多個入口數(shù)據(jù)耦合<控制耦合<特征耦合<公共環(huán)境耦合<內容耦合內聚(P99衡量一個模塊內部各個元素彼此結合的緊密程度。內聚要高,每個模塊完成一個相對獨立的特定子功能 信息隱藏(P96應該這樣設計和確定模塊,使得一個模塊內包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的啟發(fā)規(guī)則改進軟件結構提高模塊獨立性模塊規(guī)模應該適中深度、寬度、扇入、扇出都應適中模塊的作用域應該在控制域之內力爭降低模塊接口的復雜度設計單入口、單出口模塊模塊功能應該可以預測層次圖和HIPO圖(P102面向數(shù)據(jù)流的設計方法(P104概念面向數(shù)據(jù)流設計就是把信息流映射成軟件結構,信息流的類型決定了映射的方法。信息流包括變換流、事物流。變換分析與事務分析(P105小結進行軟件結構設計遵循的最主要的原理是模塊獨立原理抽象和求精是一對互補概念軟件工程師在實踐中總結經(jīng)驗得出一些很有參考價值的啟發(fā)式規(guī)則自頂向下逐步求精是進行軟件結構設計的常用途徑用形式化的方法由數(shù)據(jù)流圖映射出軟件結構實現(xiàn)選擇程序設計語言為了使程序容易測試和維護以減少軟件的總成本,所選用的高級語言程序應該有理想的模塊化機制,以及可讀性好的控制結構和數(shù)據(jù)結構:為了便于調試和提高軟件可靠性,語言特點應該是編譯程序能夠盡可能多地發(fā)現(xiàn)程序中的錯誤;為了降低軟件開發(fā)和維護的成本,選用的高級語言應該有良好的獨立編譯機制。軟件測試測試的概念測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程好的測試方案是極可能發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試方案。成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。測試的過程與步驟(P153大型軟件的測試過程基本由下述幾個步驟組成模塊測試(單元測試)發(fā)現(xiàn)編碼和詳細設計的錯誤子系統(tǒng)測試系統(tǒng)測試(集成測試)驗收測試(確認測試)平行運行單元測試(P153著重從下述5個模塊進行測試(主要使用白盒測試技術)模塊接口局部數(shù)據(jù)結構重要的執(zhí)行通路出錯處理通路邊界條件集成測試(P156集成測試就是測試和組裝軟件的系統(tǒng)化技術,主要目標是發(fā)現(xiàn)與接口有關的問題。有兩種集成策咯自頂向下集成自底向上集成確認測試(P160也稱驗收測試,它的目標是驗證軟件的有效性。通常使用黑盒測試法。白盒測試技術(P162白盒方法測試軟件時設計測試數(shù)據(jù)的典型技術邏輯覆蓋語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋點覆蓋邊覆蓋路徑覆蓋控制結構測試基本路徑測試條件測試循環(huán)測試黑盒測試技術(P171黑盒測試力圖發(fā)現(xiàn)下述類型的錯誤:功能不正確或遺漏了功能。界面錯誤。數(shù)據(jù)結構錯誤或外部訪問數(shù)據(jù)庫錯誤性能錯誤初始化和終止錯誤黑盒測試用到的技術等價劃分邊界值分析錯誤推測

維護維護的定義(P189所謂軟件維護就是在軟件已經(jīng)交付使用周,為了改正錯誤或滿足新的需要而修改軟件的過程。根據(jù)交付使用之后可能進行的4項活動具體定義軟件維護改正性維護糾正在使用過程中暴露出來的錯誤;診斷和改正錯誤的過程,適應性維護為了和變化了的環(huán)境適當?shù)嘏浜隙M行的修改軟件活動完善性維護在使用軟件的過程中增加新的功能或修改已有功能,還可能提出一般性的改進意見的過程預防性維護為了改進未來的可維護性與可靠性,或為了給未來的改進奠定更好的基礎而修改軟件的過程。維護的過程(P192維護組織維護報告維護的事件流保存維護記錄評價維護活動小結軟件生命周期每個階段的工作都和軟件可維護性有密切關系。再工程過程可以在完成任意一個活動之后中止面向對象技術面向對象方法學要點(P面向對象方法學的出發(fā)點和基本原則,是盡可能模擬人類思維方法,是開發(fā)軟件盡可能接近人類認識世界解決問題的方法與過程。面向對象方法學優(yōu)點與人類習慣的思維方法一致穩(wěn)定性好可重用性好較易開發(fā)大型軟件產(chǎn)品可維護性好對象模型(P對象模型表示靜態(tài)的,結構化的系統(tǒng)的“數(shù)據(jù)”性質。它是對模擬客觀世界實體的對象以及對象彼此之間的關系的映射,描述了系統(tǒng)的靜態(tài)結構。動態(tài)模型(P動態(tài)模型表示瞬時的、行為化的系統(tǒng)的”控制“性質,它規(guī)定了對象模型中的對象的合法序列。功能模型(P功能模型表示變化的系統(tǒng)的”功能“性質,他指明了系統(tǒng)應該”做什么”,因此更直接反映了用戶對目標系統(tǒng)的需求。三種模型之間的關系(P功能模型指明了系統(tǒng)應該“做什么”;動態(tài)模型明確規(guī)定了什么時候(即在何種狀況下接受什么時間的觸發(fā))做;對象模型則定義了做事情的實體。在面向對象方法學中,對象模型是最基本的,它為其他兩種模型奠定了基礎,人們依靠對象模型完成了3中模型的集成。下面扼要地敘述3種模型之間的關系。三種模型描述了系統(tǒng)的不同方面:對象模型動態(tài)模型功能模型對象的靜態(tài)結構及相互關系與時間和順序有關的系統(tǒng)性質與值的變化有關的系統(tǒng)性質描述系統(tǒng)的數(shù)據(jù)結構控制結構系統(tǒng)的功能“干事的主體”“什么時候干”“干什么”功能模型與對象模型的關系功能模型與對象模型的關系--對象模型描述了功能模型中的動作對象,數(shù)據(jù)存儲以及數(shù)據(jù)流結構--功能模型中的處理對應于對象模型中的操作動態(tài)模型與對象模型的關系動態(tài)模型與對象模型的關系--狀態(tài)轉換驅使行為發(fā)生,這些行為在DFD中被映射成處理,它們同時與對象模型的操作相對應--針對每個建立的動態(tài)模型描述了類實例的生命周期或運行周期動態(tài)模型與功能模型的關系動態(tài)模型與功能模型的關系--功能模型中的處理可能產(chǎn)生動態(tài)模型中的事件。其他復雜問題(大型系統(tǒng))的對象模型通常由下述5個層次組成:主題層、類與對象層、結構層、屬性層、服務層 主題層

溫馨提示

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

評論

0/150

提交評論