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

下載本文檔

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

文檔簡介

第一章開發(fā)軟件不等于編寫程序軟件危機:是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。軟件危機典型表現(xiàn):●對軟件開發(fā)成本和進度估計不準確?!裼脩魧Α耙淹瓿傻摹避浖到y(tǒng)不滿意甚至拒絕接受的現(xiàn)象經常發(fā)生?!褴浖a品的質量往往靠不住?!褴浖3J遣豢删S護的?!褴浖ǔ]有適當?shù)奈臋n資料?!褴浖杀驹谟嬎銠C系統(tǒng)總成本中所占的比例逐年上升●軟件開發(fā)生產率提高的速度,跟不上計算機應用迅速普及的趨勢。出現(xiàn)軟件危機的主要原因:是對用戶的要求沒有完整準確的認識就匆忙著手編寫程序,忽視軟件需求分析,輕視軟件維護。軟件是程序、數(shù)據(jù)及相關文檔的完整集合。其中,程序是能夠完成預定功能且具有預期性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當?shù)靥幚硇畔⒌臄?shù)據(jù)結構;文檔是開發(fā)、使用和維護程序所需要的圖文資料。消除軟件危機:把軟件上升到軟件工程,既要有技術措施(方法和工具),又要有必要的組織管理措施。應該開發(fā)和使用更好的軟件工具軟件工程:把軟件開發(fā)技術和管理技術融為一體的開發(fā)和維護軟件的一門新興學科。軟件工程基本原理:有計劃的開發(fā)和組織定期評審嚴格的產品控制采用現(xiàn)代化的程序設計技術結果詳盡開發(fā)人員少而精不斷改進軟件工程方法學:方法,工具,過程。軟件工程方法學:傳統(tǒng)方法學,面向對象方法學。軟件生命周期由軟件定義、開發(fā)和運行維護三個時期組成?!褴浖x包括(問題定義)、(可行性研究)和(需求分析)三個階段。●軟件開發(fā)包括(概要設計),(詳細設計),(編碼和單元測試),(綜合測試)?!襁\行維護時期就是使軟件長久地滿足用戶的要求,(軟件維護),其中包括改正性維護,適應性維護,完善性維護,預防性維護。12.通常使用軟件生命周期模型來描述軟件過程,軟件生命周期模型也稱為軟件過程模型。軟件過程模型包括(瀑布模型)(快速原型模型)(增量模型)(螺旋模型)(噴泉模型)。1)瀑布模型(1)階段間具有順序性和依賴性(2)推遲實現(xiàn)的觀點(3)質量保證的觀點:●每個階段都必須完成規(guī)定的文檔●每個階段結束前都要對該階段所完成的文檔進行評審(4)有反饋環(huán),可以隨時進行問題反饋和補充。瀑布模型的優(yōu)點:●它可強迫開發(fā)人員采用規(guī)范的開發(fā)方法(例如,結構化技術)?!衩總€階段必須提交文檔。●每個階段所交出的一切產品都經過質量保證小組的仔細驗證。缺點:由文檔驅動。2)快速原型模型:不帶反饋環(huán)的。這正是這種模型的主要優(yōu)點:軟件產品的開發(fā)基本上是線性順序進行的。3)增量模型分批向用戶提交產品。優(yōu)點:●從第一個構件交付之日起,用戶就能做一些有用的工作?!窨梢允褂脩粲休^充裕的時間學習和適應新產品。困難:在把每個新的增量構件集成到現(xiàn)有軟件體系結構中時,必須不破壞原來已經開發(fā)出的產品。第二章1.結構化分析包括(問題定義、可行性研究、需求分析)所謂“結構化”,即:把方法和工具標準化。具體:●采用自頂向下功能分解的方法;●強調邏輯功能而不是實現(xiàn)功能的具體方法;●使用圖形(數(shù)據(jù)流圖)表達系統(tǒng)分析的結果可行性研究的目的:用最小的代價在盡可能短的時間內確定問題的可行性。可行性研究的目的不是解決問題,而是確定問題是否值得去解決。(1)技術可行性(2)經濟可行性(3)操作可行性3可行性研究的成本只是預期的工程總成本的5%~10%。4.可行性研究的過程1.復查系統(tǒng)規(guī)模和目標2.研究目前正在使用的系統(tǒng)3.導出新系統(tǒng)的高層邏輯模型4.進一步定義問題5.導出和評價供選擇的解法6.推薦行動方針7.草擬開發(fā)計劃8.書寫文檔提交審查5.需求分析的任務1.確定對系統(tǒng)的綜合要求(1)功能要求(2)性能要求(3)運行要求(4)可靠性需求(5)出錯處理需求(6)接口需求(7)約束8)逆向需求(9)將來可能提出的要求2.確定對系統(tǒng)的數(shù)據(jù)要求(1)導出系統(tǒng)的邏輯模型(2)修正系統(tǒng)開發(fā)計劃與用戶溝通的方法1)原型開發(fā)法2)訪談:正式的非正式的(情景分析)3)簡易的應用規(guī)格說明技術7.需求分析過程1.沿數(shù)據(jù)流圖回溯2.請用戶復查3.細化數(shù)據(jù)流圖8.需求分析過程建立3種模型:(功能模型)(數(shù)據(jù)模型)(行為模型)。9.四個方面驗證軟件需求●一致性●完整性●現(xiàn)實性●有效性10.系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關鍵功能?!锢砟P?1.實體-聯(lián)系圖清晰明確地表達用戶的數(shù)據(jù)要求。包含“實體(對象)”、“聯(lián)系”和“屬性”其中聯(lián)系:(1)一對一聯(lián)系(1∶1)(2)一對多聯(lián)系(1∶N)(3)多對多聯(lián)系(M∶N)12.數(shù)據(jù)流圖:——邏輯模型看倉庫系統(tǒng)數(shù)據(jù)流圖舉例。。書P4213.命名1.為數(shù)據(jù)流命名●名字應代表整個數(shù)據(jù)流的內容。●不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。●如果在為某個數(shù)據(jù)流(或數(shù)據(jù)存儲)起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當。2.為處理命名●通常先為數(shù)據(jù)流命名,再為處理命名?!衩謶摲从痴麄€處理的功能?!衩肿詈靡粋€及物動詞,加一個賓語?!裢ǔC种袃H包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則再分解成兩個處理?!袢绻跒槟硞€處理命名時遇到困難,則重新分解。14.數(shù)據(jù)流圖的用途畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具,另一個主要用途是作為分析和設計的工具。數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,是對數(shù)據(jù)流圖中包含的所有數(shù)據(jù)的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構成系統(tǒng)的邏輯模型。沒有數(shù)據(jù)字典準確地描述數(shù)據(jù)流圖中使用的數(shù)據(jù),數(shù)據(jù)流圖就不嚴格。反之,沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有把數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個數(shù)據(jù)的精確定義放在一起,才能共同構成系統(tǒng)的規(guī)格說明。數(shù)據(jù)字典的用途1)數(shù)據(jù)字典最重要的用途是作為分析階段的工具。(在數(shù)據(jù)字典中建立的一組嚴密一致的定義很有助于改進分析員和用戶之間的通信),因此將消除許多可能的誤解。2)。數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步。實現(xiàn)數(shù)據(jù)字典的途徑目前實現(xiàn)數(shù)據(jù)字典有三種常見的途徑:全人工過程,全自動化過程(利用數(shù)據(jù)字典處理程序)和混合過程(用正文編輯程序,報告生成程序等已有的實用程序幫助人工過程)。結構化設計技術的要點:●軟件系統(tǒng)由層次化結構的模塊構成;●模塊是單入口單出口的;●構造和聯(lián)結模塊的基本準則是模塊獨立;●用圖(主要是層次圖或結構圖)表達軟件系統(tǒng)的結構,并使之與問題結構盡量一致。通常把軟件結構化設計劃分為概要設計和詳細設計。概要設計的任務是設計實現(xiàn)軟件的最佳方案流程圖;詳細設計的任務是實現(xiàn)以下設計:過程設計、數(shù)據(jù)設計、接口設計。●過程設計,即設計每個模塊的實現(xiàn)算法;●數(shù)據(jù)設計,即設計需要的數(shù)據(jù)結構;●接口設計,即設計各模塊之間、軟件與系統(tǒng)之間以及軟件與使用它的人之間的通信方式。22.需求分析—得到—數(shù)據(jù)流圖概要設計:將數(shù)據(jù)流圖—轉換為—軟件結構圖。詳細設計:將軟件結構圖—轉換為—代碼系統(tǒng)分析的基本任務是定義用戶需要的軟件系統(tǒng),設計實現(xiàn)目標系統(tǒng)的具體方案。體系結構設計的任務是確定程序由哪些模塊組成以及這些模塊相互間的關系??傮w設計過程:EQ\o\ac(○,1)設想供選擇的方案,EQ\o\ac(○,2)選取合理的方案,EQ\o\ac(○,3)推薦最佳方案,EQ\o\ac(○,4)功能分解,EQ\o\ac(○,5)設計軟件結構,EQ\o\ac(○,6)設計數(shù)據(jù)庫,EQ\o\ac(○,7)制定測試計劃,EQ\o\ac(○,8)書寫文檔,EQ\o\ac(○,9)審查和復查。軟件設計準則:模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立。模塊是由邊界元素限定的相鄰程序元素的序列。模塊化是把程序分成獨立命名且可獨立訪問的模塊。模塊獨立:和其他模塊之間沒有過多的相互作用的模塊。模塊獨立的原因:一:有效的模塊化容易開發(fā),二:獨立的模塊容易測試和維護。模塊獨立的兩個度量標準:內聚,耦合。耦合是模塊之間語句的松散程度。內聚是一個模塊內部語句的緊密程度。高內聚,低耦合數(shù)據(jù)耦合——低耦合,至少必須存在,盡量使用。(可以只包含數(shù)據(jù)耦合)控制耦合——只有控制信息環(huán)境耦合——兩個模塊通過公共環(huán)境相互作用。內容耦合——最高程度的耦合,(一個模塊多個入口,代碼重疊,一個模塊訪問另一個模塊的內部)耦合設計原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內容耦合。低內聚:偶然內聚、邏輯內聚、時間內聚。中內聚:過程內聚、通信內聚。高內聚:順序內聚、功能內聚、功能內聚>順序內聚>通信內聚>過程內聚>時間內聚>邏輯內聚>偶然內聚啟發(fā)規(guī)則(提高軟件質量):1提高模塊獨立性:低耦合、高內聚。2模塊規(guī)模應該適中:通常不超過60行語句。3深度、寬度、扇出和扇入都應適當:頂層扇出高:一個模塊直接控制的模塊數(shù)目(3到4)底層扇入高:一個模塊有多少個上級模塊調用它。4模塊的作用域應該在控制域之內5力爭降低模塊接口的復雜程度6設計單入口單出口的模塊7模塊功能應該可以預測x層次圖:用來描繪軟件的層次結構,一個矩形框表示一個模塊,方框間的連線表示調用關系。HIPO圖是層次圖加輸入處理輸出圖。x構成軟件結構圖的六種原子模塊:源模塊(葉子模塊):(輸入)xxxxy漏模塊(葉子模塊)節(jié)(輸出)yy變換(葉子模塊)(變換)yxxy控制(根模塊)xxyx傳入(枝)xy傳出(枝)y面向數(shù)據(jù)流的設計方法把信息流映射成軟件結構,——數(shù)據(jù)流圖轉換成軟件結構圖。面向數(shù)據(jù)流的設計方法:步驟:1劃邊界,區(qū)分輸入,變換,輸出分支2完成第一級分解3完成第二級分解信息流有兩種類型:變換流,事務流。變換流:處理完后離開系統(tǒng),不具有顯著的事務特點。事務流:有明顯的事務中心。人機界面設計:系統(tǒng)響應時間、用戶幫助設施、出錯信息處理、命令交互。人機界面設計指南:一般交互指南、信息顯示指南、數(shù)據(jù)輸入指南。過程設計的工具:程序流程圖、盒圖(N—S圖)、PAD圖、判定樹、判定表。1.程序流程圖:開始或停止處理選擇輸入輸出控制流連接盒圖3PAD4.判定表:當算法中包含多重嵌套的條件時,用判定表。所有條件對應的動作所有動作所有條件的組合所有條件所有條件對應的動作所有動作所有條件的組合所有條件實現(xiàn)——編碼和測試。(把用圖形表示的算法用計算機語言實現(xiàn))編碼就是把軟件設計的結果翻譯成用某種程序設計語言書寫的程序。軟件測試的目標:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試的準則:●所有測試都應該能夠追溯到用戶需求。●應該在開始測試之前預先制定出測試計劃?!馪areto原理告訴我們,測試所發(fā)現(xiàn)的錯誤中的80%很可能是由程序中20%的模塊造成的?!駪搹摹靶∫?guī)模”測試開始,逐步過渡到“大規(guī)?!睖y試。●窮舉測試是不可能的?!駷榱诉_到最佳的測試效果,應該由獨立的第三方來從事測試工作。軟件測試方法:白盒——測試程序內部結構。黑盒——測試程序功能。10測試步驟:模塊測試,子系統(tǒng)測試,系統(tǒng)測試,驗收測試,平行運行。測試的三個階段:單元測試、集成測試、確認測試。單元測試:主要是白盒技術測試重點:模塊接口、局部數(shù)據(jù)結構、重要的執(zhí)行通路、出錯處理通路、邊界條件。測試方法;代碼審查(人工測試),計算機測試。注:代碼審查的人員:組長(沒有直接參與)、設計者、編寫者、測試者。集成測試:主要是黑盒技術自頂向下集成、自底向上集成(漸增式測試、非漸增式測試)14確認測試:Alpha、Beta測試。Alpha:在開發(fā)者的場所進行,在開發(fā)者的指導下,用戶進行測試。Beta:最終用戶在一個或多個客戶場所進行,不在Beta測試的現(xiàn)場。白盒測試技術:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋。條件覆蓋》判定覆蓋》語句覆蓋黑盒測試技術:等價劃分、邊界值分析、錯誤推測法。等價類劃分規(guī)則:1。若規(guī)定了輸入值的范圍,則可劃分出一個有效的等價類和兩個無效的等價類。2.

溫馨提示

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

最新文檔

評論

0/150

提交評論