




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
高級軟件工程(1)一個應用系統(tǒng)進入工程化開發(fā)之前,要搞清楚計算機系統(tǒng)的整體目標,標識出這一系統(tǒng)中涉及的硬件、軟件、人員、數據庫、網絡、規(guī)程和其它系統(tǒng)元素。計算機系系統(tǒng)硬件與硬硬件工程程基于計算算機的應應用系統(tǒng)統(tǒng)離不開開計算機機硬件的的支撐。。計算機機系統(tǒng)工工程師根根據系統(tǒng)統(tǒng)需求為為硬件系系統(tǒng)指派派任務,,產生硬硬件需求求。硬件件工程師師根據硬硬件需求求設計、、制造或或選擇硬硬部件或或設備。。硬件工程程過程分分為三個個階段,,即計劃劃和定義義階段;;設計和和樣機實實現(xiàn)階段段;生產產、銷售售和售后后服務階階段,具具體如圖圖1.2的(a)、(b)和(c)所示。。軟件與軟軟件工程程計算機軟軟件是軟軟件工程程師設計計和建造造的產品品,包括括:一個個在任意意規(guī)模和和體系結結構的計計算機中中執(zhí)行的的程序,,以及軟軟件開發(fā)發(fā)過程中中涉及的的各種文文檔和各各種形式式的數據據。軟件工程程是研究究軟件生生產和軟軟件管理理的工程程科學,,其內容容包括市市場調研研、正式式立項、、需求分分析、項項目策劃劃、概要要設計、、詳細設設計、編編程、測測試、試試運行、、產品發(fā)發(fā)布、用用戶培訓訓、產品品復制、、銷售、、實施、、系統(tǒng)維維護和版版本升級級等。軟件工程程師借助助于軟件件工程的的過程、、方法和和工具開開發(fā)基于于計算機機的軟件件系統(tǒng)。。軟件工工程模型型雖然種種類很多多,但它它們都有有一個共共同的特特點,即即都包括括軟件項項目的定定義階段段、軟件件開發(fā)階階段、軟軟件的檢檢驗、交交付與維維護階段段,如圖圖1.3的(a)、(b)和(c)所示。。軟件定義義階段軟件定義義階段的的任務是是,確定定軟件開開發(fā)必須須完成的的總目標標;確定定工程的的可行性性;導出出實現(xiàn)工工程目標標應該采采用的策策略及系系統(tǒng)必須須完成的的功能;;估計完完成該項項工程需需要的資資源和成成本,并并且制定定工程進進度表。。這個時期期的工作作通常又又稱為系系統(tǒng)分析析,由系系統(tǒng)分析析員負責責完成。。軟件定定義階段段通常進進一步劃劃分成三三個子階階段,即即問題定義義階段、、可行性性研究階階段和需需求分析析階段。需求分析析階段的的一項重重要任務務是用正正式文檔檔準確地地記錄對對目標系系統(tǒng)的需需求,這這份文檔檔通常稱稱為需求規(guī)格格說明。軟件開發(fā)發(fā)階段這個階段段的基本本任務是是回答“怎樣實現(xiàn)現(xiàn)目標系系統(tǒng)?”這個問題題。軟件開發(fā)發(fā)階段具具體設計計和實現(xiàn)現(xiàn)在前一一個時期期定義的的軟件,,它通常常由下述述四個子子階段組組成:概要設計計、詳細細設計、、編碼和和單元測測試、綜綜合測試試。其中前前兩個階階段又稱稱為系統(tǒng)統(tǒng)設計階階段,后后兩個階階段又稱稱為系統(tǒng)統(tǒng)實現(xiàn)階階段軟件的檢檢驗、交交付與維維護階段段這一階段段的主要要任務是是使軟件件持久地地滿足用用戶的需需要。當軟件在在使用過過程中發(fā)發(fā)現(xiàn)錯誤誤時,應應該加以以改正;;當環(huán)境境改變時時,應該該修改軟軟件以適適應新的的環(huán)境;;當用戶戶有新要要求時,,應該及及時改進進軟件以以滿足用用戶的新新需要。。人機工程程人與計算算機硬件件和軟件件的直接接交互可可以啟動動并控制制系統(tǒng)運運行,在在系統(tǒng)開開發(fā)與維維護活動動中,人人的因素素起著十十分關鍵鍵的作用用。數據庫工工程數據庫系系統(tǒng)是基基于計算算機系統(tǒng)統(tǒng)的重要要組成部部分,它它將有關關的硬件件、軟件件、數據據和數據據庫管理理人員結結合起來來,為用用戶提供供信息服服務。開開發(fā)一個個數據庫庫系統(tǒng)是是一項復復雜的工工程項目目,人們們也常稱稱之為數數據庫工工程。數據庫工工程應完完成下列列任務,,1)確定系系統(tǒng)的各各項指標標并進行行評估和和計劃制制定;2)論證、、選擇和和配置數數據庫系系統(tǒng);3)數據庫庫設計與與實現(xiàn);;4)數據庫庫的管理理與維護護。網絡工程程隨著網絡絡技術的的發(fā)展,,很多基基于計算算機的系系統(tǒng)使用用網絡進進行通信信,網絡絡工程也也成為了了基于計計算機系系統(tǒng)的重重要組成成部分。。網絡工工程是研研究網絡絡系統(tǒng)的的規(guī)劃、、設計與與管理的的工程科科學,要要求工程程技術人人員根據據既定的的目標,,嚴格依依照行業(yè)業(yè)規(guī)范,,制定網網絡建設設的方案案,協(xié)助助工程招招投標、、設計、、實施、、管理與與維護等等活動。。網絡工程程的實施施需要經經過如下下幾個階階段:1)需求分分析;2)總體設設計分析析;3)實施;;4)驗收與與維護。。軟件發(fā)展展階段程序設計計階段—50至60年代程序系統(tǒng)統(tǒng)階段—60至70年代軟件工程程階段—70年代以后后軟件是計算機機系統(tǒng)中中與硬件件相互依依存的另另一部分分,它是包括括程序,,數據及及其相關關文檔的的完整集集合。程序是按事先先設計的的功能和和性能要要求執(zhí)行行的指令令序列數據是使程序序能正常常操縱信信息的數數據結構構文檔是與程序序開發(fā),,維護和和使用有有關的圖圖文材料料什么是軟軟件?軟件的特特點軟件是一一種邏輯實體體,而不是是具體的的物理實實體。因因而它具具有抽象象性軟件的生生產與硬硬件不同同,在它它的開發(fā)發(fā)過程中中沒有明顯顯的制造造過程在軟件的的運行和和使用期期間,沒有硬件件那樣的的機械磨磨損,老老化問題題軟件的開開發(fā)和運運行常受受到計算算機系統(tǒng)統(tǒng)的限制制,對計計算機系系統(tǒng)有著著不同程程度的依依賴性軟件的開開發(fā)至今今尚未完全全擺脫手手工藝的的開發(fā)方方式軟件本身身是復雜雜的實際問題題的復雜雜性程序邏輯輯結構的的復雜性性軟件成本本相當昂昂貴相當多的的軟件工工作涉及及到社會會因素軟件發(fā)展展過程中中存在的的問題軟件開發(fā)發(fā)能力不不能滿足足人們的的需要;;社會對軟軟件的依依賴程度度加大,,人們普普遍關注注軟件的的安全和和可靠性性;若干年前前開發(fā)的的應用軟軟件經過過幾十次次修改已已無人認認識它的的內部結結構,己己經不可可維護;;由于經濟濟原因,嵌入式系系統(tǒng)存在在許多怪怪現(xiàn)象,,企業(yè)不不愿意投投入資源源再生產產,而采采取打補補丁+時髦界面面的方法法。軟件危機機軟件危機機是指在計計算機軟軟件的開發(fā)和維維護過程程中所遇到到的一系系列嚴重重問題。。典型表現(xiàn)現(xiàn):開發(fā)成本本和進度度的估計計常常很很不準確確;用戶對“已完成的的”軟件系統(tǒng)統(tǒng)不滿意意;“閉門造車車”;軟件質量量不可靠靠;軟件常常常是不可可維護的的;軟件成本本的比例例逐年上上升;軟件產品品“供不應求求”;軟件危機機產生的的原因客觀原因因:軟件件的特點點主觀原因因:軟件件開發(fā)和和維護過過程中使使用不正正確的方方法。消除軟件件危機的的途徑消除“軟件就是是程序”的錯誤觀觀念。一個軟件件必須由由一個完完整的配配置組成成,事實實上,軟軟件是程程序、數數據及相相關文檔檔的完整整集合。。軟件開發(fā)發(fā)不是某某種個體體勞動的的神秘技技巧,而而應該是是一種組組織良好好、管理理嚴密、、各類人人員協(xié)同同配合、、共同完完成的工工程項目目。成功的軟軟件開發(fā)發(fā)技術和和方法。。軟件工具具和軟件件工程支支撐環(huán)境境。軟件工程程的定義義1968年NATO計算機科科學會議議軟件危機機根源解決途徑徑軟件工程程“概括地說說,軟件工程程是指導計計算機軟軟件開發(fā)發(fā)和維護護的一門門工程學學科。采采用工程的概念、、原理、、技術和和方法來來開發(fā)與與維護軟軟件,把把經過時時間考驗驗而證明明正確的的管理技術術和當前能能夠得到到的最好好的技術術方法結結合起來來,以經濟地開開發(fā)出高高質量的的軟件并并有效地地維護它它?!避浖こ坛痰哪繕藰塑浖こ坛痰哪繕藰耸敲鞔_確的,就就是研制制、開發(fā)發(fā)與生產產出具有有良好軟軟件質量量和費用用合算的的產品。采用工程程化方法法和途徑徑來開發(fā)發(fā)與維護護軟件。。應該開發(fā)發(fā)和使用用更好的的軟件工工具。采取必要要的管理理措施。。軟件工程程的基本本原理((B.W..Boehm)用分階段段的生命命周期計計劃嚴格格管理堅持進行行階段評評審錯誤出現(xiàn)現(xiàn)的時間間:在編編代碼之之前(63%:37%)改正錯誤誤的代價價:發(fā)現(xiàn)現(xiàn)得月晚晚,開發(fā)發(fā)代價越越高實行嚴格格的產品品控制基線配置置、變動動控制采用現(xiàn)代代程序設設計技術術結果應能能清楚地地審查開發(fā)小組組的人員員應該少少而精承認不斷斷改進軟軟件工程程實踐的的必要性性軟件工程程研究的的基本內內容軟件工程程學分為為:理論論與結構構、方法法、工具具與環(huán)境境、管理理和規(guī)范范等。理論與結結構包括括:程序序正確性性證明理理論、軟軟件可靠靠性理論論、軟件件成本估估算模型型、軟件件開發(fā)模模型、模模塊劃分分原理等等。軟件開發(fā)發(fā)技術包包括:軟軟件開發(fā)發(fā)方法學學、軟件件工具和和軟件開開發(fā)環(huán)境境。軟件工程程管理包包括:軟軟件開發(fā)發(fā)管理和和軟件經經濟管理理。軟件生存存期lifecycle軟件有一一個孕育育、誕生生、成長長、成熟熟、衰亡亡的生存存過程。。這個過過程即為為計算機機軟件的的生存期期軟件生存存期的六六個步驟驟,即制定計劃劃、需求分析析、設計、程序編碼碼、測試及運行維護護瀑布模型型
RETURN制定計劃劃確定要開開發(fā)軟件件系統(tǒng)的的總目標給出功能、性能、可靠性以及接口等方面的的要求完成該軟軟件任務務的可行性研研究估計可利利用的資源(硬件,軟軟件,人人力等)、成本、效益、開發(fā)進度度制定出完完成開發(fā)發(fā)任務的的實施計劃劃,連同可可行性研研究報告告,提交交管理部部門審查查需求分析析和定義義對用戶提提出的要要求進行行分析并給出詳細的定定義編寫軟件需求求說明書書或系統(tǒng)功能能說明書書及初步的系系統(tǒng)用戶戶手冊提交管理理機構評審軟件設計計概要設計計—把各項需需求轉換換成軟件的體體系結構構。結構中中每一組組成部分分都是意意義明確確的模塊塊,每個個模塊都都和某些些需求相相對應詳細設計計—對每個模模塊要完完成的工工作進行行具體的的描述,,為源程程序編寫寫打下基基礎編寫設計計說明書書,提交交評審。。程序編寫寫把軟件設設計轉換換成計算算機可以以接受的的程序代代碼,即即寫成以以某一種種特定程程序設計計語言表表示的“源程序清清單”寫出的程程序應當當是結構構良好、、清晰易易讀的,,且與設設計相一一致的軟件測試試單元測試試,查找各各模塊在在功能和和結構上上存在的的問題并并加以糾糾正組裝測試試,將已測測試過的的模塊按按一定順順序組裝裝起來按規(guī)定的的各項需需求,逐逐項進行行有效性測測試,決定已已開發(fā)的的軟件是是否合格格,能否否交付用用戶使用用運行/維維護改正性維維護運行中發(fā)發(fā)現(xiàn)了軟軟件中的的錯誤需需要修正正適應性維維護為了適應應變化了了的軟件件工作環(huán)環(huán)境,需需做適當當變更完善性維維護為了增強強軟件的的功能需需做變更更軟件生存存期模型型軟件生存存期模型型是跨越越整個生生存期的的系統(tǒng)開開發(fā)、運運作和維維護所實實施的全全部過程程、活動動和任務務的結構構框架瀑布模型型演化模型型螺旋模型型噴泉模型型智能模型型瀑布模型型階段間具具有順序序性和依依賴性各個階段段如同瀑瀑布流水水,逐級級下落,,自上而而下、相相互銜接接的固定定次序。。推遲實現(xiàn)現(xiàn)的觀點點清楚地區(qū)區(qū)分邏輯輯設計與與物理設設計,盡盡可能推推遲程序序的物理理實現(xiàn)。。質量保證證的觀點點(文檔驅動動)每個階段段都必須須完成規(guī)規(guī)定的文文檔每個階段段結束前前都要對對所完成成的文檔檔進行評評審瀑布模型型的缺點點模型缺乏乏靈活性性。開發(fā)過程程一般不不能逆轉轉,否則則代價太太大規(guī)格說明明很難理理解:“我知道這這是按我我的要求求做的,,但不是是我想要要的樣子子?!避浖膶崒嶋H情況況必須到到項目開開發(fā)的后后期客戶戶才能看看到。((文檔驅動動的兩面面性)演化模型型(快速速原型模模型)由于在項項目開發(fā)發(fā)的初始始階段人人們對軟軟件的需需求認識識常常不不夠清晰晰,因而而使得開開發(fā)項目目難于做做到一次次開發(fā)成成功,出出現(xiàn)返工工再開發(fā)發(fā)在所難難免。做做兩次第一次只只是試驗驗開發(fā),,其目標標只是在在于探索索可行性性,弄清清軟件需需求第二次則則在此基基礎上獲獲得較為為滿意的的軟件產產品需求設計編碼測試集成需求設計編碼測試集成開發(fā)反饋開發(fā)反饋...核心系系統(tǒng)統(tǒng)開發(fā)發(fā)第二次次迭迭代針對事先先不能完完整地定定義需求求針對用戶戶的核心心需求,開發(fā)核心心系統(tǒng)根據用戶戶的反饋饋,實施活動動的迭代代增量模型型也稱:漸漸增模型型把軟件產產品作為為一系列列增量構構件來設設計、編編碼、集集成和測測試。增量模型型的優(yōu)點點每個階段段交付一一個可用用的產品品減少一個個全新產產品給客客戶帶來來的心理理上的影影響分階段地地交付產產品不需需要大的的資金支支出需求經常常變化,,增量模模型的靈靈活性使使其具有有更加優(yōu)優(yōu)越的適適用性增量模型型的困難難需要一個個開放的的結構,,方便構構件的加加入增量模型型本身就就是一個個矛盾的的名詞螺旋模型型螺旋模型型沿著螺螺線旋轉轉,在四四個象限限上分別別表達四四個方面面的活動動,即::制定計劃劃──確定軟件件目標,,選定實實施方案案,弄清清項目開開發(fā)的限限制風險分析析──分析所選選方案,,考慮如如何識別別和消除除風險實施工程程──實施軟件件開發(fā)客戶評估估──評價開發(fā)發(fā)工作,,提出修修正建議議
螺旋模型型的優(yōu)點點容易確定定什么時時候已經經對某一一階段的的產品充充分測試試完畢維護和開開發(fā)之間間沒有什什么本質質上的差差別螺旋模型型的缺點點僅適合于于大型軟軟件風險驅動動既是優(yōu)優(yōu)點也是是缺點噴泉模型型迭代重復演進無間隙各階段間間無明顯顯界限軟件工程程的定義義Boehm:運用現(xiàn)代代科學技技術知識識來設計計并構造造計算機機程序及及為開發(fā)發(fā)、運行行和維護護這些程程序所必必需的相相關文件件資料IEEE:軟件工程程是開發(fā)發(fā)、運行行、維護護和修復復軟件的的系統(tǒng)方方法FritzBauer:建立并使使用完善善的工程程化原則則,以較較經濟的的手段獲獲得能在在實際機機器上有有效運行行的可靠靠軟件的的一系列列方法軟件工程程三要素素:方法、工工具和過過程軟件工程程方法為為軟件開開發(fā)提供供了“如何做”的技術軟件工具具為軟件件工程方方法提供供了自動動的或半半自動的的軟件支支撐環(huán)境境軟件工程程過程定定義了:方法使用用的順序序要求交付付的文檔檔資料為保證質質量和適適應變化化所需要要的管理理軟件開發(fā)發(fā)各個階階段完成成的里程程碑軟件開發(fā)發(fā)方法結構化方方法結構是指系統(tǒng)統(tǒng)內各組組成要素素之間的的相互聯(lián)聯(lián)系、相相互作用用的框架架。結構化方方法強調結構構的合理理性,以以及所開開發(fā)軟件件的結構構合理性性,由此此提出了了一組提提高軟件件結構合合理性的的準則,,如分解解和抽象象、模塊塊的獨立立性、信信息隱蔽蔽等。針對不同同的開發(fā)發(fā)活動,,有結構構化分析析、結構構化設計計、結構構化編程程和結構構化測試試等。面向數據據結構方方法面向數據據結構方方法是結結構化方方法的變變形,它它著重數數據結構構而不是是數據流流。結構化方方法:以分析信信息流為為主,用用數據流流圖來表表示信息息流;面向數據據結構方方法:從分析數數據結構構入手,,即分析析信息結結構,并并用數據據結構圖圖來表示示,再在在此基礎礎上進行行需求分分析,導導出軟件件的結構構。Warmer法、Jackson法以及DSSD(數據結結構系統(tǒng)統(tǒng)開發(fā)))方法等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油壓梯行業(yè)深度研究報告
- 農產品電商中心競爭分析
- 2025年緊固板項目投資可行性研究分析報告-20241226-194941
- 【可行性報告】2025年標線涂料項目可行性研究分析報告
- 云南重點項目-經濟技術開發(fā)區(qū)銅材加工項目可行性研究報告
- 中國骨質增生治療儀行業(yè)市場全景分析及投資前景展望報告
- 愛要及時“織補”
- “藍焰玫瑰”高嵩:把希望帶給更多人
- 中國遮陽用品行業(yè)市場運營現(xiàn)狀及投資方向研究報告
- 學習任務群視角下的小學語文大單元教學策略
- 【道 法】學會自我保護+課件-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 河南航空港發(fā)展投資集團有限公司2025年社會招聘題庫
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)語文試卷(含答案)
- 常州初三強基數學試卷
- 《吞咽障礙膳食營養(yǎng)管理規(guī)范》(T-CNSS 013-2021)
- 仁愛七年級下冊英語教學計劃
- 躁狂的健康宣教
- 第四講國防動員準備
- 四川省成都市2025屆高三一診考試英語試卷含解析
- 2024年度房地產開發(fā)項目安全生產委托管理協(xié)議范本3篇
- 飛機空氣動力學課件:翼型的空氣動力特性
評論
0/150
提交評論