系統(tǒng)分析師論文寫作:基于RUP的軟件過程及應用_第1頁
系統(tǒng)分析師論文寫作:基于RUP的軟件過程及應用_第2頁
系統(tǒng)分析師論文寫作:基于RUP的軟件過程及應用_第3頁
系統(tǒng)分析師論文寫作:基于RUP的軟件過程及應用_第4頁
系統(tǒng)分析師論文寫作:基于RUP的軟件過程及應用_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

...基于RUP的軟件過程及應用1、引言

軟件過程(SoftwareProcess)是人們建立、維護和進化軟件產(chǎn)品整個過程中所有技術活動和管理活動的集合[1]。目前,軟件過程技術是一個非?;钴S的研究領域,吸引了大批來自學術界和工業(yè)界的專家和學者。從1984年起每年有軟件過程國際研討會(ISPW),從1991年起開始召開軟件過程國際會議(ICSP),每個國家?guī)缀醵加凶约旱能浖^程改進網(wǎng)絡(SPN)。軟件過程技術的研究主要有三個方向:

(1)軟件過程分析和建模。軟件過程建模方法是軟件過程技術的起點,其中形式化半形式化建模方法有基于規(guī)則的,基于過程程序的等等。過程分析和過程建模對于保證過程定義的質(zhì)量、建立全面和靈活的過程體系具有重要的作用。

(2)軟件過程支持。軟件過程支持主要是指研究和開發(fā)支持軟件過程活動的CASE工具,過程支撐工具作為一種技術基礎設施能夠很好地支持、管理并規(guī)X化軟件過程。軟件過程支持工具主要包括軟件過程流程工具、過程文擋工具、評審工具和人員管理工具。

(3)軟件過程評估和改進。軟件過程改進對生產(chǎn)高質(zhì)量軟件產(chǎn)品和提高軟件生產(chǎn)率的重要性已被越來越多的軟件開發(fā)組織所認同。由美國卡耐基·梅隆大學軟件工程研究所(CMU/SEI)提出的軟件能力成熟度模型(SW-CMM)除了用于軟件過程評估外,還向軟件組織提供了指導其進行軟件過程管理和軟件過程改進的框架。

RationalUnifiedProcess(RUP)是Rational軟件公司的一個軟件過程產(chǎn)品,是由Objectory過程演化而來的,其初始版本為5。0,先后經(jīng)歷了5。1、5。1。1、5。5等版本直到最新的RationalUnifiedProcess2000版本。RUP將項目管理、商業(yè)建模、分析與設計等統(tǒng)一起來,貫穿整個開發(fā)過程。RUP采用Internet技術,可以增強團隊的開發(fā)效率,并為所有成員提供最佳的軟件實現(xiàn)方案,它使團隊中每個開發(fā)人員的見解和思想得到統(tǒng)一,使開發(fā)小組成員的溝通更為容易,而這正是任何項目要取得成功的關鍵因素;它可以增強開發(fā)人員對軟件的預見性,最終的好處就是提高了軟件質(zhì)量,并有效縮短了軟件從開發(fā)到投放市場的時間。RUP過程為軟件開發(fā)提供了規(guī)X性的指南、模板和X例,可用來開發(fā)所有類型的應用。

本文的第2節(jié)討論基于RUP的軟件過程,第3節(jié)給出一個應用實例,第4節(jié)是本文的結(jié)論。

2、基于RUP的軟件過程RUP中的軟件過程在時間上被分解為四個順序的階段,分別是初始階段(Inception)、細化階段(Elaboration)、構建階段(Construction)和交付階段(Transition)[2]。每個階段結(jié)束時都要安排一次技術評審,以確定這個階段的目標是否已經(jīng)滿足。如果評審結(jié)果令人滿意,就可以允許項目進入下一個階段?;赗UP的軟件過程模型如圖1所示。

從圖1中可以看出,基于RUP的軟件過程是一個迭代過程。通過初始、細化、構建和提交四個階段就是一個開發(fā)周期,每次經(jīng)過這四個階段就會產(chǎn)生一代軟件。除非產(chǎn)品退役,否則通過重復同樣的四個階段,產(chǎn)品將進化為下一代產(chǎn)品,但每一次的側(cè)重點都將放在不同的階段上。這些隨后的過程稱為進化過程。

用戶需求的變化、運行環(huán)境的變更、基礎技術方面的變更等都會引發(fā)進化過程。通常情況下,進化過程的初始階段和細化階段都比較簡單,因為基本產(chǎn)品定義和體系結(jié)構在前面的開發(fā)過程就已經(jīng)決定。但也有例外情況,例如對軟件體系結(jié)構(SoftwareArchitecture)進行重新定義的進化過程。

2.1初始階段

初始階段的任務是為系統(tǒng)建立業(yè)務模型并確定項目的邊界。在初始階段,必須識別所有與系統(tǒng)交互的外部實體,定義系統(tǒng)與外部實體交互的特性。在這個階段中所關注的是整個項目的業(yè)務和需求方面的主要風險。對于建立在原有系統(tǒng)基礎上的開發(fā)項目來說,初始階段可能很短。初始階段的實現(xiàn)過程如圖2所示。

(1)明確項目規(guī)模

建立項目的軟件規(guī)模和邊界條件,包括驗收標準;了解環(huán)境及重要的需求和約束,識別系統(tǒng)的關鍵用例(UseCase)。

(2)評估項目風險

軟件過程主要關心的是軟件開發(fā)的已知方面,只能準確描述、計劃、分配和評審那些已經(jīng)知道將要完成的事情。風險管理則主要關心未知方面。在基于RUP的迭代式軟件過程中,很多決策要受風險決定。要達到這個目的,開發(fā)者需要詳細了解項目所面臨的風險,并對如何降低或處理風險有明確的策略。

(3)制訂項目計劃

估計整個項目的總體成本、進度和人員配備。綜合考慮備選體系結(jié)構,評估設計和自制/外購/重用方面的方案,從而估算出成本、進度和資源。在這個過程中,要通過對一些概念的證實來證明可行性,該證明可采用可模擬需求的模型形式或用于探索高風險區(qū)的初始原型。初始階段的原型設計工作應該限制在確信解決方案可行就可以了,具體實現(xiàn)留到細化階段和構建階段。

(4)階段技術評審初始階段結(jié)束時要進行一次技術評審,檢查初始階段的目標是否完成,并決定繼續(xù)進行項目還是取消項目。在評審過程中,需要考慮項目的規(guī)模定義、成本和進度估算是否適中,估算根據(jù)是否可靠?需求是否正確,開發(fā)方和用戶方對軟件需求的理解是否達成一致?是否已經(jīng)確定所有風險,并且有針對每個風險的規(guī)避策略等問題。

2.2細化階段

細化階段的任務是分析問題領域,建立健全的體系結(jié)構基礎,淘汰項目中最高風險的元素。在細化階段,必須在理解整個系統(tǒng)的基礎上,對體系結(jié)構做出決策,包括其X圍、主要功能和諸如性能等非功能需求,同時為項目建立支持環(huán)境。細化階段的實現(xiàn)過程如圖3所示。(1)確定體系結(jié)構

確保體系結(jié)構、需求和計劃足夠穩(wěn)定,充分減少風險,從而能夠有預見性地確定開發(fā)所需的成本和開發(fā)進度。通過處理體系結(jié)構方面重要的場景(Scene),建立一個已確定基線的體系結(jié)構。證明已建立基線的體系結(jié)構將在適當時間、以合理的成本支持系統(tǒng)需求。

(2)制訂構建階段計劃

為構建階段制訂詳細的過程計劃并為其建立基線。

(3)建立支持環(huán)境

建立支持環(huán)境,包括開發(fā)環(huán)境、開發(fā)流程、支持構建團隊所需的工具和自動化/半自動化支持。

(4)選擇構件

評估現(xiàn)有的(構件庫)和潛在構件,充分了解自制/外購/重用決策,以便有把握地確定構建階段的成本和進度。集成所選構件,并按主要場景進行評估。

(5)階段技術評審

評審時,需要檢驗詳細的系統(tǒng)目標和X圍、體系結(jié)構的選擇以及主要風險的解決方案。在技術評審中,需要考慮的問題有:

(1)產(chǎn)品需求是否穩(wěn)定,體系結(jié)構是否是穩(wěn)定的?

(2)可執(zhí)行原型是否表明已經(jīng)找到了主要的風險元素,并且得到妥善解決?

(3)構建階段的迭代計劃是否足夠詳細和真實,是否有可靠的估算支持,可以保證工作繼續(xù)進行?

(4)所有與項目有關的人員是否一致認為,如果在當前體系結(jié)構環(huán)境中執(zhí)行當前計劃來開發(fā)完整的系統(tǒng),則當前的需求可以實現(xiàn)?(5)實際的資源耗費與計劃的耗費相比是否有偏差,該偏差是否可以接受?

2.3構建階段

在構建階段,要開發(fā)所有剩余的構件和應用程序功能,把這些構件集成為產(chǎn)品,并進行詳細測試。從某種意義上說,構建階段是一個制造過程,其重點放在管理資源及控制操作,以優(yōu)化成本、進度和質(zhì)量。

構建階段的主要任務是通過優(yōu)化資源和避免不必要的報廢和返工,使開發(fā)成本降到最低;完成所有所需功能的分析、開發(fā)和測試,快速完成可用的版本;確定軟件、場地和用戶是否已經(jīng)為部署軟件作好準備。

在構件階段,開發(fā)團隊的工作可以實現(xiàn)某種程度的并行。即使是較小的項目,也通常包括可以相互獨立開發(fā)的構件,從而使各團隊之間實現(xiàn)并行開發(fā)。這種并行性在較大幅度地加速開發(fā)進度的同時,也增加了資源管理和工作流程同步的復雜程度。

構建階段結(jié)束時也要進行技術評審,評審產(chǎn)品是否可以在β測試環(huán)境中進行安裝和運行。在評審中,需要考慮的問題有:

(1)該產(chǎn)品發(fā)布版是否足夠穩(wěn)定和成熟,可安裝和運行在用戶的實際環(huán)境中?

(2)所有與項目有關的人員是否已準備好將產(chǎn)品發(fā)布給用戶?

(3)實際的資源耗費與計劃的耗費相比是否有偏差,該偏差是否可以接受?2.4交付階段

當基線已經(jīng)足夠完善,可以安裝到最終用戶實際環(huán)境中時,則進入交付階段。交付階段

的重點是確保軟件對最終用戶是可用的。

交付階段的主要任務是進行β測試,制作產(chǎn)品發(fā)布版本;對最終用戶支持文檔定稿;按用戶的需求確認新系統(tǒng);培訓用戶和維護人員;獲得用戶對當前版本的反饋,基于反饋調(diào)整產(chǎn)品,如進行調(diào)試、性能或可用性的增強等。

根據(jù)產(chǎn)品的種類,交付階段可能非常簡單,也可能非常復雜。例如,發(fā)布現(xiàn)有桌面產(chǎn)品的新發(fā)布版可能十分簡單,而替換一個國家的航空交通管制系統(tǒng)可能就非常復雜。交付階段結(jié)束時也要進行技術評審,評審目標是否實現(xiàn),是否應該開始進化過程,用戶對交付的產(chǎn)品是否滿意等。

2.5技術評審

在每個階段結(jié)束時都要進行一次技術評審,以確定在完成該階段的最終迭代后是否應該讓項目進入下一階段。技術評審要考慮的主要問題應該主要與項目管理有關,因為主要的技術問題應該已經(jīng)在該階段的最終迭代以及隨后的活動中得到解決。技術評審的步驟如圖4所示。

(1)安排評審會議日程

技術評審會議的參加者必須包括外部人員(用戶代表和領域?qū)<遥?、項目的管理團隊(項目經(jīng)理以及項目團隊各功能區(qū)域的團隊負責人)和項目評審委員會。與會者一旦確定,就應安排會議的召開日期和時間,以便為與會者留出充足的準備時間,讓他們能夠評審有關材料。(2)分發(fā)會議材料

在會議召開之前,應當將技術評審材料分發(fā)給評審人員。要在會議召開之前及早地將這些材料分發(fā)出去,讓評審人員有充足的時間對其進行審閱。

(3)召開評審會議

在會議期間,評審人員主要關注狀態(tài)評估。在會議結(jié)束時,評審人員應作出是否批準的決定。技術評審會議可能會得到以下結(jié)果之一:

(Ⅰ)階段被接受:評審委員會認為項目實現(xiàn)了該階段的預期目標,可以進入下一階段。

(Ⅱ)有條件接受:評審委員會同意項目可以進入下一階段,但必須先完成指定的糾正操作。如果發(fā)現(xiàn)的問題很少并且不是很重要,則客戶可能決定在項目團隊執(zhí)行某些糾正操作的同時有條件地接受該產(chǎn)品。在這種情況下,項目經(jīng)理需要根據(jù)問題的重要性,或選擇開始新的迭代,以處理所出現(xiàn)的問題,或只是通過延長最終迭代來處理問題,二者的差異在于所需的計劃工作量。

(Ⅲ)階段不被接受:項目沒有實現(xiàn)該階段的預期目標,項目經(jīng)理就可能必須開始另一次迭代,甚至項目經(jīng)理無法決定對問題的解決方案,而需要由有關人員根據(jù)合同重新確定項目規(guī)?;蚪K止項目。(4)記錄會議決定

在會議結(jié)束時應完成評審記錄,其中包括重要的討論或活動以及評審的結(jié)果。如果結(jié)果是\\\"階段不被接受\\\",則應暫時安排一次后續(xù)復審。

3、應用實例

在為某水電廠開發(fā)的綜合信息管理系統(tǒng)中,我們?nèi)娌捎昧嘶赗UP的軟件過程。水電廠綜合管理信息系統(tǒng)是一個大型信息管理系統(tǒng),其中包含運行管理、設備管理、安全管理、圖形開票、生產(chǎn)技術管理、行政管理、人事管理、技術臺帳管理、班組建設、學習培訓、系統(tǒng)維護等十多個模塊。不僅如此,系統(tǒng)還要與現(xiàn)有的某些監(jiān)控設備接口,從中獲取數(shù)據(jù)。系統(tǒng)能對水電廠實行全面的運行管理,能及時對系統(tǒng)的信息作統(tǒng)計分析處理,能給管理者提供及時準確的數(shù)據(jù),對水電廠的運行決策提供必要的依據(jù)。

在項目的初始階段,我們主要建立項目的軟件規(guī)模和邊界條件,明確用戶的需求,形成規(guī)格說明書,作為驗收標準。同時,估計了整個項目的總體成本和進度,評估了潛在的風險,作出了具有20%資源預留的項目計劃。最后,根據(jù)客戶要求,我們選擇了RationalRose2000作為分析和建模工具、Project2000作為項目管理工具。系統(tǒng)開發(fā)工具采用VisualStudio6.0,后臺數(shù)據(jù)庫管理系統(tǒng)采用MSSQLServer7.0。

在項目的細化階段,我們根據(jù)實際需求,選擇了B/S和C/S混合的異構軟件體系結(jié)構。對一些關鍵性的算法,制作了探索型的原型。并在此基礎上,為構建階段制訂了詳細的迭代計劃。在構件的選擇方面,我們決定主要采用已有構件(我們曾經(jīng)開發(fā)過變電站綜合管理信息系統(tǒng)),對構件庫中沒有的構件,則重新開發(fā)。

在項目的構建階段,我們的主要任務是完成新構件的開發(fā)和測試,集成所有構件,進行集成測試。在這一階段,我們采用并行開發(fā)方式,大大地提高了開發(fā)效率。

在項目的交付階段,我們把經(jīng)過集成測試的軟件制作安裝盤,安裝在水電廠,接受實際環(huán)境的測試。然后對有關用戶和維護人員進行培訓和指導。

在以上各階段結(jié)束時,我們都進行了階段技術評審。在評審中,我們不但按要求邀請了客戶代表,還邀請了第三方專家參與評審。

由于全面采用了基于RUP的軟件過程,規(guī)X了管理和開發(fā)流程,有效地控制了資源,該項目在沒有使用預留資源的情況下順利完成。在系統(tǒng)運行期間,根據(jù)水電廠的要求和我單位的商業(yè)戰(zhàn)略,我們又對該軟件進行了三次進化過程,最

溫馨提示

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

評論

0/150

提交評論