版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
RUP
(RationalUnifiedProcess,Rational統(tǒng)一過(guò)程)是UML的創(chuàng)始者在創(chuàng)建UML的同時(shí)提出的一種面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。
UML是一種用于軟件的系統(tǒng)分析和設(shè)計(jì)的語(yǔ)言工具,它是獨(dú)立于軟件開(kāi)發(fā)過(guò)程的。UML可以應(yīng)用于任何軟件開(kāi)發(fā)過(guò)程。
UML與RUP相結(jié)合進(jìn)行軟件系統(tǒng)的開(kāi)發(fā)必定相得益彰。
第3章RUPHomeRUP(RationalUnifiedProces第3章RUP3.1RUP3.2項(xiàng)目開(kāi)端階段3.3精化階段3.4系統(tǒng)構(gòu)建3.5系統(tǒng)提交Home3.6循環(huán)節(jié)的生命周期活動(dòng)第3章RUP3.1RUP3.2項(xiàng)目開(kāi)端階段3.1RUPRUP是一種二維結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程,其中一維是時(shí)間,另一維是過(guò)程成分,如圖3.1所示。按時(shí)間序列,RUP把軟件開(kāi)發(fā)的生命周期劃分為若干階段和一系列的循環(huán)重復(fù)。
過(guò)程成分是指良好定義的開(kāi)發(fā)活動(dòng),通過(guò)過(guò)程獲得軟件開(kāi)發(fā)的產(chǎn)物。Home圖3.1RUP3.1RUPRUP是一種二維結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程,其中一維3.1RUP3.1.1項(xiàng)目開(kāi)發(fā)階段3.1.2過(guò)程成分3.1.3螺旋上升式開(kāi)發(fā)3.1.4RUP的產(chǎn)物3.1.5RUP的特點(diǎn)Home3.1RUP3.1.1項(xiàng)目開(kāi)發(fā)階段3.1.2過(guò)程3.1.1項(xiàng)目開(kāi)發(fā)階段RUP把軟件項(xiàng)目的開(kāi)發(fā)過(guò)程劃分為4個(gè)階段:開(kāi)端階段:給出關(guān)于項(xiàng)目的初步輪廓的說(shuō)明,理解問(wèn)題領(lǐng)域的各種業(yè)務(wù)過(guò)程和關(guān)系,了解系統(tǒng)的需求,明確系統(tǒng)的范圍和職責(zé),構(gòu)思未來(lái)系統(tǒng)的概貌,探討項(xiàng)目開(kāi)發(fā)的必要性和可行性。精化階段:收集更詳細(xì)的系統(tǒng)需求,進(jìn)行高層次的系統(tǒng)分析和設(shè)計(jì),確定系統(tǒng)的特征和基本的系統(tǒng)架構(gòu),編制系統(tǒng)構(gòu)建計(jì)劃,確定開(kāi)發(fā)所需要的活動(dòng)和資源。構(gòu)建階段:通過(guò)循環(huán)重復(fù)的工作具體建造軟件系統(tǒng)。每一次的循環(huán)都包含了常規(guī)的軟件生命周期階段的活動(dòng)——分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等。每一次循環(huán)都將得到一個(gè)更準(zhǔn)確的接近未來(lái)系統(tǒng)的系統(tǒng)模型或原型。過(guò)渡階段:系統(tǒng)正式投入運(yùn)行前的階段,進(jìn)行系統(tǒng)的Beta測(cè)試、系統(tǒng)性能調(diào)整和人員培訓(xùn)等。
Home3.1.1項(xiàng)目開(kāi)發(fā)階段RUP把軟件項(xiàng)目的開(kāi)發(fā)過(guò)程劃分為3.1.2過(guò)程成分RUP規(guī)定了6個(gè)過(guò)程成分:業(yè)務(wù)建模:對(duì)將來(lái)使用該系統(tǒng)的組織機(jī)構(gòu)或企業(yè)進(jìn)行評(píng)估,理解它們要求未來(lái)系統(tǒng)解決的問(wèn)題。業(yè)務(wù)建模的結(jié)果是建立一個(gè)業(yè)務(wù)UseCase模型和業(yè)務(wù)對(duì)象模型。
需求分析:采集和評(píng)價(jià)系統(tǒng)的需求。需求分析的結(jié)果可以用一個(gè)UseCase模型表達(dá)。
系統(tǒng)分析與設(shè)計(jì):研究欲采用的實(shí)現(xiàn)環(huán)境和系統(tǒng)構(gòu)建的效用,結(jié)果是產(chǎn)生一個(gè)對(duì)象模型,即設(shè)計(jì)模型。
實(shí)現(xiàn):在預(yù)定的環(huán)境中實(shí)現(xiàn)系統(tǒng),生成系統(tǒng)的源代碼、可執(zhí)行程序和相應(yīng)的軟件文檔,建立一個(gè)可執(zhí)行的系統(tǒng)。
測(cè)試:對(duì)系統(tǒng)進(jìn)行測(cè)試和排錯(cuò),獲得一個(gè)無(wú)錯(cuò)誤的系統(tǒng)實(shí)現(xiàn)。系統(tǒng)配置:在真實(shí)的使用運(yùn)行環(huán)境(硬件)中配置系統(tǒng),調(diào)試系統(tǒng)。它們是RUP過(guò)程的核心工作流,即軟件系統(tǒng)開(kāi)發(fā)的主要的開(kāi)發(fā)活動(dòng)。
Home3.1.2過(guò)程成分RUP規(guī)定了6個(gè)過(guò)程成分:Home3.1.2過(guò)程成分RUP的核心開(kāi)發(fā)活動(dòng)與系統(tǒng)模型的關(guān)系如圖3.2所示。模型是各個(gè)過(guò)程成分中的產(chǎn)物,也是下一個(gè)過(guò)程成分的工作依據(jù)。RUP過(guò)程的支持工作流包括:結(jié)構(gòu)與變更管理、項(xiàng)目管理和環(huán)境。Home圖3.2核心過(guò)程工作流與模型的關(guān)系3.1.2過(guò)程成分RUP的核心開(kāi)發(fā)活動(dòng)與系統(tǒng)模型的關(guān)系如3.1.3螺旋上升式開(kāi)發(fā)
RUP采用螺旋上升式的開(kāi)發(fā)模式,一個(gè)軟件系統(tǒng)的開(kāi)發(fā)是漸增、循環(huán)、重復(fù)地完成的,如圖3.3所示。
Home圖3.3漸增、循環(huán)、重復(fù)地開(kāi)發(fā)3.1.3螺旋上升式開(kāi)發(fā)RUP采用螺旋上升式的開(kāi)發(fā)模式3.1.3螺旋上升式開(kāi)發(fā)
RUP的每一個(gè)開(kāi)發(fā)階段,尤其是系統(tǒng)構(gòu)建階段,可以進(jìn)一步劃分為若干循環(huán)重復(fù)的工作節(jié)(section)。本次循環(huán)工作節(jié)的結(jié)果是下一次循環(huán)工作節(jié)的輸入,下一次循環(huán)工作節(jié)的結(jié)果是本次結(jié)果的精化和擴(kuò)展。在每一個(gè)循環(huán)重復(fù)的工作節(jié)里,過(guò)程的工作流都包括業(yè)務(wù)建模、需求分析、系統(tǒng)分析與設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等過(guò)程成分。在每一個(gè)小循環(huán)可以產(chǎn)生一個(gè)可以執(zhí)行的原型系統(tǒng)。RUP的螺旋上升式的開(kāi)發(fā)模式還體現(xiàn)在前向工程和逆向工程的結(jié)合(往返工程)上。RUP的4個(gè)開(kāi)發(fā)階段通過(guò)往返工程可以循環(huán)重復(fù)。Home3.1.3螺旋上升式開(kāi)發(fā)RUP的每一個(gè)開(kāi)發(fā)階段,尤其是3.1.4RUP的產(chǎn)物RUP的產(chǎn)物是軟件開(kāi)發(fā)的成果,每一個(gè)RUP活動(dòng)都有相應(yīng)的產(chǎn)物。RUP的產(chǎn)物包括兩大類(lèi):模型和文檔,參見(jiàn)圖3.4。Home圖3.4RUP的主要產(chǎn)物和產(chǎn)物之間的信息流3.1.4RUP的產(chǎn)物RUP的產(chǎn)物是軟件開(kāi)發(fā)的成果,每3.1.4RUP的產(chǎn)物在RUP過(guò)程中將建立9種模型:1.業(yè)務(wù)模型(BusinessModel):對(duì)問(wèn)題領(lǐng)域中的組織機(jī)構(gòu)的一個(gè)抽象。3.領(lǐng)域模型(DomainModel):表達(dá)系統(tǒng)的上下文。3.UseCase模型:UseCase模型表達(dá)系統(tǒng)的功能需求。4.分析模型(AnalysisModel)表達(dá)一個(gè)理想的系統(tǒng)設(shè)計(jì)。分析模型是可選項(xiàng),只有對(duì)于復(fù)雜的系統(tǒng)才需要建立獨(dú)立的分析模型。5.設(shè)計(jì)模型(DesignModel)給出問(wèn)題的詞匯表和具體的解決方案。Home3.1.4RUP的產(chǎn)物在RUP過(guò)程中將建立9種模型:H3.1.4RUP的產(chǎn)物6.過(guò)程模型(ProcessModel)表達(dá)系統(tǒng)的并發(fā)和同步機(jī)制。過(guò)程模型是可選項(xiàng),一般對(duì)于多線程的并發(fā)系統(tǒng)才建立過(guò)程模型。7.配置模型(DeploymentModel)表達(dá)系統(tǒng)的硬件拓?fù)?,以及系統(tǒng)軟件在硬件上的配置。8.實(shí)現(xiàn)模型(ImplementationModel)表達(dá)用于組裝物理系統(tǒng)的各個(gè)軟部件。9.測(cè)試模型(TestModel)表達(dá)驗(yàn)證系統(tǒng)的途徑。Home3.1.4RUP的產(chǎn)物6.過(guò)程模型(Process3.1.4RUP的產(chǎn)物RUP技術(shù)文檔包括:(1)需求分析信息集,如軟件需求說(shuō)明書(shū)、需求補(bǔ)充說(shuō)明、業(yè)務(wù)案例(劇本)等。(2)設(shè)計(jì)信息集,如圖形界面、詞匯表、軟件設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)等。(3)實(shí)現(xiàn)信息集,如源程序清單、動(dòng)態(tài)連接庫(kù)說(shuō)明、用戶(hù)使用手冊(cè)等。(4)配置信息集,提供可交付的全部數(shù)據(jù)。管理文檔包括風(fēng)險(xiǎn)表、軟件開(kāi)發(fā)計(jì)劃、配置計(jì)劃、測(cè)試計(jì)劃等。
Home3.1.4RUP的產(chǎn)物RUP技術(shù)文檔包括:Home3.1.5RUP的特點(diǎn)
RUP的主要特點(diǎn):1.面向?qū)ο蟆?.UseCase驅(qū)動(dòng)。3.以體系結(jié)構(gòu)為中心。4.螺旋上升式的開(kāi)發(fā)過(guò)程。5.以質(zhì)量控制和風(fēng)險(xiǎn)管理為目標(biāo)。6.與UML配套。7.適應(yīng)性強(qiáng)。Home3.1.5RUP的特點(diǎn)RUP的主要特點(diǎn):Home項(xiàng)目開(kāi)端階段的主要任務(wù)是構(gòu)思未來(lái)系統(tǒng)的概貌,確定項(xiàng)目的必要性和可行性。對(duì)于一個(gè)全新開(kāi)發(fā)的系統(tǒng),在項(xiàng)目開(kāi)端階段要制訂出領(lǐng)域的業(yè)務(wù)案例(BusinessCase),確定項(xiàng)目的目標(biāo)、未來(lái)系統(tǒng)的范圍和規(guī)模,以及項(xiàng)目中應(yīng)包含哪些內(nèi)容。此外,還需評(píng)估項(xiàng)目的可行性、可以采用的開(kāi)發(fā)方法,以及預(yù)期的開(kāi)發(fā)風(fēng)險(xiǎn)等,并且粗略地估計(jì)需要多少開(kāi)發(fā)經(jīng)費(fèi)和今后系統(tǒng)投產(chǎn)可能產(chǎn)生的效益。對(duì)于一個(gè)既有的計(jì)算機(jī)系統(tǒng)的演化或改版,在項(xiàng)目開(kāi)端階段只要對(duì)用戶(hù)的要求、問(wèn)題的報(bào)告和新技術(shù)的采用等進(jìn)行研究即可,從而確定開(kāi)發(fā)的目標(biāo)和內(nèi)容。項(xiàng)目開(kāi)端階段的產(chǎn)物包括UseCase模型和有關(guān)的文檔。
3.2項(xiàng)目開(kāi)端階段Home項(xiàng)目開(kāi)端階段的主要任務(wù)是構(gòu)思未來(lái)系統(tǒng)的概貌,確定項(xiàng)目的必要精化階段的主要任務(wù)是:進(jìn)一步分析問(wèn)題領(lǐng)域;建立系統(tǒng)的基本架構(gòu);找出項(xiàng)目的實(shí)施將會(huì)遭遇的風(fēng)險(xiǎn)和應(yīng)對(duì)措施;確定開(kāi)發(fā)的技術(shù)措施;決定資金與資源的配置;制訂系統(tǒng)的構(gòu)建計(jì)劃。
當(dāng)能夠精確地估計(jì)對(duì)每一個(gè)UseCase需要投入的人力,重要的開(kāi)發(fā)風(fēng)險(xiǎn)均已被確認(rèn),并且有了相應(yīng)的對(duì)付辦法的時(shí),精化階段就可結(jié)束。
3.3精化階段Home精化階段的主要任務(wù)是:3.3精化階段Home3.3精化階段3.3.1問(wèn)題領(lǐng)域分析3.3.2建立系統(tǒng)架構(gòu)3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理3.3.4構(gòu)建規(guī)劃Home3.3精化階段3.3.1問(wèn)題領(lǐng)域分析3.3.2建
問(wèn)題領(lǐng)域分析的主要任務(wù)是充分理解領(lǐng)域業(yè)務(wù)問(wèn)題和項(xiàng)目投資者及用戶(hù)的需求,提出高層次的問(wèn)題解決方案。
問(wèn)題領(lǐng)域分析一般需要回答下列問(wèn)題:·在該問(wèn)題領(lǐng)域中做些什么活動(dòng);·什么時(shí)候做這些活動(dòng);·誰(shuí)負(fù)責(zé)做這些活動(dòng);·為什么做這些活動(dòng);·怎樣做這些活動(dòng);·在何處做這些活動(dòng)。3.3.1問(wèn)題領(lǐng)域分析Home問(wèn)題領(lǐng)域分析的主要任務(wù)是充分理解領(lǐng)域業(yè)務(wù)問(wèn)題和項(xiàng)目投資者問(wèn)題領(lǐng)域分析可采取4個(gè)步驟,由領(lǐng)域?qū)<液蛙浖到y(tǒng)分析員合作進(jìn)行:·取得對(duì)問(wèn)題的一致認(rèn)識(shí);·確認(rèn)項(xiàng)目的投資者和用戶(hù)對(duì)項(xiàng)目的需求;·定義系統(tǒng)的職責(zé)范圍和邊界。·確定將施加在系統(tǒng)上的約束。
問(wèn)題領(lǐng)域分析的主要產(chǎn)物有業(yè)務(wù)模型和軟件需求分析說(shuō)明書(shū)。
問(wèn)題領(lǐng)域分析可采取4個(gè)步驟,由領(lǐng)域?qū)<液蛙浖到y(tǒng)分析員合作3.需求分析
需求分析的主要任務(wù)是確定軟件系統(tǒng)的需求。
需求分析的產(chǎn)物主要是UseCase模型和需求分析說(shuō)明書(shū)。
需求分析的具體任務(wù)如下:(1)確定對(duì)系統(tǒng)的綜合要求。
(2)確定系統(tǒng)的數(shù)據(jù)要求。(3)建立UseCase模型。(4)開(kāi)發(fā)系統(tǒng)原型。
3.3.1問(wèn)題領(lǐng)域分析Home3.需求分析3.3.1問(wèn)題領(lǐng)域分析Home1.建立領(lǐng)域模型
建立領(lǐng)域概念模型(DomainModel)是精化階段的另一個(gè)重要任務(wù)。
可用對(duì)象類(lèi)圖表達(dá)領(lǐng)域?qū)<宜褂玫臉I(yè)務(wù)概念,以及把這些概念聯(lián)系在一起的方式。用于表達(dá)領(lǐng)域模型的對(duì)象模型是業(yè)務(wù)對(duì)象模型的演化。
如果在業(yè)務(wù)領(lǐng)域中存在明顯的業(yè)務(wù)工作流,則可以用活動(dòng)圖為業(yè)務(wù)工作流建立模型。
3.3.2建立系統(tǒng)架構(gòu)Home1.建立領(lǐng)域模型3.3.2建立系統(tǒng)架構(gòu)Home在定義工作流時(shí),活動(dòng)圖應(yīng)當(dāng)回答下列問(wèn)題:·是誰(shuí)或什么對(duì)工作流總體負(fù)責(zé)?·需要一些什么活動(dòng)滿足所需要的目標(biāo)?
·誰(shuí)負(fù)責(zé)進(jìn)行不同的活動(dòng)和狀態(tài)?
·該活動(dòng)創(chuàng)建或更新對(duì)象嗎?
·活動(dòng)和狀態(tài)在何處發(fā)生?
·這些活動(dòng)或狀態(tài)為什么要發(fā)生?
有時(shí)可用交互圖表達(dá)業(yè)務(wù)工作流中相互交互的各種角色。在定義工作流時(shí),活動(dòng)圖應(yīng)當(dāng)回答下列問(wèn)題:3.系統(tǒng)分解
對(duì)于一個(gè)大型的復(fù)雜的軟件系統(tǒng),常需要把它分解為若干個(gè)子系統(tǒng),子系統(tǒng)之間通過(guò)接口聯(lián)系。
高層的系統(tǒng)和各個(gè)子系統(tǒng)由其自己的UseCase模型、分析模型、設(shè)計(jì)模型和測(cè)試模型表示,如圖3.5所示。
在分解系統(tǒng)時(shí)需要考慮以下因素:·子系統(tǒng)的大小合理,復(fù)雜性適度。·物理上的分離?!ざx自然的“窄”的接口。·有利于團(tuán)隊(duì)開(kāi)發(fā)。
3.3.2建立系統(tǒng)架構(gòu)Home圖3.5系統(tǒng)分解3.系統(tǒng)分解3.3.2建立系統(tǒng)架構(gòu)Home圖3.53.系統(tǒng)的架構(gòu)
軟件系統(tǒng)的架構(gòu)由多個(gè)視圖組成。RUP過(guò)程系統(tǒng)架構(gòu)的“4+1”視圖如圖3.6所示。
UseCase視圖結(jié)構(gòu)化地描述系統(tǒng)的主要行為、對(duì)象類(lèi)或技術(shù)風(fēng)險(xiǎn)。設(shè)計(jì)視圖是系統(tǒng)體系結(jié)構(gòu)視圖,提供問(wèn)題的詞匯表和解決方案。實(shí)現(xiàn)視圖包含實(shí)現(xiàn)模型的概覽,以模塊形式組成包和層。當(dāng)系統(tǒng)有一定程度的并發(fā)行為時(shí)才使用過(guò)程視圖。配置視圖只用于分布式系統(tǒng),描述典型操作平臺(tái)上的物理節(jié)點(diǎn)。4.建立系統(tǒng)原型
系統(tǒng)原型(Prototype)是一個(gè)可執(zhí)行的原型系統(tǒng)。
3.3.2建立系統(tǒng)架構(gòu)Home圖3.6系統(tǒng)架構(gòu)的“4+1”視圖
設(shè)計(jì)視圖實(shí)現(xiàn)視圖
過(guò)程視圖
配置視圖
UseCase視圖3.系統(tǒng)的架構(gòu)3.3.2建立系統(tǒng)架構(gòu)Home圖3.軟件系統(tǒng)的開(kāi)發(fā)可能面臨4種風(fēng)險(xiǎn):需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)、政策風(fēng)險(xiǎn)。1.需求風(fēng)險(xiǎn)
在項(xiàng)目開(kāi)發(fā)之初往往不能準(zhǔn)確、全面地定義系統(tǒng)的需求,而且在項(xiàng)目開(kāi)發(fā)的過(guò)程中,用戶(hù)對(duì)系統(tǒng)的需求也可能會(huì)發(fā)生改變。
建立業(yè)務(wù)UseCase模型和業(yè)務(wù)對(duì)象模型,不斷地評(píng)估和檢查所擬定的系統(tǒng)模型或原型系統(tǒng)是否滿足系統(tǒng)需求,并且根據(jù)發(fā)現(xiàn)的問(wèn)題及時(shí)更新業(yè)務(wù)UseCase模型和對(duì)象模型。3.技術(shù)風(fēng)險(xiǎn)
采用先進(jìn)的合適的技術(shù)進(jìn)行開(kāi)發(fā),將事半功倍。建立一個(gè)簡(jiǎn)單的原型系統(tǒng),試驗(yàn)所選用的開(kāi)發(fā)工具和環(huán)境。
在系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)方面,應(yīng)當(dāng)采用今后比較容易變更的模型元素。
對(duì)于領(lǐng)域模型,應(yīng)當(dāng)仔細(xì)評(píng)估UseCase模型和對(duì)象模型。
3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home軟件系統(tǒng)的開(kāi)發(fā)可能面臨4種風(fēng)險(xiǎn):需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)3.技能風(fēng)險(xiǎn)
問(wèn)題是否有足夠的開(kāi)發(fā)人員和開(kāi)發(fā)經(jīng)驗(yàn)。物色有經(jīng)驗(yàn)的開(kāi)發(fā)人員,加強(qiáng)開(kāi)發(fā)人員的技能培訓(xùn)。
和有經(jīng)驗(yàn)的開(kāi)發(fā)人員一起工作。
4.政策性風(fēng)險(xiǎn)
問(wèn)題是有無(wú)政策性因素介入或影響項(xiàng)目的開(kāi)發(fā)。
往往是非技術(shù)問(wèn)題決定了項(xiàng)目的命運(yùn)。
政策性風(fēng)險(xiǎn)須用政策性手段解決。
3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home3.技能風(fēng)險(xiǎn)3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home在精化階段的后期要制定一個(gè)構(gòu)建階段的開(kāi)發(fā)計(jì)劃。制訂構(gòu)建計(jì)劃的實(shí)質(zhì)問(wèn)題是為構(gòu)建階段設(shè)置一系列的循環(huán)節(jié),確定每個(gè)循環(huán)節(jié)應(yīng)完成的系統(tǒng)功能。
在制定構(gòu)建計(jì)劃時(shí)應(yīng)當(dāng)考慮兩類(lèi)人員:用戶(hù)和開(kāi)發(fā)人員。
制訂構(gòu)建計(jì)劃的步驟如下:1.UseCase分類(lèi)根據(jù)業(yè)務(wù)價(jià)值把UseCase分成高、中、低層3類(lèi);按照開(kāi)發(fā)風(fēng)險(xiǎn)對(duì)UseCase分類(lèi),如“高風(fēng)險(xiǎn)”類(lèi)。
3.確定循環(huán)的長(zhǎng)度循環(huán)應(yīng)當(dāng)有足夠的長(zhǎng)度去處理擬定的UseCase。循環(huán)長(zhǎng)度確定后可以估計(jì)循環(huán)的開(kāi)發(fā)工作量。
3.分配UseCase到循環(huán)把UseCase分配到循環(huán),計(jì)算出項(xiàng)目的構(gòu)建所需要的開(kāi)發(fā)人員總數(shù)和總開(kāi)發(fā)時(shí)間,制定出具體的開(kāi)發(fā)計(jì)劃和日程表??紤]偶然性因子。
3.3.4構(gòu)建規(guī)則Home在精化階段的后期要制定一個(gè)構(gòu)建階段的開(kāi)發(fā)計(jì)劃。3.3.4系統(tǒng)構(gòu)建階段又分為許多循環(huán),每個(gè)循環(huán)各自完成一部分系統(tǒng)功能,最后把整個(gè)系統(tǒng)完整地建造出來(lái),成為最終的軟件產(chǎn)品。
實(shí)際上一個(gè)循環(huán)就是一個(gè)微型的開(kāi)發(fā)項(xiàng)目,它為指定給該循環(huán)的UseCase進(jìn)行分析、設(shè)計(jì)、編碼、測(cè)試、集成等工作。
UseCase驅(qū)動(dòng)的循環(huán)過(guò)程如圖3.7所示。
在功能方面循環(huán)是漸增的,每次循環(huán)建立在上一次循環(huán)開(kāi)發(fā)的UseCase的基礎(chǔ)上。在代碼方面循環(huán)是重復(fù)的,每次循環(huán)修改已有的代碼,使其更為完善。測(cè)試和模塊集成不宜在項(xiàng)目結(jié)尾的時(shí)候進(jìn)行,應(yīng)當(dāng)及時(shí)進(jìn)行。3.4系統(tǒng)構(gòu)建Home圖3.7UseCase驅(qū)動(dòng)的循環(huán)過(guò)程
系統(tǒng)構(gòu)建階段又分為許多循環(huán),每個(gè)循環(huán)各自完成一部分系統(tǒng)功能構(gòu)建階段的工作實(shí)際上是進(jìn)行一系列的模型映射:從UseCase模型向分析模型的映射,從分析模型向設(shè)計(jì)模型的映射,從設(shè)計(jì)模型向?qū)崿F(xiàn)模型映射。通過(guò)編碼、測(cè)試、集成,得到最終的可執(zhí)行系統(tǒng)。
從設(shè)計(jì)模型向?qū)崿F(xiàn)模型映射時(shí)一般需要考慮的工作:
(1)把設(shè)計(jì)模型中的類(lèi)、包、子系統(tǒng)向?qū)崿F(xiàn)模型的組件、包、子系統(tǒng)映射。
(2)建立一個(gè)代表實(shí)現(xiàn)模型的系統(tǒng)結(jié)構(gòu)的組件圖,適當(dāng)增加或調(diào)整子系統(tǒng)。
(3)定義子系統(tǒng)的輸入依賴(lài)。(4)定義測(cè)試子系統(tǒng)和組件。(5)更新實(shí)現(xiàn)視圖。3.4系統(tǒng)構(gòu)建Home構(gòu)建階段的工作實(shí)際上是進(jìn)行一系列的模型映射:從UseCa實(shí)現(xiàn)模型中的系統(tǒng)的體系結(jié)構(gòu)建立在組件(和子系統(tǒng))的基礎(chǔ)上,一般有4個(gè)層次(見(jiàn)圖3.8)。(1)應(yīng)用層。系統(tǒng)的頂層,包括應(yīng)用程序,提供專(zhuān)門(mén)的應(yīng)用服務(wù)。(2)專(zhuān)用業(yè)務(wù)層,包括特定的業(yè)務(wù)組件和業(yè)務(wù)程序,將由應(yīng)用程序調(diào)用。(3)中間件層,包括中間件,如GUI構(gòu)造器、與數(shù)據(jù)庫(kù)管理系統(tǒng)的接口等。(4)系統(tǒng)軟件層,包括操作系統(tǒng)、專(zhuān)用硬件接口等。3.4系統(tǒng)構(gòu)建Home圖3.8基于組件的分層系統(tǒng)結(jié)構(gòu)
實(shí)現(xiàn)模型中的系統(tǒng)的體系結(jié)構(gòu)建立在組件(和子系統(tǒng))的基礎(chǔ)上,過(guò)渡階段從發(fā)布系統(tǒng)的Beta版本開(kāi)始,通過(guò)在實(shí)際運(yùn)行環(huán)境上的Beta測(cè)試,發(fā)現(xiàn)和糾正一些以前未發(fā)現(xiàn)的問(wèn)題,適當(dāng)調(diào)整或補(bǔ)充開(kāi)發(fā)系統(tǒng),滿足用戶(hù)提出的補(bǔ)充要求,得到最終的產(chǎn)品軟件。把開(kāi)發(fā)完成的軟件產(chǎn)品提交給客戶(hù),進(jìn)行產(chǎn)品制造、交付、系統(tǒng)安裝、人員培訓(xùn)、技術(shù)支持、維護(hù)等一系列工作,直到客戶(hù)滿意為止。在過(guò)渡階段結(jié)束之前應(yīng)當(dāng)對(duì)整個(gè)開(kāi)發(fā)過(guò)程進(jìn)行總結(jié)和評(píng)審,確認(rèn)是否已經(jīng)達(dá)到原定的開(kāi)發(fā)目標(biāo),最終的產(chǎn)品系統(tǒng)的各項(xiàng)指標(biāo)是否符合原定的要求,并認(rèn)真總結(jié)經(jīng)驗(yàn)和教訓(xùn)。
3.5系統(tǒng)提交Home過(guò)渡階段從發(fā)布系統(tǒng)的Beta版本開(kāi)始,通過(guò)在實(shí)際運(yùn)行環(huán)境上每一個(gè)循環(huán)工作節(jié)都是一個(gè)獨(dú)立完整的開(kāi)發(fā)小單元,其生命周期包括下列活動(dòng):循環(huán)節(jié)規(guī)劃、獲取需求、分析與設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、準(zhǔn)備發(fā)布,如圖3.7所示。
不同的開(kāi)發(fā)階段中的循環(huán)工作節(jié),其工作的重點(diǎn)是不同的。在開(kāi)端階段中的循環(huán)工作節(jié)的中心工作是獲取需求;在精化階段中的循環(huán)工作節(jié)的中心工作是系統(tǒng)分析與設(shè)計(jì);在構(gòu)建階段中的循環(huán)工作節(jié)的中心工作是系統(tǒng)的實(shí)現(xiàn);在過(guò)渡階段中的循環(huán)工作節(jié)的中心工作是系統(tǒng)的配置。
3.6循環(huán)節(jié)的生命周期活動(dòng)Home每一個(gè)循環(huán)工作節(jié)都是一個(gè)獨(dú)立完整的開(kāi)發(fā)小單元,其生命周期包例:一個(gè)精化階段的循環(huán)節(jié)的活動(dòng)圖,它描述了對(duì)于軟件的高層系統(tǒng)進(jìn)行開(kāi)發(fā)的活動(dòng),如圖3.9所示。3.6循環(huán)節(jié)的生命周期活動(dòng)Home圖3.9精化階段的循環(huán)節(jié)的活動(dòng)圖
例:一個(gè)精化階段的循環(huán)節(jié)的活動(dòng)圖,它描述了對(duì)于軟件的高層系RUP
(RationalUnifiedProcess,Rational統(tǒng)一過(guò)程)是UML的創(chuàng)始者在創(chuàng)建UML的同時(shí)提出的一種面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。
UML是一種用于軟件的系統(tǒng)分析和設(shè)計(jì)的語(yǔ)言工具,它是獨(dú)立于軟件開(kāi)發(fā)過(guò)程的。UML可以應(yīng)用于任何軟件開(kāi)發(fā)過(guò)程。
UML與RUP相結(jié)合進(jìn)行軟件系統(tǒng)的開(kāi)發(fā)必定相得益彰。
第3章RUPHomeRUP(RationalUnifiedProces第3章RUP3.1RUP3.2項(xiàng)目開(kāi)端階段3.3精化階段3.4系統(tǒng)構(gòu)建3.5系統(tǒng)提交Home3.6循環(huán)節(jié)的生命周期活動(dòng)第3章RUP3.1RUP3.2項(xiàng)目開(kāi)端階段3.1RUPRUP是一種二維結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程,其中一維是時(shí)間,另一維是過(guò)程成分,如圖3.1所示。按時(shí)間序列,RUP把軟件開(kāi)發(fā)的生命周期劃分為若干階段和一系列的循環(huán)重復(fù)。
過(guò)程成分是指良好定義的開(kāi)發(fā)活動(dòng),通過(guò)過(guò)程獲得軟件開(kāi)發(fā)的產(chǎn)物。Home圖3.1RUP3.1RUPRUP是一種二維結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程,其中一維3.1RUP3.1.1項(xiàng)目開(kāi)發(fā)階段3.1.2過(guò)程成分3.1.3螺旋上升式開(kāi)發(fā)3.1.4RUP的產(chǎn)物3.1.5RUP的特點(diǎn)Home3.1RUP3.1.1項(xiàng)目開(kāi)發(fā)階段3.1.2過(guò)程3.1.1項(xiàng)目開(kāi)發(fā)階段RUP把軟件項(xiàng)目的開(kāi)發(fā)過(guò)程劃分為4個(gè)階段:開(kāi)端階段:給出關(guān)于項(xiàng)目的初步輪廓的說(shuō)明,理解問(wèn)題領(lǐng)域的各種業(yè)務(wù)過(guò)程和關(guān)系,了解系統(tǒng)的需求,明確系統(tǒng)的范圍和職責(zé),構(gòu)思未來(lái)系統(tǒng)的概貌,探討項(xiàng)目開(kāi)發(fā)的必要性和可行性。精化階段:收集更詳細(xì)的系統(tǒng)需求,進(jìn)行高層次的系統(tǒng)分析和設(shè)計(jì),確定系統(tǒng)的特征和基本的系統(tǒng)架構(gòu),編制系統(tǒng)構(gòu)建計(jì)劃,確定開(kāi)發(fā)所需要的活動(dòng)和資源。構(gòu)建階段:通過(guò)循環(huán)重復(fù)的工作具體建造軟件系統(tǒng)。每一次的循環(huán)都包含了常規(guī)的軟件生命周期階段的活動(dòng)——分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等。每一次循環(huán)都將得到一個(gè)更準(zhǔn)確的接近未來(lái)系統(tǒng)的系統(tǒng)模型或原型。過(guò)渡階段:系統(tǒng)正式投入運(yùn)行前的階段,進(jìn)行系統(tǒng)的Beta測(cè)試、系統(tǒng)性能調(diào)整和人員培訓(xùn)等。
Home3.1.1項(xiàng)目開(kāi)發(fā)階段RUP把軟件項(xiàng)目的開(kāi)發(fā)過(guò)程劃分為3.1.2過(guò)程成分RUP規(guī)定了6個(gè)過(guò)程成分:業(yè)務(wù)建模:對(duì)將來(lái)使用該系統(tǒng)的組織機(jī)構(gòu)或企業(yè)進(jìn)行評(píng)估,理解它們要求未來(lái)系統(tǒng)解決的問(wèn)題。業(yè)務(wù)建模的結(jié)果是建立一個(gè)業(yè)務(wù)UseCase模型和業(yè)務(wù)對(duì)象模型。
需求分析:采集和評(píng)價(jià)系統(tǒng)的需求。需求分析的結(jié)果可以用一個(gè)UseCase模型表達(dá)。
系統(tǒng)分析與設(shè)計(jì):研究欲采用的實(shí)現(xiàn)環(huán)境和系統(tǒng)構(gòu)建的效用,結(jié)果是產(chǎn)生一個(gè)對(duì)象模型,即設(shè)計(jì)模型。
實(shí)現(xiàn):在預(yù)定的環(huán)境中實(shí)現(xiàn)系統(tǒng),生成系統(tǒng)的源代碼、可執(zhí)行程序和相應(yīng)的軟件文檔,建立一個(gè)可執(zhí)行的系統(tǒng)。
測(cè)試:對(duì)系統(tǒng)進(jìn)行測(cè)試和排錯(cuò),獲得一個(gè)無(wú)錯(cuò)誤的系統(tǒng)實(shí)現(xiàn)。系統(tǒng)配置:在真實(shí)的使用運(yùn)行環(huán)境(硬件)中配置系統(tǒng),調(diào)試系統(tǒng)。它們是RUP過(guò)程的核心工作流,即軟件系統(tǒng)開(kāi)發(fā)的主要的開(kāi)發(fā)活動(dòng)。
Home3.1.2過(guò)程成分RUP規(guī)定了6個(gè)過(guò)程成分:Home3.1.2過(guò)程成分RUP的核心開(kāi)發(fā)活動(dòng)與系統(tǒng)模型的關(guān)系如圖3.2所示。模型是各個(gè)過(guò)程成分中的產(chǎn)物,也是下一個(gè)過(guò)程成分的工作依據(jù)。RUP過(guò)程的支持工作流包括:結(jié)構(gòu)與變更管理、項(xiàng)目管理和環(huán)境。Home圖3.2核心過(guò)程工作流與模型的關(guān)系3.1.2過(guò)程成分RUP的核心開(kāi)發(fā)活動(dòng)與系統(tǒng)模型的關(guān)系如3.1.3螺旋上升式開(kāi)發(fā)
RUP采用螺旋上升式的開(kāi)發(fā)模式,一個(gè)軟件系統(tǒng)的開(kāi)發(fā)是漸增、循環(huán)、重復(fù)地完成的,如圖3.3所示。
Home圖3.3漸增、循環(huán)、重復(fù)地開(kāi)發(fā)3.1.3螺旋上升式開(kāi)發(fā)RUP采用螺旋上升式的開(kāi)發(fā)模式3.1.3螺旋上升式開(kāi)發(fā)
RUP的每一個(gè)開(kāi)發(fā)階段,尤其是系統(tǒng)構(gòu)建階段,可以進(jìn)一步劃分為若干循環(huán)重復(fù)的工作節(jié)(section)。本次循環(huán)工作節(jié)的結(jié)果是下一次循環(huán)工作節(jié)的輸入,下一次循環(huán)工作節(jié)的結(jié)果是本次結(jié)果的精化和擴(kuò)展。在每一個(gè)循環(huán)重復(fù)的工作節(jié)里,過(guò)程的工作流都包括業(yè)務(wù)建模、需求分析、系統(tǒng)分析與設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等過(guò)程成分。在每一個(gè)小循環(huán)可以產(chǎn)生一個(gè)可以執(zhí)行的原型系統(tǒng)。RUP的螺旋上升式的開(kāi)發(fā)模式還體現(xiàn)在前向工程和逆向工程的結(jié)合(往返工程)上。RUP的4個(gè)開(kāi)發(fā)階段通過(guò)往返工程可以循環(huán)重復(fù)。Home3.1.3螺旋上升式開(kāi)發(fā)RUP的每一個(gè)開(kāi)發(fā)階段,尤其是3.1.4RUP的產(chǎn)物RUP的產(chǎn)物是軟件開(kāi)發(fā)的成果,每一個(gè)RUP活動(dòng)都有相應(yīng)的產(chǎn)物。RUP的產(chǎn)物包括兩大類(lèi):模型和文檔,參見(jiàn)圖3.4。Home圖3.4RUP的主要產(chǎn)物和產(chǎn)物之間的信息流3.1.4RUP的產(chǎn)物RUP的產(chǎn)物是軟件開(kāi)發(fā)的成果,每3.1.4RUP的產(chǎn)物在RUP過(guò)程中將建立9種模型:1.業(yè)務(wù)模型(BusinessModel):對(duì)問(wèn)題領(lǐng)域中的組織機(jī)構(gòu)的一個(gè)抽象。3.領(lǐng)域模型(DomainModel):表達(dá)系統(tǒng)的上下文。3.UseCase模型:UseCase模型表達(dá)系統(tǒng)的功能需求。4.分析模型(AnalysisModel)表達(dá)一個(gè)理想的系統(tǒng)設(shè)計(jì)。分析模型是可選項(xiàng),只有對(duì)于復(fù)雜的系統(tǒng)才需要建立獨(dú)立的分析模型。5.設(shè)計(jì)模型(DesignModel)給出問(wèn)題的詞匯表和具體的解決方案。Home3.1.4RUP的產(chǎn)物在RUP過(guò)程中將建立9種模型:H3.1.4RUP的產(chǎn)物6.過(guò)程模型(ProcessModel)表達(dá)系統(tǒng)的并發(fā)和同步機(jī)制。過(guò)程模型是可選項(xiàng),一般對(duì)于多線程的并發(fā)系統(tǒng)才建立過(guò)程模型。7.配置模型(DeploymentModel)表達(dá)系統(tǒng)的硬件拓?fù)?,以及系統(tǒng)軟件在硬件上的配置。8.實(shí)現(xiàn)模型(ImplementationModel)表達(dá)用于組裝物理系統(tǒng)的各個(gè)軟部件。9.測(cè)試模型(TestModel)表達(dá)驗(yàn)證系統(tǒng)的途徑。Home3.1.4RUP的產(chǎn)物6.過(guò)程模型(Process3.1.4RUP的產(chǎn)物RUP技術(shù)文檔包括:(1)需求分析信息集,如軟件需求說(shuō)明書(shū)、需求補(bǔ)充說(shuō)明、業(yè)務(wù)案例(劇本)等。(2)設(shè)計(jì)信息集,如圖形界面、詞匯表、軟件設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)等。(3)實(shí)現(xiàn)信息集,如源程序清單、動(dòng)態(tài)連接庫(kù)說(shuō)明、用戶(hù)使用手冊(cè)等。(4)配置信息集,提供可交付的全部數(shù)據(jù)。管理文檔包括風(fēng)險(xiǎn)表、軟件開(kāi)發(fā)計(jì)劃、配置計(jì)劃、測(cè)試計(jì)劃等。
Home3.1.4RUP的產(chǎn)物RUP技術(shù)文檔包括:Home3.1.5RUP的特點(diǎn)
RUP的主要特點(diǎn):1.面向?qū)ο蟆?.UseCase驅(qū)動(dòng)。3.以體系結(jié)構(gòu)為中心。4.螺旋上升式的開(kāi)發(fā)過(guò)程。5.以質(zhì)量控制和風(fēng)險(xiǎn)管理為目標(biāo)。6.與UML配套。7.適應(yīng)性強(qiáng)。Home3.1.5RUP的特點(diǎn)RUP的主要特點(diǎn):Home項(xiàng)目開(kāi)端階段的主要任務(wù)是構(gòu)思未來(lái)系統(tǒng)的概貌,確定項(xiàng)目的必要性和可行性。對(duì)于一個(gè)全新開(kāi)發(fā)的系統(tǒng),在項(xiàng)目開(kāi)端階段要制訂出領(lǐng)域的業(yè)務(wù)案例(BusinessCase),確定項(xiàng)目的目標(biāo)、未來(lái)系統(tǒng)的范圍和規(guī)模,以及項(xiàng)目中應(yīng)包含哪些內(nèi)容。此外,還需評(píng)估項(xiàng)目的可行性、可以采用的開(kāi)發(fā)方法,以及預(yù)期的開(kāi)發(fā)風(fēng)險(xiǎn)等,并且粗略地估計(jì)需要多少開(kāi)發(fā)經(jīng)費(fèi)和今后系統(tǒng)投產(chǎn)可能產(chǎn)生的效益。對(duì)于一個(gè)既有的計(jì)算機(jī)系統(tǒng)的演化或改版,在項(xiàng)目開(kāi)端階段只要對(duì)用戶(hù)的要求、問(wèn)題的報(bào)告和新技術(shù)的采用等進(jìn)行研究即可,從而確定開(kāi)發(fā)的目標(biāo)和內(nèi)容。項(xiàng)目開(kāi)端階段的產(chǎn)物包括UseCase模型和有關(guān)的文檔。
3.2項(xiàng)目開(kāi)端階段Home項(xiàng)目開(kāi)端階段的主要任務(wù)是構(gòu)思未來(lái)系統(tǒng)的概貌,確定項(xiàng)目的必要精化階段的主要任務(wù)是:進(jìn)一步分析問(wèn)題領(lǐng)域;建立系統(tǒng)的基本架構(gòu);找出項(xiàng)目的實(shí)施將會(huì)遭遇的風(fēng)險(xiǎn)和應(yīng)對(duì)措施;確定開(kāi)發(fā)的技術(shù)措施;決定資金與資源的配置;制訂系統(tǒng)的構(gòu)建計(jì)劃。
當(dāng)能夠精確地估計(jì)對(duì)每一個(gè)UseCase需要投入的人力,重要的開(kāi)發(fā)風(fēng)險(xiǎn)均已被確認(rèn),并且有了相應(yīng)的對(duì)付辦法的時(shí),精化階段就可結(jié)束。
3.3精化階段Home精化階段的主要任務(wù)是:3.3精化階段Home3.3精化階段3.3.1問(wèn)題領(lǐng)域分析3.3.2建立系統(tǒng)架構(gòu)3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理3.3.4構(gòu)建規(guī)劃Home3.3精化階段3.3.1問(wèn)題領(lǐng)域分析3.3.2建
問(wèn)題領(lǐng)域分析的主要任務(wù)是充分理解領(lǐng)域業(yè)務(wù)問(wèn)題和項(xiàng)目投資者及用戶(hù)的需求,提出高層次的問(wèn)題解決方案。
問(wèn)題領(lǐng)域分析一般需要回答下列問(wèn)題:·在該問(wèn)題領(lǐng)域中做些什么活動(dòng);·什么時(shí)候做這些活動(dòng);·誰(shuí)負(fù)責(zé)做這些活動(dòng);·為什么做這些活動(dòng);·怎樣做這些活動(dòng);·在何處做這些活動(dòng)。3.3.1問(wèn)題領(lǐng)域分析Home問(wèn)題領(lǐng)域分析的主要任務(wù)是充分理解領(lǐng)域業(yè)務(wù)問(wèn)題和項(xiàng)目投資者問(wèn)題領(lǐng)域分析可采取4個(gè)步驟,由領(lǐng)域?qū)<液蛙浖到y(tǒng)分析員合作進(jìn)行:·取得對(duì)問(wèn)題的一致認(rèn)識(shí);·確認(rèn)項(xiàng)目的投資者和用戶(hù)對(duì)項(xiàng)目的需求;·定義系統(tǒng)的職責(zé)范圍和邊界?!ご_定將施加在系統(tǒng)上的約束。
問(wèn)題領(lǐng)域分析的主要產(chǎn)物有業(yè)務(wù)模型和軟件需求分析說(shuō)明書(shū)。
問(wèn)題領(lǐng)域分析可采取4個(gè)步驟,由領(lǐng)域?qū)<液蛙浖到y(tǒng)分析員合作3.需求分析
需求分析的主要任務(wù)是確定軟件系統(tǒng)的需求。
需求分析的產(chǎn)物主要是UseCase模型和需求分析說(shuō)明書(shū)。
需求分析的具體任務(wù)如下:(1)確定對(duì)系統(tǒng)的綜合要求。
(2)確定系統(tǒng)的數(shù)據(jù)要求。(3)建立UseCase模型。(4)開(kāi)發(fā)系統(tǒng)原型。
3.3.1問(wèn)題領(lǐng)域分析Home3.需求分析3.3.1問(wèn)題領(lǐng)域分析Home1.建立領(lǐng)域模型
建立領(lǐng)域概念模型(DomainModel)是精化階段的另一個(gè)重要任務(wù)。
可用對(duì)象類(lèi)圖表達(dá)領(lǐng)域?qū)<宜褂玫臉I(yè)務(wù)概念,以及把這些概念聯(lián)系在一起的方式。用于表達(dá)領(lǐng)域模型的對(duì)象模型是業(yè)務(wù)對(duì)象模型的演化。
如果在業(yè)務(wù)領(lǐng)域中存在明顯的業(yè)務(wù)工作流,則可以用活動(dòng)圖為業(yè)務(wù)工作流建立模型。
3.3.2建立系統(tǒng)架構(gòu)Home1.建立領(lǐng)域模型3.3.2建立系統(tǒng)架構(gòu)Home在定義工作流時(shí),活動(dòng)圖應(yīng)當(dāng)回答下列問(wèn)題:·是誰(shuí)或什么對(duì)工作流總體負(fù)責(zé)?·需要一些什么活動(dòng)滿足所需要的目標(biāo)?
·誰(shuí)負(fù)責(zé)進(jìn)行不同的活動(dòng)和狀態(tài)?
·該活動(dòng)創(chuàng)建或更新對(duì)象嗎?
·活動(dòng)和狀態(tài)在何處發(fā)生?
·這些活動(dòng)或狀態(tài)為什么要發(fā)生?
有時(shí)可用交互圖表達(dá)業(yè)務(wù)工作流中相互交互的各種角色。在定義工作流時(shí),活動(dòng)圖應(yīng)當(dāng)回答下列問(wèn)題:3.系統(tǒng)分解
對(duì)于一個(gè)大型的復(fù)雜的軟件系統(tǒng),常需要把它分解為若干個(gè)子系統(tǒng),子系統(tǒng)之間通過(guò)接口聯(lián)系。
高層的系統(tǒng)和各個(gè)子系統(tǒng)由其自己的UseCase模型、分析模型、設(shè)計(jì)模型和測(cè)試模型表示,如圖3.5所示。
在分解系統(tǒng)時(shí)需要考慮以下因素:·子系統(tǒng)的大小合理,復(fù)雜性適度?!の锢砩系姆蛛x?!ざx自然的“窄”的接口?!び欣趫F(tuán)隊(duì)開(kāi)發(fā)。
3.3.2建立系統(tǒng)架構(gòu)Home圖3.5系統(tǒng)分解3.系統(tǒng)分解3.3.2建立系統(tǒng)架構(gòu)Home圖3.53.系統(tǒng)的架構(gòu)
軟件系統(tǒng)的架構(gòu)由多個(gè)視圖組成。RUP過(guò)程系統(tǒng)架構(gòu)的“4+1”視圖如圖3.6所示。
UseCase視圖結(jié)構(gòu)化地描述系統(tǒng)的主要行為、對(duì)象類(lèi)或技術(shù)風(fēng)險(xiǎn)。設(shè)計(jì)視圖是系統(tǒng)體系結(jié)構(gòu)視圖,提供問(wèn)題的詞匯表和解決方案。實(shí)現(xiàn)視圖包含實(shí)現(xiàn)模型的概覽,以模塊形式組成包和層。當(dāng)系統(tǒng)有一定程度的并發(fā)行為時(shí)才使用過(guò)程視圖。配置視圖只用于分布式系統(tǒng),描述典型操作平臺(tái)上的物理節(jié)點(diǎn)。4.建立系統(tǒng)原型
系統(tǒng)原型(Prototype)是一個(gè)可執(zhí)行的原型系統(tǒng)。
3.3.2建立系統(tǒng)架構(gòu)Home圖3.6系統(tǒng)架構(gòu)的“4+1”視圖
設(shè)計(jì)視圖實(shí)現(xiàn)視圖
過(guò)程視圖
配置視圖
UseCase視圖3.系統(tǒng)的架構(gòu)3.3.2建立系統(tǒng)架構(gòu)Home圖3.軟件系統(tǒng)的開(kāi)發(fā)可能面臨4種風(fēng)險(xiǎn):需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)、政策風(fēng)險(xiǎn)。1.需求風(fēng)險(xiǎn)
在項(xiàng)目開(kāi)發(fā)之初往往不能準(zhǔn)確、全面地定義系統(tǒng)的需求,而且在項(xiàng)目開(kāi)發(fā)的過(guò)程中,用戶(hù)對(duì)系統(tǒng)的需求也可能會(huì)發(fā)生改變。
建立業(yè)務(wù)UseCase模型和業(yè)務(wù)對(duì)象模型,不斷地評(píng)估和檢查所擬定的系統(tǒng)模型或原型系統(tǒng)是否滿足系統(tǒng)需求,并且根據(jù)發(fā)現(xiàn)的問(wèn)題及時(shí)更新業(yè)務(wù)UseCase模型和對(duì)象模型。3.技術(shù)風(fēng)險(xiǎn)
采用先進(jìn)的合適的技術(shù)進(jìn)行開(kāi)發(fā),將事半功倍。建立一個(gè)簡(jiǎn)單的原型系統(tǒng),試驗(yàn)所選用的開(kāi)發(fā)工具和環(huán)境。
在系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)方面,應(yīng)當(dāng)采用今后比較容易變更的模型元素。
對(duì)于領(lǐng)域模型,應(yīng)當(dāng)仔細(xì)評(píng)估UseCase模型和對(duì)象模型。
3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home軟件系統(tǒng)的開(kāi)發(fā)可能面臨4種風(fēng)險(xiǎn):需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)3.技能風(fēng)險(xiǎn)
問(wèn)題是否有足夠的開(kāi)發(fā)人員和開(kāi)發(fā)經(jīng)驗(yàn)。物色有經(jīng)驗(yàn)的開(kāi)發(fā)人員,加強(qiáng)開(kāi)發(fā)人員的技能培訓(xùn)。
和有經(jīng)驗(yàn)的開(kāi)發(fā)人員一起工作。
4.政策性風(fēng)險(xiǎn)
問(wèn)題是有無(wú)政策性因素介入或影響項(xiàng)目的開(kāi)發(fā)。
往往是非技術(shù)問(wèn)題決定了項(xiàng)目的命運(yùn)。
政策性風(fēng)險(xiǎn)須用政策性手段解決。
3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home3.技能風(fēng)險(xiǎn)3.3.3開(kāi)發(fā)風(fēng)險(xiǎn)處理Home在精化階段的后期要制定一個(gè)構(gòu)建階段的開(kāi)發(fā)計(jì)劃。制訂構(gòu)建計(jì)劃的實(shí)質(zhì)問(wèn)題是為構(gòu)建階段設(shè)置一系列的循環(huán)節(jié),確定每個(gè)循環(huán)節(jié)應(yīng)完成的系統(tǒng)功能。
在制定構(gòu)建計(jì)劃時(shí)應(yīng)當(dāng)考慮兩類(lèi)人員:用戶(hù)和開(kāi)發(fā)人員。
制訂構(gòu)建計(jì)劃的步驟如下:1.UseCase分類(lèi)根據(jù)業(yè)務(wù)價(jià)值把UseCase分成高、中、低層3類(lèi);按照開(kāi)發(fā)風(fēng)險(xiǎn)對(duì)UseCase分類(lèi),如“高風(fēng)險(xiǎn)”類(lèi)。
3.確定循環(huán)的長(zhǎng)度循環(huán)應(yīng)當(dāng)有足夠的長(zhǎng)度去處理擬定的UseCase。循環(huán)長(zhǎng)度確定后可以估計(jì)循環(huán)的開(kāi)發(fā)工作量。
3.分配UseCase到循環(huán)把UseCase分配到循環(huán),計(jì)算出項(xiàng)目的構(gòu)建所需要的開(kāi)發(fā)人員總數(shù)和總開(kāi)發(fā)時(shí)間,制定出具體的開(kāi)發(fā)計(jì)劃和日程表??紤]偶然性因子。
3.3.4構(gòu)建規(guī)則
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代持協(xié)議書(shū)范本步驟
- 倉(cāng)庫(kù)租賃合同書(shū)范本東盟版
- 個(gè)體企業(yè)物業(yè)對(duì)接移交管理流程
- 三人合作綠色工業(yè)協(xié)議
- 交通安全繪畫(huà)比賽規(guī)則
- 互聯(lián)網(wǎng)企業(yè)門(mén)衛(wèi)工作合同模板
- 企業(yè)接待高級(jí)車(chē)租賃合同模板
- 臨時(shí)施工工具租賃買(mǎi)賣(mài)協(xié)議
- 企業(yè)入駐技術(shù)交流協(xié)議
- 臨沂網(wǎng)絡(luò)俱樂(lè)部行業(yè)勞動(dòng)合同樣本
- 成人重癥患者人工氣道濕化護(hù)理專(zhuān)家共識(shí)
- 醫(yī)療廢棄物培訓(xùn)
- 朝花夕拾讀書(shū)分享會(huì)
- 心肌病和心肌炎課件
- 突發(fā)事件應(yīng)急處理知識(shí)培訓(xùn)
- 糖尿病專(zhuān)科護(hù)士考試試題
- 人工智能概論-人工智能概述
- 鄉(xiāng)村旅游財(cái)務(wù)分析策劃方案
- 高校學(xué)生事務(wù)管理1
- (中職)ZZ030植物病蟲(chóng)害防治賽項(xiàng)規(guī)程(7月19日更新)
- 2024年國(guó)能包神鐵路集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
評(píng)論
0/150
提交評(píng)論