02軟件工程模式_第1頁
02軟件工程模式_第2頁
02軟件工程模式_第3頁
02軟件工程模式_第4頁
02軟件工程模式_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

02軟件工程模式我們中華明族最盛大的事情,每年全族人民都歡欣鼓舞的事,莫過于我們的傳統(tǒng)節(jié)日——春節(jié)了!春節(jié)也稱過年,這一天,家家戶戶都張燈結(jié)彩,在晚上,街道上燈光閃閃,沒有一點漆黑,自然也沒有一點害怕。而新年的第一天,是我們小孩子最快樂的一天了,這天,我們這群孩子,家家戶戶的拜年,最重要的是可以拿壓歲錢。這可是我們的一個最大的樂趣,雖然,壓歲錢會被父母拿去,但是,我們還是很開心。這天晚上,我們這群小伙伴聚集在一起出去玩,作文我們從家走了很長時間,到了街上,這時,我們的日子來了,雖然壓歲錢會被上交,但在上交之前,我們要好好的享受一頓,于是,我們在超市,燒烤店,飯店大吃特吃了一頓。因為是新年,我們不亦樂乎,父母雖然會生氣,但也因為是新年,也就說我們兩句,就又不管我們了!新年的第一天,是我們這群小孩子目前為止最快樂的一天了,這天我們可以肆無忌憚,這天我們可以適量闖禍,這天的我們格外開心,這天的我們是一個有主見的“成人”。02軟件工程模式02軟件工程模式我們中華明族最盛大的事情,每年全族人民都歡欣鼓舞的事,莫過于我們的傳統(tǒng)節(jié)日——春節(jié)了!春節(jié)也稱過年,這一天,家家戶戶都張燈結(jié)彩,在晚上,街道上燈光閃閃,沒有一點漆黑,自然也沒有一點害怕。而新年的第一天,是我們小孩子最快樂的一天了,這天,我們這群孩子,家家戶戶的拜年,最重要的是可以拿壓歲錢。這可是我們的一個最大的樂趣,雖然,壓歲錢會被父母拿去,但是,我們還是很開心。這天晚上,我們這群小伙伴聚集在一起出去玩,作文我們從家走了很長時間,到了街上,這時,我們的日子來了,雖然壓歲錢會被上交,但在上交之前,我們要好好的享受一頓,于是,我們在超市,燒烤店,飯店大吃特吃了一頓。因為是新年,我們不亦樂乎,父母雖然會生氣,但也因為是新年,也就說我們兩句,就又不管我們了!新年的第一天,是我們這群小孩子目前為止最快樂的一天了,這天我們可以肆無忌憚,這天我們可以適量闖禍,這天的我們格外開心,這天的我們是一個有主見的“成人”。本章內(nèi)容安排軟件工程模式瀑布模型原型開發(fā)模型螺旋模型四代技術(shù)混合模型面向?qū)ο笊嫫谀P徒y(tǒng)一的軟件開發(fā)過程基于構(gòu)件的軟件開發(fā)Web服務(wù)02軟件工程模式全文共38頁,當(dāng)前為第1頁。本章內(nèi)容安排軟件工程模式瀑布模型原型開發(fā)模型螺旋模型四代技術(shù)混合模型面向?qū)ο笊嫫谀P徒y(tǒng)一的軟件開發(fā)過程基于構(gòu)件的軟件開發(fā)Web服務(wù)02軟件工程模式全文共38頁,當(dāng)前為第2頁。軟件工程四個關(guān)鍵元素方法(Methodologies)提供如何構(gòu)造軟件的技術(shù)語言(Languages)用于支持軟件的分析、設(shè)計和實現(xiàn)工具(Tools)為方法和語言提供自動化或半自動化的支持過程(Procedures)02軟件工程模式全文共38頁,當(dāng)前為第3頁。軟件工程過程軟件工程過程是黏結(jié)劑(glue),把方法、語言和工具黏結(jié)在一起,使得計算機軟件開發(fā)理性化定義了方法使用的順序、可交付產(chǎn)品(文檔、報告以及格式等)的要求幫助確保質(zhì)量和變更(修改)的控制使軟件管理人員能對項目的進展進行評價02軟件工程模式全文共38頁,當(dāng)前為第4頁。軟件工程模式軟件工程由系列方法、語言、工具和過程的步驟所組成,這些步驟稱之為軟件工程模式(Patterns)軟件工程模式又叫做軟件工程范例(Paradigms)、軟件生存周期模型(Life-CycleModel)、軟件開發(fā)過程(DevelopmentProcesses)或軟件過程(SoftwareProcesses)軟件工程模式的選擇則是根據(jù)項目和應(yīng)用的性質(zhì),方法和語言及工具的使用,控制和可交付產(chǎn)品的要求等因素決定02軟件工程模式全文共38頁,當(dāng)前為第5頁。瀑布模型(WaterfallModel)02軟件工程模式全文共38頁,當(dāng)前為第6頁。02軟件工程模式全文共38頁,當(dāng)前為第7頁。02軟件工程模式全文共38頁,當(dāng)前為第8頁。02軟件工程模式全文共38頁,當(dāng)前為第9頁。三類原型開發(fā)方法根據(jù)應(yīng)用不同,原型開發(fā)可分為:拋棄式原型的最大用處是輔助分析和確定用戶需求,及解決系統(tǒng)任何部位的不確定性問題演化式原型可以作為一種開發(fā)方法,用于對付系統(tǒng)頻繁更改最有效的方法。與拋棄式原型不同,利用演化能成為最終系統(tǒng)增量式原型開發(fā)與演化式原型不同,它是建立在軟件總體設(shè)計基礎(chǔ)上的??梢宰鳛槠俨寄P烷_發(fā)的補充02軟件工程模式全文共38頁,當(dāng)前為第10頁。螺旋模型(SpiralModel)02軟件工程模式全文共38頁,當(dāng)前為第11頁。關(guān)于螺旋模型螺旋模型的特點綜合了瀑布模型和原型開發(fā)模型的優(yōu)點增加了一個新的元素,即風(fēng)險分析(RiskAnalysis)。用于彌補兩者的不足螺旋模型的四個活動計劃確定目標、可選方案和限制風(fēng)險分析可選方案的分析和風(fēng)險的確定和解決工程產(chǎn)品的開發(fā)用戶評價對工程結(jié)果的評價螺旋模型的應(yīng)用是當(dāng)前大型系統(tǒng)開發(fā)最好和最現(xiàn)實的方法02軟件工程模式全文共38頁,當(dāng)前為第12頁。四代技術(shù)(Fourth-GenerationTechniques,4GT)02軟件工程模式全文共38頁,當(dāng)前為第13頁。關(guān)于4GT4GT是20世紀80年代為快省且好的開發(fā)數(shù)據(jù)處理系統(tǒng)發(fā)展起來的一種程序重用方法這種模式都有一組工具,它們都有一個共同的特點,即每個工具都能夠使軟件開發(fā)人員在高層次上定義軟件的某些特點,并把其定義的這些特點自動地生成源代碼。應(yīng)用領(lǐng)域局限于事務(wù)信息系統(tǒng)的應(yīng)用程序,特別是信息分析和報表,關(guān)鍵是需要大型數(shù)據(jù)庫;新的CASE工具支持用4GT自動生成工程和實時應(yīng)用方面的框架代碼對于中小型應(yīng)用軟件,生產(chǎn)所需時間大幅度減少,而且小型應(yīng)用軟件設(shè)計和分析的數(shù)量也明顯減少用4GT開發(fā)大型軟件需要同樣多或更多的分析、設(shè)計和測試工作量02軟件工程模式全文共38頁,當(dāng)前為第14頁?;旌夏P停℉ybridModel)實例02軟件工程模式全文共38頁,當(dāng)前為第15頁。關(guān)于混合模型-1混合模型的提出最早由美國國防部軟件工程研究所(DODSEI)和美國卡內(nèi)基-梅隆大學(xué)(CMU)1985年發(fā)表的<程序設(shè)計過程研究>、<程序設(shè)計體系結(jié)構(gòu)>報告中提出的許多項目很少能完全按上面討論各模型定義所確定的階段一步一步地進行。因為,任何一個項目的開發(fā)完全取決于軟件的應(yīng)用領(lǐng)域、規(guī)模大小、可重用構(gòu)件的大小和多少、軟件實現(xiàn)的硬/軟件環(huán)境、開始和交付的規(guī)定、周期和成本的限制,以及開發(fā)人員的素質(zhì)等因素。還有一個對開發(fā)過程影響更大且經(jīng)常被忽視的重要因素,這就是用戶的需求從提出的第一天開始,直到軟件被廢棄為止都在改變。為此,需要開發(fā)一種更加靈活、更為動態(tài)的方法來解決軟件開發(fā)過程中遇到的各種問題02軟件工程模式全文共38頁,當(dāng)前為第16頁。關(guān)于混合模型-2混合模型的四個階段分析階段:構(gòu)思和預(yù)計劃,以及需求分析,規(guī)格說明等活動綜合階段:系統(tǒng)構(gòu)造階段運行階段:系統(tǒng)的修改和維護,以及目標環(huán)境的修改和維護廢棄階段02軟件工程模式全文共38頁,當(dāng)前為第17頁。關(guān)于混合模型-3混合模型目前,軟件企業(yè)一般都采用混合模型開發(fā)軟件是把瀑布、原型、螺旋和4GT開發(fā)模式組合起來,允許一個項目可以根據(jù)項目特征和要求及企業(yè)自身的開發(fā)條件(技術(shù)的和管理的)選擇一條最有效的路徑好處:給企業(yè)管理者和開發(fā)者提供了一個舞臺,使每個模型的長處都得到發(fā)揮。但由此對企業(yè)管理和技術(shù)都提出了更高要求02軟件工程模式全文共38頁,當(dāng)前為第18頁。面向?qū)ο笊嫫谀P兔嫦驅(qū)ο蠛兔嫦驅(qū)ο笊嫫诘奶岢?0世紀80年代,結(jié)構(gòu)化方法雖然使人們對軟件的認識重點從組成程序的語句序列轉(zhuǎn)到了構(gòu)成軟件的模塊序列,但仍不足以從根本上解決軟件問題,于是提出了面向?qū)ο蟮姆椒?0世紀90年代初,隨著OO(Object-Oriented)技術(shù)的逐漸成熟,提出了OO生存期開發(fā)模式OO生存期的特點傳統(tǒng)的生存期有邏輯數(shù)據(jù)設(shè)計和邏輯過程設(shè)計這兩個不同階段,而OO生存期將這兩個階段合并為一個既包含數(shù)據(jù)又包含過程的類設(shè)計,即完成高層分析和設(shè)計的類應(yīng)包含的數(shù)據(jù)和過程在OO生存期中,仍然有分析、設(shè)計和實現(xiàn)三個階段分析是以自頂向下的方式完成的,其產(chǎn)品是一系列相當(dāng)高層的類和它們之間的相互關(guān)系和作用OO生存模型的主要不同體現(xiàn)在設(shè)計階段;設(shè)計是一個兩階段過程:類設(shè)計和應(yīng)用程序設(shè)計與傳統(tǒng)的生存期比較,在性質(zhì)上可以有更多的遞增和迭代02軟件工程模式全文共38頁,當(dāng)前為第19頁。OO演化開發(fā)生存期02軟件工程模式全文共38頁,當(dāng)前為第20頁。主要特點中間部分的設(shè)計和編碼循環(huán)為快速更新代碼生成提供了基礎(chǔ),這是原型開發(fā)生存期的精髓這種迭代過程有利于減少軟件開發(fā)的風(fēng)險02軟件工程模式全文共38頁,當(dāng)前為第21頁。OOSE迭代生存期02軟件工程模式全文共38頁,當(dāng)前為第22頁。主要特點類似于原型開發(fā)中的增量模型不同的是下一個增量的分析階段可以與當(dāng)前增量的實現(xiàn)階段重疊02軟件工程模式全文共38頁,當(dāng)前為第23頁。統(tǒng)一的軟件開發(fā)過程02軟件工程模式全文共38頁,當(dāng)前為第24頁。關(guān)于統(tǒng)一的軟件開發(fā)過程統(tǒng)一的軟件開發(fā)過程(theUnifiedSoftwareDevelopmentProcess)20世紀90年代末,RationalSoftware公司的

Jacobson、Booch和Rumbaugh三人繼UML

之后推出的?;跇?gòu)件、使用可視化建模語言UML分四個階段:初始、細化、構(gòu)造和移交依靠三個關(guān)鍵思想:用例驅(qū)動、體系結(jié)構(gòu)為中心和迭代增量開發(fā)02軟件工程模式全文共38頁,當(dāng)前為第25頁。四個階段初始主要對提出的有關(guān)基本思想進行充分論證,考慮項目效益,確定項目規(guī)模細化主要收集更為詳細的需求,進行高層分解和設(shè)計,定義系統(tǒng)的體系結(jié)構(gòu)框架,并為構(gòu)造階段制定計劃構(gòu)造由多次選代組成,每次迭代都包含軟件生存期的所有活動。每次迭代都要增加一些新功能,解決一些新問題。每次所得產(chǎn)品都應(yīng)滿足項目需求的某一子集,或交用戶,或內(nèi)部交付移交除交付產(chǎn)品外,還有測試和用戶培訓(xùn)等02軟件工程模式全文共38頁,當(dāng)前為第26頁。用例驅(qū)動用例驅(qū)動(use-casedriver)是Jacobson在“OOSE”一書中首先提出的,有四個理由:能夠提供一個系統(tǒng)的、直覺捕捉功能需求的平臺能夠驅(qū)動整個開發(fā)過程使用用例可以幫助完成迭代開發(fā)在初始的迭代中,通過選擇并實現(xiàn)適當(dāng)?shù)挠美?,便可以用一個穩(wěn)定的體系結(jié)構(gòu)來實現(xiàn)一個系統(tǒng)02軟件工程模式全文共38頁,當(dāng)前為第27頁。體系結(jié)構(gòu)為中心體系結(jié)構(gòu)為中心(architecture-centric)

這是在統(tǒng)一的軟件開發(fā)過程的生存期中第一次提出來的,其目的:理解系統(tǒng)組織開發(fā)促進重用發(fā)展系統(tǒng)

由此可見,結(jié)構(gòu)的設(shè)計問題已遠遠超出了計算的算法和數(shù)據(jù)結(jié)構(gòu)范圍02軟件工程模式全文共38頁,當(dāng)前為第28頁。迭代和增量開發(fā)迭代和增量(iterativeandincremental)開發(fā)

最早是在原型和OO生存期模型中提出來的,主要目的是用于控制軟件的開發(fā),以降低風(fēng)險為了早期致命的和重大的風(fēng)險能得到控制為了得到一個健壯的體系結(jié)構(gòu),以指導(dǎo)軟件開發(fā)為了提供一個框架,能較好地控制不可避免的需求和其他修改為了構(gòu)造一個系統(tǒng),多次增量接近比一次完成所帶來的各種開銷要少,而且質(zhì)量要高為了提供一個開發(fā)過程,讓技術(shù)人員更為有效為了讓開發(fā)人員能夠獲得早期學(xué)習(xí)的機會02軟件工程模式全文共38頁,當(dāng)前為第29頁?;跇?gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)(Component-BasedSoftwareDevelopment,CBD)是在軟件重用和OO技術(shù)的基礎(chǔ)上發(fā)展起來的。說到底,也是從硬件引入的就是使用可重用的軟件來設(shè)計和構(gòu)造基于計算機的軟件系統(tǒng)前述7種軟件工程模式都是面向過程的。而CBD是第一個提出面向結(jié)構(gòu)的軟件產(chǎn)業(yè)要發(fā)展,并形成規(guī)模經(jīng)濟,標準構(gòu)件的生產(chǎn)和構(gòu)件的重用是關(guān)鍵。有人估計,將來軟件工程職業(yè),5%

為構(gòu)件工程師95%為組裝工程師02軟件工程模式全文共38頁,當(dāng)前為第30頁。關(guān)于構(gòu)件應(yīng)用系統(tǒng)結(jié)構(gòu)的構(gòu)件

一般包含三類通用基本構(gòu)件領(lǐng)域共性構(gòu)件應(yīng)用專用構(gòu)件應(yīng)用軟件開發(fā)中的重復(fù)勞動主要存在于前兩類構(gòu)件上,這樣我們就可以充分利用過去應(yīng)用系統(tǒng)開發(fā)中積累的知識和經(jīng)驗,從而將開發(fā)的重點集中在應(yīng)用專用構(gòu)件的開發(fā)上,通過軟件重用,不僅可以消除重復(fù)勞動,而且還可以避免重新開發(fā)可能引入的錯誤02軟件工程模式全文共38頁,當(dāng)前為第31頁。關(guān)于軟件重用軟件重用發(fā)展中的主要問題技術(shù)方面:重用構(gòu)件如何確定、獲取、存儲、檢索和組裝等非技術(shù)方面:怎樣確定標準化、知識產(chǎn)權(quán)、機構(gòu)組織、前期投入和管理等要實現(xiàn)軟件重用需要解決的問題重用軟件(構(gòu)件)的開發(fā)應(yīng)用系統(tǒng)如何構(gòu)造和組裝02軟件工程模式全文共38頁,當(dāng)前為第32頁。影響軟件重用的一些關(guān)鍵因素02軟件工程模式全文共38頁,當(dāng)前為第33頁。一個支持CBD軟件過程模型02軟件工程模式全文共38頁,當(dāng)前為第34頁。關(guān)于領(lǐng)域工程上述CBD軟件過程模型是Pressman給出的,它由領(lǐng)域工程模型和基于構(gòu)件開發(fā)模型組成領(lǐng)域工程創(chuàng)建應(yīng)用模型,可以被從事基于構(gòu)

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論