毛晨雙 仲梁維
摘要:以銷售合同管理系統(tǒng)項目的開發(fā)為背景,分析了現(xiàn)有銷售合同管理系統(tǒng)在應(yīng)用中的特點以及局限性,根據(jù)企業(yè)的實際的需求,運用J2EE框架結(jié)構(gòu)完成整個銷售合同管理系統(tǒng)的搭建,著重分析了struts框架和hibernate在系統(tǒng)設(shè)計過程中關(guān)鍵應(yīng)用。實際應(yīng)用表明:該系統(tǒng)達(dá)到了設(shè)計目標(biāo),并成功的實施運行,對企業(yè)開發(fā)管理信息系統(tǒng)有一定的借鑒價值。
關(guān)鍵詞:銷售合同管理系統(tǒng);J2EE;Struts;hibernate
中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)07-1486-04
Research and Design of Sales Contract Management System Based on J2EE
MAO Chen-shuang1, ZHONG Liang-wei2
(1.School of Mechanical Engineer,University of Shanghai For Science & Technology, Shanghai 200093,China; 2.Center of CAD,University of Shanghai For Science & Technology, Shanghai 200093,China)
Abstract:Based on the development of The Management System of Sales Contracts, the essay analyses some problems in the system. According to the actual need of company, the essay propose the Management Systems of Sales Contracts through J2EE framework, and especially analyses the critical functions of struts frame and hibernate in the designing of the system. Actual application shows the system meet the requirements of enterprise and are being succeed carried out. The companies can take this essay as a reference in regard to the development the management information system.
Key words: sales contract management system; J2EE;Struts;hibernate
隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,我國的制造業(yè)逐漸擺脫了傳統(tǒng)的粗放型經(jīng)營模式,信息化技術(shù)在企業(yè)之間有了廣泛的應(yīng)用。而國內(nèi)外的現(xiàn)代企業(yè)為了在激烈的市場競爭中立于不敗之地,越來越重視企業(yè)信息化建設(shè),由此應(yīng)運而生的ERP把企業(yè)的制造、財務(wù)、銷售、采購、庫存等各個子系統(tǒng)結(jié)合到一起,構(gòu)建整體化的信息管理系統(tǒng)。銷售管理是ERP系統(tǒng)中重要的一環(huán),通過銷售管理可以掌握客戶的需求信息,從而進(jìn)行生產(chǎn)計劃安排、原材料的采購計劃制定,還可以對客戶信息進(jìn)行管理維護(hù),預(yù)測客戶將來的產(chǎn)品需求。在當(dāng)前市場經(jīng)濟(jì)環(huán)境下,企業(yè)生產(chǎn)、經(jīng)營銷售都是圍繞市場進(jìn)行展開,因此銷售管理在企業(yè)的整個運作過程中是信息流程的開端,完整的銷售管理系統(tǒng)應(yīng)該實現(xiàn)銷售業(yè)務(wù)活動的整體處理,同時將銷售與計劃、生產(chǎn)、運輸、庫存、財務(wù)等方面緊密聯(lián)系起來[1]。本文來源于上海某機械設(shè)備制造企業(yè)實施信息化的項目過程中所開發(fā)的銷售合同管理系統(tǒng)。
1現(xiàn)有銷售合同管理系統(tǒng)的分析
1.1現(xiàn)有銷售合同管理系統(tǒng)的特點
現(xiàn)有的銷售合同管理系統(tǒng)包含的主要功能模塊有:合同信息管理、合同執(zhí)行管理、合同查詢統(tǒng)計、用戶管理、其他系統(tǒng)的接口等。對于系統(tǒng)的架構(gòu)而言,目前很多企業(yè)采用的還是傳統(tǒng)的C/S模式,能夠充分發(fā)揮客戶端的PC處理能力,響應(yīng)速度快,有利于處理大量的合同數(shù)據(jù)。適應(yīng)了企業(yè)內(nèi)部局域網(wǎng)上的數(shù)據(jù)共享、網(wǎng)上會簽,實現(xiàn)完全辦公自動化。
1.2現(xiàn)有銷售合同管理系統(tǒng)的局限性
1)C/S體系架構(gòu)的系統(tǒng)可維護(hù)性不高,對于大型的企業(yè)來說,一旦客戶端的程序發(fā)生修改,則所有的客戶端都需要重新安裝程序。同時系統(tǒng)支持的并發(fā)連接數(shù)有限,限制了同時運行的客戶端程序的數(shù)目。
2)用戶對象單一,適應(yīng)性不強。目前很多的銷售合同管理系統(tǒng)都是針對特定企業(yè)進(jìn)行設(shè)計開發(fā)的。諸如供電合同管理系統(tǒng)、購銷合同系統(tǒng)、應(yīng)用在房地產(chǎn)、煤炭企業(yè)的銷售合同管理系統(tǒng)等。
3)數(shù)據(jù)的利用率不高。合同文檔中保存有大量的數(shù)據(jù)信息,這些數(shù)據(jù)不僅與企業(yè)的采購、生產(chǎn)、銷售等環(huán)節(jié)緊密相關(guān),而且還需要與其他系統(tǒng)進(jìn)行數(shù)據(jù)的交換和共享。而在現(xiàn)有同類系統(tǒng)大都只是提供簡單的查詢,沒有能有效地利用合同數(shù)據(jù)來進(jìn)行數(shù)據(jù)挖掘和分析,充分發(fā)揮合同中數(shù)據(jù)的作用。
2銷售合同管理系統(tǒng)的需求分析及業(yè)務(wù)流程
2.1銷售合同管理系統(tǒng)的需求分析
經(jīng)過實際的調(diào)研和訪談,發(fā)現(xiàn)該公司的目前從銷售合同的簽訂到審核、執(zhí)行完全交由人工操作,其中涉及營銷部、計劃處、財務(wù)、技術(shù)等多個部門。我們分析公司實際需求主要有如下幾個方面:1)項目跟蹤管理:根據(jù)公司市場調(diào)研的結(jié)果,記錄甲方、業(yè)主、設(shè)計院三方面的客戶信息,同時還有項目的技術(shù)方案信息,并能夠及時的更新項目實施的進(jìn)度。2)合同的基本信息管理:目前的合同簽訂到實施完全由銷售員手工填寫,再經(jīng)過負(fù)責(zé)人簽字審核,而不同的銷售員操作方式并不一致,導(dǎo)致合同的樣式不規(guī)范。需要統(tǒng)一的合同樣式,同時對已經(jīng)輸入的合同能夠進(jìn)行相應(yīng)的編輯修改。3)合同評審:合同評審的過程中涉及到技術(shù)、財務(wù)、營銷多個部門,紙質(zhì)版的合同在實際操作過程中效率低下,需要系統(tǒng)中設(shè)計不同的用戶權(quán)限。4)用戶管理:根據(jù)部門的不同,對相應(yīng)的用戶設(shè)置不同的角色,不同的角色賦予不同的權(quán)限,這樣既保證了系統(tǒng)中數(shù)據(jù)的安全也提高了員工的工作效率。5)工作命令管理:對于已經(jīng)審核通過的合同,要及時的生成工作令并且投入生產(chǎn)。6)發(fā)貨管理:對于已經(jīng)制造完成成品的合同,及時的開具提貨單,進(jìn)行發(fā)貨。同時記錄發(fā)貨時間、查找過往發(fā)貨的記錄。7)安裝及調(diào)試管理:該公司生產(chǎn)的大型設(shè)備在合同中規(guī)定了是本公司安裝還是指導(dǎo)安裝,需要記錄售后安裝信息以及調(diào)試反饋的信息。8)合同的查詢與統(tǒng)計:可以根據(jù)合同的狀態(tài)查詢合同實施的過程,并把合同的相關(guān)信息以報表的形式集中導(dǎo)出。
2.2銷售合同管理系統(tǒng)的業(yè)務(wù)流程
我們通過銷售合同的信息流向來分析整個業(yè)務(wù)流程[2],通常的生產(chǎn)計劃是根據(jù)企業(yè)簽訂的合同,完成評審后,由生產(chǎn)計劃處下達(dá)工作命令。另外一個基于預(yù)投的生產(chǎn)命令下達(dá)方式是指企業(yè)預(yù)先生產(chǎn)部分市場需求的產(chǎn)品放在庫存中,在客戶需要的時候可以直接進(jìn)行銷售。如圖1和圖2所示。
圖2預(yù)投工作令的流程
3系統(tǒng)設(shè)計
3.1系統(tǒng)架構(gòu)
通過業(yè)務(wù)流程的分析,我們著眼于整個銷售合同管理系統(tǒng),采用J2EE平臺的多層模型結(jié)構(gòu),它根據(jù)功能將應(yīng)用邏輯分在不同的組件,各個應(yīng)用組件根據(jù)他們所屬的不同的J2EE層而被安裝在不同的平臺上[3]。如圖3所示。一個J2EE應(yīng)用主要包括客戶層、WEB層、業(yè)務(wù)邏輯層以及企業(yè)信息系統(tǒng)層。
客戶層組件位于客戶機上,主要由WEB瀏覽器和動態(tài)網(wǎng)頁構(gòu)成,在該銷售合同管理系統(tǒng)中,客戶層直接通過瀏覽器負(fù)責(zé)頁面的處理。進(jìn)行各種輸入、編輯、查詢等操作。WEB層和業(yè)務(wù)邏輯層位于J2EE服務(wù)器上,其中WEB層主要是通過JSP、Java Servlets進(jìn)行服務(wù)器端的WEB組件編程,用來接收客戶層的請求并返回相應(yīng)的回答。業(yè)務(wù)邏輯層負(fù)責(zé)處理某一特定領(lǐng)域的業(yè)務(wù)邏輯,它從客戶層接收數(shù)據(jù),經(jīng)過適當(dāng)處理后存儲到數(shù)據(jù)存儲設(shè)備中,或者從數(shù)據(jù)存儲設(shè)備中讀取數(shù)據(jù),經(jīng)過處理反饋到客戶端。在銷售合同的系統(tǒng)中所實現(xiàn)的功能都是在業(yè)務(wù)邏輯層中實現(xiàn)。企業(yè)信息系統(tǒng)層位于數(shù)據(jù)庫服務(wù)器上,公司采用的是SQL Server 2008數(shù)據(jù)庫系統(tǒng)。
3.2系統(tǒng)開發(fā)關(guān)鍵技術(shù)分析
在銷售系統(tǒng)的WEB層主要應(yīng)用的JSP語言是用來開發(fā)含有動態(tài)內(nèi)容網(wǎng)頁的一種技術(shù),但區(qū)別于靜態(tài)的HTML語言,JSP頁面不但包含了HTML語言的各種標(biāo)簽,還包括JS腳本語言、CSS樣式表、以及自身定義的各種標(biāo)簽。因此,我們可以根據(jù)公司的需求快速的更改頁面的布局、實現(xiàn)表單的驗證、讀取數(shù)據(jù)庫的數(shù)據(jù)信息以及記錄合同需要保存的信息等功能。JSP的實現(xiàn)過程如下[4]:首先由客戶端發(fā)出請求(request),服務(wù)器在將JSP轉(zhuǎn)譯成Servlet源代碼,產(chǎn)生的源代碼經(jīng)過編譯加載到內(nèi)存執(zhí)行,最后將結(jié)果(response)回饋到客戶端。
我們運用Struts框架來實現(xiàn)J2EE業(yè)務(wù)邏輯的處理,通過Struts框架的運用使得J2EE應(yīng)用的視圖和業(yè)務(wù)邏輯得以清晰的分離。它主要由控制器(ActionServlet)、業(yè)務(wù)邏輯控制器(Action)、模型、視圖等組成[5]??刂破髫?fù)責(zé)攔截所有用戶的請求,當(dāng)請求與配置文件的中一致,該請求將轉(zhuǎn)入Struts框架處理。如下圖所示,業(yè)務(wù)邏輯層控制器就是用戶自己實現(xiàn)Action類的各個實例,這種類都包含一個execute方法,該方法都返回一個ActionForward,用來確定返回的頁面;視圖由JSP文件實現(xiàn);模型則有實現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成。
圖3 J2EE體系架構(gòu)
圖3 Struts框架的請求與響應(yīng)
在與數(shù)據(jù)庫交互的過程中,我們采用了hibernate框架結(jié)構(gòu)。它是一個開源的對象關(guān)系映射框架,同時對JDBC進(jìn)行了非常輕量級的對象封裝,使得我們在開發(fā)的過程中能用面向?qū)ο蟮乃季S來操作數(shù)據(jù)庫[6]。hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中完成數(shù)據(jù)持久化的任務(wù)。在系統(tǒng)中主要使用hibernate.cfg.xml配置文件和hibernate根據(jù)數(shù)據(jù)庫中的表生成的映射文件,hibernate.cfg.xml主要是配置數(shù)據(jù)庫的連接和hibernate運行的主要屬性,映射文件是為了將實體類中的字段與表中的字段關(guān)聯(lián)起來,反映出持久類與數(shù)據(jù)庫表的映射關(guān)系。這樣對數(shù)據(jù)庫的操作就轉(zhuǎn)化成對持久化類的操作。
3.3功能模塊設(shè)計實例
由需求分析我們把系統(tǒng)主要分成八個模塊,項目管理、合同信息管理、合同評審、工作命令管理、發(fā)貨管理、安裝及售后管理、查詢模塊,客戶用戶管理。以新建合同為例。在系統(tǒng)登錄時就確定了用戶的權(quán)限,部門等信息,輸入合同時,首先選擇合同的客戶,然后輸入合同的基本信息、設(shè)備的基本信息,最后按照企業(yè)規(guī)定的合同號生成合同。圖4為新建合同所用到的一些基本方法。
4小結(jié)
銷售管理是企業(yè)中重要的一個環(huán)節(jié),本文以J2EE框架為平臺,根據(jù)企業(yè)的實際需求,設(shè)計并實現(xiàn)了一個基于J2EE為平臺的銷售合同管理系統(tǒng)。該系統(tǒng)已實現(xiàn)了銷售合同從簽訂、審核、執(zhí)行以及最后交付的各功能流程,強化了合同實施的穩(wěn)健性,達(dá)到了預(yù)期的設(shè)計目標(biāo)。該系統(tǒng)已經(jīng)在公司成功部署并實現(xiàn)運行。隨著企業(yè)信息化建設(shè)的深入,對系統(tǒng)的依賴性會越來越大,同時對系統(tǒng)的要求也會更高,要求整個系統(tǒng)具有可靠性、穩(wěn)定性和高安全性。希望能對同類系統(tǒng)的開發(fā)和設(shè)計起到一定的借鑒作用。
圖4新建合同中所用的基本類和方法
參考文獻(xiàn):
[1]于儉,胡彬.對ERP/MRPII系統(tǒng)實施過程中關(guān)鍵問題的探討[J].商業(yè)研究,2002(9):96-98.
[2]張謀喆,仲梁維.基于UML的銷售合同管理系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2011,20(3):23-26.
[3]張為.基于J2EE技術(shù)的物流系統(tǒng)的設(shè)計[J].計算機應(yīng)用與軟件,2007,24(7):106-108.
[4]李淑娟,李言.基于JSP的合同管理系統(tǒng)開發(fā)[J].計算機工程,2004,30(24):147-149.
[5]常倬林.Java Web從入門到精通[M].北京:機械工業(yè)出版社,2011.
[6]陳先楨.基于輕量級J2EE架構(gòu)的銷售系統(tǒng)的構(gòu)建[D].上海:復(fù)旦大學(xué),2008.