RUP軟件工程研究及應用分析
時間:2022-09-25 10:48:37
導語:RUP軟件工程研究及應用分析一文來源于網友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
[摘要]rup的中文全稱為統(tǒng)一軟件開發(fā)過程,通過運用RUP方法,可以有效地提高軟件開發(fā)質量和效率,降低開發(fā)過程中所存在的風險,使得開發(fā)流程和開發(fā)管理更加規(guī)范、合理,進而極大地提高軟件開發(fā)效益。
[關鍵詞]RUP;統(tǒng)一過程;迭代
1RUP概述
RUP作為眾多軟件開發(fā)企業(yè)的軟件開發(fā)模型框,一直以來都受到各大企業(yè)的認同。在RUP剛被提出之時,它被稱為rationalobjectprocess,隨著對它不斷的升級擴展,同UML的良好集成,并且可以支持多種CASE工具,它廣泛走進軟件工程研發(fā)的企業(yè),在1998年才正式改名為RUP。RUP(統(tǒng)一軟件開發(fā)過程)從動態(tài)結構和靜態(tài)結構對所開展的軟件過程進行了詳細的解釋,對完成軟件工程項目所需的有關軟件活動做出非常詳細規(guī)范的說明,就像是一位軟件開發(fā)的指導者,為軟件開發(fā)者提供了開發(fā)方針、模版以及事例支持,讓項目按照規(guī)劃高質量地完成。
2RUP軟件工程過程的研究
2.1動態(tài)結構的階段和里程碑。在這個過程中,從管理角度分成了初始、細化、構造和交付四個階段,同時會在每個階段過程結束的點建有里程碑,由里程碑決定過程是否進入下個階段。在初始階段,對開發(fā)產品的最終要形成的樣子進行說明,定義軟件項目的開發(fā)范圍,該階段所關注的是項目的整個過程以及會要面臨的風險,該階段的里程碑為生命周期目標;在細化階段,會對軟件開發(fā)編制詳細的項目計劃,計劃開發(fā)過程所必須的活動和列出所必需的資源,對軟件的體系結構做出決策并且完善決策,將開發(fā)中風險較高的元素給淘汰,該階段的里程碑為生命周期結構;在構造階段,這屬于一個制造的過程,編制出軟件產品,對軟件功能進行測試,不斷的優(yōu)化產品提高提高產品的質量,直到產品被完整的開發(fā)出來,該階段的里程碑為初始功能;在交付階段,主要是保證所開發(fā)出的產品能達到開發(fā)的目的,對于最終用戶來說是可用的,這個階段可以可以根據產品用戶的反饋對產品的可用性、安裝等進行調整,該階段可以跨越幾次迭代,該階段的里程碑為產品。2.2動態(tài)結構的迭代。在這個過程中,從技術角度出發(fā),將每個階段分為單個或者多個迭代,根據RUP中對迭代的描述,迭代由多個性質不同的活動組成的一系列活動,每個迭代就是一次完成的開發(fā)循環(huán),它有自身的評價標準和基線計劃,并不會同階段產生矛盾,每次迭代完成的循環(huán)為產品開發(fā)需求的一個子集,下一次迭代是在上一次迭代的基礎上增加更多的系統(tǒng)需求內容。2.3靜態(tài)結構模型元素。靜態(tài)結構模型元素分為了四種,分別是角色、活動、產品和工作流程。RUP中的角色由性質的不同分成五種類型,分析、開發(fā)、測試、管理和輔助五類人員,每類人員又可以細分為多個角色,對于每個角色,RUP都給與了相應的工作活動,也稱之為角色的行為,這些行為也就是活動,產品則是角色通過完成工作流程產生,工作流程十分重要,它說明了活動執(zhí)行的時間和順序,通過執(zhí)行活動后能夠形成的產品,產品按產品集形成分為建模、部署、需求、設計、管理、實現等。2.4核心工作流程。業(yè)務建模流程。業(yè)務建模是這個流程完成所產生的最主要的產品,通過對業(yè)務建模的建立,使得用戶和開發(fā)人員對產品有著一定的理解,理解所開發(fā)的軟件的組織結構和動態(tài)行為,為下一步的核心工作流程奠定基礎,這個流程描述了開發(fā)構想。需求流程。這個流程是對開發(fā)軟件的系統(tǒng)需求進行詳細的描述,并且定義了開發(fā)的范圍,所涉及的靜態(tài)結構模型角色有分析人員、設計人員等,具體來說就是該流程描述了系統(tǒng)應該做些什么,并且讓角色和用戶根據這一描述達成共識,同時將需求的功能提取出來。分析設計流程。這個流程主要是將需求變成未來系統(tǒng)的設計,為系統(tǒng)設計出一個完善的結構,實現同實際環(huán)境相匹配的目的,讓系統(tǒng)的性能得到優(yōu)化,主要涉及的靜態(tài)結構模型角色有設計人員和結構師,其中設計人員從實現的角度進行類的設計,根據實際的情況還會對子系統(tǒng)進行設計,而結構師則是對系統(tǒng)體系結構進行分析設計,在軟件體系結構和設計模型完成后,需要評審員進行審核,達到設計的要求后才能用于后面的使用。實現流程。這個流程主要是以組件形式實現類和對象,用已經設計完成的層次化子系統(tǒng)對組件的結構進行定義,讓完成的組件作為測試的單位進行測試,然后將開發(fā)者小組完成的結構集合起來,讓開發(fā)者產生的結果成為可執(zhí)行的系統(tǒng)。測試流程。這個流程主要的作用是驗證,驗證組件集成的正確性,保證所有的需求都已經完成,在交付之前找出當中存在的缺陷并絕對缺陷進行處理。因為RUP采用迭代方式完成,所以進行開發(fā)設計的過程中可以同時進行測試,這樣就能夠更快地找到存在的缺陷,這樣就能夠降低處理缺陷所需的成本,極大地提高軟件開發(fā)效益。部署流程。這個流程主要還是將完成的版本軟件交給最終的用戶,確保最終用戶能夠使用軟件,例如編寫用戶手冊、軟件打包、安裝軟件等活動。配置和變動管理流程。這個流程主要是對軟件產品進行控制,提供了管理軟件產品項目的準則,同時對產品的修改時間。修改人員以及修改的原因進行記錄,實現跟蹤軟件創(chuàng)建過程的目的。項目管理流程。這個流程主要是為管理軟件和管理風險提供框架,保證成功交付給最終用戶滿意的產品。環(huán)境流程。這個流程是為軟件的發(fā)開提供所必需的環(huán)境,涉及到的活動有過程和工具的提供,技術支持和培訓等。
3RUP工程應用
3.1適用范圍。RUP作為面向對象領域非常實用的過程框架,隨著不斷的升級完善,它的適用范圍非常廣泛,不過根據實際應用的效果,RUP主要在比較大型的系統(tǒng)開發(fā)中使用,它能有效地降低大型系統(tǒng)開發(fā)中所存在的風險,并且因為階段的劃分,讓對項目的檢查十分方便。3.2應用步驟。RUP稱為統(tǒng)一軟件開發(fā)過程,它即可以作為軟件開發(fā)組織級的過程,也可以作為項目級過程,我國對RUP的應用相較于國外較晚,并且劃分方法也不完全同國外開發(fā)人員的一致,在組織模式方面也存在細微的差別,在應用RUP的過程中,需要根據實際的情況,對其記性完善和改建,下面給出常用的應用步驟。首先對軟件開發(fā)的組織和項目狀態(tài)進行評估,對該項目開發(fā)的人員配置、采用的開發(fā)工具和采用的過程做詳細的了解。其次對所采用的過程進行風險評估,達到規(guī)范開發(fā)風險的目的。然后是對過程實現制定計劃,計劃中要說明開發(fā)組織如何從當前狀態(tài)變成目標轉臺。接下去就是過程實現,根據制定的計劃,進行實際項目的開發(fā)。最終效果進行評價,該過程是對軟件開發(fā)過程中所采用的過程所取得的效果進行評價,這有助于下次應用RUP時對過程進行優(yōu)化。3.3改進過程成熟度。應用RUP可以改進軟件過程的成熟度,例如可以將只有CMM1的組織的熟練度提升到CMM3級別,通過RUP的改進,讓軟件開發(fā)的效率和質量都有顯著的提高。在RUP改進軟件過程成熟度的過程中,只是對CMM的關鍵過程改進,這就要求兩者的目標一致,具體的實施需要根據實際情況進行改進。3.4劃分迭代。在軟件開發(fā)中應用RUP,在動態(tài)方面主要是對迭代計劃進行制定,統(tǒng)一過程的四個階段的迭代數目劃分,在初始階段一般用一個迭代形成該階段的需求,在規(guī)劃階段用兩個迭代分別形成概要和詳細規(guī)劃,同時進行評審,在構造階段用三個迭代開發(fā)出完整的產品,在交付階段最少用兩個迭代,因為系統(tǒng)需要用戶進行試用運行,然后根據用戶試用運行的結果進行改善。
4結語
RUP非常適用于面向對象系統(tǒng)的開發(fā),在軟件開發(fā)時可以進行有效的管理和組織,但是在應用RUP過程中,需要根據實際的情況,對RUP進行完善,這樣才能真正發(fā)揮出RUP的效果。
【參考文獻】
[1]張智海.基于RUP及敏捷方法的軟件過程的研究與應用[D].合肥:合肥工業(yè)大學,2010.
[2]時凱凱,付強.基于RUP的軟件過程模型的研究[J].科研,2016(007):184-185.
[3]宋芳菲,張冬玉,相鳳華.基于ARUP的桌面虛擬現實教學軟件開發(fā)模型建構[J].中國教育信息化,2018(23):86-92.
作者:王睿超 孟向軍 單位:山東省聯合航空公司