




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上復(fù)習(xí)整理一、緒論 1. 軟件的定義 軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機(jī)程序,包括使程序正常執(zhí)行所需要的數(shù)據(jù),以及有關(guān)描述程序操作和使用的文檔。(軟件=程序+文檔)2. 軟件工程的定義l 是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科;l 采用工程化的原理與方法對軟件進(jìn)行計劃、開發(fā)和維護(hù);l 把證明正確的管理技術(shù)和最好技術(shù)綜合運(yùn)用到軟件開發(fā)中;l 研究經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件方法和技術(shù);l 研究有效維護(hù)軟件的方法和技術(shù)。3. 軟件危機(jī)的概念,及出現(xiàn)的原因軟件開發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,問題積累起來,形態(tài)尖銳的矛盾,導(dǎo)致了
2、軟件危機(jī)。產(chǎn)生原因: 軟件規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜 軟件開發(fā)管理困難而復(fù)雜。 軟件開發(fā)費(fèi)用不斷增加。 軟件開發(fā)技術(shù)落后。 生產(chǎn)方式落后,仍采用手工方式。 開發(fā)工具落后,生產(chǎn)率提高緩慢。4. 三種編程范型的特點(1) 過程式編程范型:把程序理解為一組被動的數(shù)據(jù)和一組能動的過程所構(gòu)成;程序=數(shù)據(jù)結(jié)構(gòu)+算法;著眼于程序的過程和基本控制結(jié)構(gòu),粒度最小(2) 面向?qū)ο缶幊谭缎停簲?shù)據(jù)及其操作被封裝在對象中;程序=對象+消息;著眼于程序中的對象,粒度比較大(3) 基于構(gòu)件技術(shù)的編程范型:構(gòu)件是通用的、可復(fù)用的對象類;程序=構(gòu)件+架構(gòu);眼于適合整個領(lǐng)域的類對象,粒度最大二、軟件生存周期與軟件過程1、 軟件
3、生存周期的定義,把生存周期劃分為若干階段的目的是什么,有哪幾個主要活動l 定義:一個軟件從開始立項起,到廢棄不用止,統(tǒng)稱為軟件的生存周期l 目的:軟件生存周期劃分為計劃、開發(fā)和運(yùn)行3個時期;把整個生存周期劃分為較小的階段,給每個階段賦予確定而有限的任務(wù),就能夠化簡每一步的工作內(nèi)容,使因為軟件規(guī)模而增長而大大增加了軟件復(fù)雜性變得較易控制和管理。l 主要活動:需求分析、軟件分析、軟件設(shè)計、編碼、軟件測試、運(yùn)行維護(hù)(P19)2、 軟件生命周期劃分為哪幾個階段軟件生命周期分為三個時期八個階段:l 軟件定義:問題定義、可行性研究;l 軟件開發(fā):需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試;l 軟件運(yùn)行:軟件
4、維護(hù)3、 瀑布模型的特點和缺陷特點:線性模型,每一階段必須完成規(guī)定的文檔(階段間的順序性和依賴性)優(yōu)點:l 可強(qiáng)迫開發(fā)人員采用規(guī)范化的方法。 l 嚴(yán)格地規(guī)定了每個階段必須提交的文檔。l 要求每個階段交出的所有產(chǎn)品都必須是經(jīng)過驗證的。缺點l 如果需求規(guī)格說明與用戶需求之間有差異,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正滿足用戶的需要。(瀑布模型幾乎完全依賴于書面的規(guī)格說明) l 由于多數(shù)用戶不熟悉計算機(jī),系統(tǒng)分析員對用戶的專業(yè)也了解不深,因而很難在在開發(fā)的初始階段徹底弄清軟件需求。(瀑布模型只適用于項目開始時需求已確定的情況)4、 幾種軟件開發(fā)模型的主要特點開發(fā)模型特點適用場合瀑布模型線性模型,每
5、一階段必須完成規(guī)定的文檔需求明確的中、小型軟件開發(fā)快速原型模型用戶介入早,通過迭代完善用戶需求,應(yīng)用快速開發(fā)工具需求模糊的小型軟件開發(fā)增量模型每次迭代完成一個增量,可用于OO開發(fā)容易分塊的大型軟件開發(fā)螺旋模型典型迭代模型,重視風(fēng)險分析,可用于OO開發(fā)具有不確定性的大型軟件開發(fā)構(gòu)件集成模型軟件開發(fā)與構(gòu)件開發(fā)平行進(jìn)行,主要用于OO開發(fā)領(lǐng)域工程、行業(yè)的中型軟件開發(fā)5、 軟件可行性研究的目的和內(nèi)容目的:是弄清待開發(fā)的項目是不是可能實現(xiàn)和值得進(jìn)行內(nèi)容:經(jīng)濟(jì)可行性,技術(shù)可行性,運(yùn)行可行性,法律可行性三、結(jié)構(gòu)化分析(重點)P711、 結(jié)構(gòu)化分析SA模型的組成2、 結(jié)構(gòu)化分析的基本步驟1.了解當(dāng)前系統(tǒng)的工作流
6、程,獲取當(dāng)前系統(tǒng)的物理模型。2.抽象出當(dāng)前系統(tǒng)的邏輯模型。3.建立目標(biāo)系統(tǒng)的邏輯模型。4.作進(jìn)一步補(bǔ)充和優(yōu)化。3、 繪制數(shù)據(jù)流圖DFD的注意點父圖與子圖的平衡,即父圖的輸入輸出數(shù)據(jù)流與子圖的輸入輸出數(shù)據(jù)流一致區(qū)分局部文件和局部外部項分解的速度不宜過快按規(guī)則命名加工編號提高數(shù)據(jù)流圖的易懂性,合理分解4、 決策表、決策樹的繪制例題:郵寄包收費(fèi)標(biāo)準(zhǔn)如下:若收件地點在1000公里以內(nèi),普通件每公斤2元,掛號件每公斤3元。若收件地點在1000公里以外,普通件每公斤25元,掛號件每公斤35元;若重量大于30公斤,超重部分每分斤加收05元。請繪制收費(fèi)的原始決策表,并對其進(jìn)行優(yōu)化,得到優(yōu)化后的決策表,再繪制出
7、決策樹(重量用W表示)l 決策表(判定表):l 決策樹(判定樹):5、 結(jié)構(gòu)化的三種控制結(jié)構(gòu)順序、選擇、循環(huán)DO_WHILE6、 流程圖、N-S圖和PDL的特點,通過PDL語言繪制流程圖和N-S圖例題:將三個數(shù)從小到大排序l 流程圖:l N-S圖:7、 給定一個系統(tǒng),用結(jié)構(gòu)化分析方法進(jìn)行分析,畫出DFD、DD四、面向?qū)ο蠹癠ML1、 面向?qū)ο蟮幕咎卣鞒橄蟆⒎庋b、繼承、多態(tài)2、 靜態(tài)、動態(tài)UML圖例(P84)五、需求工程與需求分析1、 需求分析的任務(wù)與步驟l 任務(wù):(1) 通過對問題及其環(huán)境的理解、分析和綜合建立分析模型,(2) 在完全弄清用戶對軟件系統(tǒng)的確切要求的基礎(chǔ)上,用“軟件需求規(guī)格說明
8、書”把用戶的需求表達(dá)出來。需求分析的認(rèn)為就是為了明確要開發(fā)的是一個什么樣的系統(tǒng),而不是去實現(xiàn)這個系統(tǒng)。l 步驟:需求獲取、需求建模、需求描述(編寫SRS)、需求驗證2、 需求分析和需求工程的困難性l 客戶說不清楚需求l 分析人員或客戶理解有誤l 需求自身經(jīng)常變動3、 面向?qū)ο笮枨竽P徒M成用例圖、用例規(guī)約、補(bǔ)充規(guī)約、術(shù)語表4、 用例規(guī)約應(yīng)該包含哪些內(nèi)容?基本流和備選流的概念及區(qū)別(P117)六、面向?qū)ο蠓治?、 面向?qū)ο蠓治龅闹饕蝿?wù)(P138)首先要理解用戶的需求,包括全面理解和分析用戶需求,明確所開發(fā)的軟件系統(tǒng)的職責(zé),形成文件并規(guī)范地加以表述。然后進(jìn)行分析,提取類和對象,并結(jié)合分析進(jìn)行建模。
9、其基本步驟是:標(biāo)識類,定義屬性和方法;刻畫類的層次;表示對象以及對象與對象之間的關(guān)系;為對象的行為建模。這些步驟肯反復(fù)進(jìn)行,直至完成建模。2、 面向?qū)ο蠓治龅哪P徒M成3、 軟件設(shè)計的任務(wù)是什么?概要設(shè)計和詳細(xì)設(shè)計的主要工作l 任務(wù):將軟件分析模型轉(zhuǎn)變?yōu)榭紤]具體實現(xiàn)技術(shù)和平臺的軟件設(shè)計模型。l 概要設(shè)計(結(jié)構(gòu)設(shè)計):把一個軟件需求轉(zhuǎn)換為軟件表示時,首先設(shè)計出軟件總的體系結(jié)構(gòu)。基本任務(wù):1) 設(shè)計軟件系統(tǒng)結(jié)構(gòu)2) 進(jìn)行數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫的設(shè)計3) 編寫概要設(shè)計的文檔4) 評審l 詳細(xì)設(shè)計:為SC圖中的每個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用選定的表達(dá)工具(流程圖、N-S圖、PAD圖、偽代碼)給出清晰
10、的描述。基本任務(wù):1) 為每個模塊進(jìn)行詳細(xì)的算法設(shè)計2) 為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計3) 對數(shù)據(jù)庫進(jìn)行物理設(shè)計4) 其他設(shè)計5) 編寫詳細(xì)設(shè)計說明書6) 評審七、軟件設(shè)計1、 模塊的定義l 模塊是一個擁有明確定義的 、輸出和特性的程序?qū)嶓w。l 模塊化是指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。l 模塊化設(shè)計是把大型軟件按照規(guī)定的原則劃分成一個個較小的、相對獨(dú)立但又相互關(guān)聯(lián)的模塊。但又相互關(guān)聯(lián)的模塊。2、 什么是模塊獨(dú)立性?用什么來度量(低內(nèi)聚高耦合)?l 模塊獨(dú)立性指每個模
11、塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。模塊獨(dú)立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。l 獨(dú)立性可以從兩個方面來度量:模塊本身的內(nèi)聚性(Cohesion)和模塊之間的耦合(Coupling)。3、 耦合、內(nèi)聚的定義,幾種類型(P171)l 內(nèi)聚:從功能的角度對模塊內(nèi)部聚合能力的量度l 低內(nèi)聚(偶然性內(nèi)聚、邏輯性內(nèi)聚、時間性內(nèi)聚),中內(nèi)聚(過程性內(nèi)聚、通信性內(nèi)聚),高內(nèi)聚(順序性內(nèi)聚、功能性內(nèi)聚)l 耦合:對軟件內(nèi)部塊間聯(lián)系得到度量l 弱耦合(非直接耦合、數(shù)據(jù)耦合、特征耦合),中耦合(控制耦合),較強(qiáng)耦合(外部耦合、公共耦合),強(qiáng)耦合(內(nèi)容耦合)4、
12、扇入、扇出的定義扇入:一個模塊被其他模塊調(diào)用的個數(shù)扇出:一個模塊調(diào)用其他模塊的個數(shù)八、編碼和測試1、 四代語言的特點和典型代表l 第一代也稱機(jī)器語言,是計算機(jī)能直接識別和執(zhí)行的語言。優(yōu)點是無需翻譯,占用內(nèi)存少、執(zhí)行速度快。缺點是隨機(jī)而異,通用性差,而且因指令和數(shù)據(jù)都是二進(jìn)制代碼形式,難于閱讀和記憶,編碼工作量大,難以維護(hù)。l 第二代語言也叫匯編語言,是用助記符號來表示機(jī)器指令的符號指令的符號語言。優(yōu)點是比機(jī)器語言易記。缺點同機(jī)器語言。l 第三代語言還稱高級語言,容易學(xué)習(xí),通用性強(qiáng),書寫出的程序比較短,便于推廣和交流,是很理想的一種程序設(shè)計語言。代表有C語言,C#語言。l 第四代語言又叫面向應(yīng)用
13、的語言。主要特點是:非過程性、采用圖形窗口和人機(jī)對話形式、基于數(shù)據(jù)庫和“面向?qū)ο蟆奔夹g(shù),易編程、易理解、易使用、易維護(hù)。代表有SQL關(guān)系數(shù)據(jù)查詢語言,UNIX系統(tǒng)的shell語言。2、 變量命名規(guī)則3、 軟件測試的基本任務(wù)程序測試的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。目的:發(fā)現(xiàn)程序的錯誤任務(wù):通過在計算機(jī)上執(zhí)行程序,暴露程序中潛在的錯誤。4、 軟件測試要經(jīng)過哪些步驟(P254)?這些測試與軟件開發(fā)各階段之間有什么關(guān)系?軟件測試要經(jīng)過的步驟是:單元測試集成測試確認(rèn)測試系統(tǒng)測試。l 單元測試對源程序中每一個程序單元進(jìn)行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。該階段
14、涉及編碼和詳細(xì)設(shè)計文檔。l 集成測試是為了檢查與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題,也就是檢查概要設(shè)計是否合理有效。l 確認(rèn)測試主要是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求。l 系統(tǒng)測試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測試。以確定軟件是否可以支付使用。5、 測試與糾錯有哪些區(qū)別?l 測試的目的是發(fā)現(xiàn)程序錯誤;測試的任務(wù)是通過在計算機(jī)上執(zhí)行程序,暴露程序中潛在的錯誤。l 糾錯的目的是定位和糾正錯誤;糾錯的任務(wù)是軟件故障,保證程序的可靠運(yùn)行。l 通常把一次程序執(zhí)行需要的測試數(shù)據(jù)成為一個測試用例,每個測試用例產(chǎn)生一個相應(yīng)的測試結(jié)果,如
15、果它與期望結(jié)果不符,便說明程序中存在錯誤,需要用糾錯來改正。6、 程序員保證代碼質(zhì)量的手段?編譯器 靜態(tài)檢查工具 代碼走查 單元測試7、 面向?qū)ο筌浖臏y試策略(P261)九、軟件維護(hù)1、 軟件維護(hù)的目的(P271)軟件維護(hù)的最終目的,是滿足用戶對已開發(fā)產(chǎn)品的性能與運(yùn)行環(huán)境的不斷提高的需求,進(jìn)而延長軟件的壽命。2、 軟件維護(hù)的種類(P271)完善性維護(hù) 適應(yīng)性維護(hù) 糾錯性維護(hù) 預(yù)防性維護(hù)3、 軟件配置管理的概念(p278)配置管理能夠系統(tǒng)地處理變更,從而使得軟件系統(tǒng)可以隨時保持其完整性。故配置管理也可以稱為變更控制,用來評估提出的變更要求,跟蹤變更,并保存系統(tǒng)不同時間點上的狀態(tài)。4、 糾錯和糾
16、錯性維護(hù)有哪些異同?糾錯的目的是定位和糾正錯誤;糾錯的任務(wù)是軟件故障,保證程序的可靠運(yùn)行。糾錯性維護(hù)是由于軟件測試的不徹底性,任何大型軟件交付使用后,都會繼續(xù)發(fā)現(xiàn)潛在的錯誤,對它們進(jìn)行診斷和改正。目的在于糾正在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤。十一、軟件工程管理1、 軟件成本估計(P302)2、 PERT圖和Gantt圖的特點(1)Gantt(甘特)圖:用水平線段表示任務(wù)的工作階段;線段的起點和終點分別對應(yīng)著任務(wù)的開工時間和完成時間;線段的長度表示完成任務(wù)所需的時間。優(yōu)點:能清晰地描述每個任務(wù)從何時開始,到何時結(jié)束以及各個任務(wù)之間的并行性。缺點:不能清晰地反映出個任務(wù)之間的依賴關(guān)系,難以確定整個項目
17、的關(guān)鍵所在,也不能反映計劃中有潛力的部分。(2)PERT圖:PERT圖是一個有向圖,圖中的有向弧表示任務(wù),它可以標(biāo)上完成該任務(wù)所需的時間;圖中的結(jié)點表示流入結(jié)點的任務(wù)的結(jié)束,并開始流出結(jié)點的任務(wù),這里把結(jié)點稱為事件。只有當(dāng)流入該結(jié)點的所有任務(wù)都結(jié)束時,結(jié)點所表示的事件才出現(xiàn),流出結(jié)點的任務(wù)才可以開始。事件本身不消耗時間和資源,它僅表示某個時間點。每個事件有一個事件號和出現(xiàn)該事件的最早時刻和最遲時刻。每個任務(wù)還有一個松弛時間,表示在不影響整個工期的前提下,完成該任務(wù)有多少機(jī)動余地。松弛時間為0的任務(wù)構(gòu)成了完成整個工程的關(guān)鍵路徑。PERT圖不僅給出了每個任務(wù)的開始時間、結(jié)束時間和完成該任務(wù)所需的時間,還給出了任務(wù)之間的關(guān)系,即哪些任務(wù)完成后才能開始另外一些任務(wù),以及如期完成整個工程的關(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育培訓(xùn)在提升公眾健康意識中的作用-以前列腺癌為例
- 2025年醫(yī)保知識考試題庫及答案-醫(yī)保政策調(diào)整解讀與案例分析
- 2025年小學(xué)四年級語文名校真題卷:語文教育研究方法與教育改革試題
- 2025年醫(yī)保知識考試題庫及答案:醫(yī)保談判藥品管理政策反饋案例分析試題
- 建立新員工入職培訓(xùn)制度計劃
- 鼓勵孩子表達(dá)自己情感的活動計劃
- 年度工作計劃對提升核心競爭力的作用
- 2025年初中學(xué)業(yè)水平考試地理模擬卷及答案(自然地理專項)-土壤與植被試題
- 美術(shù)教育的家校合作方案計劃
- 秋季學(xué)期課程設(shè)置與優(yōu)化計劃
- 2025年全球經(jīng)濟(jì)策略試題及答案
- 山東省濟(jì)南市商河縣2025屆九年級下學(xué)期中考二模語文試卷(含答案)
- 2025年絕緣紙原紙行業(yè)深度研究報告
- 2024年棗莊滕州市中小學(xué)招聘教師筆試真題
- 直擊要點2025年入團(tuán)考試試題及答案
- 基于AI的管道防腐監(jiān)測系統(tǒng)研究與應(yīng)用-洞察闡釋
- 酒店賓館裝修合同協(xié)議書
- 2025-2030年中國腰果酚行業(yè)競爭格局展望及投資前景研究報告
- 2025年天津市高三高考模擬英語試卷試題(含答案詳解)
- 職業(yè)技術(shù)學(xué)校中醫(yī)康復(fù)技術(shù)專業(yè)人才培養(yǎng)方案
- 遼寧省名校聯(lián)盟2025年高考模擬卷押題卷數(shù)學(xué)(三)
評論
0/150
提交評論