收稿日期:2014-05-01
作者簡介:李邐(1977-),女,遼寧本溪人,碩士,副教授,主要研究方向:計算機應(yīng)用技術(shù)、電子商務(wù)。
摘要:以一個新聞發(fā)布CMS系統(tǒng)為例,展示了如何使用UML進行面向?qū)ο蟮姆治雠c設(shè)計。通過實例展現(xiàn)基于UML在CMS系統(tǒng)設(shè)計中靜態(tài)建模和動態(tài)建模的過程,使得用戶可以更好地認識UML在面向?qū)ο蟮姆治鲈O(shè)計中起的作用。
關(guān)鍵詞:UML; CMS; 新聞發(fā)布系統(tǒng)
中圖分類號:TP311文獻標識碼:A文章編號:2095-2163(2014)03-0103-03
Application of UML in News Publishing CMS System
LI Li
(Depcurtment of Information Technology, Liaoning Academy of Governmont, Shenyang 110161, China)
Abstract:Taking a press publishing CMS system as an example, the paper shows how to use the UML to realize object oriented analysis and design. Through the examples,the design process baded on UML is presented for CMS system static modeling and dynamic modeling , so that users can better understand the role of UML in object-oriented analysis and design.
Key words:UML; CMS; News Publishing System
0CMS系統(tǒng)
當前,人們的生活已然與網(wǎng)絡(luò)息息相關(guān)。與此同時,運用CMS系統(tǒng)對工作、生活進行管理正悄然成為時尚。目前市場使用的管理系統(tǒng)已有很多,比如西門子公司采用的V7Content Management Suite 系統(tǒng),再如Cisco采用的Interwoven-TeamSite 系統(tǒng)。每個行業(yè)都可以根據(jù)行業(yè)自身特點,設(shè)計研發(fā)符合本行業(yè)工作需求和特色的CMS系統(tǒng)。
CMS(Content Management System,內(nèi)容管理系統(tǒng))是指通過系統(tǒng)管理員在后臺上傳文件、輸入并管理信息,系統(tǒng)即可自動將內(nèi)容整理并存儲到數(shù)據(jù)庫中;而網(wǎng)絡(luò)用戶在前臺則可以直接瀏覽由系統(tǒng)自動生成的網(wǎng)頁,也可以與系統(tǒng)互動,反饋個人信息[1]。
為了建立標準的CMS系統(tǒng),可以通過使用UML對CMS系統(tǒng)進行建模,藉此既可以提高工作效率,促進辦公自動化,還能夠適應(yīng)當今科技高速發(fā)展的迫切需要。因而,對該課題而展開研究即已顯得尤為重要。
1UML建模技術(shù)
模型是對現(xiàn)實世界的一種簡化形式,是從特定的角度來完整地描述系統(tǒng),建模過程就是描述系統(tǒng)本質(zhì)的過程。UML(Unified Modeling Language,統(tǒng)一建模語言)是一種通用的、可視化的、面向?qū)ο蟮慕UZ言,并憑借作為一種標準化的交流符號,支持從需求分析開始的軟件開發(fā)的全過程[2],也可以在面向?qū)ο蟮姆治龊驮O(shè)計(Object Orient Analysis Design,OOAD)過程中,在開發(fā)人員之間或者開發(fā)人員與客戶之間實現(xiàn)信息的實時和順利傳遞[3]。
UML所使用的建模元素多達100多個,而開發(fā)一個系統(tǒng)需要的模型圖則有5類,并細分為10種。這5類模型圖可分別表述為:(1)用例圖(Use Case diagram);(2)交互圖(Interactive diagram),包括順序(Sequence)圖、合作(Collaboration)圖;(3)靜態(tài)圖(Static diagram),包括類(Class)圖、對象(Object)圖、包(Package)圖;(4)行為圖(Behavior diagram),包括狀態(tài)(State)圖和活動(Activity)圖;(5)實現(xiàn)圖(Implementation diagram),包括構(gòu)件(Component)圖和配置(Deployment)圖。具體應(yīng)用中,UML沒有指明其中需要建立的圖有哪些是可以缺省的,以及在什么情況下對哪類系統(tǒng)可以缺省。因此,在具體操作中,UML表現(xiàn)了相當程度的復雜性。
2UML在新聞發(fā)布CMS系統(tǒng)中的應(yīng)用
通常,UML建模過程可分為以下幾個步驟。第一,先對系統(tǒng)需求進行分析,確定系統(tǒng)功能;第二,根據(jù)功能要求,建立靜態(tài)結(jié)構(gòu)模型,顯示邏輯結(jié)構(gòu);最后,在靜態(tài)結(jié)構(gòu)模型的基礎(chǔ)之上,描述系統(tǒng)動態(tài)行為,實現(xiàn)動態(tài)建模。
2.1CMS 系統(tǒng)的需求分析
基本的CMS 系統(tǒng)分為前臺網(wǎng)絡(luò)用戶和后臺系統(tǒng)管理員兩類。其中,網(wǎng)絡(luò)用戶需要實現(xiàn)的功能包括:注冊并登錄系統(tǒng);瀏覽信息(瀏覽信息標題、摘要、發(fā)布時間等);查看信息的詳細內(nèi)容(瀏覽信息作者、正文、所含圖片等);發(fā)表評論或查看他人評論;上傳文件;快速查找并瀏覽相關(guān)信息等。
系統(tǒng)管理員需要實現(xiàn)的功能則包括:上傳各類信息(圖文、純文本、音頻、視頻等);信息分欄顯示(既有信息標題列表,又有詳細信息顯示);管理各類信息(信息的上傳、修改、統(tǒng)計、刪除等);管理網(wǎng)絡(luò)用戶發(fā)表的個人信息(修改、統(tǒng)計、刪除等);系統(tǒng)維護等。
經(jīng)過研究,本文中的新聞發(fā)布CMS 系統(tǒng)的主要功能可通過7個功能模塊來完成和實現(xiàn)?,F(xiàn)在即將對這7個模塊的功能需求分析如下:
(1)注冊登錄。該模塊主要進行用戶初始信息保存。其中的用戶多會分為普通注冊用戶和系統(tǒng)管理員兩個類別,分別享有不同的權(quán)限,注冊登錄后,不同權(quán)限的用戶則具有不同的使用功能。
(2)信息瀏覽、查詢。該模塊可分頁顯示系統(tǒng)內(nèi)的所有相關(guān)信息,包括標題、類型、發(fā)布日期等。每條信息的標題若被點擊,即可通過鏈接跳轉(zhuǎn)至其它頁面進行瀏覽;也能通過輸入待查找的信息標題或關(guān)鍵詞而快速定位,獲得特定信息。
(3)信息閱讀。點擊標題鏈接即可進入信息閱讀頁面,讀取詳細信息,包括內(nèi)容、標題、關(guān)鍵字、發(fā)布者、發(fā)布時間、附件等,并按照相對固定的格式放置在頁面的不同區(qū)域。所有信息均具有大致相同的頁面布局,只是其中各字段對應(yīng)著各不相同的內(nèi)容。
(4)信息發(fā)布。系統(tǒng)管理員登錄后臺管理界面,進入上傳信息模塊,就可以錄入待發(fā)布信息的內(nèi)容,包含標題、關(guān)鍵字、發(fā)布者、發(fā)布日期等,并存入數(shù)據(jù)庫中保存。系統(tǒng)管理員根據(jù)實際需要,可以選擇不同信息類型實現(xiàn)上傳。
(5)信息管理。系統(tǒng)管理員可以對所有信息進行分欄顯示,并擁有權(quán)限可對每條信息進行刪除、修改、統(tǒng)計等各類操作。
(6)互動信息。注冊用戶具有的權(quán)限如下:上傳各類文件(文字、圖文、音頻、視頻等)和對新聞發(fā)布評論、建議,以及查看他人觀點;系統(tǒng)管理員則可根據(jù)需要給予回復、修改、刪除。
(7) 系統(tǒng)維護。該模塊為系統(tǒng)管理員特有功能。主要是對系統(tǒng)進行日常維護,包括日志維護、權(quán)限維護、增刪用戶、以及后臺數(shù)據(jù)維護等。第3期李邐:UML在新聞發(fā)布CMS系統(tǒng)中的應(yīng)用智能計算機與應(yīng)用第4卷
2.2CMS系統(tǒng)的靜態(tài)結(jié)構(gòu)模型
CMS系統(tǒng)的靜態(tài)結(jié)構(gòu)模型可以通過用例圖、類圖、對象圖、包圖、構(gòu)件圖和配置圖來描述,下面即以用例圖和類圖分別對系統(tǒng)設(shè)計思路進行介紹。
2.2.1用例圖
用例圖能夠清晰地表述用戶需求和系統(tǒng)功能需求。具體來說,該圖定義和描述了系統(tǒng)的外部可見行為,包括角色、系統(tǒng)邊界、用例和角色與用例間的關(guān)聯(lián),是分析、設(shè)計直至組裝測試的重要依據(jù)[4]。用例圖還是其它UML 圖的核心和基礎(chǔ),有助于理解和使用系統(tǒng),系統(tǒng)的最終目標就是實現(xiàn)用例圖中的所有功能。如圖1所示的用例圖就是新聞發(fā)布CMS
圖1用例圖
Fig.1Use Case diagram系統(tǒng)的需求模型,該用例圖包括三個角色和相關(guān)聯(lián)的八個用例。三個角色分別為:游客、注冊用戶和系統(tǒng)管理員;相關(guān)聯(lián)的八個用例分別為:注冊、登錄(普通注冊用戶登錄和系統(tǒng)管理員登錄)、信息瀏覽、發(fā)表評論、互動信息(注冊用戶上傳信息和系統(tǒng)管理員對信息的管理)、信息發(fā)布、信息管理和系統(tǒng)維護。
2.2.2類圖
在建立系統(tǒng)靜態(tài)結(jié)構(gòu)模型的過程中,下一步的工作就是確立系統(tǒng)的類圖。類反映了一種面向?qū)ο蠓椒ā⒒蛘哒f是看待物理世界的觀點,因而類就成為了面向?qū)ο蟮臉酥尽n悎D用來描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),其中不僅定義了類之間的聯(lián)系,如關(guān)聯(lián)、聚合、泛化等,還包括了類的內(nèi)部結(jié)構(gòu),如類的屬性和操作等[5]。通常,類可以分為三種,也就是:實體類、控制類、邊界類。類圖生成主要分為三個步驟:尋找類;確定類的屬性和操作;確定類與類之間的關(guān)系。UML的執(zhí)行目標是識別出所有必須的類來,分析這些類之間的關(guān)系,再通過編程語言來實現(xiàn)這些類,并最終實現(xiàn)整個系統(tǒng)。如圖2所示,新聞發(fā)布CMS系統(tǒng)的靜態(tài)結(jié)構(gòu)模型涉及到四個類(界面類(FormObject)、控制對象類(ControlObject)、信息類(Content)、數(shù)據(jù)庫類(Database))和三個角色(注冊用戶(User)、系統(tǒng)管理員(Administrator)、以及游客(People))。該系統(tǒng)的內(nèi)部流程可描述為:由需求分析得到類和角色之間的關(guān)系,得出注冊用戶是從游客派生出來的;注冊用戶、系統(tǒng)管理員在與系統(tǒng)進行信息互動時,就會有一個界面與之對應(yīng);一個界面卻可能和多個信息相關(guān)(0-n);控制對象則負責信息的處理,處理結(jié)果將顯示在界面上;控制對象還需負責對數(shù)據(jù)庫的操作;最后,界面即請求控制對象的服務(wù)。
2.3CMS系統(tǒng)的動態(tài)行為模型
靜態(tài)結(jié)構(gòu)模型建立完成后,還應(yīng)根據(jù)已有的用例模型和類模型,分析和設(shè)計系統(tǒng)的動態(tài)結(jié)構(gòu),并建立相應(yīng)的動態(tài)模型。動態(tài)行為模型用來表示系統(tǒng)的動態(tài)行為,描述與行為時間和順序相關(guān)的系統(tǒng)特征,以及影響事件發(fā)生的各類因素,如此方可使用戶和開發(fā)人員能更為直觀、容易地理解設(shè)計中的系統(tǒng)。一般多用順序圖、狀態(tài)圖和活動圖來說明系統(tǒng)的動態(tài)模型,只是各圖的側(cè)重點各不相同。下面即以順序圖為例介紹新聞發(fā)布CMS系統(tǒng)動態(tài)行為模型的建立過程。順序圖是強調(diào)消息時間順序的交互圖,描述了對象之間傳送消息的時間順序,也就是用來表示用例中的行為順序。
如圖3所示的順序圖是對信息管理模塊進行說明設(shè)計的。首先,系統(tǒng)管理員登錄系統(tǒng)時需要進行身份驗證,身份認證通過可以進入后臺管理界面,身份認證未通過則自動退出;管理員登錄后進入信息管理界面,可以查看各模塊的相關(guān)信息列表,還可進行信息的修改、刪除和統(tǒng)計;最后則自動更新信息列表結(jié)果。
由此可見,順序圖可以直接展示對象之間的時間順序,反映了對象之間一次特定的交互過程。該圖還能直觀地表示對象的生存期。在生存期內(nèi),對象可以對輸入消息做出響應(yīng),并且還可以發(fā)送消息。圖2 類圖
Fig.2Class diagram圖3 順序圖
Fig.3Sequence diagram3結(jié)束語
在實際的系統(tǒng)開發(fā)設(shè)計中,UML建模由五項任務(wù)組成,依次為全局分析、局部分析、全局設(shè)計、局部設(shè)計和細節(jié)設(shè)計。在整個建模過程中,要根據(jù)具體情況,選擇合適的UML圖示以便清楚地描述整個系統(tǒng),并且靜態(tài)模型和動態(tài)模型并不是完全獨立的兩個過程,而是彼此之間相輔相成,也就是靜態(tài)模型是動態(tài)模型的基礎(chǔ)和主要依據(jù);動態(tài)模型則可以不斷地補充和完善靜態(tài)模型。本文中,UML在新聞發(fā)布CMS 系統(tǒng)應(yīng)用中,使用了用例圖、類圖描述和順序圖來反映系統(tǒng)的局部結(jié)構(gòu),相應(yīng)地即大大提高了CMS 系統(tǒng)的軟件重用和開發(fā)效率。
參考文獻:
[1]張勇,夏樹發(fā),鐘昌樂. 基于UML的網(wǎng)絡(luò)課程CMS系統(tǒng)設(shè)計與實現(xiàn)[J].信息技術(shù),2011(6):45-47.
[2]黃煒,李龍澍,李學俊,等. 基于UML的CMS系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機工程與設(shè)計,2009,30(5):1249-1253.
[3]陸曉燕,秦朝輝,尹治本.UML建模技術(shù)及應(yīng)用[J]. 成都信息工程學院學報,2004(3):72-74.
[4]王少鋒.面向?qū)ο蠹夹g(shù)UML教程[M]. 北京:清華大學出版社,2004-05.
[5]李學俊,李龍澍,程慧霞. 基于UML 的Wiki 系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機科學,2007,34(7): 251-253.