


【摘 要】使用java語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)了基于B/S平臺(tái)架構(gòu)的客戶關(guān)系管理系統(tǒng),即CRM系統(tǒng),該系統(tǒng)包括員工登陸、個(gè)人信息管理、客戶管理、員工管理、角色管理和員工組管理六個(gè)模塊。采用Spring+Hibernate框架,以JSP為前端頁(yè)面,使用Oracle來(lái)存儲(chǔ)數(shù)據(jù)。在各個(gè)企業(yè)或團(tuán)體網(wǎng)站項(xiàng)目中,CRM系統(tǒng)是不可缺少的部分。
【關(guān)鍵詞】管理系統(tǒng);設(shè)計(jì)與實(shí)現(xiàn)
1.CRM系統(tǒng)重要性
隨著網(wǎng)絡(luò)的普及,各個(gè)公司或團(tuán)體紛紛開(kāi)設(shè)自己的網(wǎng)站,而越來(lái)越多的人開(kāi)始使用網(wǎng)絡(luò)之后,也使得用戶數(shù)據(jù)開(kāi)始急速膨脹,從而快速地進(jìn)入了信息時(shí)代。在當(dāng)前的信息時(shí)代,掌握并管理大量的客戶信息,往往意味著在市場(chǎng)競(jìng)爭(zhēng)中可以取得更大的先機(jī),因此在一個(gè)公司或團(tuán)體的網(wǎng)站中,客戶關(guān)系管理系統(tǒng)(CRM系統(tǒng))也成為了網(wǎng)站項(xiàng)目中不可或缺的一個(gè)子系統(tǒng),是公司或團(tuán)體用以管理客戶信息的關(guān)鍵性的樞紐。
2.CRM系統(tǒng)設(shè)計(jì)
(1)CRM系統(tǒng)可以實(shí)現(xiàn)員工—客戶以及員工—員工的信息管理。可以對(duì)客戶和員工的信息擁有妥善而全面的管理方式,擁有嚴(yán)謹(jǐn)?shù)墓芾斫Y(jié)構(gòu)。
(2)員工與客戶的信息將存儲(chǔ)于數(shù)據(jù)庫(kù)中,為了保證數(shù)據(jù)庫(kù)中客戶信息的安全存儲(chǔ),信息將會(huì)同時(shí)存入兩個(gè)數(shù)據(jù)庫(kù),并由數(shù)據(jù)庫(kù)管理員(DBA)統(tǒng)一管理,保持兩個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)的統(tǒng)一和同步。在突發(fā)情況時(shí),雙數(shù)據(jù)庫(kù)的設(shè)計(jì)也可以最大程度地減少數(shù)據(jù)資源的損失。
(3)CRM系統(tǒng)采取B/S結(jié)構(gòu),采用Spring+Hibernate的框架組合來(lái)代替以往的Struts+Spring+Hibernate的框架組合。Spring-mvc框架的Controller目前已經(jīng)可以完全替代Struts的Action來(lái)處理瀏覽器的請(qǐng)求,而在配置上,Spring-mvc比Struts卻是更加地簡(jiǎn)潔。
(4)系統(tǒng)總體上采用MVC的結(jié)構(gòu),在前端(即表現(xiàn)層)使用JSP來(lái)顯示頁(yè)面,同時(shí)內(nèi)嵌javascript和JSTL標(biāo)簽來(lái)實(shí)現(xiàn)前端頁(yè)面的動(dòng)態(tài)顯示和簡(jiǎn)單的業(yè)務(wù)處理。在服務(wù)器上(即控制層)使用Spring-mvc來(lái)實(shí)現(xiàn)對(duì)前端請(qǐng)求的處理,并同時(shí)調(diào)用數(shù)據(jù)層(即數(shù)據(jù)模型層)的服務(wù)來(lái)完成對(duì)Oracle數(shù)據(jù)庫(kù)的訪問(wèn),在數(shù)據(jù)層中使用Hibernate框架來(lái)提供各種面向控制層的業(yè)務(wù)接口。
3.功能模塊設(shè)計(jì)
CRM系統(tǒng)主要分為五個(gè)功能模塊:用戶管理、客戶管理、員工管理、角色管理和員工組管理。
3.1用戶管理
3.1.1用戶登陸
員工可以登陸進(jìn)入CRM,不同的員工由于本身的權(quán)限的不同,在登陸進(jìn)入系統(tǒng)后所能查看的信息范圍和管理范圍也是有所不同,這些在員工登陸的時(shí)候就會(huì)有所區(qū)分,通過(guò)對(duì)當(dāng)前登陸員工的權(quán)限的判斷來(lái)顯示相對(duì)應(yīng)的界面和管理范圍。為了防止因?yàn)閿?shù)據(jù)包被截取而導(dǎo)致的密碼泄露,在前端設(shè)計(jì)中,在將相關(guān)的數(shù)據(jù)向服務(wù)端傳送之前,使用javascript或者jQuery將密碼以一定的規(guī)則來(lái)裝換成其他格式的字符串,但是在服務(wù)器端卻不予以轉(zhuǎn)換回去。原因是,為了防止密碼在數(shù)據(jù)庫(kù)中被直觀地看見(jiàn),增強(qiáng)了保密性,在數(shù)據(jù)庫(kù)中存儲(chǔ)的密碼仍然應(yīng)該是已經(jīng)轉(zhuǎn)換后的密碼。
3.1.2信息管理
在員工登陸后,在界面的最上方有員工個(gè)人信息管理模塊,主要有修改密碼,更改聯(lián)系方式,修改登錄名等功能,用于員工自己修改個(gè)人的信息。每個(gè)員工在第一次登陸的時(shí)候一般都會(huì)要求修改密碼,因?yàn)槌跏济艽a是由管理員設(shè)置的。
3.2個(gè)人信息管理
在員工登陸后,在界面的最上方有員工個(gè)人信息管理模塊,主要有修改密碼,更改聯(lián)系方式,修改登錄名等功能,用于員工自己修改個(gè)人的信息。每個(gè)員工在第一次登陸的時(shí)候一般都會(huì)要求修改密碼,因?yàn)槌跏济艽a是由管理員設(shè)置的。
3.3客戶管理
客戶管理模塊會(huì)出現(xiàn)在各個(gè)員工中,由員工不用的權(quán)限來(lái)顯示相應(yīng)的功能。
(1)添加客戶:?jiǎn)T工可以通過(guò)添加客戶的功能來(lái)添加直屬的客戶,前提是該客戶沒(méi)有被任何其他員工添加為直屬的客戶。
(2)修改客戶角色:?jiǎn)T工不能對(duì)客戶的基本信息進(jìn)行任何的操作,但是可以對(duì)客戶的客戶角色進(jìn)行更改,即添加客戶的權(quán)限范圍。
(3)查詢客戶信息:?jiǎn)T工可以對(duì)直屬的客戶進(jìn)行全面的信息查詢,包括模糊查詢和準(zhǔn)確的查詢。
(4)刪除客戶:在某些業(yè)務(wù)場(chǎng)景下,員工可以對(duì)客戶進(jìn)行刪除,但只是斷開(kāi)客戶與員工之間的關(guān)聯(lián)關(guān)系,并不能直接將客戶刪除。(在實(shí)際的應(yīng)用場(chǎng)景中,不會(huì)出現(xiàn)真的將客戶信息從數(shù)據(jù)庫(kù)中刪除的情況,因此只會(huì)將客戶失效而已)。
3.4員工管理
員工管理模塊一般只出現(xiàn)在組管理員中。
(1)新增員工:組管理員可以添加直屬本組的新員工信息,該功能只添加最基本的員工信息,如:登錄名,密碼,聯(lián)系方式和員工的ID。添加后,這些信息只能由員工自己進(jìn)行修改。
(2)添加員工:組管理員可以批量地將已存在的,但是不屬于任何組的員工添加到本組中。
(3)修改員工角色:組管理員可以對(duì)本組的員工角色進(jìn)行修改,從而達(dá)到修改員工權(quán)限的目的。同時(shí),員工與角色的關(guān)系是一對(duì)多的,即一個(gè)員工是可以擁有多個(gè)角色的。
(4)查詢員工:組管理員可以查詢本組的所有員工的基本信息和業(yè)績(jī)狀況,也包括了模糊查詢和精確查詢。
(5)刪除員工:組管理員可以將員工刪除,并清除數(shù)據(jù)庫(kù)中該員工的數(shù)據(jù),前提是,該員工沒(méi)有任何的直屬客戶。
3.5角色管理
角色管理一般只出現(xiàn)在系統(tǒng)管理員中,屬于高級(jí)管理權(quán)限功能。
(1)添加角色:系統(tǒng)管理員可以添加一個(gè)新的員工角色或客戶角色,并在添加的同時(shí)關(guān)聯(lián)相應(yīng)的員工權(quán)限或客戶權(quán)限。
(2)查詢角色:系統(tǒng)管理員可以查詢相關(guān)的員工角色或客戶角色信息,查看角色相對(duì)應(yīng)的員工權(quán)限或客戶權(quán)限。
(3)修改角色:系統(tǒng)管理員可以修改員工角色或客戶角色的信息,修改員工角色或客戶角色所對(duì)應(yīng)的員工權(quán)限或客戶權(quán)限。
(4)刪除角色:在某些情況下系統(tǒng)管理員可以刪除員工角色或客戶角色,前提是,該員工角色或客戶角色沒(méi)有任何員工或客戶關(guān)聯(lián)。
3.6員工組管理
員工組管理模塊可以出現(xiàn)在系統(tǒng)管理員,或者少數(shù)特殊的員工中。
(1)添加員工組:該功能允許添加新的員工組,在添加的同時(shí)可以同時(shí)將沒(méi)有員工組的員工添加進(jìn)入該組。
(2)查詢員工組:該功能會(huì)顯示一個(gè)樹(shù)狀的員工組結(jié)構(gòu),擁有一定權(quán)限還可以查看每組的組員,在鼠標(biāo)點(diǎn)擊樹(shù)中的員工組名時(shí),會(huì)已懸浮框顯示相應(yīng)的基本信息。
(3)刪除員工組:該功能可以刪除一個(gè)員工組,將數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除,若該組為根組,不能刪除,若該組有下屬子組,則將其子組關(guān)聯(lián)到被刪除組的父組下。刪除后,該組所有員工均為無(wú)組狀態(tài)。
4.數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)上述的功能模塊分析,需要建立7張表:客戶表、賬戶表、員工表、員工角色表、客戶角色表、員工角色關(guān)聯(lián)表、員工組表。實(shí)體關(guān)系(E-R)圖如下:
5.數(shù)據(jù)流程
6.結(jié)語(yǔ)
本文設(shè)計(jì)與實(shí)現(xiàn)基于java語(yǔ)言的CRM系統(tǒng),具有較為嚴(yán)謹(jǐn)?shù)墓芾斫Y(jié)構(gòu),不論在員工與客戶管理上還是員工之間的管理上都有較全面的涉及,在權(quán)限的劃分上可以以實(shí)際業(yè)務(wù)為主稍作變動(dòng)。在實(shí)際的項(xiàng)目中,應(yīng)用性強(qiáng),有效管理用戶關(guān)系數(shù)據(jù)。
【參考文獻(xiàn)】
[1]蔡劍,景楠.JavaWeb應(yīng)用開(kāi)發(fā):J2EE和Tomcat[M].清華大學(xué)出版社,2004.
[2]董金祥,陳剛,尹建偉.客戶關(guān)系管理CRM[M].浙江大學(xué).
[3]孫衛(wèi)琴.精通Hibernate[M].電子工業(yè)出版社,2005(4).
[4]周麗麗.企業(yè)客戶關(guān)系管理現(xiàn)狀研究[J].商場(chǎng)現(xiàn)代化,2008(17).
[5]林信良.Spring2.0技術(shù)手冊(cè)[M].電子工業(yè)出版社,2006(6).