1RUP核心思想
(1)采用用例分析捕獲用戶需求。用例的主要優(yōu)勢(shì)在于以用戶需求為中心,通過用例分析可以更加明確用戶的功能性需求,從而為開發(fā)團(tuán)隊(duì)成員在設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和最終編寫用戶手冊(cè)過程中提供業(yè)務(wù)指導(dǎo),以保證最后所開發(fā)出的軟件產(chǎn)品符合用戶需求。
(2)使用基于構(gòu)件的體系結(jié)構(gòu)。使用基于構(gòu)件的體系結(jié)構(gòu)對(duì)軟件的開發(fā)有一定的益處,例如:模塊獨(dú)立性強(qiáng),這樣,一旦在集成測(cè)試中發(fā)現(xiàn)錯(cuò)誤時(shí)就不一定要修改整個(gè)軟件,只修改有問題的模塊就可以解決問題,這樣可以為測(cè)試節(jié)省一定的人力與開支,最重要的是可以保證所開發(fā)軟件產(chǎn)品的整體結(jié)構(gòu)。構(gòu)件具有高度的可塑性,可以對(duì)所使用的構(gòu)件進(jìn)行一定的擴(kuò)充或修改以使該構(gòu)件滿足所開發(fā)系統(tǒng)的需要;構(gòu)件還具有接口清晰、簡(jiǎn)明、可靠等特點(diǎn),所以,使用構(gòu)件可以降低集成階段的困難。
(3)通過UML符號(hào)進(jìn)行可視化建模。UML是被廣泛采用的一種面向?qū)ο蠼UZ言,它包括7種模型圖,分別為組件圖、部署圖、類圖、序列圖、狀態(tài)圖、活動(dòng)圖和用例圖。這些圖又分為靜態(tài)模型圖和動(dòng)態(tài)模型圖,其中實(shí)現(xiàn)靜態(tài)建模的有類圖、組件圖和部署圖;類圖可以將一組類、界面、協(xié)作以及這些元素之間的關(guān)聯(lián)關(guān)系顯示出來,通常分為抽象類和實(shí)現(xiàn)類;組件圖,以可視化方式提供系統(tǒng)的物理視圖,并顯示系統(tǒng)中組件的依賴關(guān)系;部署圖,表示系統(tǒng)物理部署與到服務(wù)器環(huán)境中的拓?fù)浣Y(jié)構(gòu),主要包括節(jié)點(diǎn)和連線。其它4種圖用來描述系統(tǒng)的動(dòng)態(tài)行為。用例圖,描述系統(tǒng)的功能單元,一個(gè)用例表示一個(gè)具體的業(yè)務(wù)功能,它以圖形化的方式表示系統(tǒng)內(nèi)部的用例結(jié)構(gòu)、系統(tǒng)外部的參考者以及它們之間的交互;順序圖,強(qiáng)調(diào)的是時(shí)間順序,顯示某個(gè)用例詳細(xì)的業(yè)務(wù)流程。順序圖是二維關(guān)系圖,其垂直方向是以時(shí)間順序顯示消息傳遞以及方法調(diào)用順序,水平方向顯示發(fā)送和接受消息的對(duì)象實(shí)例;狀態(tài)圖,描述系統(tǒng)的動(dòng)態(tài)特征,包括狀態(tài)、轉(zhuǎn)換、事件和活動(dòng)等;活動(dòng)圖,描述系統(tǒng)在處理某活動(dòng)時(shí)兩個(gè)或兩個(gè)以上對(duì)象間的活動(dòng)流程。
2RUP開發(fā)模型
RUP中的軟件生命周期在時(shí)間上分解為4個(gè)順序階段,分別是:初始階段(Inception)、精化階段(Elabora-tion)、構(gòu)造階段(Construction)和交付階段(Transition)。每個(gè)階段結(jié)束于一個(gè)主要的里程碑。在每個(gè)階段的結(jié)尾執(zhí)行一次評(píng)估以確定這個(gè)階段的成果是否滿足預(yù)定的目標(biāo)。如果評(píng)估結(jié)果符合要求,則允許項(xiàng)目進(jìn)入下一個(gè)階段。
(1)初始階段(Inception)。初始階段主要是業(yè)務(wù)調(diào)研和設(shè)計(jì)藍(lán)圖,并在所有項(xiàng)目干系人間達(dá)成關(guān)于項(xiàng)目總體方向和生命周期目標(biāo)的協(xié)議。在項(xiàng)目開始前必須確定關(guān)鍵業(yè)務(wù),評(píng)估項(xiàng)目風(fēng)險(xiǎn)
(2)精化階段(Elaboration)。精化階段的目標(biāo)是為了確定系統(tǒng)的體系架構(gòu)。該體系架構(gòu)考慮到了最關(guān)鍵最重要的業(yè)務(wù)需求和風(fēng)險(xiǎn)的評(píng)估。生命周期體系架構(gòu)里程碑為系統(tǒng)的體系架構(gòu)建立了一個(gè)管控基準(zhǔn)。
(3)構(gòu)造階段(Construction)。構(gòu)造階段是一種生產(chǎn)過程,其目標(biāo)是在進(jìn)一步明確需求的基礎(chǔ)上完成特定體系架構(gòu)的系統(tǒng)開發(fā)。此階段主要關(guān)注對(duì)項(xiàng)目資源的管控和對(duì)進(jìn)程的控制,以達(dá)到優(yōu)化成本、跟進(jìn)進(jìn)度和保證質(zhì)量的目的。(4)交付階段(Transition)。該階段重點(diǎn)是確保軟件經(jīng)過嚴(yán)格測(cè)試,滿足終端用戶的可用性,基本消除系統(tǒng)中存在的Bug。交付階段
可以經(jīng)過多次迭代,包括為發(fā)布而進(jìn)行的產(chǎn)品測(cè)試,以及根據(jù)用戶反饋?zhàn)龀鲎兏T谏芷诘倪@個(gè)階段,用戶的反饋主要用于對(duì)產(chǎn)品進(jìn)行小功能變更、便捷性配置和安裝,以及解決可靠性問題,這時(shí)候已經(jīng)不能對(duì)系統(tǒng)進(jìn)行大規(guī)模變更。
3RUP應(yīng)用案例
在為某織造企業(yè)開發(fā)的生產(chǎn)管理系統(tǒng)中,我們采用了基于RUP的軟件過程,過程如圖3所示。織造企業(yè)生產(chǎn)管理系統(tǒng)是一個(gè)大型的信息管理系統(tǒng),包含倉(cāng)庫(kù)管理、設(shè)備管理、生產(chǎn)計(jì)劃、生產(chǎn)排程、小樣管理、人事管理、臺(tái)帳管理、班組管理、系統(tǒng)維護(hù)等多個(gè)模塊。同時(shí)系統(tǒng)還要與工控設(shè)備接口,從中獲取生產(chǎn)數(shù)據(jù)。系統(tǒng)對(duì)該織造企業(yè)的生產(chǎn)運(yùn)營(yíng)實(shí)現(xiàn)全面管理,能及時(shí)對(duì)系統(tǒng)的各類數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析處理,并能給管理者提供及時(shí)準(zhǔn)確的生產(chǎn)數(shù)據(jù),為管理者對(duì)生產(chǎn)的運(yùn)行決策提供精準(zhǔn)的依據(jù)。本案例在項(xiàng)目的起始階段,主要是對(duì)業(yè)務(wù)進(jìn)行調(diào)研,制定項(xiàng)目藍(lán)圖,分析系統(tǒng)規(guī)模和設(shè)定約束條件,在明確用戶的業(yè)務(wù)需求基礎(chǔ)上形成系統(tǒng)規(guī)格說明書,作為日后驗(yàn)收的文檔依據(jù);估算整個(gè)項(xiàng)目開發(fā)周期、總體成本和進(jìn)度,評(píng)估潛在的風(fēng)險(xiǎn),預(yù)留一定資源作為備用。根據(jù)技術(shù)架構(gòu)要求,選擇了微軟公司的Project2000為項(xiàng)目管理工具,Ra-tionalRose作為分析和建模工具。系統(tǒng)開發(fā)工具采用VisualStudio2008,后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)采用Oracle10g。在項(xiàng)目的精細(xì)階段,根據(jù)客戶的具體需求,選擇了B/S結(jié)構(gòu)作為系統(tǒng)的總體架構(gòu),采用MVC開發(fā)框架,同時(shí)對(duì)關(guān)鍵性的算法,設(shè)計(jì)開發(fā)出了算法原型。同時(shí)為構(gòu)造制訂了詳細(xì)的迭代計(jì)劃。在選擇構(gòu)件時(shí),我們決定重用已有構(gòu)件,針對(duì)構(gòu)件庫(kù)中沒有的構(gòu)件,則進(jìn)行重新開發(fā)。
在項(xiàng)目的構(gòu)造階段,我們的主要任務(wù)是完成新構(gòu)件的開發(fā)和測(cè)試,對(duì)相關(guān)構(gòu)件進(jìn)行系統(tǒng)集成,并進(jìn)行集成測(cè)試。在該階段,項(xiàng)目組采用并行開發(fā)模式,將項(xiàng)目分解為各個(gè)小項(xiàng)目,各小項(xiàng)目開發(fā)工作同時(shí)進(jìn)行,大大提高了開發(fā)效率。最后在項(xiàng)目的交付階段,我們把經(jīng)過嚴(yán)格測(cè)試的單元和集成軟件制作安裝盤,安裝在織造公司的服務(wù)器上,開始試運(yùn)行。同時(shí)對(duì)相關(guān)用戶和系統(tǒng)維護(hù)員進(jìn)行相應(yīng)的培訓(xùn),并在后期運(yùn)行維護(hù)中給予指導(dǎo)。在各階段結(jié)束時(shí),項(xiàng)目組都進(jìn)行了階段性文檔和技術(shù)評(píng)審。在評(píng)審過程中,我們不僅按要求邀請(qǐng)了項(xiàng)目干系人,還邀請(qǐng)了無利益相關(guān)的第三方專家參與評(píng)審,保證了項(xiàng)目評(píng)審的客觀公正。由于在整個(gè)項(xiàng)目周期采用了RUP軟件過程,大大地規(guī)范了管理和開發(fā)流程,有效地控制了項(xiàng)目成本。在系統(tǒng)運(yùn)行期間,由于客戶需求的變更,我們又對(duì)該系統(tǒng)進(jìn)行了多次進(jìn)化過程,最終使該軟件項(xiàng)目成為一個(gè)合格的產(chǎn)品。現(xiàn)在,在該織造企業(yè)中系統(tǒng)運(yùn)行穩(wěn)定,用戶反映良好。
4結(jié)語
在實(shí)際生產(chǎn)過程中,RUP提高了項(xiàng)目組的工作效率,在迭代的開發(fā)過程、需求管理、系統(tǒng)建模、架構(gòu)設(shè)計(jì)、質(zhì)量保證及變更管理等方面,為項(xiàng)目組每個(gè)成員提供了基本的工作準(zhǔn)則、應(yīng)用模板和工具指導(dǎo),確保全體成員共享知識(shí)庫(kù)。某織造企業(yè)生產(chǎn)管理系統(tǒng)的成功案例,表明了RUP具有強(qiáng)大的生命力和良好的實(shí)踐性。
作者:張新榮 單位:廣西壯族自治區(qū)通信產(chǎn)業(yè)服務(wù)有限公司 技術(shù)服務(wù)分公司