原文地址:http://blog.csdn.net/hwencai/archive/2007/03/28/1543734.aspx
摘 要 銷售管理系統是現代企業管理系統的一個重要組成部分,傳統的系統分析設計方法已經難以保證軟件開發的效率和質量,通過將UML應用于銷售管理系統建模,可以加速軟件開發進程,提高軟件質量,支持動態的業務需求,并方便地集成已有的企業管理資源。
關鍵詞 銷售管理系統;UML;分析;實現
1 引言
當前社會對信息系統的需求日益增長,需求變化也越來越快,軟件開發的技術發展方向已經從“提升被開發系統的執行效率”轉變為“提升開發效率”。面向對象(OO)技術降低了解決方法域與問題域的差別,提供了良好的復用機制,能夠更加有效提高軟件開發效率,完全順應了軟件開發技術的發展方向。
UML(The Unified Modeling Language,即統一建模語言) 是一個通用的標準建模語言,可以對復雜的系統建立可視化系統模型,目前已經被工業標準組織OMG(Object Management Group)接受,一經推出便得到許多著名計算機廠商如Microsoft,HP,IBM,Oracle等支持,在國際上應用日益廣泛。
本文通過一個銷售管理系統的分析與設計,闡述如何通過UML降低開發難度和提高開發效率。
2 銷售管理系統的基本特征和功能模塊
本系統以“訂單”為核心,構建出了以“客戶”為中心的管理模式。
該系統具有以下一些特征:
(1) 先進的系統結構,面向銷售流程,能適應原有銷售工作流程并進行合理的改進,從而更貼近實際的應用;
(2) 針對大型企業銷售管理人員多,銷售管理復雜的特點,通過系統提供的靈活的人員權限設置和全面的財務核算方式,實現真正的銷售網絡化辦公;
(3) 在實現訂單的電子化、工作流程的數字化同時,幫助公司領導提高決策的科學化水平;
(4) 通過對客戶信息的管理,實現對客戶廣告走勢和重要客戶情況統計和分析。
整個系統操作業務人員包括:銷售員、銷售經理、倉庫管理員、審計員、公司銷售主管、和系統管理員。各個角色承擔不同的系統任務,通過網絡和通信系統,連接到銷售管理系統,使用統一的訪問界面,進行日常的銷售業務操作,最終實現銷售部門業務的正常運轉。
3 系統的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 工具軟件繪制。
3.1 銷售管理系統的業務建模和需求分析
業務模型和需求分析的目的是對系統進行評估,采集和分析系統的需求,理解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用一個業務用例(Business Use Case)框圖表達,根據銷售系統的基本特征和功能可得到 本系統的用例圖,如圖2。
此主題相關圖片如下:
圖1 銷售管理系統業務用例框圖
模型中的活動者代表外部與系統交互的單元,包括銷售員、銷售經理、倉庫管理員、審計員、公司銷售主管、和系統管理員;業務用例框圖是對系統需求的描述,表達了系統的功能和所提供的服務,包括客戶管理子系統、訂單管理子系統、銷售統計子系統、產品管理子系統系統管理子系統。
圖2 是銷售管理系統層次的用例模型,只包含了最基本的Use Case模型,是系統的高層抽象。在開發過程中,隨著對系統需求認識的不斷加深,用例模型可以從頂向下不斷細化,演化出更加詳細的Use Case模型。 根據系統的用例圖,可以對系統的持久對象進行設計,下圖是本系統持久對象類及類之間關系圖。
此主題相關圖片如下:
圖2 核心業務對象類及類之間關系
3.2 銷售管理系統設計
系統分析與設計是研究欲采用的實現環境和系統結構,結果是產生一個對象模型,也就是設計模型。設計模型包含了Use Case的實現,可以表現對象如何相互通信和運作來實現Use Case流的。對于系統的靜態結構,可以通過類圖、對象圖、組件圖和配置圖來描述;對于系統的動態行為,可以通過順序圖、協同圖、狀態圖、活動圖描述。這些圖在加上說明文檔就構成一個完整的設計模型。
3.2.1系統架構設計
銷售管理系統擁有大量銷售信息資源,這些資源包括各種客戶、訂單、和產品等信息。其數據量大、信息變化快,非結構化信息與結構化信息共存。使用UML對銷售管理系統進行基于面向對象的分析和實現,可以從開發的第一步開始,從系統的底層就把握住銷售信息資源的特征,為下一步具體實現打好基礎。在銷售管理系統建立模型時要涉及到處理大量的模型元素,如類、進口、組件、節點、圖等,可以將語意上相近的模型元素組織在一起,這就構成了UML的包,包從較高的層次來組織管理系統模型。
系統主要有以下四個包:
(1)用戶接口包(User Interface Package)
用戶接口包在其他包的頂層次,為系統用戶提供訪問信息和服務。要注意一點,由于開發工具使用不同,該接口描述也是有區別的。如果采用Java Web開發,就要以JSP(Java Server Pages)為基礎,如果采取Microsoft的Asp.net開發,其基礎就是標準化控件組。本系統在此將使用Java Web開發,下面有關代碼的描述都是基于Java的。
(2)業務邏輯包(Business Rule Package)
該包是銷售管理系統業務的核心實現部分,包括客戶管理、訂單管理、產品管理等,其他包可以通過訪問該包提供的接口,實現業務邏輯,如客戶管理業務等。
(3)數據持久訪問包(Data Persistence Package)
該包實現數據的持久化,也就是與數據庫交互,實現數據的存取、修改等操作。
(4)通用工具包(Util Package)
該包主要包括應用程序安全檢查的類,可以為上面三個包提供安全檢查,如客戶端檢查和服務器端業務規則檢查等,同時包括一些系統異常檢查與拋出處理以及系統日志服務等。
3.2.2系統詳細設計
詳細設計主要是描述在系統分析階段產生的類,與分析階段類的區別就是偏重于技術層面和類的細節實現。銷售管理系統提供的各種服務都是建立在分布、開放的信息結構之上,依托高速、可靠的網絡環境來完成的。每項服務都可以看作一個事件流,由若干相關的對象交互合作來完成。對于這種系統內部的協作關系和過程行為,可以通過繪制序列(Sequence)框圖和協作(Collaboration)框圖來幫助觀察和理解。此外,描述工作流和并發行為還可以通過活動框圖,表達從一個活動到另一個活動的控制流。同時,可以在理解這些圖的基礎上,抽象出系統的類圖,為系統編碼階段繼續細化提供基礎。下面以Java Web開發為例,介紹客戶管理子系統的詳細設計
1.客戶管理子系統的基本結構建模:下圖是客戶管理子系統主要類極其關系的詳細設計

圖3 客戶關系子系統類的詳細設計及類之間關系
2.序列圖:序列圖是一種對象交互圖,著重強調了時間序列,而不是靜態對象的關系,通過序列圖可以清楚地看到“誰在什么時間對誰說了寫什么”。

圖4 客戶管理的序列框圖

圖5 銷售人員對客戶管理的順序框圖
圖4是一個客戶管理的序列框圖例子。描述了先加載某個客戶;顯示某些狀態;再更改某些屬性值,最后更新數據庫狀態的一次執行過程。此圖可設計Customer類的loadCustomer(int)和updateCustomer()方法實現。
通過序列框圖可以清晰看出系統用戶、客戶管理子系統的用戶接口、數據庫連接模塊之間以時間為順序的消息交換,這對于把握系統的控制流、順序行為和交互行為是非常有益的。建立在分布網絡環境下的銷售管理系統的事件流和控制流是非常復雜的,需要從頂層到底層進行一步步分解,用多幅能反映動態結構的圖來分析與說明。圖5反映了銷售人員對客戶管理的順序框圖。
3.狀態圖適合描述一個對象穿越多個Use Case的行為。類的狀態圖表示類的對象可以呈現的狀態和這個對象從一種狀態到另一種狀態的轉換。

圖6 Customer對象狀態圖
圖6 描述了Customer對象的生命期中可能的狀態及狀態變化(從創建、更新到消亡的轉變過程),其中insertOrder/deleteOrder不是直接作用于當前customer對象,而是指當前customer對象所涉及的訂單操作。此例說明其他對象的操作可能改變當前對象的狀態。
4.協作圖:協作圖和序列圖相似,兩種圖所表達的是同一種信息,可以將序列圖轉換為協作圖,反之也然。但兩者是有區別的,序列圖強調的是交互的時間序列,協作圖強調的是交互的語境和參與交互的對象的整體組織。下圖描述的是查詢一個客戶信息消息傳遞的過程。

圖7、查詢客戶信息的協作圖
5.活動圖:用于描述業務過程和類的操作,類似與舊流程圖,是對業務處理工作流建模,在活動圖中可以增加角色的可視化的維數,下圖是增加了Customer、Saleman、Warehouse三個角色的系統活動圖,反映了在業務處理過程中,每個角色執行的過程。

圖8 活動圖
通過框圖,設計和開發人員可以確定需要開發的類,類之間的關系和每個類操作和責任。序列框圖按照時間排序,用于通過情境檢查邏輯流程。協作框圖用于了解改變后的影響,可以很容易看出對象之間的通信,狀態圖描述了對象在系統可能中的狀態,如果要改變對象,就可以方便地看到受影響的對象。
6.軟件系統一般由一組部件組成,換句話說,部件是相對獨立的部分軟件實施,有自己特有的功能,并可在系統中安裝使用,系統中各部件是相互協作合作,給系統提供完整的功能。下圖是本系統運行時的主要部件

圖9 運行的部件圖
3.2.3銷售管理系統的實現、測試和系統配置
系統采用五層邏輯結構:客戶端只需中文瀏覽器;表示層用12個JSP(Java Server Page)文檔實現動態頁面以創建、操作業務對象;核心對象層用6個Java類以JavaBean形式構成業務處理的核心對象;連接層采用JDBC2提供兩種連接方式:一種是基于DriverManager,主要支持Java應用和測試;另一種基于DataSource;資源層即數據庫服務器。
經過系統分析和設計后,就可以根據設計模型在具體的環境中實現系統,生成系統的源代碼、可執行程序和相應的軟件文檔,建立一個可執行系統;進而需要對系統進行測試和排錯,保證系統符合預定的要求,獲得一個無錯的系統實現。測試結果將確認所完成的系統可以真正使用;最后完成系統配置,其任務是在真實的運行環境中配置、調試系統,解決系統正式使用前可能存在的任何問題。
4 結束語
銷售管理系統的發展方興未艾,目前正處于傳統手工、半手工管理向數字化過渡的階段,轉變過程中需要應用和集成最新的信息技術,以達到對網絡信息資源最有效的利用和共享。傳統的系統分析設計方法難以保證效率和質量,將 UML應用于銷售管理系統的建設,可以加速開發進程,提高代碼質量,支持動態的業務需求。從實際效果來看,UML可以保證軟件開發的穩定性、魯棒性,在實際應用中取得良好的效果。
參考文獻
[1]邵維忠,楊芙清.面向對象的系統分析[M].北京:清華大學出版社,1998
[2]Wendy Boggs, Michael Boggs.UML與Rational Rose 2002入門與精通[M].電子工業出版社.2002
[3]徐鋒. 實戰OO:為問題域建模. 程序員.2004.2
[4]王文玲,金茂忠.UML模型與其應用.計算機工程與應用.1999
[5] Doug Rosenberg, Kendall Scott. UML用例驅動對象建模. 北京:清華大學出版社,2003
posted on 2007-04-25 21:49
OMG 閱讀(1351)
評論(0) 編輯 收藏