摘要:簡要介紹了RUP和UML的基本概念,重點闡述了在RUP開發(fā)過程中如何用UML進行可視化建模的過程。通過對物業(yè)管理信息系統(tǒng)的實例建模分析,強化了在面向?qū)ο蟓h(huán)境下的建模模式。RUP與UML建模的結(jié)合,改善了傳統(tǒng)建模中的不足,提高了系統(tǒng)開發(fā)效率。
關(guān)鍵詞:RUP;UML建模;物業(yè)信息管理;分析;應(yīng)用
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2013)04-0793-03
Research and Application of RUP Visualization Modeling
ZHANG Xian-zhong1, CUI Ling2
(1.School of Computer Information & Engineering, Changzhou Institute of Technology, Changzhou 213002, China; 2.Changzhou College of Information Technology, Changzhou 213002, China)
Abstract: Described the basic concepts of RUP and UML briefly, focused on how to process visual modeling using UML in RUP development process. Through the modeling case study of property management information system, it enhanced modeling patterns in object-oriented environment. The combination of RUP and UML modeling improved the traditional modeling deficiencies, and it also improved the efficiency of system development.
Key words: RUP; UML modeling; property information management; analysis; application
RUP(Rational Unified Process)是Booch等人在Rational公司支持下提出的一種面向?qū)ο蟮能浖_發(fā)過程模型。它吸收了多種開發(fā)模型的優(yōu)點, 克服了面向過程開發(fā)的瀑布模型的缺點,因此具有良好的可操作性和實用性[1]。在基于RUP的開發(fā)周期中,定義了四個階段和九個核心工作流。四個階段分別是初始化階段、細化階段、構(gòu)建階段和交付階段。其中,初始化階段的參與者是項目經(jīng)理或領(lǐng)域?qū)<?,主要工作是完成系統(tǒng)的可行性分析, 創(chuàng)建基本需求來界定系統(tǒng)范圍, 以及識別軟件系統(tǒng)的關(guān)鍵任務(wù);細化階段的主要目標(biāo)是分析問題領(lǐng)域,建立健全的體系結(jié)構(gòu)基礎(chǔ),細化階段的焦點是需求、工作流的分析和設(shè)計;構(gòu)建階段的目標(biāo)是在細化階段的基礎(chǔ)上完成所有的需求、分析和設(shè)計,其焦點是實現(xiàn)工作流;交付階段的工作是移交產(chǎn)品給用戶, 包括開發(fā)、交付、培訓(xùn)、支持及維護, 直到用戶滿意。九個核心工作流由六個核心過程工作流(Core Process Workflows)和三個核心支持工作流(Core support workflow)組成[2]。核心過程工作流可以很好地描述整個系統(tǒng)開發(fā)的流程和工作內(nèi)容。其中,商業(yè)建模和需求工作流描述系統(tǒng)目標(biāo)及其需求;分析和設(shè)計工作流將需求轉(zhuǎn)換為一個可行的設(shè)計模型;實現(xiàn)工作流描述以組件的形式實現(xiàn)類和對象;測試工作流用于驗證對象間的交互作用是否正確。RUP提出了迭代的方法,這些工作流在整個生命周期中一次又一次被訪問。在每一次迭代中以不同的重點和強度重復(fù)。
1 統(tǒng)一建模語言UML
UML(Unified Modeling Language)統(tǒng)一建模語言,是一種面向?qū)ο蠼5目梢暬UZ言[3]。UML目前被廣泛應(yīng)用在包括程序、文檔等在內(nèi)的軟件系統(tǒng)開發(fā)的各個階段。UML擁有眾多的視圖模型來描述RUP模型。如在商業(yè)建模和需求工作流階段,可以采用用例圖(Use Case Diagram)、活動圖(Activity Diagram)和業(yè)務(wù)類圖(Business Class Diagram)實現(xiàn);在分析和設(shè)計工作流階段,可以采用實現(xiàn)類圖(Implementation Class Diagram)、順序圖(Sequence Diagram)和協(xié)作圖(Collaboration Diagram)實現(xiàn)。該文介紹的應(yīng)用部分中,主要結(jié)合核心過程工作流進行系統(tǒng)分析和設(shè)計。
2 RUP中可視化建模應(yīng)用實例
當(dāng)前,“以消費者為中心”的新住宅文化,在房地產(chǎn)發(fā)展日趨理性化的今天,已經(jīng)悄然興起。適合現(xiàn)代人居住觀念的物業(yè)管理已越來越被廣大業(yè)主所接受,與此同時,物業(yè)管理的市場化、規(guī)?;⒓s化進程,進一步擴大了物業(yè)公司的管理結(jié)構(gòu)。采用傳統(tǒng)的物業(yè)管理模式,已經(jīng)無法解決因成本控制、內(nèi)部溝通、管理難度增加而帶來的問題。物業(yè)管理領(lǐng)域迫切需要一種能利用網(wǎng)絡(luò)來傳輸信息,實現(xiàn)資源共享的物業(yè)信息管理系統(tǒng)。這種新型的物業(yè)管理系統(tǒng),它以傳統(tǒng)社區(qū)服務(wù)為基礎(chǔ),以社區(qū)局域網(wǎng)為依托,以因特網(wǎng)為紐帶。該文以它為例,介紹如何使用RUP和UML可視化建模的開發(fā)過程。
2.1 需求分析建模
需求分析是軟件開發(fā)的第一步,其主要任務(wù)是識別系統(tǒng)參與者,確立系統(tǒng)邊界[4]。經(jīng)過對物業(yè)管理信息系統(tǒng)進行詳細的調(diào)查分析,確定了其功能性需求。系統(tǒng)用戶主要有四類,分別是業(yè)主、物管人員、系統(tǒng)管理員和財務(wù)人員。業(yè)主經(jīng)登錄后可查看住房信息、新聞與公告信息、公共設(shè)施信息、投訴信息、欠費信息、車位使用信息以及報修信息等。并可進行發(fā)布業(yè)主投訴、業(yè)主報修功能。物業(yè)管理人員主要完成物業(yè)公司的日常工作,包括住房管理、業(yè)主信息管理、業(yè)主報修管理、業(yè)主投訴管理、停車位管理、訪客管理等。財務(wù)人員主要進行小區(qū)業(yè)主的收費管理。對業(yè)主每年、每月產(chǎn)生的水費、電費、氣費、物業(yè)費等進行系統(tǒng)化的錄入和統(tǒng)計,生成每戶的費用信息,便于業(yè)主及時交費和查詢。系統(tǒng)管理員實現(xiàn)對系統(tǒng)公告、新聞和員工信息管理等功能。
1)建立用例圖
在角色分析的基礎(chǔ)上,可以得到系統(tǒng)的用例模型。從前面的分析中得知,物業(yè)管理信息系統(tǒng)的參與者有業(yè)主、物管人員、系統(tǒng)時鐘和管理員。每個參與者都可以有相應(yīng)的用例圖。限于篇幅,此處只給出物業(yè)管理的用例圖,如圖1所示。
2)建立活動圖
活動圖是用來描述系統(tǒng)內(nèi)部的動態(tài)關(guān)系[5],用來反映業(yè)務(wù)用例的具體處理流程。對于稍微復(fù)雜的用例,從活動圖中可以進一步來確認系統(tǒng)子用例。此處以業(yè)主報修活動為例,其活動圖如圖2所示。
2.2 分析和設(shè)計建模
分析與設(shè)計工作流的功能是將需求轉(zhuǎn)換為未來系統(tǒng)的設(shè)計,分析和設(shè)計的結(jié)果是一個設(shè)計模型和一個可選的分析模型。設(shè)計模型是源代碼的抽象,它由設(shè)計類和一些描述組成。設(shè)計類反映了系統(tǒng)的靜態(tài)結(jié)構(gòu),而描述則是體現(xiàn)類的對象如何協(xié)同工作實現(xiàn)用例功能。在UML中,可以用類圖來實現(xiàn)設(shè)計類,順序圖來實現(xiàn)描述的功能。
1)建立類圖
類圖是用來描述系統(tǒng)的靜態(tài)模型的,它定義系統(tǒng)中的類的內(nèi)部結(jié)構(gòu)及類之間的關(guān)系[6]。類有5種,分別是f50c2b8c1ecd950fa959f8db84e51f00ca73384b84314c855d53ff00a58199b9實體類、接口類、控制類、數(shù)據(jù)訪問類和配置類[7]。根據(jù)RUP中基于用例驅(qū)動的思想,為每個用例設(shè)計其類圖。限于篇幅,此處以物管人員的統(tǒng)計匯總為例,給出其類圖,如圖3所示。
2)建立順序圖
系統(tǒng)的靜態(tài)模型類圖建立后,可以用順序圖為其建立動態(tài)模型。順序圖顯示多個對象如何按時間的順序進行交互的細節(jié),而對象間的交互通過發(fā)送各種消息進行。此處以業(yè)主繳費為例,其順序圖如圖4所示。
圖3 統(tǒng)計匯總類圖
圖4 業(yè)主繳費順序圖
2.3 實現(xiàn)與測試
本階段主要完成代碼編寫和系統(tǒng)測試工作。在設(shè)計階段產(chǎn)生的UML類圖和順序圖,成為編寫代碼的重要依據(jù)。借助于ROSE或JUDE 建模工具生成Java 代碼, 包括類、屬性、操作、關(guān)系、組件等。以代碼框架為基礎(chǔ),程序員可以完成每個類操作的具體代碼,
系統(tǒng)前臺設(shè)計人員設(shè)計圖形用戶界面。在系統(tǒng)測試前,UML模型繼續(xù)在使用,根據(jù)需求分析和設(shè)計中產(chǎn)生的用例圖和順序圖來設(shè)計測試用例, 以檢驗每一個用例的功能是否已經(jīng)實現(xiàn)。
3 結(jié)束語
RUP 與傳統(tǒng)的面向過程開發(fā)方法有很大的不同,它通過四個階段和九個工作流來實現(xiàn)整個系統(tǒng)的開發(fā)過程。RUP的核心觀念體現(xiàn)了當(dāng)今面向?qū)ο筌浖_發(fā)的規(guī)律,借助于UML建模工具,真正實現(xiàn)了以需求為中心、以用例驅(qū)動為導(dǎo)向的開發(fā)模式。RUP與UML可視化建模工具的結(jié)合,進一步提高了軟件的開發(fā)效率,對于大型軟件項目的開發(fā)、協(xié)調(diào)開發(fā)團隊之間的合作具有積極和深遠的意義。
參考文獻:
[1] 王璐,王永貴,曲海成.RUP可視化建模的研究與應(yīng)用[J].計算機工程與科學(xué),2009,31(3):101-102
[2] 蘇亞麗.RUP在軟件畢業(yè)設(shè)計課題中的應(yīng)用[J].玉溪師范學(xué)院學(xué)報,2009,25(9):58.
[3] 蔡敏,徐慧慧,黃炳強.UML 基礎(chǔ)與Rose建模教程[M]. 北京:人民郵電出版社,2006.
[4] 呂剛,馮昌琪.基于UML建模的新型農(nóng)村合作醫(yī)療信息系統(tǒng)[J].計算機應(yīng)用,2008,28(6):376.
[5] 李娟,王丹琦,楊勇.基于用例驅(qū)動和UML的教學(xué)信息反饋平臺的分析與設(shè)計[J].新疆師范大學(xué)學(xué)報:自然科學(xué)版,2008,27(1):55-56.
[6] 王暉,郭燕慧,余安萍.面向?qū)ο筌浖治鲈O(shè)計與測試[M].北京:科學(xué)出版社,2004.
[7] 肖剛,孫慧.系統(tǒng)分析與設(shè)計方法[M].北京:機械工業(yè)出版社,2007.