軟件工程復(fù)習(xí)知識點_第1頁
軟件工程復(fù)習(xí)知識點_第2頁
軟件工程復(fù)習(xí)知識點_第3頁
軟件工程復(fù)習(xí)知識點_第4頁
軟件工程復(fù)習(xí)知識點_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件危機是指在計算機軟件的開發(fā)和維護過程中遇到的一系列嚴重問題。概括地說,軟件危機包含兩方面問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護數(shù)量不斷膨脹的已有軟 (1)對計算機軟件應(yīng)當有一個正確的認識; (2)應(yīng)當有組織、有計劃、通過嚴格的管理手段進行軟件的開發(fā); (3)及時總結(jié)軟件開發(fā)的成功技術(shù)和方法并加以推廣; (4)開發(fā)和使用更好的軟件工具;總之,為了解決軟件危機,既要有技術(shù)措施,又要有必要的組織管理措施。定義:軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。 (1)用分階段的生命周期計劃嚴格管理 (2)堅持進行階段評審 (3)實行嚴格的產(chǎn)品控制 (4)采用現(xiàn)代程序設(shè)計技術(shù) (5)結(jié)果應(yīng)能清楚地審查 (6)開發(fā)小組的人員應(yīng)該少而精 (7)承認不斷改進軟件工程實踐的必要性基本概念:把在軟件生命周期全過程中使用的一整套開發(fā)和管理技術(shù)方法的集合成為軟件工程方法學(xué),也稱為范型。軟件工程方法學(xué)包含3個要素:方法、工具內(nèi)容:目前使用得最廣泛地軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒á賳栴}定義:確定要求解決的問題是什么②可行性研究:決定該問題是否存在一個可行的解決辦法③需求分析:深入了解用戶的要求,在要開發(fā)的目標系統(tǒng)必須做什么問題和用戶取得完全一致的看法。④概要設(shè)計:概括回答怎樣實現(xiàn)目標系統(tǒng)。概要設(shè)計又叫邏輯設(shè)計、總體設(shè)計、⑤詳細設(shè)計:把解法具體化,設(shè)計出程序的詳細規(guī)格說明。詳細設(shè)計也叫模塊設(shè)⑥編碼和單元測試:編寫程序的工作量只占軟件開發(fā)全部工作量的10%-20%。⑦綜合測試:軟件測試的工作量通常占軟件開發(fā)全部工作量的40%-50%。⑧軟件維護:軟件維護的費用通常占軟件總費用的55%-70%。①②③為軟件定義時期,④⑤⑥⑦為軟件開發(fā)階段。④⑤為系統(tǒng)設(shè)計,⑥⑦為系。優(yōu)點:(1)可強迫開發(fā)人員采用的規(guī)范的方法(結(jié)構(gòu)化技術(shù))。 (2)嚴格地規(guī)定了每個階段必須提交的文檔。 (3)要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。缺點:瀑布模型是由文檔驅(qū)動的。 (1)開發(fā)過程一般不可逆,否則代價太大。 (2)實際的項目開發(fā)過程很難嚴格按照模型進行。 (3)客戶往往很難清楚地給出所有需求,而該模型卻要求如此。 (4)軟件的實際情況必須到項目開發(fā)的后期客戶才能看到,這要求客戶有足夠的耐心。快速原型模型是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集。不帶反饋環(huán)優(yōu)點:軟件產(chǎn)品的開發(fā)基本上是線性順序進行的。 (1)可以得到比較良好的需求定義,容易適應(yīng)需求的變化。 (2)有利于開發(fā)與培訓(xùn)的同步。 (3)開發(fā)費用低、開發(fā)周期短且對用戶更友好。 (2)準確的原型設(shè)計比較困難。 (3)不利于開發(fā)人員的創(chuàng)新。增量模型也稱為漸增模型。使用增量模型開發(fā)軟件時,把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。優(yōu)點:在較短時間內(nèi)可以向用戶提交可完成部分工作的產(chǎn)品,逐步增加產(chǎn)品功能可以使用戶有比較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。 (1)人員分配靈活,剛開始不用投入大量資源。 (2)如果核心產(chǎn)品很受歡迎,則可增加人力實現(xiàn)下一增量。 (3)可先發(fā)布部分功能給客戶,對客戶起到鎮(zhèn)定劑的作用。缺點:(1)并行開發(fā)構(gòu)件有可能遇到不能集成的風(fēng)險,軟件必須具備開放式的體 (2)增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而使軟件過程失去整體性。螺旋模型的基本思想是使用原型及其他方法來盡量降低風(fēng)險。理解這種模型的一種簡便方法是把它看做在每個階段之前都增加了風(fēng)險分析過程的快速原型模型。 (1)設(shè)計上的靈活性,可以在項目的每個階段進行變更。 (2)以笑得分段來構(gòu)建大型系統(tǒng),使成本計算變得簡單容易。 (3)客戶始終參與每個階段的開發(fā),保證項目不偏離正確的方向一擊項目的可 (4)隨著項目的推進,客戶始終掌握項目的最新信息,從而他能夠和管理層有缺點:(1)采用螺旋模型需要具有相當豐富的風(fēng)險評估經(jīng)驗和專門知識,在風(fēng)險較大的項目開發(fā)中,如果未能夠及時標示風(fēng)險,勢必造成重大損失; (2)過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。噴泉模型:噴泉模型與傳統(tǒng)的結(jié)構(gòu)化生存期比較,具有更多的增量和迭代性質(zhì),生存期的各階段可以相互重疊和多次反復(fù),而且項目的整個生存期中還可以嵌入子生存期。就像水噴上去又可以落下來,可以落在中間,還可以落在底部。用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。不是解決問題,而是確定問題是否值得去解決??尚行匝芯康母救蝿?wù):對以后的行動方案提出建實質(zhì):一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計。2.在澄清了問題定義之后,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。3.從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的主要解法(即系統(tǒng)實現(xiàn)方4.對每種解決方法都要研究它的可行性。(技術(shù)可行性、經(jīng)濟可行性、操作)2.研究目前正在使用的系統(tǒng):現(xiàn)有系統(tǒng)的問題。3.導(dǎo)出新系統(tǒng)的高層邏輯模型。4.進一步定義問題。5.導(dǎo)出和評價供選擇的解法。6.推薦行動方針。7.草擬開發(fā)計劃。8.書寫文檔提交審查。字典的內(nèi)容、方法、用戶和實現(xiàn)(p47) (1)數(shù)據(jù)流; (2)數(shù)據(jù)流分量(即數(shù)據(jù)元素); (3)數(shù)據(jù)存儲; (4)處理;數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解。由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有下述3種基本類型:順序選擇重復(fù)用途:作為分析階段的工具。貨幣的時間價值投資回收期:就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間純收入:整個生存周期之內(nèi)的累計經(jīng)濟效益折成現(xiàn)在值-投資。PFn用壽命1.確定對系統(tǒng)的綜合要求功能需求。指定系統(tǒng)必須提供的服務(wù)性能需求。指定系統(tǒng)必須滿足的定時約束或容量約束可靠性和可用性需求。應(yīng)定量指定2.分析系統(tǒng)的數(shù)據(jù)要求的硬件平臺。3.導(dǎo)出系統(tǒng)的邏輯模型。用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個4.修正系統(tǒng)開發(fā)計劃。用數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法描述這個邏結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。通過Petri:P82可行性研究已經(jīng)得出了目標系統(tǒng)的高層數(shù)據(jù)流圖,需求分析的目標之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲定義到元素級。方法:為了達到這個目標,通常從數(shù)據(jù)流圖的輸出端著手分析,這是因為系統(tǒng)的基本功能是產(chǎn)生這些輸出,輸出數(shù)據(jù)決定了系統(tǒng)必須具有的最基本的組成元素。意義:(1)對數(shù)據(jù)流圖細化之后得到一組新的數(shù)據(jù)流圖,不同的系統(tǒng)元素之間的 (2)對這組新數(shù)據(jù)流圖的分析追蹤可能產(chǎn)生新的問題,這些問題的答案可能又在數(shù)據(jù)字典中增加一些新條目,并且可能導(dǎo)致新的或精化的算法描述。 (3)隨著分析過程的進展,經(jīng)過提問和解答的反復(fù)循環(huán),分析員越來越深入具體地定義目標系統(tǒng),最終得到對系統(tǒng)數(shù)據(jù)和功能要求的滿意了解。1.數(shù)據(jù)模型:實體-聯(lián)系圖E-R(數(shù)據(jù)對象(即實體)之間的關(guān)系)2.功能模型:數(shù)據(jù)流圖DFD(系統(tǒng)對數(shù)據(jù)進行變換的功能)3.行為模型:狀態(tài)轉(zhuǎn)換圖(系統(tǒng)的各種狀態(tài)(行為模式)及狀態(tài)之間的轉(zhuǎn)換)有窮狀態(tài)機:狀態(tài)集、輸入集、轉(zhuǎn)換函數(shù)、初始態(tài)、終態(tài)集18.總體設(shè)計是做什么總體設(shè)計的過程是怎樣的(P91)總體設(shè)計的目標是將需求分析階段定義的系統(tǒng)模型轉(zhuǎn)換成相應(yīng)的軟件結(jié)構(gòu),以規(guī)定軟件的形態(tài)及各成分間的層次關(guān)系、界面及接口要求??傮w設(shè)計通常由兩個過程組成:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)構(gòu)。2.選取理想的方案3.推薦最佳方案4.功能分解5.設(shè)計軟件結(jié)構(gòu)6.設(shè)計數(shù)據(jù)庫7.制定測試計劃8.書寫文檔9.省查和復(fù)審1)模塊化就是把程序劃分成獨立命名且可獨立訪問的;2)抽象;3)逐步求精;4)信息隱藏和局部化;5)模塊獨立;它有兩個定性標準度量:內(nèi)聚和耦合。;耦合:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度;內(nèi)聚:內(nèi)聚標志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密;耦合是影響軟件復(fù)雜程度的一個重要因素。設(shè)計時力爭做到高內(nèi)聚,并且能夠辨認出低內(nèi)聚的模塊,有能力通過修改設(shè)計提高模塊的內(nèi)聚程度并且降低模塊間的耦合程度,從而獲得較高的模塊獨立性。21.耦合包含了哪些類型每個類型的具體內(nèi)容是什么(由低到高) (1)非直接耦合:就是沒有耦合。 (2)數(shù)據(jù)耦合:就是參數(shù)傳遞耦合,它屬于低級別耦合。 (3)標記耦合:標記耦合指兩個模塊之間傳遞的是數(shù)據(jù)結(jié)構(gòu)。 (4)控制耦合:它屬于中級別耦合,比如調(diào)度程序與進程之間的耦合,就是控制 (5)外部耦合:屬于高級別耦合 (6)公共耦合:指通過一個公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。 (7)內(nèi)容耦合:屬于最高級別耦合,例如,一個模塊利用分支或跳轉(zhuǎn)技術(shù),轉(zhuǎn)入到另一個模塊中去執(zhí)行,就是內(nèi)容耦合。1.改進軟件結(jié)構(gòu)提高模塊獨立性2.模塊規(guī)模應(yīng)該適中3.深度、寬度、扇出和扇入都應(yīng)適當4.模塊的作用域應(yīng)該在控制域之內(nèi)5.力爭降低模塊接口的復(fù)雜程度6.設(shè)計單入口單出口的模塊7.模塊功能應(yīng)該可以預(yù)測概念:面向數(shù)據(jù)流的設(shè)計方法把信息流映射成軟件結(jié)構(gòu),信息流決定了映射的方信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部,進入系統(tǒng)的信息通過變換中心,經(jīng)過加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當數(shù)據(jù)流圖具有這些特征時,這種信息流就叫做變換流。序列中選出一個來執(zhí)行。這類數(shù)據(jù)流應(yīng)該劃為一類特殊的數(shù)據(jù)流,稱為事務(wù)流。詳細設(shè)計階段的根本目標是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng),即經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某些程序設(shè)計語言書寫的程序。結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法,最好僅在檢測出錯誤GOTO,而且應(yīng)該總是使用前向GOTO語句。和方法;會結(jié)合實例使用這些工具;掌握PAD圖的概念和內(nèi)容;掌握判定表的概念定義:在軟件已交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。特點:(1)結(jié)構(gòu)化維護與非結(jié)構(gòu)化維護差別巨大 (2)維護的代價高昂 (3)維護的問題很多5、評四個要點:對象、類、繼承、消息2、穩(wěn)定性好3、可重用性好4、較易開發(fā)大型軟件產(chǎn)品5、可維護性好6、掌握面向?qū)ο蟮母拍睿粚ο?對象的形象表示,對象的定義,對象的特點)其他概念(類,實例,消息,方法,屬性,封裝,繼承,多態(tài)性,重載)35.面向?qū)ο蠼J墙⒛娜齻€模型它們的具體內(nèi)容是什么(P215)1、描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型(類圖):表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)。它是對模擬客觀世界實體的對象彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。2、描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型(狀態(tài)轉(zhuǎn)換圖):動態(tài)模型表示瞬時的,行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對象模型中的對象的合法變化序列。3、描述系統(tǒng)功能的功能模型(用例圖,數(shù)據(jù)流圖):功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對目標系統(tǒng)的需求。36.建立對象模型的內(nèi)容是什么(P235)建立對象模型,需要定義一組圖形符號,并且規(guī)定一組組織這些符號以表示特定語義的規(guī)則。也就是說,需要用適當?shù)慕UZ言來表達模型,建模語言由記號 (即模型中使用的符號)和使用記號的規(guī)則(語義、語法和語用)組成。類之間的各種關(guān)系(關(guān)聯(lián)、泛化、依賴和細化)。類圖的定義:類圖描述類與類之間的靜態(tài)關(guān)系。類圖是一種靜態(tài)模型,它是創(chuàng)3個區(qū)域(下面兩個區(qū)域可省略)3個區(qū)域分別放類的名字、屬性和服務(wù)。38.能結(jié)合實例掌握類圖中類與類之間的關(guān)系:關(guān)聯(lián)、泛化(繼承)、依賴和細化。能根關(guān)聯(lián):關(guān)聯(lián)表示兩個類的對象之間存在某種語義上的聯(lián)系。元素之間的一種分類關(guān)系。具體元素完全擁有通用元素的信息,并且還可以附加一些其他信息。泛化關(guān)系指出類與類之間存在“一般-特殊”關(guān)系。泛化可進一步分成普通泛化和受限泛化。依賴:描述兩個模型元素(類、用例等)之間的語義連接關(guān)系:其中一個模型元素是獨立的,另一個模型元素不是獨立的,它是依賴于獨立的模型元素,如果獨立的模型元素改變了,將影響依賴于它的模型元素。細化:當對同一個事物在不同抽象層次上描述時,這些描述之間具有細化關(guān)系。概念:動態(tài)模型表示瞬時的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對象模型中的對象的合法變化序列。內(nèi)容:動態(tài)模型是基于事件共享而互相關(guān)聯(lián)的一組狀態(tài)圖的集合。概念:功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什內(nèi)容:功能模型由一組數(shù)據(jù)流圖組成。用例圖也是進行需求分析和建立功能模方法:創(chuàng)建用例模型的工作包括:定義系統(tǒng),尋找行為者和用例、描述用例,定義用例之間的關(guā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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論