




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程期末復習要點歸納總結(jié)?一、軟件工程概述(一)軟件的定義與特點1.定義:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。程序:是能夠完成特定功能的一組指令序列。數(shù)據(jù):是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔:是與程序開發(fā)、維護和使用有關(guān)的圖文資料。2.特點軟件是一種邏輯實體,具有抽象性。軟件沒有明顯的制作過程,開發(fā)過程復雜。軟件在使用過程中不存在磨損、老化問題,但會隨著需求變化而進行修改維護。軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有依賴性。軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式,生產(chǎn)效率較低。軟件本身是復雜的,而且以后會更加復雜。軟件成本相當昂貴,且成本不斷增加。相當多的軟件工作涉及到社會因素。
(二)軟件工程的定義與目標1.定義:軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。2.目標付出較低的開發(fā)成本。達到要求的軟件功能。取得較好的軟件性能。開發(fā)的軟件易于移植。需要較低的維護費用。能按時完成開發(fā)任務,及時交付使用。開發(fā)的軟件可靠性高。
(三)軟件工程的基本原理1.用分階段的生命周期計劃嚴格管理2.堅持進行階段評審3.實行嚴格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應能清楚地審查6.開發(fā)小組的人員應該少而精7.承認不斷改進軟件工程實踐的必要性
二、軟件生命周期(一)軟件生命周期的階段劃分軟件生命周期由軟件定義、軟件開發(fā)和軟件維護三個時期組成,每個時期又進一步劃分為若干個階段。1.軟件定義時期問題定義:明確要解決的問題是什么。可行性研究:研究問題的解決方案在經(jīng)濟、技術(shù)和操作上的可行性。需求分析:確定軟件系統(tǒng)必須具備的功能和性能要求,以及運行環(huán)境等約束條件。2.軟件開發(fā)時期總體設(shè)計:設(shè)計軟件的總體結(jié)構(gòu),包括系統(tǒng)架構(gòu)、模塊劃分、接口設(shè)計等。詳細設(shè)計:對總體設(shè)計中的每個模塊進行詳細的算法設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計。編碼和單元測試:按照詳細設(shè)計的要求編寫程序代碼,并對每個模塊進行單元測試,檢查模塊是否正確實現(xiàn)了規(guī)定的功能。綜合測試:將所有模塊集成在一起進行測試,以發(fā)現(xiàn)軟件系統(tǒng)中可能存在的各種問題,確保軟件系統(tǒng)的功能和性能符合要求。3.軟件維護時期軟件維護是軟件生命周期中持續(xù)時間最長的階段,主要任務是使軟件系統(tǒng)持久地滿足用戶的需求。包括改正性維護、適應性維護、完善性維護和預防性維護。
(二)各階段的主要任務和文檔1.問題定義階段主要任務:明確問題的性質(zhì)、工程目標和規(guī)模,回答"要解決的問題是什么"。文檔:問題定義報告,簡要描述問題及目標。2.可行性研究階段主要任務:從經(jīng)濟、技術(shù)、操作等方面研究問題的解決方案是否可行。文檔:可行性研究報告,包括項目概述、技術(shù)可行性、經(jīng)濟可行性、操作可行性、結(jié)論等內(nèi)容。3.需求分析階段主要任務:確定軟件系統(tǒng)的功能、性能、數(shù)據(jù)、界面等方面的需求,建立系統(tǒng)的邏輯模型。文檔:需求規(guī)格說明書,準確描述軟件系統(tǒng)的需求,是軟件開發(fā)的重要依據(jù)。4.總體設(shè)計階段主要任務:設(shè)計軟件的總體結(jié)構(gòu),劃分模塊,確定模塊之間的接口和調(diào)用關(guān)系,設(shè)計數(shù)據(jù)庫結(jié)構(gòu)等。文檔:總體設(shè)計說明書,包括系統(tǒng)總體結(jié)構(gòu)圖、功能說明、模塊設(shè)計、數(shù)據(jù)庫設(shè)計等。5.詳細設(shè)計階段主要任務:對總體設(shè)計中的每個模塊進行詳細的算法設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計,確定每個模塊的內(nèi)部實現(xiàn)細節(jié)。文檔:詳細設(shè)計說明書,包括模塊的算法描述、數(shù)據(jù)結(jié)構(gòu)設(shè)計、接口設(shè)計等。6.編碼和單元測試階段主要任務:按照詳細設(shè)計的要求編寫程序代碼,并對每個模塊進行單元測試。文檔:程序清單、單元測試報告。7.綜合測試階段主要任務:將所有模塊集成在一起進行測試,檢查軟件系統(tǒng)是否滿足需求規(guī)格說明書的要求。文檔:綜合測試計劃、測試用例、測試報告。8.軟件維護階段主要任務:對軟件進行改正性維護、適應性維護、完善性維護和預防性維護。文檔:維護記錄,記錄維護的原因、內(nèi)容、過程等。
三、軟件需求分析(一)需求分析的任務1.確定對系統(tǒng)的綜合要求,包括功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需求、約束、逆向需求、將來可能提出的要求等。2.分析系統(tǒng)的數(shù)據(jù)要求,確定系統(tǒng)需要處理的數(shù)據(jù)及其之間的關(guān)系,設(shè)計合理的數(shù)據(jù)庫結(jié)構(gòu)。3.導出系統(tǒng)的邏輯模型,通過對需求的分析和整理,建立系統(tǒng)的邏輯模型,如數(shù)據(jù)流圖、數(shù)據(jù)字典、狀態(tài)轉(zhuǎn)換圖等。4.修正系統(tǒng)開發(fā)計劃,根據(jù)需求分析的結(jié)果,對原有的項目開發(fā)計劃進行修正,明確軟件開發(fā)的范圍、進度、資源等。
(二)需求獲取的方法1.訪談:與用戶、客戶、領(lǐng)域?qū)<业冗M行面對面的交流,了解他們對系統(tǒng)的需求和期望。2.問卷調(diào)查:設(shè)計問卷,向相關(guān)人員發(fā)放,收集他們對系統(tǒng)的需求信息。3.用戶觀察:觀察用戶在實際工作中的操作流程和行為習慣,獲取需求。4.文檔分析:分析現(xiàn)有的相關(guān)文檔,如業(yè)務流程文檔、規(guī)章制度等,提取有用的需求信息。5.原型法:快速建立系統(tǒng)原型,讓用戶試用并提出反饋意見,從而獲取需求。
(三)需求規(guī)格說明書的內(nèi)容1.引言:包括編寫目的、項目背景、定義、參考資料等。2.任務概述:描述系統(tǒng)的目標、運行環(huán)境、條件與限制等。3.需求規(guī)定:詳細描述系統(tǒng)的功能需求、性能需求、數(shù)據(jù)需求、界面需求等。4.運行環(huán)境規(guī)定:說明系統(tǒng)的硬件環(huán)境、軟件環(huán)境等運行要求。
四、總體設(shè)計(一)總體設(shè)計的任務1.設(shè)計軟件系統(tǒng)的總體結(jié)構(gòu),包括確定系統(tǒng)的模塊劃分、模塊之間的調(diào)用關(guān)系和接口。2.設(shè)計數(shù)據(jù)庫結(jié)構(gòu),根據(jù)系統(tǒng)的數(shù)據(jù)需求,設(shè)計合理的數(shù)據(jù)庫模式,包括數(shù)據(jù)庫表結(jié)構(gòu)、關(guān)系等。3.制定測試計劃,根據(jù)總體設(shè)計的結(jié)果,制定系統(tǒng)的測試策略和測試計劃,包括測試的范圍、方法、步驟等。4.估算成本和進度,對軟件開發(fā)所需的成本和時間進行估算,為項目管理提供依據(jù)。
(二)軟件設(shè)計的原則1.模塊化:將軟件系統(tǒng)劃分為若干個模塊,每個模塊具有獨立的功能,便于軟件的開發(fā)、維護和擴展。2.抽象:抽取事物的本質(zhì)特性而忽略非本質(zhì)細節(jié),提高軟件的可理解性和可維護性。3.信息隱蔽:將模塊的實現(xiàn)細節(jié)隱藏起來,只向其他模塊提供接口,降低模塊之間的耦合度。4.模塊獨立:包括模塊的內(nèi)聚性和耦合性,高內(nèi)聚低耦合的模塊設(shè)計有利于軟件的質(zhì)量和可維護性。
(三)總體設(shè)計的圖形工具1.層次圖:用于描述軟件系統(tǒng)的層次結(jié)構(gòu),展示模塊之間的層次關(guān)系。2.HIPO圖:由層次圖和輸入/處理/輸出圖組成,全面描述軟件系統(tǒng)的結(jié)構(gòu)和功能。3.結(jié)構(gòu)圖:描述軟件系統(tǒng)中模塊之間的調(diào)用關(guān)系和接口,反映系統(tǒng)的控制流和數(shù)據(jù)流。
五、詳細設(shè)計(一)詳細設(shè)計的任務1.為每個模塊進行詳細的算法設(shè)計,確定模塊內(nèi)部的具體執(zhí)行步驟和邏輯。2.為每個模塊設(shè)計數(shù)據(jù)結(jié)構(gòu),確定模塊所使用的數(shù)據(jù)類型、數(shù)據(jù)組織方式等。3.對數(shù)據(jù)庫進行物理設(shè)計,確定數(shù)據(jù)庫在物理存儲設(shè)備上的存儲結(jié)構(gòu)和存取方法。4.其他設(shè)計,如用戶界面設(shè)計、輸入輸出格式設(shè)計等。
(二)詳細設(shè)計的描述工具1.程序流程圖:用圖形符號表示程序的控制流程和執(zhí)行順序。2.盒圖(NS圖):一種不允許隨意轉(zhuǎn)移控制的流程圖,更符合結(jié)構(gòu)化程序設(shè)計的要求。3.PAD圖:用二維樹形結(jié)構(gòu)的圖來表示程序的邏輯結(jié)構(gòu)。4.判定表:用于描述多條件、多操作的復雜邏輯關(guān)系。5.判定樹:一種圖形化的決策模型,直觀地表示條件和決策結(jié)果之間的關(guān)系。
六、軟件測試(一)軟件測試的目的和原則1.目的:發(fā)現(xiàn)軟件中的錯誤,而不是證明軟件沒有錯誤。2.原則應當把"盡早地和不斷地進行軟件測試"作為軟件開發(fā)者的座右銘。測試用例應由測試輸入數(shù)據(jù)和對應的預期輸出結(jié)果組成。程序員應避免檢查自己的程序。在設(shè)計測試用例時,應包括合理的輸入條件和不合理的輸入條件。充分注意測試中的群集現(xiàn)象。嚴格執(zhí)行測試計劃,排除測試的隨意性。應當對每一個測試結(jié)果做全面檢查。妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。
(二)軟件測試的方法1.黑盒測試:不考慮軟件的內(nèi)部結(jié)構(gòu)和實現(xiàn)細節(jié),只依據(jù)軟件的需求規(guī)格說明書,檢查軟件的功能是否符合要求。常用的黑盒測試方法有等價類劃分法、邊界值分析法、因果圖法、決策表法等。2.白盒測試:考慮軟件的內(nèi)部結(jié)構(gòu)和實現(xiàn)細節(jié),依據(jù)程序的內(nèi)部邏輯來設(shè)計測試用例,檢查程序中的每條通路是否都能按預定要求正確工作。常用的白盒測試方法有邏輯覆蓋測試、基本路徑測試等。
(三)測試階段的信息流測試階段的信息流主要包括測試計劃、測試用例、測試執(zhí)行和測試結(jié)果報告。測試計劃根據(jù)軟件需求規(guī)格說明書和總體設(shè)計說明書制定,明確測試的目標、范圍、方法、步驟等;測試用例依據(jù)測試計劃設(shè)計,包括輸入數(shù)據(jù)和預期輸出結(jié)果;測試執(zhí)行按照測試用例對軟件進行測試;測試結(jié)果報告記錄測試過程中發(fā)現(xiàn)的問題及測試結(jié)果,反饋給開發(fā)人員進行修改。
七、軟件維護(一)軟件維護的類型1.改正性維護:診斷和改正軟件在使用過程中發(fā)現(xiàn)的軟件錯誤。2.適應性維護:修改軟件以適應環(huán)境的變化,如操作系統(tǒng)升級、硬件更換等。3.完善性維護:根據(jù)用戶的需求,增加軟件的功能或改進軟件的性能。4.預防性維護:為了提高軟件的可維護性和可靠性,對軟件進行的修改和優(yōu)化。
(二)軟件維護的過程1.提出維護要求:用戶發(fā)現(xiàn)軟件存在問題或提出新的需求,向維護人員提出維護要求。2.分析維護要求:維護人員對維護要求進行分析,確定維護的類型和內(nèi)容。3.制定維護計劃:根據(jù)分析結(jié)果,制定維護計劃,包括維護的步驟、時間安排、資源需求等。4.實施維護:按照維護計劃對軟件進行修改,包括代碼修改、測試等。5.驗收維護成果:對維護后的軟件進行測試和驗收,確保軟件滿足維護要求。
(三)軟件可維護性的度量1.可理解性:指別人能理解軟件的結(jié)構(gòu)、功能和內(nèi)部邏輯的難易程度。2.可測試性:指軟件容易被測試的程度。3.可修改性:指軟件容易被修改的程度。4.可靠性:指軟件在規(guī)定的時間和條件下,完成規(guī)定功能的能力。5.可移植性:指軟件從一個環(huán)境移植到另一個環(huán)境的難易程度。
八、軟件工程管理(一)軟件項目計劃1.項目范圍:明確軟件項目要開發(fā)的軟件系統(tǒng)的功能、性能、界面等方面的邊界。2.資源:確定軟件項目所需的人力、物力、財力等資源。3.進度安排:制定軟件項目的開發(fā)進度計劃,包括各個階段的開始時間和結(jié)束時間。4.成本估算:對軟件項目的開發(fā)成本進行估算,包括人員費用、設(shè)備費用、軟件工具費用等。
(二)軟件質(zhì)量保證1.軟件質(zhì)量的定義:軟件滿足明確或隱含需求的能力。2.質(zhì)量保證活動:包括制定質(zhì)量計劃、質(zhì)量控制、質(zhì)量評審等,確保軟件質(zhì)量符合要求。3.軟件質(zhì)量度量:使用一些指標來度量軟件質(zhì)量,如缺陷密度、可靠性增長模型等。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班家園共育活動方案計劃
- 特許投資分析中的技術(shù)應用試題及答案
- 2024年計算機二級重要策略試題及答案
- 2024年流程優(yōu)化在投資中的應用試題及答案
- 生態(tài)保護區(qū)的選址與地理因素-試題及答案
- 電子商務職教市場的品牌建設(shè)與形象傳播試題及答案
- 城市化進程對環(huán)境影響試題及答案
- 動物非感染性疾病新知試題及答案
- 2024互聯(lián)網(wǎng)營銷師效率提升試題及答案
- 2024年人力資源管理師考題解析試題及答案
- 2024年計算機二級WPS考試題庫(共380題含答案)
- 漢字的奧秘探索
- 《海上風電設(shè)備運輸規(guī)范》
- 2024年江蘇省徐州市中考數(shù)學真題卷及答案解析
- 2025屆云南省民族大學附屬中學高三(最后沖刺)數(shù)學試卷含解析
- 湖北省七市2025屆高三下學期第五次調(diào)研考試數(shù)學試題含解析
- 2024年太陽能電池片產(chǎn)業(yè)海外專利預警分析報告
- 2023河南專升本英語真題及答案
- 河流沿岸護欄安裝工程協(xié)議
- 前庭陣發(fā)癥-講稿
- 第十三屆全國交通運輸行業(yè)城市軌道交通列車司機(學生組)職業(yè)技能大賽技術(shù)方案
評論
0/150
提交評論