客戶關(guān)系管理系統(tǒng)_第1頁
客戶關(guān)系管理系統(tǒng)_第2頁
客戶關(guān)系管理系統(tǒng)_第3頁
客戶關(guān)系管理系統(tǒng)_第4頁
客戶關(guān)系管理系統(tǒng)_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊客戶關(guān)系管理系統(tǒng)頁目錄TOC\o"1-3"\h\u31600第一章緒論 5148071.1系統(tǒng)的開發(fā)背景 5172501.1.1客戶關(guān)系管理系統(tǒng)的發(fā)展 5106101.1.2客戶關(guān)系管理系統(tǒng)的現(xiàn)狀 5154521.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 632601.3系統(tǒng)開發(fā)的意義 614066第二章系統(tǒng)需求分析 75732.1系統(tǒng)的設(shè)計(jì)目標(biāo) 7119732.2系統(tǒng)的可行性分析 7310782.2.1用戶群體與市場分析 7303472.2.2技術(shù)能力分析 7161132.2.3可行性分析總結(jié) 7249432.3系統(tǒng)設(shè)計(jì)的特點(diǎn) 75457第三章關(guān)鍵技術(shù)分析 8154273.1系統(tǒng)使用的技術(shù) 84063.1.1JSP編程技術(shù) 8156993.1.2Oracle開源數(shù)據(jù)庫的開發(fā) 9308273.1.3Java語言概述 1020223.1.4SSH框架 11133433.2系統(tǒng)架構(gòu)設(shè)計(jì) 1322193.3開發(fā)環(huán)境與技術(shù) 15979第四章系統(tǒng)設(shè)計(jì) 16232034.1總體設(shè)計(jì) 1695454.1.1整體分析 1682654.1.2數(shù)據(jù)流分析 1615054.2詳細(xì)設(shè)計(jì) 17233004.2.1系統(tǒng)功能模塊設(shè)計(jì) 17278464.2.2系統(tǒng)E-R圖 18233404.2.3數(shù)據(jù)庫設(shè)計(jì) 2024422第五章系統(tǒng)實(shí)現(xiàn) 24299885.1數(shù)據(jù)庫連接 24231955.2用戶登錄管理 24195415.3營銷管理 2436375.3.1銷售機(jī)會管理 26192285.3.2客戶開發(fā)計(jì)劃 27301515.4客戶管理 28222315.5服務(wù)管理 29166105.6統(tǒng)計(jì)報(bào)表 3324945.7基礎(chǔ)數(shù)據(jù) 33200055.8權(quán)限管理 3518478第六章系統(tǒng)測試 36224736.1測試的作用和意義 37300866.2測試方法 3796196.3測試內(nèi)容 37278576.4測試結(jié)果 37305466.5開發(fā)技巧和難點(diǎn)分析 3817357結(jié)束語 3913396致謝 4021259參考文獻(xiàn) 413956附錄一 423956附錄二 61緒論1.1系統(tǒng)的開發(fā)背景 1.1.1客戶關(guān)系管理系統(tǒng)的發(fā)展 隨著市場的開放,各個(gè)企業(yè)之間的競爭逐漸加劇,并且也從獨(dú)立的企業(yè)與企業(yè)之間的競爭發(fā)展成為了一個(gè)個(gè)群體之間的競爭。在這些群集中,不同的企業(yè)扮演著不同的角色,比如有原料供應(yīng)商、制造商、分銷機(jī)構(gòu)、零售商等。在企業(yè)與企業(yè)之間需要進(jìn)行大量的信息交互、流程管理和對各種異常情況的處理,前者主要是針對一些動態(tài)的數(shù)據(jù)信息即供應(yīng)鏈管理,后者則是更多的是一些靜態(tài)資料的管理及合作伙伴信息管理。對于普通的中小企業(yè)來說,資金和人力都有限,因此對于定制比較復(fù)雜的供應(yīng)鏈管理來說是不現(xiàn)實(shí)的。中小企業(yè)更傾向于首先把散亂的資料、協(xié)議有效的管理起來,在一定程度上有效地提高工作效率和企業(yè)信息化建設(shè)的進(jìn)程。因此,在這樣一種市場需求下,一款通用性強(qiáng)、功能實(shí)用、易于上手,面向全行業(yè)中小企業(yè)的企業(yè)管理系統(tǒng)就產(chǎn)生了。 企業(yè)的客戶資源才會是最重要的資源。在21世紀(jì),客戶管理的道理網(wǎng)絡(luò)技術(shù)的充分支持。此時(shí)客戶也有條件要求企業(yè)尊重他們,并對服務(wù)的質(zhì)量和及時(shí)性等方面提出更高要求。網(wǎng)絡(luò)時(shí)代到來,使得顧客可以有更大的選擇權(quán),市場由原來的供方主導(dǎo)變?yōu)轭櫩椭鲗?dǎo)。企業(yè)在處理與客戶的關(guān)系時(shí),被動地處理顧客的抱怨、解答顧客的問題,顧客服務(wù)并未成為整體服務(wù)產(chǎn)品的核心。在這種情況下,企業(yè)越來越感覺到?jīng)]有信息技術(shù)支持的客戶信息管理系統(tǒng)力不從心。于是CRM系統(tǒng)便應(yīng)運(yùn)而生。并將成為21世紀(jì)企業(yè)競爭獲勝的通行證。何謂客戶關(guān)系管理,客戶關(guān)系管理時(shí)企業(yè)為贏得顧客的高度滿意,建立起與客戶的長期良好關(guān)系所開展的工作。本項(xiàng)目將詳細(xì)展示該系統(tǒng)的開發(fā)與實(shí)現(xiàn)。1.1.2客戶關(guān)系管理系統(tǒng)的現(xiàn)狀 對于企業(yè)來說最重要的是客戶,而這些客戶又分為了不同的客戶群體,例如有大客戶、小客戶,有正在聯(lián)系的客戶、有即將聯(lián)系的客戶等等。而且這些客戶有可能屬于屬于不同的行業(yè),不同的區(qū)域地區(qū)。這時(shí)如何對這些客戶進(jìn)行有效的管理,今兒指導(dǎo)企業(yè)對客戶的下一步行動,從而提升企業(yè)的價(jià)值,成了企業(yè)發(fā)展的關(guān)鍵所在。 傳統(tǒng)的客戶管理時(shí)采用人工手動記錄的方式,通過通信員將客戶的信息記錄在通信本上實(shí)現(xiàn)的。但是這種方式記錄非常慢,而且容易出錯,對于后期的查找和維護(hù)以為是非常困難的。不難看出,企業(yè)想在競爭激烈的市場中占有一席之地,就必須牢牢把握住客戶。 目前,企業(yè)管理系統(tǒng)已經(jīng)逐步被企業(yè)所使用,功能也在不斷地完善。而客戶管理系統(tǒng)作為客戶管理中的一個(gè)重要組成部分,也是值得重視的。 鑒于以上的原因,通過對客戶管理的具體工作進(jìn)行分析,編寫了客戶管理系統(tǒng),用來方便的管理客戶方面的工作。 系統(tǒng)通過對各種信息的錄入、編輯、查詢、刪除等各個(gè)功能的實(shí)現(xiàn),基本上可以滿足企業(yè)部門的需要,在很大的程度上提高客戶管理的效率和合理性,以及統(tǒng)計(jì)數(shù)據(jù)的真實(shí)性。 系統(tǒng)的功能和傳統(tǒng)管理模式相比較,毫無疑問會大大提高客戶信息管理的運(yùn)作效率,輔助提高企業(yè)的管理水平,為減少差錯,節(jié)省人力,為以后統(tǒng)計(jì)各類信息提供有效的技術(shù)保障。 目前,客戶管理系統(tǒng)已經(jīng)越來越多的應(yīng)用到了很多企業(yè)之中,并起到了良好的效果。1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 整個(gè)客戶關(guān)系管理系統(tǒng)都要以客戶為中心,從而簡化與各類客戶關(guān)系的信息,如銷售、服務(wù)以及支持等等。在構(gòu)建CRM系統(tǒng)時(shí),還應(yīng)當(dāng)注意與其他管理系統(tǒng)的協(xié)調(diào),例如人力資源管理系統(tǒng)、進(jìn)銷存管理系統(tǒng)等等。例如現(xiàn)在系統(tǒng)的使用者是某中小型企業(yè),系統(tǒng)通過該系統(tǒng)來改善現(xiàn)有客戶的管理混亂狀態(tài),從而加強(qiáng)企業(yè)和客戶之間的聯(lián)系。 本系統(tǒng)主要對客戶信息的管理。一方面錄入客戶信息、并對客戶各方面的信息進(jìn)行分析;另一方面根據(jù)客戶反饋的信息,及時(shí)統(tǒng)計(jì)各種相關(guān)數(shù)據(jù)并根據(jù)數(shù)據(jù)作出分析,發(fā)現(xiàn)問題并給出措施建議。 本課題就是要開發(fā)一個(gè)基于web的客戶管理系統(tǒng)。 依據(jù)客戶管理需要完成的內(nèi)容,本系統(tǒng)要完成的主要功能分析如下: 1.客戶基本信息的錄入:主要包括基本資料、交費(fèi)和任務(wù)的登記。 2.登錄的權(quán)限設(shè)置:對于不同的角色能夠賦予不同的權(quán)限。 3.營銷管理:為了更好地開發(fā)客戶,需要設(shè)置銷售機(jī)會管理模塊和客戶開發(fā)計(jì)劃管理。 4.客戶的服務(wù)管理:在建立了客戶聯(lián)系人之后,為了能夠更好地保證服務(wù)質(zhì)量,減少客戶流失,需要對不同客戶的不同服務(wù)項(xiàng)目進(jìn)行歸類管理。 5.統(tǒng)計(jì)報(bào)表:為了更好地查詢和分析數(shù)據(jù),需要對客戶構(gòu)成、客戶貢獻(xiàn)及客戶服務(wù)進(jìn)行分析。1.3系統(tǒng)開發(fā)的意義客戶管理系統(tǒng)主要是將客戶關(guān)系管理、人物管理、客戶交費(fèi)、投訴管理、查詢報(bào)表等多功能于一身的客戶管理軟件,操作簡單方便,界面美觀大方,能滿足企業(yè)進(jìn)行客戶管理的需求,客戶關(guān)系管理系統(tǒng)通過準(zhǔn)確、智能、高效、創(chuàng)新的營銷策略,協(xié)助企業(yè)不斷提高銷售額、提升客戶忠誠度。第二章系統(tǒng)需求分析2.1系統(tǒng)的設(shè)計(jì)目標(biāo) 系統(tǒng)使用簡潔的框架結(jié)構(gòu),可以進(jìn)行客戶的查看、信息錄入等操作,實(shí)現(xiàn)客戶的管理、客戶的統(tǒng)計(jì)分析、系統(tǒng)維護(hù)等模塊組成。以及一些常規(guī)的設(shè)置和數(shù)據(jù)庫管理等操作。2.2系統(tǒng)的可行性分析2.2.1用戶群體與市場分析 客戶管理系統(tǒng)將能為企業(yè)實(shí)現(xiàn)有效的客戶關(guān)系管理。它既是一種國際領(lǐng)先的、以“客戶價(jià)值”為中心的企業(yè)管理理論、商業(yè)策略和企業(yè)運(yùn)作實(shí)踐,也是一種以信息技術(shù)為手段、有效提高企業(yè)利益、客戶滿意度、雇員生產(chǎn)力的管理軟件。 客戶管理系統(tǒng)是通過贏得、發(fā)展、保持有價(jià)值的客戶,增加企業(yè)收入,優(yōu)化盈利性,提高客戶滿意度的商務(wù)戰(zhàn)略。通過獲得更多的客戶線索、更廣泛地共享客戶信息,協(xié)同工作,增加收益,提高給客戶的價(jià)值,實(shí)現(xiàn)企業(yè)和客戶的“雙贏”。 企業(yè)希望通過客戶管理系統(tǒng)能夠了解更多的客戶需求,從而為客戶提供個(gè)性化的產(chǎn)品和服務(wù),提高客戶滿意度,與此同時(shí)能夠獲得更大的利潤。 客戶管理系統(tǒng)是一種旨在健全、改善企業(yè)與客戶之間的新型管理系統(tǒng)。指的是企業(yè)利用信息及時(shí),通過有意義的交流來了解并影響客戶的行為,以提高客戶招攬率、客戶保持率、客戶忠誠度和客戶收益率??蛻艄芾硐到y(tǒng)是一種把客戶信息轉(zhuǎn)換成良好的客戶關(guān)系的可重復(fù)性過程。利用激勵因素來刺激客戶進(jìn)一步消費(fèi),并激發(fā)其“感激”心理,對保持長期的銷售和提高客戶保持率十分重要。2.2.2技術(shù)能力分析 根據(jù)本系統(tǒng)的功能需求,采用JSP與開源的Oracle數(shù)據(jù)庫引擎開發(fā)。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可充用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變的迅速和容易。而Oracle作為一種快速的、多線程的多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器,根據(jù)第三方測試結(jié)果,在千萬級的數(shù)據(jù)環(huán)境中保持較高的執(zhí)行速度。因此在技術(shù)層面上,是完全可行的。2.2.3可行性分析總結(jié) 綜合企業(yè)用戶群體的特點(diǎn)和不斷增長的需求,以及技術(shù)、市場前景趨勢等因素,客戶管理的信息化系統(tǒng)有很大的發(fā)展前途,而客戶管理系統(tǒng)則是建立在此基礎(chǔ)上的,因此本系統(tǒng)的開發(fā)是具有可行性的。2.3系統(tǒng)設(shè)計(jì)的特點(diǎn) 系統(tǒng)的設(shè)計(jì)上需要安全性和用戶操作的流暢性。因此要在對用戶的管理和資格審核環(huán)節(jié)做出限定,只有經(jīng)過審核確認(rèn)的會員才有權(quán)使用,而且需要對管理員進(jìn)行不同的權(quán)限分配。搜索將在系統(tǒng)功能中占據(jù)重要的位置,可以使用多個(gè)屬性字段進(jìn)行模糊搜索,并在搜索結(jié)果提供比較的通道。第三章關(guān)鍵技術(shù)分析3.1系統(tǒng)使用的技術(shù) 本系統(tǒng)采用Oracle數(shù)據(jù)庫,使用JavaEE進(jìn)行開發(fā),采取B/S架構(gòu)。數(shù)據(jù)庫設(shè)計(jì)原則上符合第三范式,且規(guī)范,易于維護(hù)。程序需使用MVC模式,采用三層架構(gòu),保證系統(tǒng)的可維護(hù)性和可擴(kuò)展性。主要基于Struts+Spring+hibernate框架進(jìn)行開發(fā)。JSP編程技術(shù)JavaServerPage或簡稱為JSP是由Sun公司在Java語言上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術(shù),它提供了一種建立動態(tài)網(wǎng)頁的簡單方法,并未開發(fā)人員提供了一個(gè)Server端框架,基于這個(gè)框架,開發(fā)人員可以綜合使用HTML,XML,Java語言以及其他腳本語言,靈活、快速抵創(chuàng)建和維護(hù)動態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng)。作為JavaTM技術(shù)的一部分,JSP能夠快速的開發(fā)出給予所有Web服務(wù)器和應(yīng)用服務(wù)器環(huán)境,獨(dú)立與平臺的應(yīng)用程序,而且具有非常強(qiáng)的可伸縮性。同時(shí),JSP把用戶界面從系統(tǒng)內(nèi)容中分離出來,使得設(shè)計(jì)人員能夠在不改變底層動態(tài)內(nèi)容的前提下改變網(wǎng)頁布局。JSP編程技術(shù)的優(yōu)勢在于:1.一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。2.JSP就是在HTML中嵌入Java代碼,所以在本質(zhì)上JSP程序就是Java程序繼承了Java的一切優(yōu)點(diǎn)。JSP程序有嚴(yán)格的Java語法和豐富的Java類庫支持。3.JSP頁面在服務(wù)器中都會被JSP編譯器編譯成對應(yīng)的Servlet,所以就擁有Java跨平臺的優(yōu)點(diǎn),所有的JSP程序,無需改動就可以方便的遷移到其他操作系統(tǒng)平臺,這就是在其他動態(tài)腳本中無法想象的。4.JSP中可以使用JavaBean進(jìn)行邏輯封裝,這樣就可以實(shí)現(xiàn)邏輯功能代碼的重用,從而大大提高系統(tǒng)的可重用性,同時(shí)也提高了程序的開發(fā)效率。5.JSP程序容易上手,如果有HTML和Java的基本知識,那么學(xué)習(xí)JSP程序就沒有任何難度。在JSP中可以使用Java眾多的開源工具也是其他的動態(tài)網(wǎng)頁語言無法比擬的。由于以上種種優(yōu)勢JSP在眾多的動態(tài)語言中成為開發(fā)人員最喜歡的語言之一。JSP的運(yùn)行原理:如果JSP頁面是第一次被請求運(yùn)行,服務(wù)器的JSP編譯器會生成JSP頁面對應(yīng)的Java代碼,并且編譯成字節(jié)碼文件。當(dāng)服務(wù)器再次收到對這個(gè)JSP頁面請求的時(shí)候,會判斷這個(gè)JSP頁面是否被修改過,如果被修改過就會重新生成Java代碼并且重新編譯,而且服務(wù)器中的垃圾回收方法會把沒用的字節(jié)碼文件刪除。如果沒有修改過,服務(wù)器就會直接調(diào)用以前已經(jīng)編譯過的字節(jié)碼文件。JSP在第一次訪問時(shí)由于要轉(zhuǎn)化和編譯,運(yùn)行速度較慢,但是當(dāng)?shù)诙卧L問該頁時(shí),由于文件已經(jīng)編譯成字節(jié)碼文件了,所以速度非???。 JSP頁面的組成:通常來說,JSP頁面由兩部分組成:1.JSP頁面的靜態(tài)部分,如HTML,CSS標(biāo)記等用來完成數(shù)據(jù)顯示和樣式。 2.JSP頁面的動態(tài)部分,如腳本程序,JSP標(biāo)簽等,用來完成數(shù)據(jù)處理。 JSP運(yùn)行環(huán)境:要運(yùn)行JSP(注意,不是瀏覽JSP頁面),需要有支持JSP的服務(wù)器。這里分2種情況:一種是自身就支持JSP的服務(wù)器,如Jrun,Weblogic,JSWDK等;而另一種則是在不支持JSP的服務(wù)器上安裝JSP引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere,tomcat,Resin等插件。其中主流服務(wù)器是Weblogic和tomcat.Tomcat服務(wù)器是ApacheGroupJakarta小組開發(fā)的一個(gè)免費(fèi)服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對它進(jìn)行擴(kuò)充。Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,JBuilder將其作為標(biāo)準(zhǔn)的測試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,而且有一些安全性的問題沒有解決。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。Oracle開源數(shù)據(jù)庫的開發(fā)ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識,便能在各種類型的機(jī)器上使用它。Oracle特點(diǎn):完整的數(shù)據(jù)管理功能:數(shù)據(jù)的大量性數(shù)據(jù)的保存的持久性數(shù)據(jù)的共享性數(shù)據(jù)的可靠性Java語言概述Java語言是由Sun公司開發(fā)的一種很新的計(jì)算機(jī)語言,它的歷史很短。Java語言的發(fā)展史是簡短而曲折的。由于它與網(wǎng)絡(luò)的良好結(jié)合,使得它在剛發(fā)布時(shí)就引起了轟動。因?yàn)镴ava語言沒有兼容低版本計(jì)算機(jī)語言的負(fù)擔(dān),所以它在采用計(jì)算機(jī)新技術(shù)方面比傳統(tǒng)的計(jì)算機(jī)語言顯得更為純粹,Java語言的特點(diǎn)也更為鮮明。它的特點(diǎn)與其歷史發(fā)展是相關(guān)的。Java編程語言的風(fēng)格十分接近C、C++語言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它繼承了C++語言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C++語言中容易引起錯誤的指針(以引用取代)、運(yùn)算符重載(operatoroverloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在Java1.5版本中,Java又引入了泛型編程(GenericProgramming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了Java程序的運(yùn)行效率。Java語言的特點(diǎn):1.簡單性。Java語言是在C和C++計(jì)算機(jī)語言的基礎(chǔ)上進(jìn)行簡化和改進(jìn)的一種新型計(jì)算機(jī)語言。它去掉了C和C++種最難正確應(yīng)用的指針和最難理解的多繼承技術(shù)等內(nèi)容,通過垃圾自動回收機(jī)制簡化了程序內(nèi)存管理,統(tǒng)一了各種數(shù)據(jù)類型在不同操作系統(tǒng)平臺上所占用的內(nèi)存大小。2.網(wǎng)絡(luò)特性。Java語言是目前對網(wǎng)絡(luò)支持最全面,與網(wǎng)絡(luò)關(guān)系最密切的計(jì)算機(jī)語言之一。其對互聯(lián)網(wǎng)絡(luò)有著良好的支持。3.面向?qū)ο?。Java語言在面向?qū)ο筇匦陨媳菴++語言更為徹底的一種語言。面向?qū)ο竽P褪且环N模擬人類社會和人解決實(shí)際問題的模型,因此更符合人們的思維習(xí)慣,而且容易擴(kuò)充和維護(hù)。它的缺點(diǎn)是程序在開發(fā)的過程中往往會變得越來越龐大。4.平臺無關(guān)性。平臺無關(guān)性又稱為可移植性。Java語言的設(shè)計(jì)目標(biāo)是讓其程序不用修改就可以在任何一種計(jì)算機(jī)平臺上運(yùn)行。解決異構(gòu)操作系統(tǒng)兼容性問題是一個(gè)很艱巨的任務(wù)。雖然Java語言并沒有完全實(shí)現(xiàn)最初的設(shè)計(jì)目標(biāo),但在這方面確實(shí)是同類語言中做的最好的。5.健壯性。魯棒性指的是程序執(zhí)行的穩(wěn)定性。Java語言的垃圾自動回收機(jī)制和異常處理機(jī)制以及它的簡單性在很大程度上保證了程序的魯棒性。6.安全性。在網(wǎng)絡(luò)上運(yùn)行的Java語言是符合網(wǎng)絡(luò)安全協(xié)議的。在執(zhí)行Java程序的過程中,Java虛擬機(jī)對程序的安全性進(jìn)行檢測。一般說來,Java程序是安全的,它不會訪問或修改不允許訪問的內(nèi)存或文件。7.多線程性。多線程性主要用來處理復(fù)雜事務(wù)或需要并行的事務(wù)。組成Java虛擬機(jī)的各個(gè)程序本身一般也采用多線程機(jī)制。采用多線程機(jī)制是提高程序運(yùn)行效率的一種方法,但同時(shí)也增加了程序的設(shè)計(jì)難度。8.解釋性。Java語言是一種解釋執(zhí)行的語言。這是Java語言的一個(gè)缺點(diǎn),因?yàn)榻忉寛?zhí)行的語言一般會比編譯執(zhí)行的語言的執(zhí)行效率要低。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(JavaEnterpriseAPIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。3.1.4SSH框架 集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對象,然后編寫基本的DAO(DataAccessObjects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。系統(tǒng)的基本業(yè)務(wù)流程是:在表示層中,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)接收請求(Request)和傳送響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的SpringIoC容器負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。Struts2Struts對Model,View和Controller都提供了對應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來自用戶的請求。Action,這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務(wù)邏輯方法處理請求,并將處理結(jié)果返回給JSP頁面顯示。Model部分:由ActionForm和JavaBean組成,其中ActionForm用于將用戶的請求參數(shù)封裝成ActionForm對象,該對象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)處理用戶的請求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。View部分:該部分采用JSP(或HTML、PHP……)實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對應(yīng)上圖的JSP部分。Controller組件:Controller組件有兩個(gè)部分組成——系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對應(yīng)上圖的ActionServlet。該控制器繼承了HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應(yīng)Action部分。SpringSpring是一個(gè)開源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能范圍:任何Java應(yīng)用簡單來說,Spring是一個(gè)輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個(gè)對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時(shí)不等對象請求就主動將依賴傳遞給它。面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。容器——Spring包含并管理應(yīng)用對象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。HibernateHibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個(gè)核心接口分別加以介紹。Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。Configuration接口:Configuration接口負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。系統(tǒng)架構(gòu)設(shè)計(jì)該客戶管理系統(tǒng)采用B/S模式,服務(wù)器采用輕量級應(yīng)用服務(wù)器Tomcat,該服務(wù)器運(yùn)行時(shí)所占用的系統(tǒng)資源小,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能。有著良好的跨平臺性和安全性,可以運(yùn)行在包括windows、Linux、mac等操作系統(tǒng)上。用戶客戶端使用各種瀏覽器都能夠進(jìn)行正常的瀏覽和操作。需要注意的是在程序的開發(fā)過程中,程序和路徑相關(guān)的要考慮到不同的操作系統(tǒng)的文件目錄結(jié)構(gòu)。B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),就是只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化和改進(jìn)。主要利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合多種Script語言(VBScript、JavaScript等)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。B/S三層體系結(jié)構(gòu)采用三層客戶/服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界面層(Client)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個(gè)體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個(gè)不同的處理層次。三個(gè)層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺,提供了以下主要功能:負(fù)責(zé)客戶機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的開發(fā)、運(yùn)行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其它層的功能。B/S結(jié)構(gòu)的三層體系結(jié)構(gòu)圖如圖3-1所示。圖3-1B/S三層體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等工作全部由WebServer完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個(gè)非常大的進(jìn)步。B/S三層體系結(jié)構(gòu)的主要優(yōu)點(diǎn):?B/S模式提供靈活的信息交流和信息發(fā)布服務(wù)。B/S模式借助Internet強(qiáng)大的信息發(fā)布與信息傳送能力可以有效地解決企業(yè)內(nèi)部的大量不規(guī)則的信息交流?可共享性。單個(gè)應(yīng)用服務(wù)器可以為處于不同平臺的客戶應(yīng)用程序提供服務(wù),在很大程度上節(jié)省了開發(fā)時(shí)間和資金投入;?較好的安全性。在這種結(jié)構(gòu)中,客戶應(yīng)用程序不能直接訪問數(shù)據(jù),應(yīng)用服務(wù)器不僅可控制哪些數(shù)據(jù)被改變和被訪問,而且還可控制數(shù)據(jù)的改變和訪問方式。?三層模式成為真正意義上的“瘦客戶端”,客戶端計(jì)算機(jī)不需要很高的硬件配置,也無需特殊的軟件配置要求,只要有web瀏覽器就可以使用系統(tǒng)。?B/S模式提供了一致的用戶界面:B/S模式的應(yīng)用軟件都是基于Web瀏覽器的,這些瀏覽器的界面都很相似。對于無用戶交互功能的頁面,用戶接觸的界面都是一致的,從而可以降低軟件的培訓(xùn)費(fèi)用。?在B/S模式下,外部的用戶亦可通過通用的瀏覽器進(jìn)行訪問。?B/S模式的結(jié)構(gòu)易于擴(kuò)展:由于Web的平臺無關(guān)性,B/S模式結(jié)構(gòu)可以任意擴(kuò)展,可以從一臺服務(wù)器、幾個(gè)用戶的工作組級擴(kuò)展成為擁有成千上萬用戶的大型系統(tǒng)。?B/S模式具有更強(qiáng)的信息系統(tǒng)集成性:在B/S模式下,集成了解決企事業(yè)單位各種問題的服務(wù),而非零散的單一功能的多系統(tǒng)模式,因而它能提供更高的工作效率。開發(fā)環(huán)境與技術(shù)系統(tǒng)開發(fā)平臺:MyEclipse8.5數(shù)據(jù)庫管理系統(tǒng)軟件:Oracle運(yùn)行平臺:Win7Java開發(fā)包:JDK5.0以上Web服務(wù)器:Tomcat6.0本系統(tǒng)采用的MVC架構(gòu)模式開發(fā)技術(shù)的具體技術(shù):SSH框架顯示層:使用JSP技術(shù)開發(fā)數(shù)據(jù)訪問層:使用DAO模式開發(fā)持久層:使用Hibernate框架開發(fā)第四章系統(tǒng)設(shè)計(jì)4.1總體設(shè)計(jì)4.1.1整體分析系統(tǒng)整體主要流程圖,系統(tǒng)由登錄頁面開始,首先實(shí)現(xiàn)身份的識別,若和數(shù)據(jù)庫中的數(shù)據(jù)匹配,則實(shí)現(xiàn)登錄,根據(jù)系統(tǒng)的權(quán)限設(shè)置,允許登錄者對系統(tǒng)進(jìn)行權(quán)限內(nèi)操作。進(jìn)入管理員界面后,系統(tǒng)包括了營銷管理、服務(wù)管理、客戶管理、庫存管理和郵件管理等功能模塊。系統(tǒng)整體流程示意圖如圖4-1所示。圖4-1系統(tǒng)整體主流程示意圖4.1.2數(shù)據(jù)流分析數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實(shí)體)等項(xiàng)目。圖4-2系統(tǒng)數(shù)據(jù)流圖4.2詳細(xì)設(shè)計(jì)4.2.1系統(tǒng)功能模塊設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)層次圖主要是介紹系統(tǒng)功能的大體層次結(jié)構(gòu),使讀者能夠?qū)ο到y(tǒng)功能有一個(gè)更加直觀的把握。系統(tǒng)的軟件結(jié)構(gòu)如圖4-3所示。圖4-3客戶管理系統(tǒng)功能能模塊圖4.2.2系統(tǒng)E-R圖系統(tǒng)總體E-R圖描述各個(gè)實(shí)體之間的相互關(guān)系,例如多個(gè)管理員都可以管理客戶信息,同樣多個(gè)客戶信息也可以被多個(gè)管理員管理,1個(gè)管理員可以管理多條服務(wù)信息,具體描述如圖4-4所示。圖4-4系統(tǒng)總體E-R圖系統(tǒng)管理員實(shí)體圖管理員信息包括了管理員密碼和用戶名以及編號,方便管理員登錄和操作設(shè)置。管理員擁有最高權(quán)限。系統(tǒng)管理員實(shí)體圖如圖4-5所示。圖4-5系統(tǒng)管理員實(shí)體圖營銷信息實(shí)體圖 營銷信息包括了創(chuàng)建人、客戶名稱、編號、客戶成功幾率、聯(lián)系人等重要信息,這些信息的管理關(guān)系著公司營銷的業(yè)績,是一項(xiàng)非常重要的模塊。營銷信息實(shí)體圖如圖4-6所示。圖4-6營銷信息實(shí)體圖客戶信息實(shí)體圖為了對客戶的信息進(jìn)行有效地管理,用戶需要清楚客戶的名稱、狀態(tài)、等級、地區(qū)以及客戶經(jīng)理。客戶信息實(shí)體圖如圖4-7所示。圖4-7客戶信息實(shí)體圖服務(wù)信息實(shí)體圖為了對服務(wù)進(jìn)行更有效的管理,提高工作效率和工作質(zhì)量,必須包括客戶服務(wù)信息管理。對于客戶信息的管理,需要了解服務(wù)創(chuàng)建人、服務(wù)創(chuàng)建時(shí)間、服務(wù)請求、服務(wù)類型等。服務(wù)信息實(shí)體圖如圖4-8所示。圖4-8服務(wù)信息實(shí)體圖4.2.3數(shù)據(jù)庫設(shè)計(jì)根據(jù)需求分析以及系統(tǒng)功能的需要,系統(tǒng)信息數(shù)據(jù)存放在MySQL數(shù)據(jù)表中。下面給出重要數(shù)據(jù)表的簡單描述。1.customer(客戶信息表)該表存儲了客戶的基本信息,主要用于客戶信息記錄。字段屬性描述如表4-1所示。列類型大小描述是否為空cust_idlong客戶id(自動生成)(主鍵)cust_noNumber客戶編號(唯一)否cust_namenvarchar2100客戶姓名(公司名稱)(唯一)否cust_regionNumber50客戶地區(qū),基礎(chǔ)信息表外鍵是cust_manager_idNumber客戶經(jīng)理編號(指派人)(user.Id)外鍵是cust_levelNumber50客戶等級是cust_satisfyNumber客戶滿意度是cust_creditNumber客戶信用度是cust_addrnvarchar2300客戶地址是cust_zipchar10客戶郵政編碼是cust_telnvarchar220客戶電話是cust_faxnvarchar220客戶傳真是cust_websitenvarchar250客戶網(wǎng)址是cust_licence_nonvarchar250營業(yè)執(zhí)照注冊號是cust_chieftainnvarchar250法人是cust_bankrollNumber(100)注冊資金是cust_turnoverNumber(100)年?duì)I業(yè)額是cust_banknvarchar250開戶銀行是cust_bank_accountnvarchar250銀行帳號是cust_local_tax_nonvarchar250地稅登記號是cust_national_tax_nonvarchar250國稅登記號是cust_statusNumber2客戶狀態(tài)0:正常1:客戶流失預(yù)警是表4-1客戶信息表2.cst_service(服務(wù)信息表)該表存儲了記錄服務(wù)的基本信息,主要用于服務(wù)信息的記錄。字段屬性描述如表4-2所示。列類型大小描述是否為空svr_idNumber(客戶服務(wù)編號)系統(tǒng)自動生成(標(biāo)識列、主鍵)否svr_typenvarchar220服務(wù)類型否svr_titlenvarchar2500服務(wù)概要否svr_cust_noNumber客戶編號(cst_customer.cust_id)是svr_cust_namenvarchar2100客戶名稱svr_statusnvarchar210服務(wù)狀態(tài)(0新創(chuàng)建、1已分配、2已處理、3已歸檔)否svr_requestnvarchar22000服務(wù)請求否svr_create_idNumber服務(wù)創(chuàng)建編號否svr_create_bynvarchar250服務(wù)創(chuàng)建人(客戶經(jīng)理)svr_create_dateDate服務(wù)創(chuàng)建時(shí)間否svr_due_idNumber服務(wù)分配編號svr_due_tonvarchar2服務(wù)分配給的人是svr_due_dateDate服務(wù)分配時(shí)間是svr_dealnvarchar22000服務(wù)處理是svr_deal_idNumbersvr_deal_bynvarchar250服務(wù)處理人是svr_deal_dateDate服務(wù)處理時(shí)間是svr_resultnvarchar2500服務(wù)處理結(jié)果是svr_satisfyNumber服務(wù)滿意度是表4-2服務(wù)信息表3.sal_chance(營銷信息表)該表存儲了營銷信息的基本信息,主要是營銷信息的記錄,該表的字段屬性如表4-4。列類型大小描述是否為空chc_idnumber系統(tǒng)自動生成(標(biāo)識列、主鍵)否chc_sourcenvarchar250機(jī)會來源是chc_cust_namenvarchar2100客戶名稱否chc_titlenvarchar2200概要(對銷售機(jī)會的簡要描述)否chc_ratenumber成功機(jī)率否chc_linkmannvarchar250負(fù)責(zé)人是chc_telnvarchar220負(fù)責(zé)人電話是chc_descnvarchar22000機(jī)會描述否chc_create__idnumber創(chuàng)建人編號外鍵(sys_user.user_id)否chc_create__bynvarchar250chc_create_datedate創(chuàng)建時(shí)間(默認(rèn)為當(dāng)前系統(tǒng)時(shí)間)否chc_due_idnumber指派給的人編號外鍵(sys_user.user_id)是chc_due_tonvarchar250chc_due_datedate指派時(shí)間是chc_statusnumber2銷售機(jī)會狀態(tài)為“已指派”、“未分配”或“已歸檔”。已指派或者叫開發(fā)中。已歸檔有兩種狀態(tài):1、開發(fā)成功。2、開發(fā)失敗。未分配”1.“已指派”(2.開發(fā)成功3開發(fā)失?。┓癖?-3營銷信息表4.sys_user(用戶信息表)該表存儲了用戶信息的基本信息,主要是用戶信息的記錄,該表的字段屬性如表4-5所示。列類型大小描述是否為空user_idnumber系統(tǒng)自動生成(標(biāo)識列、主鍵)否user_namenvarchar250用戶名否user_passwordnvarchar250用戶密碼否user_role_idnumber用戶權(quán)限(外鍵sys_role表role_id)(多對一)是user_flagnumber用戶狀態(tài)(1或0,0是禁用,1是正常)否表4-4用戶信息表第五章系統(tǒng)實(shí)現(xiàn)5.1數(shù)據(jù)庫連接Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。本系統(tǒng)使用Hibernate實(shí)現(xiàn)數(shù)據(jù)庫的連接,體現(xiàn)了一定的優(yōu)越性。5.2用戶登錄管理用戶登錄需要驗(yàn)證用戶的用戶名和密碼,從而保證用戶可見和可使用的資源。管理員和其他用戶的登錄界面是一樣的,單擊“登錄”按鈕后的調(diào)用相應(yīng)函數(shù),它根據(jù)用戶名和密碼,以及用戶種類將界面重定向到各類用戶的主界面上,登錄界面調(diào)用了LoginAction類的Login()函數(shù)判斷用戶是否已經(jīng)登錄。5.3營銷管理營銷管理模塊包含銷售機(jī)會的管理和對客戶開發(fā)過程的管理,子用例圖如圖5-1所示。圖5-1子用例圖營銷的過程是開發(fā)新客戶的過程。對老客戶的銷售行為不屬于營銷管理的范疇??蛻艚?jīng)理有開發(fā)新客戶的任務(wù),在客戶經(jīng)理發(fā)現(xiàn)銷售機(jī)會時(shí),應(yīng)在系統(tǒng)中錄入該銷售機(jī)會的信息。銷售主管也可以在系統(tǒng)中創(chuàng)建銷售機(jī)會。所有的銷售機(jī)會由銷售主管進(jìn)行分配,每個(gè)銷售機(jī)會分配給一個(gè)客戶經(jīng)理??蛻艚?jīng)理對分配給自己的銷售機(jī)會制定客戶開發(fā)計(jì)劃,計(jì)劃好分幾步開發(fā),以及每個(gè)步驟的時(shí)間和具體事項(xiàng)。制定完客戶開發(fā)計(jì)劃后,客戶經(jīng)理按實(shí)際執(zhí)行請跨功能填寫計(jì)劃中每個(gè)步驟的執(zhí)行效果。在開發(fā)計(jì)劃結(jié)束的時(shí)候,根據(jù)開發(fā)的結(jié)果不同,設(shè)置該銷售機(jī)會為“開發(fā)失敗”或“開發(fā)成功”。如果開發(fā)客戶成功,系統(tǒng)自動創(chuàng)建新的客戶記錄。5.3.1銷售機(jī)會管理創(chuàng)建銷售機(jī)會使用者銷售主管、客戶經(jīng)理輸入要素 創(chuàng)建銷售機(jī)會時(shí)需錄入以下信息:數(shù)據(jù)項(xiàng)說明輸入格式是否必填編號系統(tǒng)自動生成輸入框只讀機(jī)會來源文本客戶名稱文本是成功機(jī)率從0到100的數(shù)字?jǐn)?shù)字是概要對銷售機(jī)會的簡要描述文本是聯(lián)系人文本聯(lián)系人電話文本機(jī)會描述文本是創(chuàng)建人自動填入當(dāng)前登錄用戶,用戶不可更改輸入框只讀是創(chuàng)建時(shí)間當(dāng)前系統(tǒng)時(shí)間輸入框只讀是表5-SEQ表格\*ARABIC1處理流程從頁面獲取輸入信息,在數(shù)據(jù)庫中創(chuàng)建新記錄。輸出要素提示“保存成功”,或報(bào)告相應(yīng)錯誤。頁面必填項(xiàng)未填時(shí)不允許提交表單。修改銷售機(jī)會業(yè)務(wù)概述對未分配的銷售機(jī)會記錄可以編輯。使用者銷售主管、客戶經(jīng)理輸入要素在銷售機(jī)會管理的列表頁面列出所有狀態(tài)為“未分配”的銷售機(jī)會記錄,可選擇一條進(jìn)行編輯。在編輯頁面,可以對機(jī)會來源、客戶名稱、成功機(jī)率、概要、聯(lián)系人、聯(lián)系人電話、機(jī)會描述進(jìn)行編輯。其他信息不可編輯。處理流程在列表頁面選擇“未分配”的銷售機(jī)會進(jìn)行編輯,跳轉(zhuǎn)到編輯頁面;在編輯頁面填入更新的信息,提交表單,保存新的信息到數(shù)據(jù)庫。輸出要素提示“保存成功”,或報(bào)告相應(yīng)錯誤。頁面必填項(xiàng)未填時(shí)不允許提交表單。刪除銷售機(jī)會業(yè)務(wù)概述狀態(tài)為“未分配”的銷售機(jī)會可以刪除。刪除時(shí)需要判斷當(dāng)前登錄用戶為該銷售機(jī)會的創(chuàng)建人,否則不可刪除。使用者銷售主管、客戶經(jīng)理輸入要素在“未指派”的銷售機(jī)會列表中選擇一項(xiàng)刪除。處理流程點(diǎn)選刪除操作后應(yīng)提示“確認(rèn)刪除?”,用戶選“確定”則執(zhí)行刪除操作,否則不執(zhí)行。輸出要素刪除成功后提示“刪除成功”。指派銷售機(jī)會業(yè)務(wù)概述銷售主管根據(jù)各客戶經(jīng)理的負(fù)責(zé)分區(qū)、行業(yè)特長等對銷售機(jī)會進(jìn)行指派。每個(gè)銷售機(jī)會指派給一個(gè)客戶經(jīng)理,專事專人。指派成功后,銷售機(jī)會狀態(tài)改為“已指派”。使用者銷售主管輸入要素進(jìn)行指派時(shí)需要選擇輸入客戶經(jīng)理,系統(tǒng)自動輸入指派時(shí)間。兩相皆為必輸項(xiàng)。處理流程選擇要指派的銷售機(jī)會,察看銷售機(jī)會的詳細(xì)信息并選擇客戶經(jīng)理進(jìn)行指派。輸出要素指派成功后提示“指派成功”,該銷售機(jī)會狀態(tài)改為“已指派”(即“開發(fā)中”)。5.3.2客戶開發(fā)計(jì)劃對“已指派”的銷售機(jī)會制定開發(fā)計(jì)劃,執(zhí)行開發(fā)計(jì)劃,并記錄執(zhí)行結(jié)果??蛻糸_發(fā)成功還將創(chuàng)建新的客戶記錄。制定開發(fā)計(jì)劃業(yè)務(wù)概述客戶經(jīng)理對分配給自己的銷售機(jī)會制定開發(fā)計(jì)劃。使用者客戶經(jīng)理輸入要素在制定開發(fā)計(jì)劃時(shí),應(yīng)顯示出銷售機(jī)會的詳細(xì)信息??蛻艚?jīng)理可以通過新建計(jì)劃項(xiàng),編輯已經(jīng)有的計(jì)劃項(xiàng),即刪除計(jì)劃項(xiàng)來針對一個(gè)銷售機(jī)會來制定客戶開發(fā)計(jì)劃。每個(gè)計(jì)劃項(xiàng)包括兩個(gè)輸入要素:日期和計(jì)劃內(nèi)容,都是必輸項(xiàng)。日期的輸入格式為“2007-12-13”。編輯計(jì)劃項(xiàng)時(shí),日期不可以編輯。處理流程首先選擇一“已指派”的銷售機(jī)會進(jìn)行指定計(jì)劃的操作,然后制定計(jì)劃。輸出要素提交并更新當(dāng)前頁面時(shí)在計(jì)劃項(xiàng)列表中顯示新建的計(jì)劃項(xiàng)。執(zhí)行開發(fā)計(jì)劃業(yè)務(wù)概述完成客戶開發(fā)計(jì)劃的制定后,客戶經(jīng)理開始按照計(jì)劃內(nèi)容執(zhí)行客戶開發(fā)計(jì)劃,并按時(shí)記錄執(zhí)行結(jié)果。使用者客戶經(jīng)理輸入要素對每個(gè)計(jì)劃項(xiàng)填寫執(zhí)行效果,并保存。開發(fā)成功業(yè)務(wù)概述某個(gè)客戶開發(fā)計(jì)劃執(zhí)行過程中或執(zhí)行結(jié)束后如果客戶同意購買公司產(chǎn)品,已經(jīng)下訂單或者簽訂銷售合同,則標(biāo)志客戶開發(fā)成功??蛻糸_發(fā)成功時(shí),需修改銷售機(jī)會的狀態(tài)為“開發(fā)成功”。并根據(jù)銷售機(jī)會中相應(yīng)信息自動創(chuàng)建客戶記錄。使用者客戶經(jīng)理輸入要素從列表中選擇一個(gè)狀態(tài)為“已指派”的銷售機(jī)會,點(diǎn)選“開發(fā)成功”操作?;蛘咴趫?zhí)行計(jì)劃頁面點(diǎn)選“開發(fā)成功”操作。處理流程修改銷售機(jī)會的狀態(tài)為“開發(fā)成功”。根據(jù)銷售機(jī)會中相應(yīng)信息(包括客戶名稱、聯(lián)系人和聯(lián)系人電話)自動創(chuàng)建客戶記錄。輸出要素操作成功后提示“操作成功”。開發(fā)失敗業(yè)務(wù)概述某銷售機(jī)會在確認(rèn)客戶的確沒有采購需求后,或不具備開發(fā)價(jià)值時(shí)可認(rèn)為“開發(fā)失敗”。使用者客戶經(jīng)理輸入要素從列表中選擇一個(gè)狀態(tài)為“已指派”的銷售機(jī)會,點(diǎn)選“終止開發(fā)”操作。或者在執(zhí)行計(jì)劃頁面點(diǎn)選“終止開發(fā)”操作。處理流程修改銷售機(jī)會的狀態(tài)為“開發(fā)失敗”。輸出要素操作成功后提示“操作成功”。5.4客戶管理客戶信息是公司資產(chǎn)的構(gòu)成部分之一,應(yīng)對其進(jìn)行妥善保管、充分利用。每個(gè)客戶經(jīng)理有責(zé)任維護(hù)自己負(fù)責(zé)的客戶信息,隨時(shí)更新。在本系統(tǒng)中,客戶信息將得到充分的共享,從而發(fā)揮最大的價(jià)值。有調(diào)查表明,公司的大部分利潤來自老客戶,開發(fā)新的客戶成本相對較高而且風(fēng)險(xiǎn)相對較大。因此我們有必要對超過6個(gè)月沒有購買公司產(chǎn)品的客戶應(yīng)予以特殊關(guān)注,防止現(xiàn)有客戶流失。客戶管理的子用例圖如圖5-2所示。圖5-25.4.1客戶信息管理編輯客戶信息業(yè)務(wù)概述客戶經(jīng)理可以編輯狀態(tài)為“正?!钡目蛻粜畔?。使用者客戶經(jīng)理輸入要素有“*”標(biāo)記的為必輸項(xiàng)。地區(qū)、客戶等級的候選項(xiàng)由數(shù)據(jù)字典維護(hù);客戶經(jīng)理候選項(xiàng)為所有狀態(tài)為“正常”的系統(tǒng)用戶??蛻魸M意度和客戶信用度候選項(xiàng)的值都是1~5。處理流程從列表中選擇要編輯的用戶點(diǎn)選“編輯”按鈕,編輯特定客戶的信息,輸入新信息后點(diǎn)“保存”按鈕,返回列表頁面。輸出要素提示“保存成功”或報(bào)告錯誤。管理客戶聯(lián)系人業(yè)務(wù)概述每個(gè)客戶可以有多個(gè)聯(lián)系人。使用者客戶經(jīng)理輸入要素新建聯(lián)系人時(shí)要輸入姓名、性別、職位和辦公電話,必輸。還可輸入手機(jī)號碼和備注信息。注意:聯(lián)系人是屬于某個(gè)客戶的。編輯聯(lián)系人時(shí)姓名、性別、職位和辦公電話為必輸項(xiàng)。處理流程選擇一個(gè)客戶,顯示其所有聯(lián)系人的列表,從中選擇進(jìn)行編輯或刪除操作,還可以給該客戶添加聯(lián)系人。輸出要素客戶的聯(lián)系人信息。管理客戶交往記錄業(yè)務(wù)概述系統(tǒng)可以保存每個(gè)客戶的交往記錄。使用者客戶經(jīng)理輸入要素客戶經(jīng)理完成客戶服務(wù)后,需記錄和客戶交往的內(nèi)容,特別是里程碑事件或有重大影響的事件。添加一個(gè)客戶交往記錄時(shí)需要記錄事件發(fā)生的日期、地點(diǎn)、概要和詳細(xì)信息,還可以填寫一個(gè)備注信息。交往記錄可以修改。但必輸項(xiàng)不能修改為空。處理流程首先選擇一個(gè)客戶,然后針對這個(gè)客戶維護(hù)交往記錄信息。輸出要素客戶的交往記錄數(shù)據(jù)。查看客戶歷史訂單業(yè)務(wù)概述客戶的歷史訂單數(shù)據(jù)是一個(gè)客戶重要的信息。本系統(tǒng)中不提供訂單管理的功能。訂單數(shù)據(jù)需要從銷售系統(tǒng)中讀取。讀取時(shí)只讀取訂單狀態(tài)為“已發(fā)貨”或“已回款”的數(shù)據(jù)(對應(yīng)訂單記錄狀態(tài)為5或6)。使用者客戶經(jīng)理輸入要素本系統(tǒng)根據(jù)客戶展示歷史訂單。處理流程首先選擇一個(gè)客戶,然后查看這個(gè)客戶的歷史訂單,再選擇一條歷史訂單查看訂單明細(xì)。輸出要素針對某一客戶顯示其全部已發(fā)貨或已回款的歷史訂單,分頁顯示,最新的訂單顯示在前面。需要在列表中顯示訂單的編號、下單日期、送貨地址、訂單狀態(tài)。對每個(gè)訂單可以查看明細(xì)。在訂單明細(xì)中需要顯示訂單的總金額。5.4.2客戶流失管理客戶流失預(yù)警業(yè)務(wù)概述系統(tǒng)自動檢查沒有下單的客戶,并在本系統(tǒng)中提出預(yù)警。訂單數(shù)據(jù)需要從銷售系統(tǒng)中獲得。使用者客戶經(jīng)理輸入要素本功能由后臺程序完成,沒有輸入界面。處理流程客戶經(jīng)理登錄本系統(tǒng)后在客戶流失管理中就可以看到。對客戶流失預(yù)警可以采取“暫緩流失”和“確認(rèn)流失”兩種措施。。輸出要素客戶流失預(yù)警記錄。暫緩客戶流失業(yè)務(wù)概述對于系統(tǒng)自動產(chǎn)生的客戶流失預(yù)警,負(fù)責(zé)該客戶的客戶經(jīng)理要第一時(shí)間采取措施,充分了解客戶流失的原因,并采取應(yīng)對措施。然后在系統(tǒng)中使用“暫緩流失”功能點(diǎn),填寫采取的措施。使用者客戶經(jīng)理輸入要素處理流程選擇客戶流失預(yù)警記錄,添加加暫緩措施。輸出要素該客戶的狀態(tài)修改為“暫緩措施”。確認(rèn)客戶流失業(yè)務(wù)概述如果確是存在不可逆轉(zhuǎn)的因素,客戶不可能再購買本公司的產(chǎn)品,則確認(rèn)該客戶的流失。使用者客戶經(jīng)理輸入要素在確認(rèn)客戶流失時(shí)要填寫客戶流失的原因。處理流程選擇一條客戶流失預(yù)警,填寫客戶流失原因,確認(rèn)客戶流失。輸出要素確認(rèn)客戶流失后,該客戶的狀態(tài)修改為“已流失”。圖5-3待開發(fā)…5.5服務(wù)管理待開發(fā)…5.6統(tǒng)計(jì)報(bào)表圖5-5待開發(fā)…5.7基礎(chǔ)數(shù)據(jù)圖5-6數(shù)據(jù)字典管理業(yè)務(wù)概述對系統(tǒng)中需要已選擇的方式輸入的輸入項(xiàng)的候選項(xiàng),統(tǒng)一通過數(shù)據(jù)字典來配置。比如服務(wù)類型、客戶等級等。使用者系統(tǒng)管理員輸入要素每個(gè)數(shù)據(jù)字典項(xiàng)包括系統(tǒng)自動生成的編號、類別(如:服務(wù)類型)、條目(如:咨詢)和值(如:1)構(gòu)成。數(shù)據(jù)字典項(xiàng)有的能編輯。有的不可編輯,只能查看。對于可以編輯的數(shù)據(jù)字典項(xiàng),可以修改其類別、條目和值。還可以設(shè)為不可編輯。在數(shù)據(jù)字典項(xiàng)的列表中,對可編輯的數(shù)據(jù)字典項(xiàng)顯示“編輯”和“刪除”的操作按鈕。處理流程輸出要素?cái)?shù)據(jù)字典數(shù)據(jù)。查詢產(chǎn)品數(shù)據(jù)業(yè)務(wù)概述本系統(tǒng)中沒有產(chǎn)品數(shù)據(jù),需要從銷售系統(tǒng)中獲得。使用者客戶經(jīng)理輸入要素可以根據(jù)產(chǎn)品的名稱、型號、批次進(jìn)行查詢。處理流程輸出要素列出符合查詢條件的產(chǎn)品信息。查詢庫存業(yè)務(wù)概述為了處理客戶服務(wù)的需要,本系統(tǒng)需要從銷售系統(tǒng)中讀取并查詢庫存數(shù)據(jù)。使用者客戶經(jīng)理輸入要素可以根據(jù)產(chǎn)品和倉庫進(jìn)行查詢。處理流程輸出要素列出符合查詢條件的庫存記錄。5.8權(quán)限管理與本系統(tǒng)相關(guān)的用戶和角色包括:系統(tǒng)管理員:管理系統(tǒng)用戶、角色與權(quán)限,保證系統(tǒng)正常運(yùn)行。銷售主管:對客戶服務(wù)進(jìn)行分配。創(chuàng)建銷售機(jī)會。對銷售機(jī)會進(jìn)行指派。對特定銷售機(jī)會制定客戶開發(fā)計(jì)劃。分析客戶貢獻(xiàn)、客戶構(gòu)成、客戶服務(wù)構(gòu)成和客戶流失數(shù)據(jù),定期提交客戶管理報(bào)告??蛻艚?jīng)理:維護(hù)負(fù)責(zé)的客戶信息。接受客戶服務(wù)請求,在系統(tǒng)中創(chuàng)建客戶服務(wù)。處理分派給自己的客戶服務(wù)。對處理的服務(wù)進(jìn)行反饋。創(chuàng)建銷售機(jī)會。對特定銷售機(jī)會制定客戶開發(fā)計(jì)劃。執(zhí)行客戶開發(fā)計(jì)劃。對負(fù)責(zé)的流失客戶采取“暫緩流失”或“確定流失”的措施。高管:審查客戶貢獻(xiàn)數(shù)據(jù)、客戶構(gòu)成數(shù)據(jù)、客戶服務(wù)構(gòu)成數(shù)據(jù)和客戶流失數(shù)據(jù)。第六章系統(tǒng)測試6.1測試的作用和意義系統(tǒng)測試是系統(tǒng)的開發(fā)周期中一個(gè)十分重要的環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個(gè)階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會留下錯誤,如果沒有在投入運(yùn)行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運(yùn)行中暴露出來,到那時(shí)糾正錯誤將會付出更大的代價(jià)。系統(tǒng)測試占用的時(shí)間、花費(fèi)的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計(jì)表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測試的工作量大約占整個(gè)軟件開發(fā)工作量的40%-50%.而對于一些特別重要的大系統(tǒng),測試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。6.2測試方法通過在計(jì)算機(jī)上直接運(yùn)行被測程序,來發(fā)現(xiàn)程序中的錯誤。機(jī)器測試包括黑盒測試和白盒測試。黑盒測試也稱功能測試,將軟件看做黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,研究軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書測試用例,從程序的輸入和輸出特性上測試是否滿足設(shè)定的功能。白盒測試也稱結(jié)構(gòu)測試,將軟件看做一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進(jìn)行測試,檢查與測試是否相符。6.3測試內(nèi)容軟件的正常運(yùn)行、關(guān)閉及退出。用戶登錄界面友好,可操作性及安全性能較好,能對不同管理級別者進(jìn)行限制,以保證數(shù)據(jù)庫的安全。數(shù)據(jù)庫的可維護(hù)性好,數(shù)據(jù)的錄入、刪除及更改均能順利完成,并實(shí)現(xiàn)動態(tài)更新。數(shù)據(jù)查詢便捷,能對各種不同的查詢條件進(jìn)行搜索,以找到最合適的答案。數(shù)據(jù)溢出、越界均能進(jìn)行非法提示,以警告用戶正確使用。數(shù)據(jù)類型填寫錯誤時(shí),系統(tǒng)能夠報(bào)錯。軟件對操作系統(tǒng)的兼容性良好,可移植性完好。6.4測試結(jié)果登陸成功(以管理員身份)進(jìn)入主界面。開始對系統(tǒng)全方面的測試,在測試的過程中,對系統(tǒng)做出了在少量數(shù)據(jù)交換時(shí)的運(yùn)行情況,在有大量數(shù)據(jù)交換時(shí)的數(shù)據(jù)處理能力、速度、是否發(fā)生數(shù)據(jù)錯誤等。軟件在運(yùn)行、關(guān)閉及退出時(shí)保存記錄的提示功能基本完成,在軟件的不斷啟動關(guān)閉過程中沒有出現(xiàn)死機(jī)、程序執(zhí)行效率降低等各種不良現(xiàn)象,功能的實(shí)現(xiàn)較為完善。用戶登錄界面友好,但軟件界面的色彩選擇、搭配對于長期工作者而言仍然會產(chǎn)生眼部不適感??刹僮餍约鞍踩阅茌^高,能完成對不同管理級別者的限制工作,可以對軟件涉及到的機(jī)密數(shù)據(jù)進(jìn)行保護(hù)而無法保證數(shù)據(jù)庫的基本安全。數(shù)據(jù)庫的可維護(hù)性好,數(shù)據(jù)的錄入能順利完成,并能實(shí)現(xiàn)動態(tài)更新,刪除和修改也能順利完成。數(shù)據(jù)查詢比較全面,能按系統(tǒng)設(shè)定的查詢條件進(jìn)行搜索,并可以進(jìn)行模糊查詢以找到合適的答案。數(shù)據(jù)溢出、越界基本未能進(jìn)行非法提示,以警告用戶正確使用。對用戶的非正常操作方式也未能提出警告。數(shù)據(jù)類型填寫錯誤時(shí),系統(tǒng)有報(bào)錯功能,在數(shù)據(jù)輸入錯誤時(shí),使用者能夠知道錯誤所在。6.5開發(fā)技巧和難點(diǎn)分析jsp頁面亂碼問題Java的內(nèi)核和class文件是基于unicode的,這使Java程序具有良好的跨平臺性,但也帶來了一些中文亂碼問題的麻煩。原因主要有兩方面,Java和JSP文件本身編譯時(shí)產(chǎn)生的亂碼問題和Java程序于其他媒介交互產(chǎn)生的亂碼問題。首先Java(包括JSP)原文件中很可能有中文,而Java和JSP源文件的保存方式是基于字節(jié)流的,如果Java和JSP編譯成class文件過程中,使用的編碼方式與源文件的編碼不一致,就會出現(xiàn)亂碼?;谶@種亂碼,建議在Java文件中盡量不要寫中文(注釋部分不參與編譯,寫中文沒關(guān)系),如果必須寫的話,盡量手動帶參數(shù)-encodingGBK或-encodinggb2312或-encodingUTF-8編譯;在JSP文件加上<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>就能基本解決亂碼問題。圖形驗(yàn)證碼問題大部分Web程序都不會局限于局域網(wǎng),而是在整個(gè)互聯(lián)網(wǎng)都可以訪問。這時(shí)面對的用戶群都非常廣了,而這些用戶當(dāng)中可能會有一些“破壞分子”。對于他們來說攻擊手段非常多,但是最簡單同時(shí)最有效的就是大量的惡意注冊和登錄,例如在一秒鐘之內(nèi)注冊5000個(gè)用戶。這時(shí)系統(tǒng)的大部分資源都消耗殆盡,從而導(dǎo)致系統(tǒng)崩潰。既然有攻擊手段,肯定會有相應(yīng)的防御手段。防止用戶大量惡意注冊和登錄最有效的辦法就是生產(chǎn)圖形驗(yàn)證碼。用戶只有正確輸入圖形驗(yàn)證碼上顯示的數(shù)字或者字母才能繼續(xù)進(jìn)行注冊或者登錄。這樣用戶就無法再短時(shí)間內(nèi),多次進(jìn)行注冊和登錄了。用戶權(quán)限問題就是用戶的權(quán)利,即用一個(gè)賬號登錄后,有些功能可以使用,有些功能無法使用,這就是管理員對其設(shè)置的權(quán)限,只有符合權(quán)限的人才可以使用對應(yīng)的功能。結(jié)束語經(jīng)過三個(gè)多月的設(shè)計(jì),一個(gè)基本完整客戶關(guān)系管理系統(tǒng)設(shè)計(jì)完成了。設(shè)計(jì)完此畢業(yè)設(shè)計(jì),首先讓自己對Java這門課的掌握有了進(jìn)一步的加深和鞏固,能夠更熟練的應(yīng)用各種功能,特別是運(yùn)用它來完成設(shè)計(jì)網(wǎng)頁。感覺到Java在網(wǎng)頁設(shè)計(jì)方面的應(yīng)用的廣泛和它的功能之精湛。通過對客戶關(guān)系管理系統(tǒng)設(shè)計(jì),對Java的進(jìn)一步了解,對Java這門課有了很大的信心和勇氣,在設(shè)計(jì)之前一直不相信自己,萎萎縮縮,都認(rèn)為自己沒有辦法做成自己預(yù)期的效果,現(xiàn)在對自己的作品稍微滿意,對自己有了一定的肯定,明白做事是重在有心,有志者竟事成!信心是成功的一半,相信自己在今后的學(xué)習(xí)當(dāng)中能夠?qū)ava做的更加完美。但是由于畢業(yè)設(shè)計(jì)時(shí)間較短,所以該設(shè)計(jì)還有許多不盡如人意的地方,比如界面不夠美觀,渲染不夠完善等。致謝四年的大學(xué)生活即將結(jié)束,在完成畢業(yè)論文這最后一份作業(yè)的時(shí)刻,我內(nèi)心既興奮,又懷念。興奮的是我即將順利走完大學(xué)四年的美好時(shí)光,并且有機(jī)會繼續(xù)深造,懷念的是大學(xué)期間的點(diǎn)點(diǎn)滴滴。經(jīng)過一學(xué)期的努力,我的論文在焦老師的悉心指導(dǎo)和嚴(yán)格要求下已完成,從課題選擇和論文結(jié)構(gòu)設(shè)計(jì)各方面,焦老師都給了極大的幫助。在此,我鄭重感謝焦老師給予我這次寶貴的學(xué)習(xí)機(jī)會,能夠在畢業(yè)實(shí)習(xí)期間完成畢業(yè)論文并繼續(xù)研究該技術(shù)是我的榮幸。同時(shí),感謝老師在論文的具體撰寫過程中的耐心指導(dǎo)和幫助,他的真摯情感和的實(shí)際援助幫我渡過了很多難關(guān)。感謝大學(xué)期間的每位任課老師的無私奉獻(xiàn),課堂上的認(rèn)真負(fù)責(zé)讓我對學(xué)習(xí)有了新的認(rèn)識,課后的真誠交流更是給了我極大的鼓勵。大學(xué)老師是我成長最好的向?qū)?。他們的教育使我較全面的掌握了專業(yè)知識,并能夠在畢業(yè)論文中得以應(yīng)用。在此,特別感謝信息學(xué)院電子信息工程系各位老師的辛勤付出。四年前,我只身一人來西安求學(xué),而在即將離開大學(xué)校園時(shí),我已擁有很多朋友,他們是我最大的財(cái)富。感謝室友給我創(chuàng)造了家的歸屬感。感謝以及祝福我們的朋友,感謝他們在四年大學(xué)生活中對我的包容,在困難時(shí)刻給了我強(qiáng)大的精神支柱。祝愿所有的同學(xué)、朋友、老師都能夠有美好的前程!參考文獻(xiàn)[1]蔣衛(wèi)祥.CRM系統(tǒng)論述[M].北京:北京大學(xué)出版社.[2]李鐘尉,陳丹丹等.Java項(xiàng)目開發(fā)案例全程實(shí)錄(第2版)[M].明日科技出版社

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論