軟件過(guò)程教學(xué)文案_第1頁(yè)
軟件過(guò)程教學(xué)文案_第2頁(yè)
軟件過(guò)程教學(xué)文案_第3頁(yè)
軟件過(guò)程教學(xué)文案_第4頁(yè)
軟件過(guò)程教學(xué)文案_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件過(guò)程2.1軟件過(guò)程的定義與內(nèi)涵軟件開(kāi)發(fā)過(guò)程支持過(guò)程組織過(guò)程基本過(guò)程獲取過(guò)程供應(yīng)過(guò)程開(kāi)發(fā)過(guò)程運(yùn)作過(guò)程維護(hù)過(guò)程文檔編制過(guò)程配置管理過(guò)程質(zhì)量保證過(guò)程驗(yàn)證過(guò)程確認(rèn)過(guò)程聯(lián)合評(píng)審過(guò)程審核過(guò)程問(wèn)題解決過(guò)程管理過(guò)程基礎(chǔ)設(shè)施過(guò)程改進(jìn)過(guò)程培訓(xùn)過(guò)程2.1軟件過(guò)程的定義與內(nèi)涵內(nèi)涵在活動(dòng)的時(shí)間進(jìn)程上要遵循軟件工程原理實(shí)行分階段,實(shí)行階段評(píng)審和控制。在活動(dòng)的執(zhí)行順序上可以有循環(huán)、往復(fù)、重疊、迭代、嵌套或者是有條件地引發(fā),不一定都是線性順序。在活動(dòng)的內(nèi)容上是遵循自頂向下、層層分解、逐步抽象與細(xì)化的思想。在構(gòu)建軟件的結(jié)構(gòu)上遵循模塊分解原理,可以自頂向下,也可自底向上。按基線與里程碑的目標(biāo)進(jìn)行總結(jié)、評(píng)審、調(diào)整和部署階段活動(dòng)。軟件過(guò)程的活動(dòng)集合和活動(dòng)順序貫穿了軟件開(kāi)發(fā)的方法論。即把軟件工程分階段、分層次、逐步細(xì)化、基線與里程碑、階段評(píng)審、變更管理、過(guò)程監(jiān)控等基本原理貫穿在整個(gè)活動(dòng)當(dāng)中。2.2軟件生命周期軟件生存周期:軟件產(chǎn)品從定義到開(kāi)發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱(chēng)為生存周期。劃分階段的目的:把整個(gè)生存周期劃分為若干較小的階段,每個(gè)階段有明確的任務(wù)界限,能夠簡(jiǎn)化每一步的工作內(nèi)容,使得因?yàn)檐浖?guī)模增長(zhǎng)而帶來(lái)的軟件開(kāi)發(fā)復(fù)雜性增大變得容易控制和管理。生存周期的基本劃分:分成三個(gè)大的階段也稱(chēng)三個(gè)時(shí)期,即計(jì)劃時(shí)期、開(kāi)發(fā)時(shí)期和運(yùn)行時(shí)期。2.2軟件生命周期開(kāi)發(fā)時(shí)期

(1)問(wèn)題定義

(2)可行性研究(3)需求分析(4)總體設(shè)計(jì)(5)詳細(xì)設(shè)計(jì)(6)實(shí)現(xiàn)(7)測(cè)試(7)運(yùn)行和維護(hù)上游(分析師設(shè)計(jì)師任務(wù))下游(程序員測(cè)試員任務(wù))計(jì)劃時(shí)期運(yùn)行時(shí)期2.2軟件生命周期計(jì)劃時(shí)期:是軟件項(xiàng)目的初始階段。主要活動(dòng)及順序是問(wèn)題定義和可行性研究;活動(dòng)內(nèi)容是搞清軟件的開(kāi)發(fā)目的、規(guī)模、約束條件和技術(shù)方案,屬論證階段;目標(biāo)是獲取軟件開(kāi)發(fā)項(xiàng)目。開(kāi)發(fā)時(shí)期:軟件開(kāi)發(fā)的第二階段。包括的活動(dòng)及順序是分析、設(shè)計(jì)和實(shí)現(xiàn);活動(dòng)內(nèi)容是逐步細(xì)化軟件模型、經(jīng)過(guò)編碼和測(cè)試,最終得到可運(yùn)行的軟件。開(kāi)發(fā)時(shí)期屬實(shí)質(zhì)性開(kāi)發(fā)階段;目標(biāo)是構(gòu)建高質(zhì)量的軟件。運(yùn)行時(shí)期:軟件生存周期的最后階段,軟件處在運(yùn)行中,往往也是最長(zhǎng)階段。主要活動(dòng)就是維護(hù);活動(dòng)內(nèi)容是治療和進(jìn)化軟件;目標(biāo)是延長(zhǎng)軟件的壽命。2.2軟件生命周期軟件生存周期與軟件過(guò)程的關(guān)系軟件過(guò)程:主要指軟件產(chǎn)品的生產(chǎn)加工過(guò)程,關(guān)注加工過(guò)程所具有的方法論、活動(dòng)集合和活動(dòng)的時(shí)間順序生命周期:指軟件產(chǎn)品的壽命,關(guān)注軟件從誕生到消亡的生命歷程,實(shí)質(zhì)內(nèi)容也就是軟件過(guò)程;2.3軟件過(guò)程與軟件工程概念的產(chǎn)與關(guān)系對(duì)于一般的物理產(chǎn)品,分別稱(chēng)為“產(chǎn)品過(guò)程”和“產(chǎn)品工程”產(chǎn)品過(guò)程:從原料(投入)到產(chǎn)品(產(chǎn)出)的加工過(guò)程(工藝流程/工作流程),完成產(chǎn)品的加工,從工藝的角度考慮如何獲得高質(zhì)量的產(chǎn)品,關(guān)注產(chǎn)品加工的方法、工具,利用技術(shù)完成產(chǎn)品加工的具體活動(dòng)和步驟;產(chǎn)品工程:講究的是管理,利用管理手段將產(chǎn)品加工過(guò)程中投入的資源進(jìn)行有效調(diào)控和整合,以質(zhì)量為核心,追求投入產(chǎn)出的效益和效率最大化(目標(biāo))。主要開(kāi)展質(zhì)量管理、成本管理、工程進(jìn)度與資源管理等。對(duì)于軟件產(chǎn)品成為“軟件過(guò)程”和“軟件工程”2.3軟件過(guò)程與軟件工程軟件過(guò)程與軟件工程關(guān)系過(guò)程是生產(chǎn)加工的技術(shù)層面,工程是向過(guò)程要效益的管理層面。產(chǎn)品工程(計(jì)劃、協(xié)調(diào)、控制)產(chǎn)品過(guò)程(工藝流程)工序1工序2工序n產(chǎn)品原料人力資金設(shè)備原料工期質(zhì)量效益效率2.3軟件過(guò)程與軟件工程軟件過(guò)程≠軟件工程,軟件過(guò)程是軟件工程的子集。從軟件工程三要素看,“軟件過(guò)程”是三要素中的底層要素,在搞清過(guò)程所涉及的活動(dòng)基礎(chǔ)上,才能進(jìn)一步研究活動(dòng)的方法和工具;從軟件工程的三維全景看,“軟件過(guò)程”是三維中的一個(gè)側(cè)面,但卻是軟件工程進(jìn)行投入產(chǎn)出的實(shí)質(zhì)性活動(dòng)的一面,只有按著過(guò)程進(jìn)行才能邁向軟件工程的目標(biāo)。工具方法過(guò)程質(zhì)量焦點(diǎn)圖1-4軟件工程三要素:過(guò)程、方法和工具圖1-5軟件工程的三維全景圖選取適宜的開(kāi)發(fā)模型采用合適的設(shè)計(jì)方法高質(zhì)量的工程支持選取適宜的開(kāi)發(fā)模型重視軟件工程的管理可用性正確性性合算基本過(guò)程支持過(guò)程組織過(guò)程過(guò)

程目標(biāo)(高質(zhì)量高效益)原則軟件過(guò)程2.4軟件開(kāi)發(fā)模型瀑布模型活動(dòng)及流程:瀑布模型安排的活動(dòng)就如同流水一樣拾階而下,意味著沒(méi)有回頭路,從問(wèn)題定義到運(yùn)行維護(hù)整個(gè)生存周期所經(jīng)歷的活動(dòng)是順序的、流過(guò)式的,也稱(chēng)線性順序模型。問(wèn)題定義需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試計(jì)劃階段(Why,What)運(yùn)行階段(Change)可行性研究開(kāi)發(fā)階段(How)2.4軟件開(kāi)發(fā)模型瀑布模型的特點(diǎn):活動(dòng)間具有順序性和依賴(lài)性。前一個(gè)活動(dòng)的輸出是下一活動(dòng)的輸入,必須等前一階段的工作完成之后,才能開(kāi)始后一階段的工作;推遲實(shí)現(xiàn)的觀點(diǎn)。充分做好前期的分析和設(shè)計(jì)工作,將邏輯設(shè)計(jì)與物理實(shí)現(xiàn)分離,不要急于編碼,盡可能推遲程序的物理實(shí)現(xiàn),減少返工量;質(zhì)量保證的觀點(diǎn)瀑布模型局限性:需求分析是成敗關(guān)鍵;不適合需求模糊的系統(tǒng);很難適應(yīng)需求變化;2.4軟件開(kāi)發(fā)模型原型模型活動(dòng)及流程:快速原型法就是根據(jù)用戶(hù)的初步需求,開(kāi)發(fā)人員利用某種圖形工具,將軟件要實(shí)現(xiàn)的功能,通過(guò)人機(jī)交互界面呈現(xiàn)給用戶(hù),雙方在此基礎(chǔ)上討論、修改、完善軟件要實(shí)現(xiàn)的功能、操作和數(shù)據(jù),最后雙方取得一致,作為進(jìn)一步開(kāi)發(fā)的依據(jù)。運(yùn)行維護(hù)生成原型系統(tǒng)設(shè)計(jì)程序設(shè)計(jì)測(cè)試編碼分析用戶(hù)需求原型化含原型化的軟件生存期聽(tīng)取用戶(hù)意見(jiàn)2.4軟件開(kāi)發(fā)模型快速原型模型的特點(diǎn):借助原型開(kāi)發(fā)工具可較容易地做出系統(tǒng)原型,及早向用戶(hù)展示系統(tǒng)要實(shí)現(xiàn)的界面及功能,增強(qiáng)用戶(hù)的合作信心;直觀化的表達(dá),容易交流,消除理解上的歧義;修改集中在前期的原型確認(rèn)上,較大程度減少后期實(shí)施中的返工。后續(xù)活動(dòng)遵循瀑布模型;入手快,加快開(kāi)發(fā)進(jìn)度;2.4軟件開(kāi)發(fā)模型增量模型活動(dòng)及流程:先完成一個(gè)系統(tǒng)子集的開(kāi)發(fā),再按同樣的開(kāi)發(fā)步驟增加子集,如此遞增下去直至滿足全部系統(tǒng)需求。每個(gè)增量可按快速原型法進(jìn)行。增量1分析設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試分析設(shè)計(jì)編碼測(cè)試增量2增量3增量n增量1交付客戶(hù)增量2交付客戶(hù)增量3交付客戶(hù)增量n交付客戶(hù)日歷時(shí)間……2.4軟件開(kāi)發(fā)模型增量模型的特點(diǎn):對(duì)于需求不能完全被掌握和了解的系統(tǒng),無(wú)須等待做出完整的需求就可入手,使用戶(hù)盡快見(jiàn)到開(kāi)發(fā)的成果,增強(qiáng)雙方信心;分步驟分塊開(kāi)發(fā),降低開(kāi)發(fā)的復(fù)雜性和難度,減少技術(shù)風(fēng)險(xiǎn),并可并行開(kāi)發(fā);邊開(kāi)發(fā)邊投入,可及早發(fā)現(xiàn)問(wèn)題,減少投資風(fēng)險(xiǎn);各個(gè)子集是逐漸并入已有的系統(tǒng)中,加入子集不能破壞已構(gòu)造好的部分,這需要軟件具備開(kāi)放式的體系結(jié)構(gòu);適用于需求不完整的軟件開(kāi)發(fā),指的是需求逐漸摸清、逐步完善,并非隨意改變,需求改變過(guò)大會(huì)導(dǎo)致整體性失控。2.4軟件開(kāi)發(fā)模型螺旋模型

計(jì)劃下一階段2.4軟件開(kāi)發(fā)模型演進(jìn)過(guò)程:每圈對(duì)應(yīng)線性順序模型中的一個(gè)開(kāi)發(fā)活動(dòng),每圈演進(jìn)一個(gè)活動(dòng)層次:第一圈:提出產(chǎn)品概念,做計(jì)劃(問(wèn)題定義,可行性研究);第二圈:產(chǎn)生產(chǎn)品規(guī)格說(shuō)明(需求分析);第三圈:產(chǎn)品結(jié)構(gòu)設(shè)計(jì)(總體設(shè)計(jì));第四圈:產(chǎn)生軟件產(chǎn)品比較完善的新版本(詳細(xì)設(shè)計(jì),編碼,測(cè)試);2.4軟件開(kāi)發(fā)模型每圈按順時(shí)針運(yùn)行分四個(gè)象限,這四個(gè)象限要完成這一圈的制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶(hù)評(píng)估四個(gè)步驟。從II象限開(kāi)始:第Ⅱ象限:制定計(jì)劃—確定目標(biāo),選定方案,弄清開(kāi)發(fā)的限制條件,確定完成本周期目標(biāo)的策略;第Ⅰ象限:風(fēng)險(xiǎn)分析—評(píng)估方案,識(shí)別和消除風(fēng)險(xiǎn),必要時(shí)做出對(duì)應(yīng)的原型,可確定、修改或終止項(xiàng)目;第Ⅳ象限:實(shí)施工程—對(duì)應(yīng)該圈的具體任務(wù)實(shí)施。如在分析圈,風(fēng)險(xiǎn)評(píng)估通過(guò)后,就可以實(shí)施需求分析活動(dòng);第Ⅲ象限:客戶(hù)評(píng)估—用戶(hù)參與評(píng)價(jià)前一步開(kāi)發(fā)工作,提出修正建議,制定下一步計(jì)劃。2.4軟件開(kāi)發(fā)模型螺旋模型特點(diǎn):多種模型結(jié)合的一種演進(jìn)模型,融合了瀑布模型、快速原型和增量模型的所有特點(diǎn),融進(jìn)了循環(huán)往復(fù)、迭代演進(jìn)的思想;增加前三種模型所忽略的風(fēng)險(xiǎn)分析,一旦風(fēng)險(xiǎn)成立,原方案應(yīng)終止、修訂,力求風(fēng)險(xiǎn)可控,客戶(hù)始終參與每個(gè)階段的開(kāi)發(fā),每個(gè)階段的成果需客戶(hù)確認(rèn),避免錯(cuò)誤的積累。2.4軟件開(kāi)發(fā)模型RUP模型RUP模型全面應(yīng)用了軟件開(kāi)發(fā)分段、分層、細(xì)化、往復(fù)、循環(huán)、迭代、并發(fā)、重疊、演進(jìn)、基線、里程碑、評(píng)審、控制等方法論。2.4軟件開(kāi)發(fā)模型RUP的二維模型:RUP分為時(shí)間軸(橫軸)和活動(dòng)內(nèi)容軸(縱軸)。橫軸是過(guò)程展開(kāi)的生命周期特征,體現(xiàn)開(kāi)發(fā)過(guò)程的動(dòng)態(tài)結(jié)構(gòu),用來(lái)描述它的術(shù)語(yǔ)主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)、基線(BaseLine)和里程碑(Milestone);縱軸是開(kāi)發(fā)活動(dòng),體現(xiàn)開(kāi)發(fā)過(guò)程的靜態(tài)結(jié)構(gòu),用來(lái)描述它的術(shù)語(yǔ)主要包括活動(dòng)(Activity)、產(chǎn)物(Artifact)、工作者(Worker)和工作流(Workflow)2.4軟件開(kāi)發(fā)模型橫軸的時(shí)間組織,劃分四個(gè)階段、四個(gè)里程碑。初始階段(Inception),該階段主要完成商業(yè)需求并確定項(xiàng)目的邊界,相當(dāng)于三段生命周期模型中的計(jì)劃時(shí)期。細(xì)化階段(Elaboration),該階段主要完成領(lǐng)域問(wèn)題分析和軟件的設(shè)計(jì)。構(gòu)造階段(Construction),該階段是產(chǎn)品的制造過(guò)程,以系統(tǒng)實(shí)現(xiàn)和測(cè)試為主,其重點(diǎn)放在管理資源及控制運(yùn)作以?xún)?yōu)化成本、進(jìn)度和質(zhì)量。交付階段(Transition),該階段的重點(diǎn)是確保軟件對(duì)最終用戶(hù)是可用的??v軸是活動(dòng)內(nèi)容組織?;顒?dòng)內(nèi)容就是軟件過(guò)程中的活動(dòng)集合。共有9個(gè)核心工作流,分為6個(gè)核心過(guò)程工作流(CoreProcessWorkflows)和3個(gè)核心支持工作流(CoreSupportingWorkflows)2.4軟件開(kāi)發(fā)模型6個(gè)核心過(guò)程工作流(CoreProcessWorkflows)是加工軟件進(jìn)行投入產(chǎn)出的實(shí)質(zhì)性活動(dòng)集。商業(yè)建模(BusinessModeling)商業(yè)建模是商務(wù)層面的活動(dòng),弄清項(xiàng)目邊界和約束,做出計(jì)劃。需求(Requirements)需求的目標(biāo)是描述系統(tǒng)應(yīng)該做什么,并使開(kāi)發(fā)人員和用戶(hù)就這一描述達(dá)成共識(shí)。分析和設(shè)計(jì)(Analysis&Design)分析和設(shè)計(jì)將需求轉(zhuǎn)化成計(jì)算機(jī)可以實(shí)現(xiàn)的模型,是將客觀世界虛擬到計(jì)算機(jī)世界的逐步細(xì)化過(guò)程。實(shí)現(xiàn)(Implementation)實(shí)現(xiàn)是用計(jì)算機(jī)可以理解的語(yǔ)言將設(shè)計(jì)模型組織成可執(zhí)行的文件、數(shù)據(jù),俗稱(chēng)編程。測(cè)試(Test)測(cè)試是發(fā)現(xiàn)軟件中的錯(cuò)誤,在實(shí)驗(yàn)環(huán)境下驗(yàn)證所有的需求是否被正確的實(shí)現(xiàn)。部署(Deployment)部署是將軟件分發(fā)給最終用戶(hù),安裝在真實(shí)的環(huán)境下,由用戶(hù)操作運(yùn)行。2.4軟件開(kāi)發(fā)模型3個(gè)核心支持工作流(CoreSupportingWorkflows)是對(duì)核心過(guò)程工作流的配套支持和管理,保障核心過(guò)程工作流順暢、高效運(yùn)行。配置和變更管理(Configuration&ChangeManagement)項(xiàng)目管理(ProjectManagement)對(duì)核心過(guò)程工作流進(jìn)行資源配置、評(píng)估監(jiān)控、風(fēng)險(xiǎn)控制、計(jì)劃調(diào)整等管理工作,做到投入產(chǎn)出的效益最大化。環(huán)境(Environment)環(huán)境是向軟件開(kāi)發(fā)組織提供軟件開(kāi)發(fā)環(huán)境,包括人員、設(shè)備、過(guò)程和工具,以及各種規(guī)范、指導(dǎo)手冊(cè)和保障措施。2.4軟件開(kāi)發(fā)模型RUP模型體現(xiàn)的思想重疊思想的表達(dá)更合理的生命周期模型結(jié)束關(guān)于RUP沒(méi)有維護(hù)活動(dòng)的爭(zhēng)論完美的增量開(kāi)發(fā)—雙重迭代基線與里程牌

RUP可靈活應(yīng)用2.4軟件開(kāi)發(fā)模型基本過(guò)程商業(yè)建模需求分析和設(shè)計(jì)實(shí)現(xiàn)部署支持過(guò)程配置與變更管理項(xiàng)目管理環(huán)境初步細(xì)化構(gòu)造交付........................產(chǎn)品目標(biāo)軟件結(jié)構(gòu)初始功能產(chǎn)品發(fā)布2.4軟件開(kāi)發(fā)模型產(chǎn)品發(fā)布初始功能軟件結(jié)構(gòu)產(chǎn)品目標(biāo)初始階段精化階段構(gòu)造階段交付階段下一個(gè)周期主要里程牌第一次迭代第二次迭代第N次迭代輔助里程牌版本1基線版本0基線2.4軟件開(kāi)發(fā)模型敏捷開(kāi)發(fā)(AgileDevelopment):敏捷開(kāi)發(fā)是一種以人為核心、客戶(hù)全面參與、以快為特點(diǎn)的迭代、循序漸進(jìn)的開(kāi)發(fā)方法。敏捷開(kāi)發(fā)的觀點(diǎn):個(gè)體和交互勝過(guò)過(guò)程和工具可以工作的軟件勝過(guò)面面俱到的文檔客戶(hù)合作勝過(guò)合同談判響應(yīng)變化勝過(guò)遵循計(jì)劃敏捷開(kāi)發(fā)方法SCRUMCrystalFDD(FeatureDrivenDevelopment)ASD(AdaptiveSoftwareDevelopment)XP(eXtremeProgramming)2.4軟件開(kāi)發(fā)模型敏捷開(kāi)發(fā)方法遵循一些共同原則:持續(xù)的交付有價(jià)值的軟件來(lái)使客戶(hù)滿意。交付的間隔越短越好??梢怨ぷ鞯能浖鞘滓倪M(jìn)度度量標(biāo)準(zhǔn)。歡迎改變需求。業(yè)務(wù)人員和開(kāi)發(fā)人員必須天天都在一起工作。對(duì)團(tuán)隊(duì)開(kāi)發(fā)人員充分信任。在團(tuán)隊(duì)內(nèi)部提倡面對(duì)面的交談。保持一個(gè)長(zhǎng)期的、恒定的開(kāi)發(fā)速度。優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力。最好的構(gòu)架、需求和設(shè)計(jì)出于自組織團(tuán)隊(duì)。簡(jiǎn)單是最根本的。2.4軟件開(kāi)發(fā)模型XP過(guò)程模型:極限編程(XP)是敏捷方法中一組輕量級(jí)的軟件開(kāi)發(fā)實(shí)踐。其主要特征是要適應(yīng)環(huán)境變化和需求變化,讓客戶(hù)全面參與軟件的開(kāi)發(fā)設(shè)計(jì),充分發(fā)揮開(kāi)發(fā)人員的主動(dòng)精神,降低軟件項(xiàng)目風(fēng)險(xiǎn),改善業(yè)務(wù)變化的反應(yīng)能力,提高開(kāi)發(fā)期間的生產(chǎn)力。聆聽(tīng)測(cè)試編碼設(shè)計(jì)反饋迭代2.4軟件開(kāi)發(fā)模型XP把軟件開(kāi)發(fā)過(guò)程重新定義為聆聽(tīng)、測(cè)試、編碼、設(shè)計(jì)的迭代循環(huán)過(guò)程。聆聽(tīng)客戶(hù)需求測(cè)試驅(qū)動(dòng)開(kāi)發(fā)TDD(Test-DrivenDevelopment)文獻(xiàn)【13】介紹了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的基本過(guò)程如下:快速新增一個(gè)測(cè)試;運(yùn)行所有的測(cè)試,發(fā)現(xiàn)新增的測(cè)試不能通過(guò)做一些小小的改動(dòng);運(yùn)行所有的測(cè)試,并且全部通過(guò);重構(gòu)代碼,以消除重復(fù)設(shè)計(jì),優(yōu)化設(shè)計(jì)結(jié)構(gòu)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)是有條件的開(kāi)放性軟件結(jié)構(gòu);開(kāi)發(fā)團(tuán)隊(duì)擁有“系統(tǒng)隱喻”;具備團(tuán)隊(duì)開(kāi)發(fā)環(huán)境和配套的測(cè)試工具2.4軟件開(kāi)發(fā)模型

XP的13個(gè)實(shí)踐。這13個(gè)實(shí)踐分三個(gè)層面:

2.4軟件開(kāi)發(fā)模型第一層面:XP的團(tuán)隊(duì)組織與需求響應(yīng),4個(gè)實(shí)踐:完整團(tuán)隊(duì)(WholeTeam)現(xiàn)場(chǎng)客戶(hù)(CustomerTests)計(jì)劃游戲(PlanningGame)小版本(SmallReleases)第二層面:開(kāi)發(fā)環(huán)境。XP之所以能實(shí)施以測(cè)試為驅(qū)動(dòng)、以編碼為核心,與它的開(kāi)發(fā)環(huán)境有關(guān)。XP環(huán)境建設(shè)有5個(gè)實(shí)踐:

隱喻(Metaphor)

持續(xù)集成(ContinuousIntegration)

代碼集體所有(Collectiveownership)

編碼標(biāo)準(zhǔn)(CodingStandard)可持續(xù)發(fā)展步伐(Sustainablepace)第三層面:XP的編程核心,4個(gè)實(shí)踐:

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test-DrivenDevelopment)

結(jié)隊(duì)編程(PairProgramming)

簡(jiǎn)單設(shè)計(jì)(SimpleDesign)重構(gòu)(Refactoring/DesignImprovement)2.5軟件開(kāi)發(fā)方法軟件開(kāi)發(fā)的本質(zhì):軟件開(kāi)發(fā)的本質(zhì)就是將“客觀世界”,映射(虛擬)到“計(jì)算機(jī)世界”。映射的過(guò)程也稱(chēng)“軟件開(kāi)發(fā)過(guò)程”或簡(jiǎn)稱(chēng)“軟件過(guò)程”。計(jì)算機(jī)世界映射(虛擬)客觀世界采用的方法有:面向過(guò)程面向?qū)ο竺嫦蚪M件逐步細(xì)化(軟件過(guò)程)2.5軟件開(kāi)發(fā)方法軟件開(kāi)發(fā)的方法:軟件開(kāi)發(fā)方法至今已經(jīng)歷三個(gè)重要階段:傳統(tǒng)的開(kāi)發(fā)方法、面向?qū)ο蟮拈_(kāi)發(fā)方法、面向組件的開(kāi)發(fā)方法。正迎來(lái)的面向服務(wù)和未來(lái)面向云計(jì)算的演變過(guò)程,面向服務(wù)面向組件面向?qū)ο竺嫦蜻^(guò)程面向云計(jì)算?2.5軟件開(kāi)發(fā)方法面向過(guò)程也稱(chēng)傳統(tǒng)開(kāi)發(fā)方法或結(jié)構(gòu)化開(kāi)發(fā)方法,該方法采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化編程和結(jié)構(gòu)化測(cè)試)來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。面向?qū)ο蟮能浖_(kāi)發(fā)方法起源于面向?qū)ο蟪绦蛟O(shè)計(jì),進(jìn)而發(fā)展出了面向?qū)ο蟮慕UZ(yǔ)言UML、面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程RUP、面向?qū)ο蟮母鞣N開(kāi)發(fā)平臺(tái)。面向組件也稱(chēng)面向架構(gòu)。架構(gòu)為開(kāi)發(fā)者提供了組件,并且提供了組件運(yùn)行的組織和管理容器。開(kāi)發(fā)者利用架構(gòu)就可以面向組件編程,然后將程序部署到容器上,由容器來(lái)管理組件的運(yùn)行,克服了體系結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)的困難。面向服務(wù)體系結(jié)構(gòu)采用服務(wù)請(qǐng)求的方式,通過(guò)將業(yè)務(wù)應(yīng)用功能以服務(wù)的形式提供給最終用戶(hù)或其他服務(wù),使軟件系統(tǒng)向“柔性化”邁進(jìn)了一大步。2.6軟件過(guò)程改進(jìn)與CMM過(guò)程改進(jìn)SPI:軟件過(guò)程要不斷修訂、逐步提高。過(guò)程改進(jìn)是修煉內(nèi)功、追求新境界、自我提高的進(jìn)化過(guò)程。過(guò)程改進(jìn)普遍的原則和步驟是:改進(jìn)建立在評(píng)價(jià)和度量基礎(chǔ)之上是一個(gè)持續(xù)過(guò)程活動(dòng)本身應(yīng)作為一個(gè)過(guò)程改進(jìn)項(xiàng)目完成將過(guò)程度量用于對(duì)改進(jìn)過(guò)程進(jìn)行監(jiān)控,及時(shí)對(duì)改進(jìn)活動(dòng)作必要的調(diào)整適當(dāng)重復(fù)軟件過(guò)程的評(píng)價(jià)活動(dòng)2.6軟件過(guò)程改進(jìn)與CMMUML軟件工程組織下屬的北京火龍果軟件工程技術(shù)中心,提出了一個(gè)很有參考價(jià)值的MyProcess過(guò)程改進(jìn)模型.MyProcess體現(xiàn)了實(shí)用性:

可行的才是有效的

基于當(dāng)前過(guò)程基礎(chǔ)

關(guān)注現(xiàn)在過(guò)程問(wèn)題

參考先進(jìn)過(guò)程經(jīng)驗(yàn)采用進(jìn)化式的改進(jìn)

改進(jìn)永無(wú)止境2.6軟件過(guò)程改進(jìn)與CMMSW-CMMSW-CMM是由美國(guó)卡內(nèi)基-梅隆大學(xué)軟件工程研究所(CMU/SEI)推出的評(píng)估軟件能力與成熟度的一套標(biāo)準(zhǔn)。并提供了軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)兩種評(píng)估方法和軟件成熟度框架。成熟度在各種行業(yè)中都有所體現(xiàn),比如技術(shù)職稱(chēng)、棋牌界和武術(shù)界的段位。評(píng)價(jià)成熟度的標(biāo)準(zhǔn)就是“成熟度模型”。一般成熟度等級(jí)與能力正相關(guān),但也不一定相符。SW-CMM的定義SEI給出CMM的定義:是對(duì)于軟件組織在定義、實(shí)現(xiàn)、度量、控制和改善其軟件過(guò)程的各個(gè)發(fā)展階段的描述。CMM模型便于確定軟件組織的現(xiàn)有過(guò)程能力和查找出軟件質(zhì)量及過(guò)程改進(jìn)方面的最關(guān)鍵問(wèn)題,從而為選擇過(guò)程改進(jìn)戰(zhàn)略提供指南。CMM為軟件企業(yè)的過(guò)程能力提供了一個(gè)階梯式的進(jìn)化框架。指明了一個(gè)成熟的軟件組織在軟件開(kāi)發(fā)方面需要管理的主要工作、這些工作之間的關(guān)系以及以怎樣的先后次序,一步一步的做好這些工作使軟件組織走向成熟。2.6軟件過(guò)程改進(jìn)與CMM軟件組織的成熟度比較比較內(nèi)容不成熟的軟件組織成熟的軟件組織軟件過(guò)程臨時(shí)拼湊、不能貫徹有統(tǒng)一標(biāo)準(zhǔn),且切實(shí)可行,并不斷改進(jìn);通過(guò)培訓(xùn),全員

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論