銷售管理系統的UML分析與設計

來源:互聯網
上載者:User
blueski推薦 [2005-12-31]
出處:電腦與資訊技術
作者:王文豪
 

摘 要 銷售管理系統是現代企業管理系統的一個重要組成部分,傳統的系統分析設計方法已經難以保證軟體開發的效率和品質,通過將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)

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

    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.軟體系統一般由一組組件組成,換句話說,組件是相對獨立的部分軟體實施,有自己特有的功能,並可在系統中安裝使用,系統中各組件是相互協作合作,給系統提供完整的功能。是本系統運行時的主要組件


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

    簡歷: 姓 名:王文豪 性 別:男 出生年月:1973.2 學 位:碩士 研究方向:物件導向建模,數字圖象處理 郵遞區號:223001 電 話:0517-3591438 E-mail: wangwenhao1407 wangwenhao1407@163.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.