UML輕松入門之綜合實例-銷售管理系統(tǒng)_第1頁
UML輕松入門之綜合實例-銷售管理系統(tǒng)_第2頁
UML輕松入門之綜合實例-銷售管理系統(tǒng)_第3頁
UML輕松入門之綜合實例-銷售管理系統(tǒng)_第4頁
UML輕松入門之綜合實例-銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、銷售管理系統(tǒng)的UML分析與設(shè)計摘 要 銷售管理系統(tǒng)是現(xiàn)代企業(yè)管理系統(tǒng)的一個重要組成部分,傳統(tǒng)的系統(tǒng)分析設(shè)計方法已經(jīng)難以保證軟件開發(fā)的效率和質(zhì)量,通過將UML應(yīng)用于銷售管理系統(tǒng)建模,可以加速軟件開發(fā)進(jìn)程,提高軟件質(zhì)量,支持動態(tài)的業(yè)務(wù)需求,并方便地集成已有的企業(yè)管理資源。 關(guān)鍵詞 銷售管理系統(tǒng);UML;分析;實現(xiàn) 1 引言 當(dāng)前社會對信息系統(tǒng)的需求日益增長,需求變化也越來越快,軟件開發(fā)的技術(shù)發(fā)展方向已經(jīng)從“提升被開發(fā)系統(tǒng)的執(zhí)行效率”轉(zhuǎn)變?yōu)椤疤嵘_發(fā)效率”。面向?qū)ο螅∣O)技術(shù)降低了解決方法域與問題域的差別,提供了良好的復(fù)用機(jī)制,能夠更加有效提高軟件開發(fā)效率,完全順應(yīng)了軟件開發(fā)技術(shù)的發(fā)展方向。 UM

2、L(The Unified Modeling Language,即統(tǒng)一建模語言) 是一個通用的標(biāo)準(zhǔn)建模語言,可以對復(fù)雜的系統(tǒng)建立可視化系統(tǒng)模型,目前已經(jīng)被工業(yè)標(biāo)準(zhǔn)組織OMG(Object Management Group)接受,一經(jīng)推出便得到許多著名計算機(jī)廠商如Microsoft,HP,IBM,Oracle等支持,在國際上應(yīng)用日益廣泛。 本文通過一個銷售管理系統(tǒng)的分析與設(shè)計,闡述如何通過UML降低開發(fā)難度和提高開發(fā)效率。 2 銷售管理系統(tǒng)的基本特征和功能模塊 本系統(tǒng)以“訂單”為核心,構(gòu)建出了以“客戶”為中心的管理模式。 該系統(tǒng)具有以下一些特征: (1) 先進(jìn)的系統(tǒng)結(jié)構(gòu),面向銷售流程,能適應(yīng)原有

3、銷售工作流程并進(jìn)行合理的改進(jìn),從而更貼近實際的應(yīng)用; (2) 針對大型企業(yè)銷售管理人員多,銷售管理復(fù)雜的特點,通過系統(tǒng)提供的靈活的人員權(quán)限設(shè)置和全面的財務(wù)核算方式,實現(xiàn)真正的銷售網(wǎng)絡(luò)化辦公; (3) 在實現(xiàn)訂單的電子化、工作流程的數(shù)字化同時,幫助公司領(lǐng)導(dǎo)提高決策的科學(xué)化水平; (4) 通過對客戶信息的管理,實現(xiàn)對客戶廣告走勢和重要客戶情況統(tǒng)計和分析。 整個系統(tǒng)操作業(yè)務(wù)人員包括:銷售員、銷售經(jīng)理、倉庫管理員、審計員、公司銷售主管、和系統(tǒng)管理員。各個角色承擔(dān)不同的系統(tǒng)任務(wù),通過網(wǎng)絡(luò)和通信系統(tǒng),連接到銷售管理系統(tǒng),使用統(tǒng)一的訪問界面,進(jìn)行日常的銷售業(yè)務(wù)操作,最終實現(xiàn)銷售部門業(yè)務(wù)的正常運轉(zhuǎn)。 3 系統(tǒng)

4、的UML分析與實現(xiàn) UML概述及特點 UML 是一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言,可以對大型復(fù)雜系統(tǒng)的各種成分可視化說明并構(gòu)造系統(tǒng)模型,以及建立各種必要的文檔。UML通過三類圖形建立系統(tǒng)模型: Use Case圖,靜態(tài)結(jié)構(gòu)圖(類圖,對象圖,組件圖,配置圖)和動態(tài)行為圖(順序圖,協(xié)同圖,狀態(tài)圖,活動圖),這些圖可以從不同抽象角度使系統(tǒng)可視化。 UML具有面向?qū)ο?、可視化、獨立與開發(fā)過程和程序設(shè)計語言以及易于掌握使用等特點。UML適用于各種規(guī)模的系統(tǒng)開發(fā),能促進(jìn)軟件復(fù)用,方便地集成已有的系統(tǒng)并有效減少開發(fā)中的各種風(fēng)險。 UML在銷售管理系統(tǒng)中的實際應(yīng)用 UML 是一種建模語言,是系統(tǒng)開發(fā)的一個組成部分

5、,本身并沒有關(guān)于開發(fā)過程概念的定義和表示符號。UML的創(chuàng)始人 booch,Jacobson和Rum Baugh在rational公司的支持下綜合了多種系統(tǒng)開發(fā)過程的長處,提出新的面向?qū)ο蟮拈_發(fā)過程,稱為Rational統(tǒng)一過程(Rational Unified Process,RUP)。RUP過程的核心工作流程包括:業(yè)務(wù)建模、需求分析、系統(tǒng)分析與設(shè)計和實現(xiàn)、實現(xiàn)、測試和系統(tǒng)部署。下面通過UML來分析并構(gòu)造銷售管理系統(tǒng)模型,并結(jié)合Rational統(tǒng)一過程加以描述,圖形使用Rational Rose 工具軟件繪制。 3.1 銷售管理系統(tǒng)的業(yè)務(wù)建模和需求分析 業(yè)務(wù)模型和需求分析的目的是對系統(tǒng)進(jìn)行評估

6、,采集和分析系統(tǒng)的需求,理解系統(tǒng)要解決的問題,重點是充分考慮系統(tǒng)的實用性。結(jié)果可以用一個業(yè)務(wù)用例(Business Use Case)框圖表達(dá),根據(jù)銷售系統(tǒng)的基本特征和功能可得到 本系統(tǒng)的用例圖,如圖2。 圖1 銷售管理系統(tǒng)業(yè)務(wù)用例框圖 模型中的活動者代表外部與系統(tǒng)交互的單元,包括銷售員、銷售經(jīng)理、倉庫管理員、審計員、公司銷售主管、和系統(tǒng)管理員;業(yè)務(wù)用例框圖是對系統(tǒng)需求的描述,表達(dá)了系統(tǒng)的功能和所提供的服務(wù),包括客戶管理子系統(tǒng)、訂單管理子系統(tǒng)、銷售統(tǒng)計子系統(tǒng)、產(chǎn)品管理子系統(tǒng)系統(tǒng)管理子系統(tǒng)。 圖2 是銷售管理系統(tǒng)層次的用例模型,只包含了最基本的Use Case模型,是系統(tǒng)的高層抽象。在開發(fā)過程中

7、,隨著對系統(tǒng)需求認(rèn)識的不斷加深,用例模型可以從頂向下不斷細(xì)化,演化出更加詳細(xì)的Use Case模型。 根據(jù)系統(tǒng)的用例圖,可以對系統(tǒng)的持久對象進(jìn)行設(shè)計,下圖是本系統(tǒng)持久對象類及類之間關(guān)系圖。圖2 核心業(yè)務(wù)對象類及類之間關(guān)系 3.2 銷售管理系統(tǒng)設(shè)計 系統(tǒng)分析與設(shè)計是研究欲采用的實現(xiàn)環(huán)境和系統(tǒng)結(jié)構(gòu),結(jié)果是產(chǎn)生一個對象模型,也就是設(shè)計模型。設(shè)計模型包含了Use Case的實現(xiàn),可以表現(xiàn)對象如何相互通信和運作來實現(xiàn)Use Case流的。對于系統(tǒng)的靜態(tài)結(jié)構(gòu),可以通過類圖、對象圖、組件圖和配置圖來描述;對于系統(tǒng)的動態(tài)行為,可以通過順序圖、協(xié)同圖、狀態(tài)圖、活動圖描述。這些圖在加上說明文檔就構(gòu)成一個完整的設(shè)計

8、模型。 3.2.1系統(tǒng)架構(gòu)設(shè)計 銷售管理系統(tǒng)擁有大量銷售信息資源,這些資源包括各種客戶、訂單、和產(chǎn)品等信息。其數(shù)據(jù)量大、信息變化快,非結(jié)構(gòu)化信息與結(jié)構(gòu)化信息共存。使用UML對銷售管理系統(tǒng)進(jìn)行基于面向?qū)ο蟮姆治龊蛯崿F(xiàn),可以從開發(fā)的第一步開始,從系統(tǒng)的底層就把握住銷售信息資源的特征,為下一步具體實現(xiàn)打好基礎(chǔ)。在銷售管理系統(tǒng)建立模型時要涉及到處理大量的模型元素,如類、進(jìn)口、組件、節(jié)點、圖等,可以將語意上相近的模型元素組織在一起,這就構(gòu)成了UML的包,包從較高的層次來組織管理系統(tǒng)模型。 系統(tǒng)主要有以下四個包: (1)用戶接口包(ser Interface Package) 用戶接口包在其他包的頂層次,

9、為系統(tǒng)用戶提供訪問信息和服務(wù)。要注意一點,由于開發(fā)工具使用不同,該接口描述也是有區(qū)別的。如果采用Java Web開發(fā),就要以JSP(Java Server Pages)為基礎(chǔ),如果采取Microsoft的A開發(fā),其基礎(chǔ)就是標(biāo)準(zhǔn)化控件組。本系統(tǒng)在此將使用Java Web開發(fā),下面有關(guān)代碼的描述都是基于Java的。 (2)業(yè)務(wù)邏輯包(Business Rule Package) 該包是銷售管理系統(tǒng)業(yè)務(wù)的核心實現(xiàn)部分,包括客戶管理、訂單管理、產(chǎn)品管理等,其他包可以通過訪問該包提供的接口,實現(xiàn)業(yè)務(wù)邏輯,如客戶管理業(yè)務(wù)等。 (3)數(shù)據(jù)持久訪問包(Data Persistence Package) 該包實

10、現(xiàn)數(shù)據(jù)的持久化,也就是與數(shù)據(jù)庫交互,實現(xiàn)數(shù)據(jù)的存取、修改等操作。 (4)通用工具包(til Package) 該包主要包括應(yīng)用程序安全檢查的類,可以為上面三個包提供安全檢查,如客戶端檢查和服務(wù)器端業(yè)務(wù)規(guī)則檢查等,同時包括一些系統(tǒng)異常檢查與拋出處理以及系統(tǒng)日志服務(wù)等。 3.2.2系統(tǒng)詳細(xì)設(shè)計 詳細(xì)設(shè)計主要是描述在系統(tǒng)分析階段產(chǎn)生的類,與分析階段類的區(qū)別就是偏重于技術(shù)層面和類的細(xì)節(jié)實現(xiàn)。銷售管理系統(tǒng)提供的各種服務(wù)都是建立在分布、開放的信息結(jié)構(gòu)之上,依托高速、可靠的網(wǎng)絡(luò)環(huán)境來完成的。每項服務(wù)都可以看作一個事件流,由若干相關(guān)的對象交互合作來完成。對于這種系統(tǒng)內(nèi)部的協(xié)作關(guān)系和過程行為,可以通過繪制序列(

11、Sequence)框圖和協(xié)作(Collaboration)框圖來幫助觀察和理解。此外,描述工作流和并發(fā)行為還可以通過活動框圖,表達(dá)從一個活動到另一個活動的控制流。同時,可以在理解這些圖的基礎(chǔ)上,抽象出系統(tǒng)的類圖,為系統(tǒng)編碼階段繼續(xù)細(xì)化提供基礎(chǔ)。下面以Java Web開發(fā)為例,介紹客戶管理子系統(tǒng)的詳細(xì)設(shè)計 1.客戶管理子系統(tǒng)的基本結(jié)構(gòu)建模:下圖是客戶管理子系統(tǒng)主要類極其關(guān)系的詳細(xì)設(shè)計圖3 客戶關(guān)系子系統(tǒng)類的詳細(xì)設(shè)計及類之間關(guān)系 2.序列圖:序列圖是一種對象交互圖,著重強(qiáng)調(diào)了時間序列,而不是靜態(tài)對象的關(guān)系,通過序列圖可以清楚地看到“誰在什么時間對誰說了寫什么”。 圖4 客戶管理的序列框圖 圖5 銷

12、售人員對客戶管理的順序框圖 圖4是一個客戶管理的序列框圖例子。描述了先加載某個客戶;顯示某些狀態(tài);再更改某些屬性值,最后更新數(shù)據(jù)庫狀態(tài)的一次執(zhí)行過程。此圖可設(shè)計Customer類的loadCustomer(int)和updateCustomer()方法實現(xiàn)。 通過序列框圖可以清晰看出系統(tǒng)用戶、客戶管理子系統(tǒng)的用戶接口、數(shù)據(jù)庫連接模塊之間以時間為順序的消息交換,這對于把握系統(tǒng)的控制流、順序行為和交互行為是非常有益的。建立在分布網(wǎng)絡(luò)環(huán)境下的銷售管理系統(tǒng)的事件流和控制流是非常復(fù)雜的,需要從頂層到底層進(jìn)行一步步分解,用多幅能反映動態(tài)結(jié)構(gòu)的圖來分析與說明。圖5反映了銷售人員對客戶管理的順序框圖。 3.狀

13、態(tài)圖適合描述一個對象穿越多個Use Case的行為。類的狀態(tài)圖表示類的對象可以呈現(xiàn)的狀態(tài)和這個對象從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換。 圖6 Customer對象狀態(tài)圖 圖6 描述了Customer對象的生命期中可能的狀態(tài)及狀態(tài)變化(從創(chuàng)建、更新到消亡的轉(zhuǎn)變過程),其中insertOrder/deleteOrder不是直接作用于當(dāng)前customer對象,而是指當(dāng)前customer對象所涉及的訂單操作。此例說明其他對象的操作可能改變當(dāng)前對象的狀態(tài)。 4.協(xié)作圖:協(xié)作圖和序列圖相似,兩種圖所表達(dá)的是同一種信息,可以將序列圖轉(zhuǎn)換為協(xié)作圖,反之也然。但兩者是有區(qū)別的,序列圖強(qiáng)調(diào)的是交互的時間序列,協(xié)作圖強(qiáng)調(diào)

14、的是交互的語境和參與交互的對象的整體組織。下圖描述的是查詢一個客戶信息消息傳遞的過程。 圖7、查詢客戶信息的協(xié)作圖 5.活動圖:用于描述業(yè)務(wù)過程和類的操作,類似與舊流程圖,是對業(yè)務(wù)處理工作流建模,在活動圖中可以增加角色的可視化的維數(shù),下圖是增加了Customer、Saleman、Warehouse三個角色的系統(tǒng)活動圖,反映了在業(yè)務(wù)處理過程中,每個角色執(zhí)行的過程。 圖8 活動圖 通過框圖,設(shè)計和開發(fā)人員可以確定需要開發(fā)的類,類之間的關(guān)系和每個類操作和責(zé)任。序列框圖按照時間排序,用于通過情境檢查邏輯流程。協(xié)作框圖用于了解改變后的影響,可以很容易看出對象之間的通信,狀態(tài)圖描述了對象在系統(tǒng)可能中的狀態(tài)

15、,如果要改變對象,就可以方便地看到受影響的對象。 6.軟件系統(tǒng)一般由一組部件組成,換句話說,部件是相對獨立的部分軟件實施,有自己特有的功能,并可在系統(tǒng)中安裝使用,系統(tǒng)中各部件是相互協(xié)作合作,給系統(tǒng)提供完整的功能。下圖是本系統(tǒng)運行時的主要部件圖9 運行的部件圖 3.2.3銷售管理系統(tǒng)的實現(xiàn)、測試和系統(tǒng)配置 系統(tǒng)采用五層邏輯結(jié)構(gòu):客戶端只需中文瀏覽器;表示層用12個JSP(Java Server Page)文檔實現(xiàn)動態(tài)頁面以創(chuàng)建、操作業(yè)務(wù)對象;核心對象層用6個Java類以JavaBean形式構(gòu)成業(yè)務(wù)處理的核心對象;連接層采用JDBC2提供兩種連接方式:一種是基于DriverManager,主要支持Java應(yīng)用和測試;另一種基于DataSource;資源層即數(shù)據(jù)庫服務(wù)器。 經(jīng)過系統(tǒng)分析和設(shè)計后,就可以根據(jù)設(shè)計模型在具體的環(huán)境中實現(xiàn)系統(tǒng),生成系統(tǒng)的源代碼、可執(zhí)行程序和相應(yīng)的軟件文檔,建立一個可執(zhí)行系統(tǒng);進(jìn)而需要對系統(tǒng)進(jìn)行測試和排錯,保證系統(tǒng)符合預(yù)定的要求,獲得一個無錯的系統(tǒng)實現(xiàn)。測試結(jié)果將確認(rèn)所完成的系統(tǒng)可以真

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論