




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
統(tǒng)一軟件開發(fā)過程
14.1統(tǒng)一軟件開發(fā)過程概述什么是軟件開發(fā)過程統(tǒng)一軟件開發(fā)過程簡介統(tǒng)一軟件開發(fā)過程發(fā)展歷程什么是軟件開發(fā)過程工程化開發(fā)方法的需要:開發(fā)成本失控、可靠性低、人月神話軟件開發(fā)過程:指的是一款軟件從無到有,直到最后交付使用以及維護(hù)的全過程。這個過程包含了許多軟件開發(fā)方面的方法、技術(shù)、實(shí)踐,并且也包括一些軟件相關(guān)產(chǎn)物,如文檔、模型、代碼等等的制造和產(chǎn)生。什么是軟件開發(fā)過程現(xiàn)如今,業(yè)內(nèi)有許多成熟的軟件過程可供借鑒,例如:RationalUnifiedProcess(RUP,統(tǒng)一軟件開發(fā)過程)Object-OrientedSoftwareProcess(OOSP,面向?qū)ο箝_發(fā)過程)OPENProcessFramework(OPEN過程框架)Scrum(一種迭代式增量軟件開發(fā)過程,通常用于敏捷軟件開發(fā))ExtremeProgramming(極限編程)DynamicSystemsDevelopmentMethod(DSDM,動態(tài)系統(tǒng)開發(fā)方法)統(tǒng)一軟件開發(fā)過程簡介統(tǒng)一軟件開發(fā)過程(簡稱RUP)是一套由IBM下屬的Rational分部提出的軟件工程方法,它由IvarJacobson的TheObjectoryProcess和TheRationalApproach發(fā)展而來。統(tǒng)一軟件開發(fā)過程將軟件開發(fā)過程按照時序組織成幾個階段,每個階段有當(dāng)前階段的最重要任務(wù),并且根據(jù)這些任務(wù)的完成情況為下一個階段提供輸入,實(shí)現(xiàn)每個階段的邏輯連接。統(tǒng)一軟件開發(fā)過程發(fā)展歷程14.2過程總覽水平軸表示時間,從左到右看是從初始階段到接近完成階段的發(fā)展過程??v軸上表示過程的某個靜態(tài)內(nèi)容,它們代表了一系列的工作活動。14.3階段和迭代——時間維度在RUP中,一個軟件的生命周期被分為許多輪,每一輪是一個子開發(fā)過程,其成品是當(dāng)前制作產(chǎn)品的新一版。并且RUP將每一輪又分為四個階段,它們是:起始階段(Inceptionphase)細(xì)化階段(Elaborationphase)構(gòu)建階段(Constructionphase)轉(zhuǎn)化階段(Transitionphase)起始階段起始階段是一個項(xiàng)目的開始,在這個階段中軟件開發(fā)團(tuán)隊(duì)需要建立好業(yè)務(wù)事例,并確定好該項(xiàng)目的范圍。首先,要識別出所有與系統(tǒng)存在交互的外部實(shí)體;其次,需要在高層次上來定義和說明這些交互的本質(zhì)特征。業(yè)務(wù)事例包含項(xiàng)目標(biāo)準(zhǔn)、風(fēng)險評估、資源需求估計(jì)、階段計(jì)劃項(xiàng)目標(biāo)準(zhǔn)定義了項(xiàng)目完成時應(yīng)當(dāng)達(dá)到的一些條件;風(fēng)險評估發(fā)掘在軟件開發(fā)過程中可能遇到的各種問題;資源需求估計(jì)是對完成這個項(xiàng)目所需要的資源消耗的估算;階段計(jì)劃需要提供與階段對應(yīng)的日期,并提出用于階段交接的里程碑。細(xì)化階段細(xì)化階段的主要目的是分析問題域,為整個項(xiàng)目計(jì)劃的執(zhí)行建立一個穩(wěn)定的結(jié)構(gòu)基礎(chǔ),以及消除一些風(fēng)險系數(shù)最高的因素。細(xì)化階段具有承前啟后的意義:一方面,細(xì)化階段的結(jié)果可能為整個項(xiàng)目的進(jìn)一步開展提供了重要的依據(jù),也可能為這個項(xiàng)目宣判死刑;另一方面,在細(xì)化過程交付之后,項(xiàng)目將從前面的輕量級、低風(fēng)險的工作進(jìn)入高風(fēng)險、高投入的工作中。細(xì)化階段的重點(diǎn)控制對象是系統(tǒng)分析的穩(wěn)定性和開發(fā)的可行性。構(gòu)建階段在構(gòu)建階段中,我們將要開發(fā)和整合所有剩余的組件和應(yīng)用特性,然后對所有的功能和特性進(jìn)行完全的測試。在這個過程中,我們應(yīng)當(dāng)著重管理資源和控制活動,以求優(yōu)化資金和時間成本,并力保產(chǎn)品質(zhì)量在已有的資源條件下達(dá)到最高。構(gòu)建流程可以是線性的也可以是并行的。轉(zhuǎn)化階段轉(zhuǎn)化階段又稱為交付階段,因?yàn)槠渲饕康木褪前阎谱鞒鰜淼能浖a(chǎn)品交付給用戶使用。轉(zhuǎn)化過程的核心任務(wù)可以總結(jié)成三個:使用戶可以在無幫助環(huán)境下自由使用產(chǎn)品;使投資者認(rèn)同這個項(xiàng)目確實(shí)已經(jīng)部署完畢,并且符合評估標(biāo)準(zhǔn);盡可能有效率地使產(chǎn)品達(dá)到最終產(chǎn)品標(biāo)準(zhǔn)。迭代RUP中的每一個階段都可以進(jìn)一步分解為多個迭代。一次迭代定義為一個完整的循環(huán)開發(fā)過程,在每一輪過程中需要有內(nèi)部或外部的產(chǎn)出。迭代過程具有以下幾個顯著優(yōu)點(diǎn):可以更早地弱化風(fēng)險;更靈活地處理各種變化;更高層次的復(fù)用;開發(fā)團(tuán)隊(duì)不必一次完成所有工作,可以在工作的過程中學(xué)習(xí)和調(diào)整;通常提供了更高的產(chǎn)品質(zhì)量。14.4過程的靜態(tài)結(jié)構(gòu)“誰”——工作者“什么方法”——活動“做什么”——制品“什么時候”——工作流工作者工作者定義了軟件開發(fā)工作中某個工作單位的行為和責(zé)任,這個工作單位可能指某個個體,或者某個工作小組。工作者更像是一種角色:在不同的時刻(也可能同時),同一個個體可能擔(dān)任著不同的工作者角色。確定的工作者角色擔(dān)任著確定的任務(wù)和責(zé)任,它要親力親為地完成那些任務(wù)?;顒踊顒佣x了一件事或一個動作,并且必須存在一個特定的工作者角色負(fù)責(zé)執(zhí)行這個活動。一些常見的活動舉例:設(shè)計(jì)一輪迭代(工作者:項(xiàng)目主管)發(fā)現(xiàn)用例和參與者(工作者:系統(tǒng)分析師)檢查軟件設(shè)計(jì)(工作者:設(shè)計(jì)檢查員)運(yùn)行性能測試(工作者:性能測試員)制品制品描述了一個過程中產(chǎn)生、修改或使用的事物。制品是一個工作者執(zhí)行某件活動的工具(輸入),也是一個工作者執(zhí)行活動后的成果(輸出)。一些常見的制品:模型:用例模型、設(shè)計(jì)模型、分析類模型等模型中的元素:類、用例、參與者、子系統(tǒng)等文檔:需求分析文檔、可行性分析文檔、用戶手冊等代碼可執(zhí)行文件工作流當(dāng)活動具備了工作者、活動、制品三個核心元素之后,需要使用工作流來對活動的操作順序進(jìn)行描述。除此之外,工作流還可以展示工作者之間的交互關(guān)系。工作流就是展示一個活動的可見價值的流程,其最重要的意義是它為活動設(shè)計(jì)者對于活動進(jìn)度宏觀掌控提供了可能。14.5核心工作流六個核心工程工作流:業(yè)務(wù)建模工作流需求工作流分析與設(shè)計(jì)工作流實(shí)現(xiàn)工作流測試工作流部署工作流三個屬于核心支持工作流:項(xiàng)目管理工作流配置與變更管理工作流環(huán)境工作流業(yè)務(wù)建模工作流在業(yè)務(wù)建模階段我們對一些鮮明的業(yè)務(wù)過程進(jìn)行建模,這種模型也就是本書第二部分中著重介紹過的業(yè)務(wù)用例模型。分析業(yè)務(wù)用例的過程就是幫助設(shè)計(jì)人員理解業(yè)務(wù)的過程。需求工作流在需求工作流中,首要任務(wù)是讓開發(fā)者與客戶經(jīng)過反復(fù)地磋商,最終確定這個系統(tǒng)究竟應(yīng)該做什么。對于需求調(diào)研得到的文檔,我們應(yīng)首先對其進(jìn)行需求分析。簡而言之,就是獲取參與者和用例的過程。分析和設(shè)計(jì)工作流在分析和設(shè)計(jì)工作流中,我們主要關(guān)心這個系統(tǒng)將如何被實(shí)現(xiàn)。對于這個問題,我們考慮三個方面:系統(tǒng)在某個環(huán)境下運(yùn)行時的性能;對于用戶需求的滿足程度;系統(tǒng)結(jié)構(gòu)的穩(wěn)定性。分析和設(shè)計(jì)工作流的輸出主要是設(shè)計(jì)模型,還可能有一套分析模型。設(shè)計(jì)模型包含一系列包,和其中的設(shè)計(jì)類與子系統(tǒng),對于各個組件應(yīng)當(dāng)有良好的接口定義,并且應(yīng)當(dāng)包含一些說明描述這些設(shè)計(jì)類應(yīng)當(dāng)如何協(xié)作以完成特定的用例任務(wù)。實(shí)現(xiàn)工作流實(shí)現(xiàn)工作流就是編程實(shí)現(xiàn)各個設(shè)計(jì)組件的過程。實(shí)現(xiàn)工作流的主要任務(wù)目標(biāo)是:通過子系統(tǒng)等模型確認(rèn)代碼結(jié)構(gòu);實(shí)現(xiàn)各個組件中的類;對組件進(jìn)行單元測試;將實(shí)現(xiàn)的成果整合進(jìn)已有的可運(yùn)行系統(tǒng)中。測試工作流測試工作流將要貫穿開發(fā)過程的始終,在測試時我們使用三個標(biāo)準(zhǔn)來評價當(dāng)前的制品,即可靠性、功能性和性能,其中性能又分為應(yīng)用性能和系統(tǒng)性能。核心任務(wù)可以列舉為:確認(rèn)對象間交互可用;確認(rèn)組件與其余系統(tǒng)部分整合良好;確認(rèn)當(dāng)前組件的所有需求已經(jīng)滿足;確認(rèn)缺陷已經(jīng)在軟件部署之前被解決。部署工作流部署工作流的主要工作就是輸出可用的完整產(chǎn)品,并將產(chǎn)品交付到用戶手中。部署工作流可能涉及以下幾個活動:生成軟件的release版本;打包軟件;分發(fā)軟件;安裝軟件;為用戶提供必要幫助。項(xiàng)目管理工作流在項(xiàng)目管理工作流中,我們主要關(guān)心迭代開發(fā)過程當(dāng)中某些特定的方面,其目標(biāo)是為了使任務(wù)更容易高質(zhì)量地完成。在這個階段中我們需要提供:一個用于管理軟件密集型項(xiàng)目的框架;開發(fā)過程中計(jì)劃、執(zhí)行、人員調(diào)配和項(xiàng)目監(jiān)控等過程的實(shí)用指導(dǎo);風(fēng)險管理框架。配置和變更管理工作流配置和變更管理工作流描述了開發(fā)團(tuán)隊(duì)?wèi)?yīng)當(dāng)如何掌控數(shù)量龐大的制品。為什么需要控制制品:同時更新導(dǎo)致出錯——幾個不同的工作者分別對同一制品進(jìn)行更改,后提交的一方將先提交的制品覆蓋;交流不及時——制品中某些部分已經(jīng)被修改或修復(fù),但某些制品的分享者并不知情,仍然在進(jìn)行修改;版本混淆——版本混淆表現(xiàn)在我們發(fā)現(xiàn)了某個版本下某個模塊的問題,卻無法找到對應(yīng)版本的制品去做修復(fù)。環(huán)境工作流環(huán)境工作流的目的是給予開發(fā)人員以足夠的編碼工具、第三方庫等等各類資源,這些工作資源統(tǒng)稱為環(huán)境。這個工作流關(guān)注那些使得項(xiàng)目進(jìn)程得以順利進(jìn)行的輔助活動,此工作流需要及時地提供一些指導(dǎo)原則、開發(fā)包、實(shí)用庫,以便開發(fā)人員保持高效率的工作。14.6在統(tǒng)一軟件開發(fā)過程中使用UML起始階段常用UML圖細(xì)化階段常用UML圖構(gòu)建階段常用UML圖轉(zhuǎn)化階段常用UML圖起始階段常用UML圖在起始階段,通常有用例圖、類圖、活動圖、順序圖等UML圖的參與。獲取用戶需求之后首先要將這些需求轉(zhuǎn)化為系統(tǒng)的頂層用例圖。在確定了用例之后,需要為重要用例添加事件流描述。有了事件流描述之后就可以為一些用例中使用到的系統(tǒng)功能來指定分析類。對于一些重點(diǎn)用例,可以繪制它們的動態(tài)模型。細(xì)化階段常用UML圖在細(xì)化階段經(jīng)常需要使用到類圖、包圖、組件圖幾種靜態(tài)視圖,以及所有動態(tài)視圖。靜態(tài)視圖中,細(xì)化階段的類圖主要描述系統(tǒng)的設(shè)計(jì)類。動態(tài)視圖用來確定任意時
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟保潔公司合同范本
- 2024年鹽城市濱??h招聘教師考試真題
- 農(nóng)村房屋共建合同范例
- 2024年梧州市龍圩區(qū)招錄公益性崗位人員考試真題
- 公司之間供貨合同范本
- 動產(chǎn)轉(zhuǎn)讓合同范本
- 2024年普洱市墨江縣教體系統(tǒng)所屬事業(yè)單位緊缺招聘考試真題
- 2024年綿陽市投資控股有限公司招聘筆試真題
- 第12課 宋元時期的都市和文化(教學(xué)設(shè)計(jì))七年級歷史下冊同步備課系列(部編版)
- 做代理合同范本
- 計(jì)算機(jī)行業(yè)人工智能系列深度報告:deepseek研究框架-國海證券-20250214
- DB1331T 102-2025雄安新區(qū)應(yīng)急物資儲備庫建設(shè)規(guī)范
- 2025年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年湖南工程職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 北京市豐臺區(qū)2024-2025學(xué)年九年級上學(xué)期期末道德與法治試題(含答案)
- 醫(yī)院培訓(xùn)課件:《PET-CT的臨床應(yīng)用》
- (課件)-幼兒園中班社會教案《新年里的開心事》
- 2025海南省交通投資控股限公司招聘30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 宋代美學(xué)研究
- 行政管理學(xué)知識點(diǎn)全套
- 船舶安全管理培訓(xùn)課件
評論
0/150
提交評論