廣告管理系統的UML分析與設計

廣告管理系統的UML分析與設計
來源:www.ahcit.com 作者: 董益平 劉傑 丁銘華  
 

摘 要 :廣告管理系統是現代報業的生命線,傳統的系統分析設計方法已經難以保證開發的效率和質量,通過將 UML應用於廣告管理系統建設,可以加速開發進程,提高代碼質量,支持動態的業務需求,並方便地集成已有的傳統廣告資源。

關鍵字 : 廣告管理系統; UML;分析;實現

中圖法分類號: TP31;39 文獻標識碼:

一 引言

當前社會對信息系統的需求日益增長,需求變化也越來越快,軟件開發的技術發展方向已經從“提升被開發系統的執行效率”轉變爲“提升開發效率”。面向對象(OO)技術降低了解決方法域與問題域的差別,提供了良好的複用機制,能夠更加有效提高軟件開發效率,完全順應了軟件開發技術的發展方向。

UML(The Unified Modeling Language,即統一建模語言) 是一種編制系統藍圖的標準化語言,可以對複雜的系統建立可視化系統模型,目前已經被工業標準組織OMG(Object Management Group)接受,一經推出便得到許多著名計算機廠商如Microsoft,HP,IBM,Oracle等支持,在國際上應用日益廣泛。

本文通過一個廣告管理系統的分析與設計,闡述如何通過UML降低開發難度和提高開發效率。

二 廣告管理系統的基本特徵和功能模塊

本系統摒棄了以“訂單”爲核心的傳統結構,構建出了以“客戶”爲中心的先進廣告管理模式。同時,通過對集團領導決策和多報管理的支持,是系統模式有了能級的提升。

該系統具有以下一些特徵:

•  先進的系統結構,面向廣告流程,充分適應原有廣告工作流程並進行合理的改進,從而更貼近報社的實際應用;

•  針對大型報業集團報刊數量多,廣告管理複雜的特點,通過系統提供的靈活的人員權限設置和全面的財務覈算方式,實現真正的集團多報管理;

•  在實現廣告訂單的電子化、工作流程的數字化同時,幫助集團領導提高決策的科學化水平;

•  多套廣告價目表的支持,使廣告管理部門能在當前激烈的市場競爭中能採取更爲靈活的價格策略;

•  通過對客戶信息的管理,實現對客戶廣告走勢和重要客戶情況統計和分析。

整個系統操作業務人員角色包括:預訂員,財務,劃版員,系統管理員和報刊領導。各個角色承擔不同的系統任務,通過網絡和通信系統,連接到廣告管理系統,使用統一的訪問界面,進行日常的廣告業務操作,最終實現報業集團廣告部門業務的正常運轉。

總體結構如圖 1所示:


    廣告管理系統的軟件總體結構(圖 1)

三 系統的 UML分析與實現

UML概述及特點

UML是一種編制系統藍圖的標準化語言,可以對大型複雜系統的各種成分可視化說明並構造系統模型,以及建立各種必要的文檔。UML通過三類圖形建立系統模型:Use Case圖,靜態結構圖(類圖,對象圖,組件圖,配置圖)和動態行爲圖(順序圖,協同圖,狀態圖,活動圖),這些圖可以從不同抽象角度使系統可視化。UML具有面向對象、可視化、獨立與開發過程和程序設計語言以及易於掌握使用等特點。UML適用於各種規模的系統開發,能促進軟件複用,方便地集成已有的系統並有效減少開發中的各種風險。

UML在廣告管理系統中的實際應用

UML是一種建模語言,是系統開發的一個組成部分,本身並沒有關於開發過程概念的定義和表示符號。UML的創始人 booch,Jacobson和Rum Baugh在rational公司的支持下綜合了多種系統開發過程的長處,提出新的面向對象的開發過程,稱爲Rational統一過程(Rational Unified Process,RUP)。RUP過程的核心工作流程包括:業務建模、需求分析、系統分析與設計和實現、實現、測試和系統部署。下面通過UML來分析並構造廣告管理系統模型,並結合Rational統一過程加以描述,圖形使用Rational Rose 工具軟件繪製。

2.1廣告管理系統的業務建模和需求分析

業務模型和需求分析的目的是對系統進行評估,採集和分析系統的需求,理解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用一個業務用例(Business Use Case)框圖表達 (圖2) ,


廣告管理系統業務用例框圖(圖 2)

模型中的活動者代表外部與系統交互的單元,包括廣告客戶、預訂員、財務人員、劃版人員、業務員、系統管理員和集團領導以及外部數據源;業務用例框圖是對系統需求的描述,表達了系統的功能和所提供的服務,包括預訂子系統、財務子系統、劃版子系統、系統管理子系統、客戶管理子系統和決策支持子系統。

對於廣告客戶而言,因爲需求比較明確,所以可以考慮代理公司和一般個人用戶區別。代理公司是指與報刊簽訂一段時間的特定類型廣告代理合同,該報刊廣告通過代理公司這個渠道進入系統,稱爲代理廣告,代理廣告涉及到與代理公司的合同履行情況跟蹤;而一般客戶主要是指沒有通過代理公司的企業或者個人廣告客戶,其直接與報刊進行業務來往,其業務規律有隨機性特點,所以對該類客戶進行客戶關係管理對報刊業務發展非常重要。尤其有一點必須注意:代理公司控制其具體廣告客戶的信息,而報刊本身很難直接掌握這些客戶的真實信息,所以,客戶管理子系統主要是用於收集對報刊有用的客戶信息,尤其是一些代理公司客戶的信息。

外部信息源主要是爲決策支持服務的,包括央視和一些專業數據統計公司的數據,同時,競爭對手尤其是在本地區的競爭對手的數據統計情況也是必須關注的一個焦點。

圖中模型元素之間的實現表示二者存在關聯關係,帶空心箭頭的實箭線說明存在泛化關係。這裏有兩種情況,一種是一般與特殊的關係,如“廣告客戶”與“代理廣告客戶”、“一般客戶”的關係;另一種是使用關聯,表示一個模型元素需要使用另一個模型元素,如“劃版子系統‘需要使用'財務子系統”和“預訂子系統”生成的廣告和客戶數據。

圖 2是廣告管理系統層次的用例模型,只包含了最基本的Use Case模型,是系統的高層抽象。在開發過程中,隨着對系統需求認識的不斷加深,用例模型可以從頂向下不斷細化,演化出更加詳細的Use Case模型。

2.2廣告管理系統設計

系統分析與設計是研究欲採用的實現環境和系統結構,結果是產生一個對象模型,也就是設計模型。設計模型包含了Use Case的實現,可以表現對象如何相互通信和運作來實現Use Case流的。對於系統的靜態結構,可以通過類圖、對象圖、組件圖和配置圖來描述;對於系統的動態行爲,可以通過順序圖、協同圖、狀態圖、活動圖描述。這些圖在加上說明文檔就構成一個完整的設計模型。

2.2.1系統架構設計

廣告管理系統擁有大量廣告信息資源,這些資源包括各種用戶、廣告、合同以及版面信息。其數據量大、信息變化快,非結構化信息與結構化信息共存。使用UML對廣告管理系統進行基於面向對象的分析和實現,可以從開發的第一步開始,從系統的底層就把握住廣告信息資源的特徵,爲下一步具體實現打好基礎。在廣告管理系統建立模型時要涉及到處理大量的模型元素,如類、進口、組件、節點、圖等,可以將語意上相近的模型元素組織在一起,這就構成了UML的包,包從較高的層次來組織管理系統模型。

系統主要有以下四個包:

•  用戶接口包(U ser Interface Package)
用戶接口包在其他包的頂層次,爲系統用戶提供訪問信息和服務。要注意一點,由於開發工具使用不同,該接口描述也是有區別的。如果採用java開發,就要以java AWT(Abstract Window Toolkit)爲基礎,如果採取Microsoft的Asp.net開發,其基礎就是標準化控件組。

•  業務邏輯包 (Business Rule Package)
該包是廣告管理系統業務的核心實現部分,包括廣告、合同、客戶等,其他包可以通過訪問該包提供的接口,實現業務邏輯,如執行廣告預訂業務等。

•  數據持久訪問包 (Data Persistence Package)
該包實現數據的持久化,也就是與數據庫交互,實現數據的存取、修改等操作。

•  通用工具包(U til Package)

該包主要包括應用程序安全檢查的類,可以爲上面三個包提供安全檢查,如客戶端檢查和服務器端業務規則檢查等,同時包括一些系統異常檢查與拋出處理以及系統日誌服務等。

2.2.2系統詳細設計
詳細設計主要是描述在系統分析階段產生的類,與分析階段類的區別就是偏重於技術層面和類的細節實現。廣告管理系統提供的各種服務都是建立在分佈、開放的信息結構之上,依託高速、可靠的網絡環境來完成的。每項服務都可以看作一個事件流,由若干相關的對象交互合作來完成。對於這種系統內部的協作關係和過程行爲,可以通過繪製順序(Sequence)框圖和協作(Collaboration)框圖來幫助觀察和理解。此外,描述工作流和併發行爲還可以通過活動框圖,表達從一個活動到另一個活動的控制流。同時,可以在理解這些圖的基礎上,抽象出系統的類圖,爲系統編碼階段繼續細化提供基礎。

順序圖和協作圖適合描述多個對象的協同關係,而狀態圖適合描述一個對象穿越多個Use Case的行爲。狀態圖和活動圖的區別在於,狀態圖描述的是對象類響應事件的外部行爲,而活動圖描述的是響應內部處理對象類的行爲。

預訂業務對普通客戶的順序框圖(圖三)

財務業務對代理客戶的協作框圖(圖四)

劃版業務的順序框圖(圖五)

圖三是一個普通客戶預訂廣告業務的順序框圖例子。用戶向預訂子系統的用戶接口登陸,經用戶合法性驗證後,向預訂子系統的客戶信息數據庫提交查詢請求,客戶信息需要經過驗證,保證該廣告記錄到該客戶數據集中。比如一個客戶曾經到該報刊訂過 5條廣告,通過該新廣告同客戶歷史廣告信息添加操作,爲決策支持客戶信息統計分析提供數據源。如果該客戶是新客戶,則需要對客戶信息執行記錄操作,該步操作爲客戶關係管理提供數據源。

通過順序框圖可以清晰看出系統用戶、預訂子系統的用戶接口、廣告客戶、廣告和合同模塊之間時間爲順序的消息交換,這對於把握系統的控制流、順序行爲和交互行爲是非常有益的。建立在分佈網絡環境下的廣告管理系統的事件流和控制流是非常複雜的,需要從層頂到底層進行一步步分解,用多幅能反映動態結構的圖來分析與說明。圖四圖五分別反映了財務業務對代理客戶的協作框圖和劃版業務的順序框圖。

通過框圖,設計和開發人員可以確定需要開發的類,類之間的關係和每個類操作和責任。順序框圖按照時間排序,用於通過情境檢查邏輯流程。協作框圖用於瞭解改變後的影響,可以很容易看出對象之間的通信,如果要改變對象,就可以方便地看到受影響的對象。圖六是分析階段產生的系統類圖。

分析階段產生系統類圖(圖六)

2.3 廣告管理系統的實現、測試和系統配置

最後,在系統編碼前,需要考慮系統的實際部署情況,可以利用Rose的部署視圖。系統採用三層邏輯結構:界面與業務邏輯分開,業務邏輯又與數據庫訪問邏輯分開。同時,部署視圖還需要處理一些其他問題,如系統容錯、網絡帶寬、故障恢復和響應時間。

經過系統分析和設計後,就可以根據設計模型在具體的環境中實現系統,生成系統的源代碼、可執行程序和相應的軟件文檔,建立一個可執行系統;進而需要對系統進行測試和排錯,保證系統符合預定的要求,獲得一個無錯的系統實現。測試結果將確認所完成的系統可以真正使用;最後完成系統配置,起任務是在真實的運行環境中配置、調試系統,解決系統正式使用前可能存在的任何問題。

四 結束語

廣告管理系統的發展方興未艾,目前正處於傳統手工、半手工管理向數字化過渡的階段,轉變過程中需要應用和集成最新的信息技術,以達到對網絡信息資源最有效的利用和共享。傳統的系統分析設計方法難以保證效率和質量,將 UML應用於廣告管理系統的建設,可以加速開發進程,提高代碼質量,支持動態的業務需求。從實際效果來看,UML可以保證軟件開發的穩定性、魯棒性,在實際應用中取得良好的效果。

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章