下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章軟件工程學(xué)概述軟件危機(jī):是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。軟件危機(jī)包含下述兩方面的問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件。典型表現(xiàn):(1)對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確;(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不?。唬?)軟件常常是不可維護(hù)的;(5)軟件通常沒有適當(dāng)?shù)奈臋n資料;(6)軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升;(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢;原因:一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān);生命周期:一個軟件從定義、開發(fā)、使用和維護(hù),知道最終被廢棄所經(jīng)歷的漫長的時期;軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是能夠完成預(yù)定功能和性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當(dāng)?shù)靥幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護(hù)程序所需要的圖文資料;軟件工程的本質(zhì)特性:軟件工程關(guān)注于大型程序的構(gòu)造;軟件工程的中心課題是控制復(fù)雜性;軟件經(jīng)常變化;開發(fā)軟件的效率非常重要;和諧地合作是開發(fā)軟件的關(guān)鍵;軟件必須有效地支持它的用戶;在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品;軟件工程方法學(xué)包含3個要素:方法、工具和過程。其中方法是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具是為運(yùn)用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的步驟;軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個時期組成;軟件定義時期的任務(wù)是:確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的工程;估計完成該項工程需要的資源和成本,并且指定工程進(jìn)度表。劃分為3個階段,即問題定義、可行性研究和需求分析;開發(fā)時期具體設(shè)計和實現(xiàn)在前一個時期定義的軟件,它由4個階段組成:總體設(shè)計,詳細(xì)設(shè)計,編碼和單元測試,綜合測試。其中前兩個階段又稱為系統(tǒng)設(shè)計,后兩個階段又稱為系統(tǒng)實現(xiàn);維護(hù)時期的主要任務(wù)是使軟件持久地滿足用戶的需要。問題定義:必須回答的關(guān)鍵問題:“要解決的問題是什么?”,通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報告,經(jīng)過討論和必要的修改之后這份報告應(yīng)該得到客戶的確認(rèn);可行性研究:回答的關(guān)鍵問題:“對于上一個階段所確定的問題有行得通的解決方法嗎?”需求分析:“為了解決這個問題,目標(biāo)系統(tǒng)必須做什么”、總體設(shè)計:“概括地說,應(yīng)該怎樣實現(xiàn)目標(biāo)系統(tǒng)?”詳細(xì)設(shè)計:“應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)?”編碼和單元測試:寫出正確的容易理解、容易維護(hù)的程序模塊;綜合測試:集成測試,驗收測試;軟件維護(hù):通過各種必要的維護(hù)活動使系統(tǒng)持久地滿足用戶的需要;為了改正軟件系統(tǒng)中潛藏的錯誤而進(jìn)行的維護(hù)活動稱為:糾錯性維護(hù);為了適應(yīng)軟件運(yùn)行環(huán)境的變化而修改軟件的活動稱為:適應(yīng)性維護(hù);根據(jù)用戶在軟件使用過程中提出的建設(shè)性意見而進(jìn)行的維護(hù)活動稱為:改善性維護(hù);為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)的軟件維護(hù)稱為:預(yù)防性維護(hù);軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟;瀑布模型快速原型模型增量模型螺旋模型噴泉模型螺旋模型的適應(yīng)場合有哪些?適應(yīng)場合:支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā),并支持面向規(guī)格說明、面向過程、面向?qū)ο蟮榷喾N軟件開發(fā)方法,是一種具有廣闊前景的模型。原型法模型一般適應(yīng)哪些場合?它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項目組成員(包括分析員、設(shè)計員、程序員和用戶)不能很好交流或通信有困難的情況。人機(jī)界面的風(fēng)格大致經(jīng)過了4代的演變:第一代命令和詢問方式;第二代簡單的菜單式;第三代是面向窗口的點選界面;第四代自然語言;第二章可行性研究目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能得到解決;任務(wù):首先需要進(jìn)行概要的分析研究,初步確定項目的規(guī)模和目標(biāo),確定項目的約束和限制,把他們清楚地列舉出來。然后,分析員進(jìn)行簡要的需求分析,抽象出該項目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮的設(shè)計,探索出若干種可供選擇的主要解決方法,對每種解決方法都要研究它的可行性,可從以下三個方面分析研究每種解決方法的可行性。(1)技術(shù)可行性:對要開發(fā)項目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源條件下,技術(shù)風(fēng)險有多大,項目是否能實現(xiàn)。(2)經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。(3)社會可行性:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行系統(tǒng)路程圖:是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。數(shù)據(jù)流圖(DFD):描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。是系統(tǒng)邏輯功能的圖形表示(正方形(或立方體)表示數(shù)據(jù)的原點或終點;圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲;箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向。)數(shù)據(jù)流圖的基本要點是描繪“做什么”,而不考慮“怎樣做”;目的是利用它作為交流信息的工具;另一個主要用途是作為分析和設(shè)計的工具;數(shù)據(jù)流圖簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型(5分)。數(shù)據(jù)流圖有四種基本圖形符號:“?”箭頭表示數(shù)據(jù)流;“O”圓或橢圓表述加工;“=”雙杠表示數(shù)據(jù)存儲;“口”方框表示數(shù)據(jù)的源點或終點。數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型;數(shù)據(jù)字典由下列4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)、數(shù)據(jù)存儲和處理;數(shù)據(jù)字典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。他和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而服務(wù)的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。源點、終點不在系統(tǒng)之內(nèi),故一般不在字典中說明。第三章需求分析基本任務(wù):是要準(zhǔn)確的定義新系統(tǒng)的目標(biāo),為了滿足用戶需要,回答系統(tǒng)必須“做什么”的問題。本階段要進(jìn)行以下幾方面的工作:(1)問題識別。雙方確定對問題的綜合需求,這些需求包括:功能需求、性能需求、環(huán)境需求、用戶界面需求,另外還有可靠性、安全性、保密性、可移植性、可維護(hù)性等方面的需求。(2)分析與綜合,導(dǎo)出軟件的邏輯模型。分析人員對獲取的需求,進(jìn)行一致性的分析檢查,在分析、綜合中逐步細(xì)化軟件功能,劃分成各個子功能。這里也包括對數(shù)據(jù)域進(jìn)行分解,并分配到各個子功能上,以確定系統(tǒng)的構(gòu)成及主要成份,并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。(3)編寫文檔。編寫“需求規(guī)格說明書”、編寫初步用戶使用手冊、編寫確認(rèn)測試計劃、修改完善軟件開發(fā)計劃實體聯(lián)系圖(ER圖):包含了實體(即數(shù)據(jù)對象)、關(guān)系和屬性3種基本成分,通常用矩形框代表實體,用連接相關(guān)實體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實體(或關(guān)系)的屬性,并用直線把實體(或關(guān)系)與其屬性連接起來;狀態(tài)轉(zhuǎn)換圖:通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件來表示系統(tǒng)的行為;狀態(tài)圖中定義的狀態(tài)主要有:初態(tài),終態(tài),中間狀態(tài);初態(tài)只能有一個,終態(tài)則可有0至多個;初態(tài)用實心圓表示,終態(tài)用一對同心圓(內(nèi)圓為實心圓)表示;中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線把它分成上、中、下3各部分;上面部分為狀態(tài)的名稱;這部分是必須有的。中間部分為狀態(tài)變量的名字和值,是可選的;下面部分是活動表,是可選的;IPO圖:是輸入、處理、輸出圖的簡稱。第四章形式化說明技術(shù)按照形式化的程度,可以把軟件工程使用的方法劃分成非形式化、半形式化和形式化3類;用自然語言描述需求規(guī)格說明,是典型的非形式化方法。用數(shù)據(jù)流圖或?qū)嶓w-聯(lián)系圖簡歷模型,是典型的半形式化方法。所為的形式化方法,是描述系同性質(zhì)的基于數(shù)學(xué)的技術(shù),也就是說,如果一種方法有堅實的數(shù)學(xué)基礎(chǔ),那么它就是形式化的;Petri網(wǎng):一組位置P、一組轉(zhuǎn)換T、輸入函數(shù)I以及輸出函數(shù)0第五章總體設(shè)計典型的總體設(shè)計過程包括下述9個步驟:1.設(shè)想供選擇的方案。2.選取合理的方案。3.推薦最佳方案。4.功能分解。5.設(shè)計軟件結(jié)構(gòu)。6.設(shè)計數(shù)據(jù)庫。7.制定測試計劃。8.書寫文檔。9.審查和復(fù)審。對每個合理的方案分析員都應(yīng)該準(zhǔn)備下列4份資料:(1)系統(tǒng)流程圖;(2)組成系統(tǒng)的物理元素清單;(3)成本/效益分析;(4)實現(xiàn)這個系統(tǒng)的進(jìn)度計劃。在這個階段應(yīng)該完成的文檔通常有下述幾種:(1)系統(tǒng)說明;(2)用戶手冊;(3)測試計劃;(4)詳細(xì)的實現(xiàn)計劃;(5)數(shù)據(jù)庫設(shè)計結(jié)果;概要設(shè)計階段的基本任務(wù):⑴設(shè)計軟件系統(tǒng)結(jié)構(gòu)(軟件結(jié)構(gòu)):①采用某種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊。②確定每個模塊的功能。③確定模塊之間的調(diào)用關(guān)系。④確定模塊之間的接口,即模塊之間傳遞的信息。⑤評價模塊結(jié)構(gòu)的質(zhì)量。⑵數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計。⑶編寫概要設(shè)計文檔。主要有:概要設(shè)計說明書;數(shù)據(jù)庫設(shè)計說明書;用戶手冊;修訂測試計劃。⑷評審模塊的獨(dú)立程度由兩個定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合;耦合衡量不同模塊彼此互相依賴(連接)的緊密程度;內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度;數(shù)據(jù)耦合是低耦合,控制耦合是中等程度的耦合,最高程度的耦合是內(nèi)容耦合;發(fā)生內(nèi)容耦合的情況:一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù);一個模塊不通過正常入口而轉(zhuǎn)換到另一個模塊的內(nèi)部;兩個模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編程序中);一個模塊有多個入口;堅決避免使用內(nèi)容耦合;內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,設(shè)計時琉球做到高內(nèi)聚,功能內(nèi)聚是最高程度的內(nèi)聚;深度表示軟件結(jié)構(gòu)中控制的層數(shù);寬度是軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)的最大值;扇出是一個模塊直接控制(調(diào)用)的模塊數(shù)目;平均扇出通常是3或4;第六章詳細(xì)設(shè)計描述程序處理過程的工具稱為過程設(shè)計的工具,分為圖形、表格和語言3類;程序流程圖又稱為程序框圖:五種基本控制結(jié)構(gòu):判定表:4部分組成,左上部列出所有條件,左下部是所有可能做的動作,右上部表示各種條件組合的一個矩陣,右下部是和每種條件組合相對應(yīng)的動作;右半部的每一列實質(zhì)是一條規(guī)則,規(guī)定了與特定的條件組合相對應(yīng)的動作;Jackson方法和Warnier方法是最著名的兩個面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法;Jackson圖:數(shù)據(jù)元素彼此間的邏輯關(guān)系:順序、選擇、重復(fù)3種結(jié)構(gòu);程序復(fù)雜度度量:McCabe方法和Halstead方法;McCabe方法:環(huán)形復(fù)雜度:V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是結(jié)點數(shù);V(G)=P+1,其中P是流圖中判定結(jié)點的數(shù)目;程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程度,即取決于程序結(jié)構(gòu)的復(fù)雜程度,實踐表明,模塊規(guī)模以V(G)小于等于10為宜;第七章實現(xiàn)實現(xiàn):通常把編碼和測試統(tǒng)稱為實現(xiàn);黑盒測試:測試產(chǎn)品的每個功能是否能正常使用;白盒測試:測試產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行;白盒測試:1邏輯覆蓋:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點覆蓋、邊覆蓋、路徑覆蓋2控制結(jié)構(gòu)測試:基本路徑測試、條件測試、循環(huán)測試黑盒測試:1等價劃分2邊界值分析3錯誤推測非漸增式測試與漸增式測試有什么區(qū)別?答:非漸增式測試與漸增式測試的測試方法有以下區(qū)別:(1)非漸增式測試方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而漸增式測試往往把單元測試與集成測試和在一起,同時完成。(2)非漸增式需要更多的工作量,因為每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動模塊
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承辦宴席合同范例
- 專利設(shè)計代理合同范例
- 畫展展廳布置合同范例
- 眼科學(xué)題庫含參考答案
- 深圳勞務(wù)糾紛合同范例
- 用電促銷合同范例
- 房屋合同范例每漲
- 2025年寧夏貨運(yùn)上崗證考試題答案
- 沙采購合同合同范例
- 黨員活動策劃合同范例
- (正式版)SH∕T 3006-2024 石油化工控制室設(shè)計規(guī)范
- 工程勞務(wù)作業(yè)能力方案
- 2022年同等學(xué)力人員申請碩士學(xué)位公共管理學(xué)科綜合水平
- 2023年新版醫(yī)學(xué)心理學(xué)試題庫
- 學(xué)生會競選演講稿8篇
- 重慶市黔江區(qū)2022-2023學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題
- 跨越式跳高教案1
- 人教版五年級數(shù)學(xué)上冊解決問題分類練習(xí)及答案
- 年末討薪警情分析
- JTG-D82-2009公路交通標(biāo)志和標(biāo)線設(shè)置規(guī)范
- 物流春節(jié)保障方案(2篇)
評論
0/150
提交評論