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