本地-01高級軟件工程基礎_第1頁
本地-01高級軟件工程基礎_第2頁
本地-01高級軟件工程基礎_第3頁
本地-01高級軟件工程基礎_第4頁
本地-01高級軟件工程基礎_第5頁
已閱讀5頁,還剩95頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程基礎軟件工程基礎圖圖1-7 V模型模型圖圖1-8 V模型改進模型改進-W模型模型圖圖1-10 構(gòu)建集成模型構(gòu)建集成模型圖圖1-11 智能模智能模型型圖圖1-11 智能模型智能模型n工程是對技術(或社會)實體的分析、設計、建造、驗證和管理。n拋開要工程化的實體,下列問題是必須首先回答的:要解決的問題是什么?要用于解決該問題的實體具有什么特點?如何實現(xiàn)該實體(解決方案)?如何建造該實體?采用什么方法去發(fā)現(xiàn)該實體設計和建造過程中產(chǎn)生的錯誤?當該實體的用戶要求修改、適應和增強時,如何支持這些活動? 軟件工程過程(軟件工程過程(Software Engineering Process)是為獲得軟

2、件產(chǎn)品,在軟件工具支持)是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動。下由軟件工程師完成的一系列軟件工程活動。 軟件工程的過程則是將軟件工程的方法和工軟件工程的過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。件開發(fā)的目的。 過程定義了方法使用的順序、要求交付的文過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑。、及軟件開發(fā)各個階段完成的里程碑。n P(Plan)P(Plan)軟件規(guī)格說明軟件規(guī)格

3、說明: : 規(guī)定軟件的功能及其運行的規(guī)定軟件的功能及其運行的 限制;限制;n D(Do)D(Do)軟件開發(fā)軟件開發(fā): : 產(chǎn)生滿足規(guī)格說明的軟件產(chǎn)生滿足規(guī)格說明的軟件n C(Check)C(Check)軟件確認軟件確認: : 確認軟件能夠完成客戶提出的要求確認軟件能夠完成客戶提出的要求n A(Action)A(Action)軟件演進軟件演進: : 為滿足客戶的變更要求,軟件必須在使用為滿足客戶的變更要求,軟件必須在使用的過程中演進的過程中演進 編碼修復模型編碼修復模型編碼修復模型的特點編碼修復模型的特點n過程技術工具可以幫助軟件組織分析它們當前的過程,組織工作任務,控制和監(jiān)管進度,以及管理技術

4、質(zhì)量。n一旦創(chuàng)建了一個可接受的過程,就可以使用其他過程技術工具來分配、監(jiān)管、甚至控制過程模型中定義的所有軟件工程任務。如果過程很弱,最終產(chǎn)品不可避免會出問如果過程很弱,最終產(chǎn)品不可避免會出問題。題。但過分依賴過程也是很危險的。但過分依賴過程也是很危險的。CMM CMM 能力成熟度模型能力成熟度模型(Capability Maturity Model)(Capability Maturity Model) 人員人員方 法 與 規(guī)方 法 與 規(guī)程程技 術 與 工技 術 與 工具具過程過程產(chǎn)品產(chǎn)品軟件過程改進概述軟件過程改進概述CMMCMM發(fā)展簡史發(fā)展簡史n軟件工程研究所(SEI)提出了個綜合模型,

5、定義了當一個組織達到不同的過程成熟度時應該具有的軟件工程能力。n為了確定一個組織目前的過程成熟度,SEI 使用了一個五級的評估方案,即能力成熟度模型CMM.n該模型定義了在不同的過程成熟度級別上所需要的關鍵活動.第一級:初始級第一級:初始級n軟件過程的特征是無序的,有時甚至是混亂的。幾乎沒有過程定義,成功完全取決于個人的能力。第二級:可重復級第二級:可重復級n建立了基本的項目管理過程,能夠追蹤費用、進度和功能。有適當?shù)谋匾倪^程規(guī)范,使得可以重現(xiàn)以前類似項目的成功.第三級:定義級第三級:定義級n用于管理和工程活動的軟件過程已經(jīng)文檔化、標準化,并與整個組織的軟件過程相集成。所有項目都使用文檔化的

6、、組織認可的過程來開發(fā)和維護軟件。本級包含了第二級的所有特征。第四級:管理級第四級:管理級n軟件過程和產(chǎn)品質(zhì)量的詳細度量數(shù)據(jù)被收集,通過這些度量數(shù)據(jù),軟件過程和產(chǎn)品能夠被定量地理解和控制。本級包含了第三級的所有特征。第五級:優(yōu)化級第五級:優(yōu)化級n通過定量的反饋,進行不斷的過程改進,這些反饋來自于過程或通過測試新的想法和技術而得到。本級包含了第四級的所有特征。 CMM的結(jié)構(gòu)是層次化的結(jié)構(gòu),包括級、關鍵過程的結(jié)構(gòu)是層次化的結(jié)構(gòu),包括級、關鍵過程域域(18個個)、公共特征、公共特征(5類類)和關鍵實施和關鍵實施(316個個),劃分了,劃分了5個級別。個級別。 關鍵過程域是指一系列相互關聯(lián)操作活動,這

7、些關鍵過程域是指一系列相互關聯(lián)操作活動,這些活動反映了一個軟件組織改進軟件過程時必須集中力活動反映了一個軟件組織改進軟件過程時必須集中力量改進的方面。公共特征有效指出了一個量改進的方面。公共特征有效指出了一個KPA的實現(xiàn)的實現(xiàn)范圍、結(jié)構(gòu)要求和實施內(nèi)容,包括:執(zhí)行約定、執(zhí)行范圍、結(jié)構(gòu)要求和實施內(nèi)容,包括:執(zhí)行約定、執(zhí)行能力、實施活動、度量和分析、驗證實施。關鍵實踐能力、實施活動、度量和分析、驗證實施。關鍵實踐是一些主要的實踐活動,它是組成是一些主要的實踐活動,它是組成KPA的單元。比如:的單元。比如:遵循已文檔化的規(guī)程制訂項目的軟件開發(fā)計劃是軟件遵循已文檔化的規(guī)程制訂項目的軟件開發(fā)計劃是軟件項目

8、計劃的一個關鍵實踐。項目計劃的一個關鍵實踐。 CMMCMM的結(jié)構(gòu)的結(jié)構(gòu)過程成熟度第二級過程成熟度第二級n軟件配置管理n軟件質(zhì)量保證n軟件子合同管理n軟件項目追蹤和查錯n軟件項目計劃n需求管理過程成熟度第三級過程成熟度第三級n同級復審n組內(nèi)協(xié)調(diào)n軟件產(chǎn)品工程n集成的軟件管理n培訓計劃n組織的過程定義n組織的過程焦點過程成熟度第四級過程成熟度第四級n軟件質(zhì)量管理n定量的過程管理過程成熟度第五級過程成熟度第五級n過程變化管理n技術變化管理n缺陷預防CMMCMM等級評估等級評估CMM CMM 在中國在中國 將大項目分成若干里程碑式(將大項目分成若干里程碑式(MilestoneMilestone)的重)

9、的重要階段,各階段之間有緩沖時間,但不進行單要階段,各階段之間有緩沖時間,但不進行單獨的產(chǎn)品維護。獨的產(chǎn)品維護。運用想象描述和對特性的概要說明運用想象描述和對特性的概要說明(ProgramProgram SpecificationSpecification)指導項目。)指導項目。根據(jù)用戶行為(根據(jù)用戶行為(UserUser BehaviorBehavior)和有關用戶的)和有關用戶的資料確定產(chǎn)品特性及其優(yōu)先順序。資料確定產(chǎn)品特性及其優(yōu)先順序。建立模塊化的和水平式的設計結(jié)構(gòu),并使項目建立模塊化的和水平式的設計結(jié)構(gòu),并使項目結(jié)構(gòu)反映產(chǎn)品結(jié)構(gòu)的特點。結(jié)構(gòu)反映產(chǎn)品結(jié)構(gòu)的特點。靠個人負責和固定項目資源實

10、施控制??總€人負責和固定項目資源實施控制。微軟的產(chǎn)品定義與開發(fā)過程中遵循五個原則微軟的產(chǎn)品定義與開發(fā)過程中遵循五個原則nMSF 過程模型是從瀑布模型和螺旋模型發(fā)展而來的,它把瀑布模型中基于里程碑的規(guī)劃的優(yōu)勢與螺旋模型中增量迭代的長處結(jié)合了起來。nMSF 過程模型的基本元素是階段和里程碑。所謂“階段”,就是在這一段時間里團隊集中精力做某一類事情,每個階段的結(jié)束都代表了項目的進展和團隊工作重心的變化。比如在“開發(fā)階段”結(jié)束后,團隊就不再允許設計/實現(xiàn)新的功能,除非有充分理由的“變更請求”。 Rational Unified Process Rational Unified Process(簡稱(簡

11、稱RUPRUP)是)是一套軟件工程過程,主要由一套軟件工程過程,主要由The Objectory The Objectory Approch Approch 和和 The Rational Approch The Rational Approch 發(fā)展而來。發(fā)展而來。同時,它又是文檔化的軟件工程產(chǎn)品,所有同時,它又是文檔化的軟件工程產(chǎn)品,所有RUP RUP 的實施細節(jié)及方法導引均以的實施細節(jié)及方法導引均以WebWeb文檔的方式集成文檔的方式集成在一張光盤上,由在一張光盤上,由RationalRational公司開發(fā)、維護并公司開發(fā)、維護并銷售,當前版本是銷售,當前版本是RUP 2000RUP

12、2000。 RUPRUP又是一套軟件工程方法的框架,各個組又是一套軟件工程方法的框架,各個組織可根據(jù)自身的實際情況,以及項目規(guī)模對織可根據(jù)自身的實際情況,以及項目規(guī)模對RUPRUP進行裁剪和修改,以制定出合乎需要的軟件工進行裁剪和修改,以制定出合乎需要的軟件工程過程。程過程。 RUP RUP 吸收了多種開發(fā)模型的優(yōu)點,具有吸收了多種開發(fā)模型的優(yōu)點,具有很好的可操作性和實用性、從它一推出市很好的可操作性和實用性、從它一推出市場,憑借場,憑借RationalRational在業(yè)界的領導地位、以在業(yè)界的領導地位、以及與統(tǒng)一建模語言(及與統(tǒng)一建模語言(Unified Model Unified Mod

13、el Language , Language , 以下簡稱以下簡稱UMLUML)的良好集成、)的良好集成、多種多種CASECASE工具的支持、不斷的升級與維護,工具的支持、不斷的升級與維護,迅速得到業(yè)界廣泛的認同,越來越多的組迅速得到業(yè)界廣泛的認同,越來越多的組織(如織(如IBMIBM、MicrosoftMicrosoft、 SunSun)以它作為)以它作為軟件開發(fā)模型框架。軟件開發(fā)模型框架。RUPRUP簡述簡述 RUPRUP二維開發(fā)模型二維開發(fā)模型nRUPRUP可以用二維坐標來描述??梢杂枚S坐標來描述。n橫軸通過時間組織,是過程展開的生命周橫軸通過時間組織,是過程展開的生命周期特征,體現(xiàn)開

14、發(fā)過程的動態(tài)結(jié)構(gòu),用來期特征,體現(xiàn)開發(fā)過程的動態(tài)結(jié)構(gòu),用來描述它的術語主要包括周期、階段、迭代描述它的術語主要包括周期、階段、迭代和里程碑;和里程碑;n縱軸以內(nèi)容來組織為自然的邏輯活動,體縱軸以內(nèi)容來組織為自然的邏輯活動,體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術語主要包括活動、產(chǎn)物語主要包括活動、產(chǎn)物) )、工作者和工作流、工作者和工作流。 RUPRUP開發(fā)過程中的各個階段和里程碑開發(fā)過程中的各個階段和里程碑nRUPRUP中的軟件生命周期在時間上被分解為四中的軟件生命周期在時間上被分解為四個順序的階段,分別是:初始階段、細化個順序的階段,分別是:初始階段、細化

15、階段、構(gòu)造階段和交付階段。階段、構(gòu)造階段和交付階段。n每個階段結(jié)束于一個主要的里程碑;每個每個階段結(jié)束于一個主要的里程碑;每個階段本質(zhì)上是兩個里程碑之間的時間跨度階段本質(zhì)上是兩個里程碑之間的時間跨度。n在每個階段的結(jié)尾執(zhí)行一次評估以確定這在每個階段的結(jié)尾執(zhí)行一次評估以確定這個階段的目標是否已經(jīng)滿足。個階段的目標是否已經(jīng)滿足。n如果評估結(jié)果令人滿意的話,可以允許項如果評估結(jié)果令人滿意的話,可以允許項目進入下一個階段。目進入下一個階段。RUPRUP的迭代開發(fā)模式圖的迭代開發(fā)模式圖nRUP中的每個階段可以進一步分解為迭代。n一個迭代是一個完整的開發(fā)循環(huán),n產(chǎn)生一個可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個子

16、集,它增量式地發(fā)展,n從一個迭代過程到另一個迭代過程到成為最終的系統(tǒng)。RUPRUP的特點的特點n開發(fā)復用。減少開發(fā)人員的工作量,并保證軟件質(zhì)量;n項目初期可降低風險;n對需求進行有效管理;n可視化建模;n使用組件體系結(jié)構(gòu),使軟件體系架構(gòu)更具彈性;n貫穿整個開發(fā)周期的質(zhì)量核查;n對軟件開發(fā)的變更控制。敏捷軟件開發(fā)宣言敏捷軟件開發(fā)宣言 我們正在通過親身實踐以及幫助他人實踐,揭示更好的軟件開發(fā)方法。通過這項工作,我們認為:n個體和交互個體和交互 勝過 過程和工具n可以工作的軟件可以工作的軟件 勝過 面面俱到的文檔n客戶合作客戶合作 勝過 合同談判n響應變化響應變化 勝過 遵循計劃n雖然右項也具有價值

17、,但我們認為左項具有更大的價值。敏捷宣言遵循的原則敏捷宣言遵循的原則n我們最優(yōu)先要做的是通過盡早的、持續(xù)的交付有價值的軟件來使客戶滿意。n即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢。n經(jīng)常性地交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。n在整個項目開發(fā)期間,業(yè)務人員和開發(fā)人員必須天天都在一起工作。n圍繞被激勵起來的個體來構(gòu)建項目。給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作。n在團隊內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。n工作的軟件是首要的進度度量標準。n敏捷過程提倡可持續(xù)的開發(fā)速度。責任人、開發(fā)

18、者和用戶應該能夠保持一個長期的、恒定的開發(fā)速度。不斷地關注優(yōu)秀的技能和好的設計會增強敏不斷地關注優(yōu)秀的技能和好的設計會增強敏捷能力。捷能力。簡單簡單-使未完成的工作最大化的藝術使未完成的工作最大化的藝術-是是根本的。根本的。最好的構(gòu)架、需求和設計出自于自組織的團最好的構(gòu)架、需求和設計出自于自組織的團隊。隊。每隔一定時間,團隊會在如何才能更有效地每隔一定時間,團隊會在如何才能更有效地工作方面進行工作方面進行反省,然后相應地對自己的行為進行調(diào)整。反省,然后相應地對自己的行為進行調(diào)整。極限編程實踐極限編程實踐XPXPn完整團隊 XP 項目的所有參與者(開發(fā)人員、業(yè)務分析師、測試人員等等)一起工作在一個開放的場所中,他們是同一個團隊的成員。這個場所的墻壁上隨意懸掛著大幅的、顯著的圖表以及其他一些顯示他們進度的東西。n計劃游戲 計劃是持續(xù)的、循序漸進的。每2周,開發(fā)人員就為下2周估算候選特性的成本,而客戶則根據(jù)成本和商務價值來選擇要實現(xiàn)的特性。n客戶測試 作為選擇每個所期望的特性的一部分,客戶定義出自動驗收測試來表明該特性可以工作。n簡單設計 團隊保持設計恰好和當前的系統(tǒng)功能相匹配。它通過了所有的測試,不包含任何重復,表達出了編寫者想表達的所有東西,并且包含盡可能少的代碼

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論