自己用java做的客戶(hù)資源管理系統(tǒng) 可以完美運(yùn)行,內(nèi)附完整代碼.doc1_第1頁(yè)
自己用java做的客戶(hù)資源管理系統(tǒng) 可以完美運(yùn)行,內(nèi)附完整代碼.doc1_第2頁(yè)
自己用java做的客戶(hù)資源管理系統(tǒng) 可以完美運(yùn)行,內(nèi)附完整代碼.doc1_第3頁(yè)
自己用java做的客戶(hù)資源管理系統(tǒng) 可以完美運(yùn)行,內(nèi)附完整代碼.doc1_第4頁(yè)
自己用java做的客戶(hù)資源管理系統(tǒng) 可以完美運(yùn)行,內(nèi)附完整代碼.doc1_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 數(shù)據(jù)庫(kù)課設(shè)報(bào)告:客戶(hù)資源管理系統(tǒng),實(shí)現(xiàn)客戶(hù),產(chǎn)品,合同的增刪查改,附有完整代碼,以及數(shù)據(jù)庫(kù)表的建立,經(jīng)運(yùn)行,沒(méi)有錯(cuò)誤,可以連接數(shù)據(jù)庫(kù)以及操作數(shù)據(jù)庫(kù)里的數(shù)據(jù)- 1 - 目 錄目 錄 2引 言31 系統(tǒng)分析4 1.1 需求分析4 1.1.1 系統(tǒng)實(shí)現(xiàn)功能4 1.1.2 工能模塊分析4 1.2 可行性分析4 1.2.1 可行性分析目的5 1.2.2 技術(shù)可行性5 1.2.3 經(jīng)濟(jì)可行性5 1.2.4 操作可行性5 2 系統(tǒng)設(shè)計(jì) 6 2.1 設(shè)計(jì)思想6 2.2 設(shè)計(jì)目標(biāo)6 2.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)7 2.4 開(kāi)發(fā)及運(yùn)行環(huán)境設(shè)計(jì)7 2.4.1硬件平臺(tái) 7 2.4.2軟件平臺(tái) 6 2.5 數(shù)據(jù)庫(kù)設(shè)計(jì)83 詳

2、細(xì)設(shè)計(jì) 8 3.1 詳細(xì)設(shè)計(jì)概要 9 3.2 系統(tǒng)整體界面設(shè)計(jì) 10 3.3 系統(tǒng)框架設(shè)計(jì) 12 3.4 系統(tǒng)模塊詳細(xì)設(shè)計(jì) 13 3.4.1 系統(tǒng)模塊詳細(xì)設(shè)計(jì)概要 13 3.4.2 錄入模塊詳細(xì)設(shè)計(jì) 14 3.4.2.1 錄入模塊功能 14 3.4.2.2 錄入模塊流程 14 3.4.2.3 錄入模塊界面設(shè)計(jì) 14 3.4.3 查詢(xún)模塊詳細(xì)設(shè)計(jì) 15 3.4.3.1 查詢(xún)模塊功能15 3.4.3.2 查詢(xún)模塊流程15 3.4.3.3 查詢(xún)模塊界面設(shè)計(jì)15 3.4.4 修改模塊詳細(xì)設(shè)計(jì) 15 3.4.4.1 修改模塊功能16 3.4.4.2 修改模塊流程16 3.4.4.3 修改模塊界面設(shè)計(jì)17

3、 3.4.5 刪除模塊詳細(xì)設(shè)計(jì) 18 3.4.5.1 刪除模塊功能18 3.4.5.2 刪除模塊流程18 3.4.5.3刪除模塊界面設(shè)計(jì) 224 系統(tǒng)使用說(shuō)明 19 4.1 系統(tǒng)運(yùn)行環(huán)境 19 4.1.1 客戶(hù)端配置 19 4.2 系統(tǒng)幫助 25 4.3 結(jié) 語(yǔ) 20參考文獻(xiàn) 21附 錄 22后 記 26引 言客戶(hù)資源管理(customer resource management 簡(jiǎn)稱(chēng)crm)簡(jiǎn)單的說(shuō)就是對(duì)客戶(hù)的一些資料進(jìn)行有效的管理,以前我們是人工來(lái)管理客戶(hù)的信息,但如今已是信息化時(shí)代,我們需要通過(guò)計(jì)算機(jī)技術(shù)來(lái)對(duì)其進(jìn)行高效的管理才能有利于一個(gè)企業(yè)更好的發(fā)展。客戶(hù)管理系統(tǒng)是一個(gè)智能化的信息處理

4、系統(tǒng),它將企業(yè)的經(jīng)營(yíng)、管理以客戶(hù)為中心,通過(guò)系統(tǒng)管理員就可以輕松有效的對(duì)客戶(hù)的信息進(jìn)行操作管理。如今的信息技術(shù)飛躍發(fā)展,各個(gè)公司、企業(yè)都在不斷的提高自己的信息化管理水平,他們也都認(rèn)識(shí)到,高效的信息化管理對(duì)公司、企業(yè)的不斷發(fā)展起到?jīng)Q定性的作用,也特別是對(duì)于所經(jīng)營(yíng)的客戶(hù)群的信息管理顯得尤為重要。由此,如今的絕大多數(shù)公司、企業(yè)都拋棄了以往的人工管理方式,轉(zhuǎn)而使用高效的信息化管理方式。正是在于此背景之下,客戶(hù)資源管理系統(tǒng)必然的誕生了,它也成為了各個(gè)公司、企業(yè)的必然選擇。如今的客戶(hù)資源管理系統(tǒng)可以說(shuō)的層出不窮,不同規(guī)模和性質(zhì)的公司、企業(yè)根據(jù)其具體情況而選擇不同的客戶(hù)資源管理系統(tǒng)來(lái)對(duì)其客戶(hù)信息進(jìn)行高效的管

5、理,但是不管它怎么變,它的核心還是一樣的,都是對(duì)客戶(hù)的信息進(jìn)行管理和維護(hù)。由此我們可知,客戶(hù)資源管理系統(tǒng)的市場(chǎng)潛力是非常之大的,而對(duì)于此系統(tǒng)的開(kāi)發(fā),可以使用不同的開(kāi)發(fā)語(yǔ)言如c+、vb、java等,而開(kāi)發(fā)出來(lái)的系統(tǒng)表現(xiàn)形式主要為web網(wǎng)站形式和桌面窗口軟件形式。為了實(shí)現(xiàn)本系統(tǒng),我以桌面窗口軟件形式和面向?qū)ο蟮膉ava編程語(yǔ)言為基礎(chǔ),通過(guò)java集成開(kāi)發(fā)工具myeclipse6.0來(lái)整合當(dāng)前最為流行的ssh框架(struts、hibernate和string三個(gè)開(kāi)源框架的整合框架)以及較為輕量級(jí)的ajax框架jquery進(jìn)行有效的開(kāi)發(fā)。數(shù)據(jù)庫(kù)用mysql來(lái)開(kāi)發(fā)實(shí)現(xiàn),在系統(tǒng)開(kāi)發(fā)過(guò)程中以面向?qū)ο蟮乃枷?/p>

6、來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作和管理。整個(gè)系統(tǒng),界面雖然簡(jiǎn)潔,但各個(gè)功能基本都很好的得以實(shí)現(xiàn),操作上顯得很容易。1 系統(tǒng)分析1.1 需求分析111 系統(tǒng)實(shí)現(xiàn)功能通過(guò)調(diào)查分析研究,本系統(tǒng)主要實(shí)現(xiàn)以下功能:1不同的員工類(lèi)型,具有不同的職權(quán)來(lái)對(duì)系統(tǒng)進(jìn)行相關(guān)的操作;不同的客戶(hù)信息具有不同的級(jí)別。并對(duì)其進(jìn)行分組管理。2系統(tǒng)的客戶(hù)管理,銷(xiāo)售管理,合同管理功能齊全。3實(shí)現(xiàn)客戶(hù)的關(guān)系維護(hù)功能,合作關(guān)系的加深或決裂。4根據(jù)本公司的業(yè)務(wù)需求,添加自定義數(shù)據(jù)內(nèi)容。5系統(tǒng)要有審批的工作流設(shè)置。6新建產(chǎn)品的一些基本信息資料,即產(chǎn)品信息管理。112 功能模塊分析1、登入管理系統(tǒng)管理模塊主要是用來(lái)實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的一些設(shè)置和管理,其中又

7、分為了幾個(gè)小的模塊,即員工管理、權(quán)限管理和部門(mén)管理三個(gè)小模塊。員工管理也就是對(duì)系統(tǒng)的用戶(hù)進(jìn)行管理,它記錄了系統(tǒng)用戶(hù)的信息,包括用戶(hù)名、密碼等,在這個(gè)模塊中可以對(duì)系統(tǒng)用戶(hù)信息進(jìn)行查詢(xún)、修改、刪除以及添加新的用戶(hù)操作;權(quán)限管理是用來(lái)設(shè)計(jì)系統(tǒng)用戶(hù)的權(quán)限,對(duì)不同的用戶(hù)分配不同的權(quán)限;部門(mén)管理則是用來(lái)對(duì)企業(yè)的部門(mén)進(jìn)行有效管理,可以對(duì)部門(mén)進(jìn)行增、刪、改、查操作。2、產(chǎn)品管理客戶(hù)管理模塊是整個(gè)系統(tǒng)的重點(diǎn),該模塊主要用于對(duì)客戶(hù)信息進(jìn)行管理并將客戶(hù)信息作為連接其余系統(tǒng)模塊的主線(xiàn)。此模塊下設(shè)置了客戶(hù)信息管理和級(jí)別管理兩個(gè)小模塊。客戶(hù)信息管理模塊的主要功能就是將企業(yè)掌握的客戶(hù)信息進(jìn)行詳細(xì)的管理,并可以方便的對(duì)客戶(hù)信

8、息進(jìn)行添加、修改以及查詢(xún)和刪除操作;級(jí)別管理模塊則是用來(lái)設(shè)置不同的客戶(hù)具有不同的級(jí)別,也可對(duì)其進(jìn)行增、刪、改、查操作。3、客戶(hù)管理該模塊主要是為了對(duì)公司的產(chǎn)品進(jìn)行一個(gè)有效的管理,在此模塊下又分為了產(chǎn)品信息管理和類(lèi)別管理兩個(gè)小模塊。產(chǎn)品信息管理是對(duì)公司產(chǎn)品進(jìn)行詳細(xì)管理,根據(jù)公司的具體情況,可以新建產(chǎn)品,并對(duì)產(chǎn)品進(jìn)行修改、查詢(xún)和刪除操作;類(lèi)別管理則是用來(lái)設(shè)置公司經(jīng)營(yíng)的產(chǎn)品類(lèi)別,當(dāng)公司經(jīng)營(yíng)范圍擴(kuò)大,增加了新類(lèi)型在產(chǎn)品時(shí),我們就可在系統(tǒng)中增設(shè)新的產(chǎn)品類(lèi)別等。 4、合同管理此模塊是用來(lái)管理公司與客戶(hù)之間或者公司與供應(yīng)商之間簽訂的有效合同。1.2 可行性分析 121 可行性分析目的進(jìn)行可行性分析是為了用最

9、小的代價(jià)在盡可能很短的時(shí)間里,來(lái)確定我們所面對(duì)的問(wèn)題是否可以解決,其目的不是為了來(lái)解決問(wèn)題,而是為了來(lái)確定問(wèn)題是不是可以被我們解決,從而為以后的工作起一個(gè)決定性的作用。在可行性分析階段我們要搞清問(wèn)題的定義,能清楚的列舉出目標(biāo)系統(tǒng)存在的一些約束和限制,從而對(duì)技術(shù)可行性以及經(jīng)濟(jì)可行性和操作可行性三個(gè)方面進(jìn)行分析研究。 122 技術(shù)可行性進(jìn)行本系統(tǒng)的開(kāi)發(fā)需要用到的知識(shí)技術(shù)有:1、 java程序開(kāi)發(fā)語(yǔ)言2、spring框架技術(shù),并能使用java集成開(kāi)發(fā)工具myeclipse對(duì)這個(gè)框架進(jìn)行整合開(kāi)發(fā)。3、mysql數(shù)據(jù)庫(kù)開(kāi)發(fā)知識(shí)。以上的這些知識(shí)技術(shù)是開(kāi)發(fā)本系統(tǒng)所需要用到的,而我現(xiàn)在已經(jīng)較好的把這些知識(shí)點(diǎn)和

10、技術(shù)掌握了,在指導(dǎo)老師的精心指導(dǎo)之下我可以對(duì)該系統(tǒng)進(jìn)行開(kāi)發(fā)了。 123 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性研究的是對(duì)開(kāi)發(fā)軟件的成本估算和成本效益分析,以確定待開(kāi)發(fā)軟件是否有開(kāi)發(fā)的價(jià)值。對(duì)于本系統(tǒng)的開(kāi)發(fā),能幫助公司對(duì)客戶(hù)的信息管提高工作效率,并且能非常方便的對(duì)其進(jìn)行一系列的管理和維護(hù),是以前的手工管理不能做到的。而且如今的信息化管理顯得尤為重要,公司要想更好的發(fā)展就得花費(fèi)一定的資金來(lái)購(gòu)買(mǎi)此系統(tǒng)產(chǎn)品,而開(kāi)發(fā)此系統(tǒng)并不需要投入多大的人力和物力,只需掌握相關(guān)的知識(shí)和技術(shù)就能很快的得以實(shí)現(xiàn),因此在經(jīng)濟(jì)上是可行的。 124 操作可行性本系統(tǒng)乃是一個(gè)人機(jī)交互式的網(wǎng)站系統(tǒng),系統(tǒng)的界面簡(jiǎn)潔友好,不需要深入的對(duì)其進(jìn)行研究,很容

11、易讓人操作。系統(tǒng)用戶(hù)只需登陸到系統(tǒng)中,根據(jù)自己的權(quán)限和公司的具體要求就可對(duì)系統(tǒng)的一些相應(yīng)信息進(jìn)行操作了,如果在系統(tǒng)操作過(guò)程中實(shí)在還存在某些不解,可查找系統(tǒng)幫助信息進(jìn)行理解。2 系統(tǒng)設(shè)計(jì) 2.1 設(shè)計(jì)思想其實(shí)一個(gè)系統(tǒng)的總體設(shè)計(jì)一般都是由兩個(gè)階段組成:系統(tǒng)設(shè)計(jì),用來(lái)確定系統(tǒng)的具體實(shí)施方案;結(jié)構(gòu)設(shè)計(jì),用來(lái)確定系統(tǒng)軟件的具體結(jié)構(gòu)。系統(tǒng)設(shè)計(jì)是從系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)我們?cè)谛枨蠓治鲭A段對(duì)系統(tǒng)邏輯功能的要求來(lái)考慮系統(tǒng)所要用到的技術(shù)以及經(jīng)濟(jì)開(kāi)銷(xiāo)和系統(tǒng)的運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體設(shè)計(jì)方案,從而確保系統(tǒng)的總體目標(biāo)的實(shí)現(xiàn)。本系統(tǒng)的結(jié)構(gòu)圖采用的是數(shù)據(jù)流程圖映射方法,該方法結(jié)合數(shù)據(jù)流程圖以及其各級(jí)的細(xì)化圖,

12、按照自頂向下的原則依次將數(shù)據(jù)流程圖中的那些邏輯處理映射到結(jié)構(gòu)圖中去,從而成為一個(gè)個(gè)的模塊。此方法簡(jiǎn)單、方便,它使數(shù)據(jù)流程圖與結(jié)構(gòu)圖建立起了對(duì)應(yīng)統(tǒng)一的關(guān)系,使設(shè)計(jì)達(dá)到一致的效果。系統(tǒng)分為多個(gè)模塊,各個(gè)模塊之間沒(méi)有過(guò)多的相互作用,每個(gè)模塊完成一個(gè)相應(yīng)的子功能,從而實(shí)現(xiàn)模塊的獨(dú)立化。由于模塊的獨(dú)立程度又由內(nèi)聚和耦合兩個(gè)標(biāo)準(zhǔn)來(lái)進(jìn)行衡量,因此要做到模塊的獨(dú)立化就得盡量使模塊的劃分做到高內(nèi)聚和低耦合。耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊之間接口的復(fù)雜程度,進(jìn)入或訪問(wèn)一個(gè)模塊的點(diǎn),以及通過(guò)接口的數(shù)據(jù),在軟件設(shè)計(jì)中應(yīng)該追求盡可能低耦合的系統(tǒng)。由此可知影響軟件復(fù)雜程度的一個(gè)重要因

13、素就是耦合,所以我們?cè)陂_(kāi)發(fā)系統(tǒng)時(shí)應(yīng)該采取以下的設(shè)計(jì)原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。22設(shè)計(jì)目標(biāo)系統(tǒng)的總體設(shè)計(jì)目標(biāo)就是為了建立一個(gè)統(tǒng)一的信息管理平臺(tái),以公司經(jīng)營(yíng)的客戶(hù)群為中心來(lái)對(duì)客戶(hù)的詳細(xì)信息進(jìn)行有效的管理,加強(qiáng)同客戶(hù)的交流和感情的建立,從而提高客戶(hù)對(duì)公司的滿(mǎn)意程度,也為公司的不斷發(fā)展起到推動(dòng)性的作用。其實(shí)本系統(tǒng)要實(shí)現(xiàn)的一系列操作都是在對(duì)數(shù)據(jù)進(jìn)行操作,也主要就是對(duì)數(shù)據(jù)進(jìn)行增加、修改、查詢(xún)和刪除四項(xiàng)操作。那么對(duì)數(shù)據(jù)如何去實(shí)現(xiàn)有效的管理,則需要對(duì)其進(jìn)行認(rèn)真的分析和設(shè)計(jì)。通過(guò)對(duì)本系統(tǒng)的分析后,本系統(tǒng)需要達(dá)到的主要設(shè)計(jì)目標(biāo)有:1、首先我們應(yīng)該確定,系統(tǒng)的最

14、終效果要達(dá)到一個(gè)友好的人機(jī)交互模式,系統(tǒng)界面簡(jiǎn)潔友好,信息的查詢(xún)要靈活、方便、快捷和準(zhǔn)確。2、對(duì)系統(tǒng)用戶(hù)的輸入數(shù)據(jù)要作嚴(yán)格的驗(yàn)證,盡可能排除可能出現(xiàn)的錯(cuò)誤。 3、系統(tǒng)各個(gè)模塊的增、刪、改、查要設(shè)計(jì)得當(dāng)。4、系統(tǒng)要有相應(yīng)的幫助信息,以便用戶(hù)在操作過(guò)程中查看。5、系統(tǒng)運(yùn)行要穩(wěn)定,而且也要安全可靠。23系統(tǒng)結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)方法就是把數(shù)據(jù)流圖表示的邏輯模型用結(jié)構(gòu)圖層次的方式表現(xiàn)出來(lái)。結(jié)構(gòu)化設(shè)計(jì)的核心其實(shí)就是把模塊分解設(shè)計(jì),采用自頂向下、逐層分解的方法,從而把整個(gè)系統(tǒng)劃分成多個(gè)子模塊,使其完成不同的功能,這樣也就使得模塊具有了一定的獨(dú)立性,最終降低了系統(tǒng)的復(fù)雜性。本系統(tǒng)的功能結(jié)構(gòu)如圖2-1所示:查詢(xún)合

15、同查詢(xún)客戶(hù)查詢(xún)產(chǎn)品客戶(hù)資源管理系統(tǒng)身份驗(yàn)證合同管理客戶(hù)管理產(chǎn)品管理增加客戶(hù)修改客戶(hù)刪除客戶(hù)增加產(chǎn)品修改產(chǎn)品刪除產(chǎn)品增加合同修改合同刪除合同圖2-1:功能結(jié)構(gòu)圖24開(kāi)發(fā)及運(yùn)行環(huán)境設(shè)計(jì) 241 硬件平臺(tái)1、cpu:cpu233mhz以上;2、內(nèi)存:256mb以上;3、硬盤(pán):40g以上; 242 軟件平臺(tái)1、操作系統(tǒng):windows win7;2、數(shù)據(jù)庫(kù):mysql;3、java開(kāi)發(fā)工具包:jdk version1.6.0;4、分辨率:最佳效果為1024×768。5、java開(kāi)發(fā)集成工具:myeclipse6.5;25數(shù)據(jù)庫(kù)設(shè)計(jì)在系統(tǒng)設(shè)計(jì)時(shí),我們應(yīng)該考慮如何用數(shù)據(jù)模型來(lái)描述數(shù)據(jù)的結(jié)構(gòu)和語(yǔ)義

16、,用以實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的抽象。在目前廣泛使用的數(shù)據(jù)庫(kù)模型分為兩種類(lèi)型,一種是獨(dú)立于計(jì)算機(jī)系統(tǒng)的“概念數(shù)據(jù)模型”(如“實(shí)體聯(lián)系模型”);另一種是直接面向數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中我所采用的是“實(shí)體聯(lián)系模型”(e-r模型)來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)和語(yǔ)義,實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的抽象。本系統(tǒng)使用的數(shù)據(jù)庫(kù)是mysql數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名稱(chēng)為kehuguanli,數(shù)據(jù)庫(kù)kehuguanli中所包含的數(shù)據(jù)表如下所示:(1) customer(客戶(hù)信息表) 字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵客戶(hù)idint5是姓名char5否地址char5否郵編char15否職業(yè)char4否所在公司char30否電子郵件char1

17、5否電話(huà)char15否手機(jī)char200否表2-1:表customer的結(jié)構(gòu) (2)productmessage(產(chǎn)品信息表)字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵產(chǎn)品idint5是產(chǎn)品名稱(chēng)char5否產(chǎn)品價(jià)格echar50否銷(xiāo)售數(shù)量int10否表2-3:表productmessage的結(jié)構(gòu) (3)contract(合同表)字段名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵合同idint5是客戶(hù)姓名char20否合同名稱(chēng)char20否合同日期char20否負(fù)責(zé)人char15否合同金額char15否表2-8:表contract的結(jié)構(gòu)3 詳細(xì)設(shè)計(jì)3.1 詳細(xì)設(shè)計(jì)概要詳細(xì)設(shè)計(jì)的目的是為了確定應(yīng)該怎樣具體地實(shí)現(xiàn)符合要求的系統(tǒng),在這個(gè)階段

18、的設(shè)計(jì)中我們應(yīng)該對(duì)所要開(kāi)發(fā)的系統(tǒng)有一個(gè)更加詳細(xì)的描述,以方便在編碼的過(guò)程中能把它直接翻譯成程序語(yǔ)言書(shū)寫(xiě)的程序。3.2 系統(tǒng)整體界面設(shè)計(jì)經(jīng)過(guò)需求分析和系統(tǒng)設(shè)計(jì)之后,我們就可以對(duì)系統(tǒng)的界面進(jìn)行詳細(xì)的設(shè)計(jì)。首先我們應(yīng)該設(shè)計(jì)好系統(tǒng)界面布局的整體框架,不錯(cuò),要想進(jìn)入本客戶(hù)資源管理系統(tǒng),前提條件你必須是該系統(tǒng)的用戶(hù),進(jìn)入系統(tǒng)前必須經(jīng)過(guò)系統(tǒng)用戶(hù)登陸界面進(jìn)行驗(yàn)證之后才可進(jìn)入,進(jìn)入系統(tǒng)后就可以看到系統(tǒng)的整體框架了。系統(tǒng)登陸界面和進(jìn)入系統(tǒng)后的顯示界面分別如圖所示:圖3-1:系統(tǒng)登錄界面 圖3-2:系統(tǒng)主界面圖3-3:添加產(chǎn)品界面圖3-4:刪除產(chǎn)品界面 圖3-5:查詢(xún)產(chǎn)品界面 圖3-6:修改產(chǎn)品界面 圖3-6:幫助

19、關(guān)于提示界面3.3 系統(tǒng)框架設(shè)計(jì)由于本系統(tǒng)是在java語(yǔ)言的基礎(chǔ)上使用spring框架技術(shù)來(lái)進(jìn)行的開(kāi)發(fā),在開(kāi)發(fā)本系統(tǒng)編碼之前,首先我們要在myeclipse集成開(kāi)發(fā)工具中整合好spring這個(gè)框架,并對(duì)其相應(yīng)的環(huán)境和配置進(jìn)行設(shè)置。本系統(tǒng)在myeclipse中開(kāi)發(fā)的項(xiàng)目名稱(chēng)為:123123,在myeclipse中的系統(tǒng)項(xiàng)目結(jié)構(gòu)如圖3-3所示:圖3-3:系統(tǒng)項(xiàng)目結(jié)構(gòu)3.4 系統(tǒng)模塊詳細(xì)設(shè)計(jì) 341系統(tǒng)模塊詳細(xì)設(shè)計(jì)概要由前面的系統(tǒng)分析和系統(tǒng)設(shè)計(jì)我們已知,本系統(tǒng)是圍繞以客戶(hù)為中心來(lái)對(duì)信息進(jìn)行有效的管理,而所有的這些管理操作其實(shí)都是在對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行操作,基本上實(shí)現(xiàn)的也就是對(duì)數(shù)據(jù)的增加、查詢(xún)、修改和刪除

20、這四項(xiàng)操作。所以在此所謂的系統(tǒng)模塊詳細(xì)設(shè)計(jì)就是指的對(duì)這四項(xiàng)功能模塊實(shí)現(xiàn)的設(shè)計(jì)。因?yàn)橄到y(tǒng)的每個(gè)模塊幾乎都要進(jìn)行反復(fù)的增、刪、改、查操作,所以設(shè)計(jì)好這四項(xiàng)操作功能模塊就顯得尤為重要了。 342錄入模塊詳細(xì)設(shè)計(jì) 3.4.2.1錄入模塊功能錄入模塊的功能主要就是對(duì)一系列基本信息的錄入,如要添加客戶(hù)或產(chǎn)品時(shí)就要把其相關(guān)信息錄入到系統(tǒng)中。在設(shè)計(jì)錄入操作時(shí),我們要求數(shù)據(jù)能夠正確的保存到數(shù)據(jù)庫(kù)中, 3.4.2.2錄入模塊流程開(kāi) 始輸入數(shù)據(jù)內(nèi)容輸入是否有效保存輸入內(nèi)容結(jié) 束錯(cuò)誤提示 3.4.2.3錄入模塊界面設(shè)計(jì)進(jìn)入系統(tǒng)后,根據(jù)具體的需要,在左邊的功能模塊導(dǎo)航欄中,用鼠標(biāo)單擊相關(guān)的超級(jí)鏈接就可在內(nèi)容顯示區(qū)中顯示

21、出相關(guān)的頁(yè)面。如我要增加產(chǎn)品信息,單擊左邊的“產(chǎn)品管理”,再點(diǎn)增加產(chǎn)品就會(huì)在內(nèi)容區(qū)彈出創(chuàng)建新的添加產(chǎn)品界面頁(yè)面,如圖3-3所示,填寫(xiě)完產(chǎn)品信息后單擊“存入數(shù)據(jù)庫(kù)”按鈕,通過(guò)驗(yàn)證若信息無(wú)誤后就可以把所填寫(xiě)的信息保存到數(shù)據(jù)庫(kù)中。 圖3-3:信息錄入界面 343查詢(xún)模塊詳細(xì)設(shè)計(jì) 3.4.3.1查詢(xún)模塊功能查詢(xún)模塊的功能主要就是對(duì)保存在數(shù)據(jù)庫(kù)中的相關(guān)信息進(jìn)行查找,然后把查找出來(lái)的信息通過(guò)頁(yè)面顯示出來(lái)供用戶(hù)查看和維護(hù)。 3.4.3.2查詢(xún)模塊流程開(kāi) 始輸入查詢(xún)內(nèi)容點(diǎn)擊查詢(xún)按鈕查詢(xún)是否成功顯示查詢(xún)內(nèi)容結(jié) 束未成功提示 3.4.3.3查詢(xún)模塊界面設(shè)計(jì)圖3-4:合同信息查詢(xún)界面 344修改模塊詳細(xì)設(shè)計(jì) 3.4

22、.4.1修改模塊功能修改模塊就是當(dāng)某些信息發(fā)生變化時(shí),我們就要對(duì)其保存在數(shù)據(jù)庫(kù)中的信息進(jìn)行相應(yīng)的修改,從而保證數(shù)據(jù)的時(shí)效性。其實(shí)修改模塊的設(shè)計(jì)是在錄入模塊的基礎(chǔ)上進(jìn)行了一些改動(dòng),也就是當(dāng)你查找出某條信息時(shí)想對(duì)其進(jìn)行修改,單擊其對(duì)應(yīng)的一個(gè)“修改”鏈接,就會(huì)跳轉(zhuǎn)到一個(gè)修改界面,此時(shí)也就相當(dāng)于對(duì)數(shù)據(jù)再次進(jìn)行一次錄入了。 3.4.4.2修改模塊流程開(kāi) 始輸入修改內(nèi)容輸入是否有效保存修改內(nèi)容結(jié) 束錯(cuò)誤提示點(diǎn)擊“修改”鏈接進(jìn)入修改界面 3.4.4.3修改模塊界面設(shè)計(jì)在圖3-4中我們單擊所顯示的一行用戶(hù)信息的操作字段下的“修改”鏈接,跳轉(zhuǎn)到一個(gè)和錄入信息基本相同的修改界面,文本域處可根據(jù)需要進(jìn)行相應(yīng)的修改,

23、修改完后單擊“確認(rèn)修改”按鈕通過(guò)驗(yàn)證即可生效。圖3-6:合同信息修改界面345刪除模塊詳細(xì)設(shè)計(jì)3.4.5.1刪除模塊功能刪除模塊的功能就是對(duì)系統(tǒng)中無(wú)效的信息從數(shù)據(jù)庫(kù)中給刪除掉。該功能模塊較為簡(jiǎn)單,并不需要過(guò)多的設(shè)計(jì)。我們只需在相關(guān)信息欄的操作字段下單擊“刪除”鏈接,然后彈出一個(gè)確認(rèn)框,單擊“確定”按鈕則會(huì)從數(shù)據(jù)庫(kù)中刪除該條數(shù)據(jù)信息,單擊“取消”按鈕則會(huì)返回原界面。3.4.5.2刪除模塊流程開(kāi) 始單擊“刪除”鏈接確定是否刪除刪除該信息結(jié) 束取消刪除3.4.5.3刪除模塊界面設(shè)計(jì)如圖3-4,在顯示的用戶(hù)信息欄操作字段下單擊“刪除”鏈接,就會(huì)彈出一個(gè)確認(rèn)框,如圖3-7所示,若選擇“確定”按鈕后則會(huì)成

24、功刪除該條數(shù)據(jù)信息。注意:在進(jìn)行“刪除”操作時(shí)一定要考慮清楚。 圖3-7:信息刪除確認(rèn)4 系統(tǒng)使用說(shuō)明4.1 系統(tǒng)運(yùn)行環(huán)境411客戶(hù)端配置cpu速度:p4 1.4g hz以上;內(nèi)存:256mb以上;操作系統(tǒng):windows win7、 windowsxp以上中的一種;4.2 系統(tǒng)安裝指南1、安裝jdk:下載jdk-1_6_0_04-windows-i586-p.exe,然后安裝完畢之后,進(jìn)行一下環(huán)境配置。如我安裝的位置是:c:program filesjavajdk1.6.0_04,然后單擊我的電腦>屬性>高級(jí)>環(huán)境變量,在系統(tǒng)變量path中添加:c:program file

25、sjavajdk1.6.0_04bin;再在用戶(hù)變量中新建一個(gè)java_home變量,值為:.;c:program filesjavajdk1.6.0_04即可。2、下載mysql數(shù)據(jù)庫(kù),根據(jù)提示進(jìn)行安裝,默認(rèn)用戶(hù)名為:sa,設(shè)置密碼為a20101991。4.3系統(tǒng)幫助系統(tǒng)用戶(hù)進(jìn)入系統(tǒng)后,若對(duì)于該系統(tǒng)簡(jiǎn)潔友好的界面操作上還有什么疑慮的話(huà),可單擊頁(yè)“幫助”超級(jí)鏈接,有一些簡(jiǎn)單信息供系統(tǒng)用戶(hù)查看。如圖4-4所示:圖4-4:系統(tǒng)簡(jiǎn)介界面結(jié) 語(yǔ) 通過(guò)自己的努力和在指導(dǎo)老師的全面指導(dǎo)下,該客戶(hù)資源管理系統(tǒng)最終得以完成。系統(tǒng)充分的運(yùn)用到了java程序語(yǔ)言、mysql數(shù)據(jù)知識(shí),并有效的使用了spring框架

26、技術(shù)來(lái)進(jìn)行開(kāi)發(fā),使系統(tǒng)的層次性分明,各模塊之間的耦合度降低。系統(tǒng)總共實(shí)現(xiàn)了三大功能模塊,其分別是:產(chǎn)品管理、客戶(hù)管理、合同管理。所有的模塊中基本都實(shí)現(xiàn)了增、刪、改、查四項(xiàng)數(shù)據(jù)操作功能。系統(tǒng)整體界面給人一種清爽、簡(jiǎn)潔、友好的感覺(jué),系統(tǒng)操作簡(jiǎn)單明了,由于系統(tǒng)設(shè)計(jì)到的方面較多,在技術(shù)上還有一定的難度,所以,系統(tǒng)的安全性做的不夠好。在整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中,它讓我把以往的知識(shí)很好的回顧了一遍,同時(shí)也讓我學(xué)到了一些新的知識(shí)和技術(shù)。在這次設(shè)計(jì)的系統(tǒng)開(kāi)發(fā)過(guò)程中對(duì)我來(lái)說(shuō),確實(shí)是很幸苦的,因?yàn)槟愕脤W(xué)會(huì)自己去解決問(wèn)題,去查找知識(shí)和技術(shù),但是通過(guò)自己實(shí)實(shí)在在的去做完系統(tǒng)后,我的收獲卻是很大的。我從中學(xué)到了以下幾點(diǎn):學(xué)

27、會(huì)自己去解決問(wèn)題,尋求問(wèn)題的答案,即自我學(xué)習(xí)能力和解決問(wèn)題的能力;做事一定要仔細(xì),不可粗枝大葉;做事之前一定要周密的思考,全面分析你要去面對(duì)的事情,不可走一步做一步;遇到問(wèn)題時(shí)不可浮躁,要有耐心,從而最終解決問(wèn)題;學(xué)習(xí)之后要善于對(duì)其進(jìn)行總結(jié)分析,這樣你才能真正的不斷進(jìn)步。參考文獻(xiàn)1孫衛(wèi)琴java面向?qū)ο缶幊蘭.電子工業(yè)出版社,2006.2bruce eckeljava編程思想m機(jī)械工業(yè)出版社,2008.3孫鑫java web開(kāi)發(fā)詳解m電子工業(yè)出版社,2008.4劉斌精通java web整合開(kāi)發(fā)m.電子工業(yè)出版社,2007.5陳剛eclipse從入門(mén)到精通m.清華大學(xué)出版社,2007.6客戶(hù)資源

28、管理現(xiàn)狀及發(fā)展程序員雜志j曾煉軟件工程專(zhuān)欄,2003附 錄系統(tǒng)主要程序:下面為系統(tǒng)的連接數(shù)據(jù)庫(kù)的代碼:/導(dǎo)入sql數(shù)據(jù)庫(kù)包import java.sql.*;/創(chuàng)建數(shù)據(jù)庫(kù)連接類(lèi)public class dbconnect/靜態(tài)方法提高數(shù)據(jù)庫(kù)的連接效率public static connection getconn() throws exception/加載jdbc驅(qū)動(dòng)class.forname("sun.jdbc.odbc.jdbcodbcdriver");/以系統(tǒng)用戶(hù)身份,連接數(shù)據(jù)庫(kù)studentmanagerreturn drivermanager.getconnect

29、ion("jdbc:odbc:sun2","sa","a20101991");下面為程序的入口/導(dǎo)入包import java.awt.*;import javax.swing.*;/創(chuàng)建主系統(tǒng)類(lèi)class mainpublic static void main (string args)/創(chuàng)建主界面 mainframe frame=new mainframe();/獲取屏幕尺寸dimension screensize=toolkit.getdefaulttoolkit().getscreensize();/獲取主界面的窗體尺寸dime

30、nsion framesize =frame.getsize();/令主界面窗體居中 if(framesize.height>screensize.height)framesize.height=screensize.height;if(framesize.width>screensize.width)framesize.width=screensize.width;frame.setlocation(screensize.width-framesize.width)/2,(screensize.height-framesize.height)/2);/令主界面顯示frame.se

31、tvisible(true);合同管理模塊中action里的幾個(gè)主要程序:/增加合同的actionpublic void actionperformed(actionevent e)/獲取用戶(hù)輸入的信息string hetongid=jtextfield1.gettext();string kehuxingming=jtextfield2.gettext();string hetongmingcheng=jtextfield3.gettext();string hetongriqi=jtextfield4.gettext();string fuzheren=jtextfield5.gettex

32、t();string hetongjiner=jtextfield6.gettext();tryst.executeupdate("insert into contract values('"+hetongid+"','"+kehuxingming+"','"+hetongmingcheng+"','"+hetongriqi+"','"+fuzheren+"','"+hetongjiner

33、+"')");/清空文本行的內(nèi)容jtextfield1.settext("");jtextfield2.settext("");jtextfield3.settext("");jtextfield4.settext("");jtextfield5.settext("");jtextfield6.settext("");/利用消息對(duì)話(huà)框提示刪除操作成功joptionpane.showmessagedialog(this,"插入成功!&quo

34、t;);catch(exception ex)/利用消息對(duì)話(huà)框提示不能插入,并顯示異常的信息joptionpane.showmessagedialog(this,"輸入數(shù)據(jù)錯(cuò)誤或者數(shù)據(jù)庫(kù)不允許插入!");ex.printstacktrace();/刪除合同的actionpublic void actionperformed(actionevent e)/獲取用戶(hù)輸入的合同idstring hetongid=jtextfield1.gettext();/要求用戶(hù)確認(rèn)刪除if(joptionpane.showconfirmdialog(this,"確認(rèn)要?jiǎng)h除嗎?&qu

35、ot;)=joptionpane.yes_option)try/利用st對(duì)象執(zhí)行sql刪除操作st.executeupdate("delete from contract where 合同id='"+hetongid+"'");/利用消息對(duì)話(huà)框提示刪除操作成功joptionpane.showmessagedialog(this,"刪除操作成功!");/清空輸入合同id的文本行jtextfield1.settext("");catch(exception ex)/利用消息對(duì)話(huà)框提示不能刪除joptio

36、npane.showmessagedialog(this,"刪除操作執(zhí)行失敗!");/查詢(xún)合同的actionpublic void actionperformed(actionevent e)/獲取用戶(hù)輸入的產(chǎn)品idstring hetongid=jtextfield1.gettext();/清空文本區(qū)原有的內(nèi)容jtextarea1.settext("");try/利用st對(duì)象執(zhí)行sql語(yǔ)句,返回結(jié)果集對(duì)象resultset rs=st.executequery("select * from contract where 合同id='&

37、quot;+hetongid+"'");/處理結(jié)果集:逐條顯示結(jié)果集中的記錄if(rs.next()jtextarea1.settext(rs.getstring("合同id")+" "+rs.getstring("客戶(hù)姓名")+" "+rs.getstring("合同名稱(chēng)")+" "+rs.getstring("合同日期")+" "+rs.getstring("負(fù)責(zé)人")+"

38、"+rs.getstring("合同金額")+"n");/清空文本行的內(nèi)容jtextfield1.settext("");elsejoptionpane.showmessagedialog(this,"沒(méi)有這個(gè)合同信息!");catch(exception ex)/利用消息對(duì)話(huà)框提示查詢(xún)失敗joptionpane.showmessagedialog(this,"查詢(xún)失敗!");/修改合同的actionpublic void actionperformed(actionevent e)i

39、f(e.getsource()=jbutton1)resultset rs;string hetongid=jtextfield0.gettext();/產(chǎn)品idtry/利用st對(duì)象執(zhí)行sql語(yǔ)句,返回結(jié)果集對(duì)象rs=st.executequery("select * from contract where 合同id='"+hetongid+"'");/處理結(jié)果集:逐條顯示結(jié)果集中的記錄/此處沒(méi)有使用while,因?yàn)閷W(xué)號(hào)是唯一的,而姓名不是,所以在inquireonnamepanel.java里使用了whileif(rs.next()jt

40、extfield1.settext(rs.getstring("合同id");jtextfield2.settext(rs.getstring("客戶(hù)姓名");jtextfield3.settext(rs.getstring("合同名稱(chēng)");jtextfield4.settext(rs.getstring("合同日期");jtextfield5.settext(rs.getstring("負(fù)責(zé)人");jtextfield6.settext(rs.getstring("合同金額"

41、;);elsejoptionpane.showmessagedialog(this,"沒(méi)有這個(gè)產(chǎn)品id號(hào)!");catch(exception ex)/利用消息對(duì)話(huà)框提示查詢(xún)失敗joptionpane.showmessagedialog(this,"查詢(xún)失敗!");if(e.getsource()=jbutton2)string qqq=jtextfield0.gettext();string hetongid=jtextfield1.gettext();string xingming=jtextfield2.gettext();string heton

42、gmingcheng=jtextfield3.gettext();string hetongriqi=jtextfield4.gettext();string fuzheren=jtextfield5.gettext();string hetongjiner=jtextfield6.gettext();try st.executeupdate("delete from contract where 合同id='"+qqq+"'"); catch (sqlexception e1) / todo auto-generated catch b

43、locke1.printstacktrace();/利用消息對(duì)話(huà)框提示刪除操作成功try st.executeupdate("insert into contract values('"+hetongid+"','"+xingming+"','"+hetongmingcheng+"','"+hetongriqi+"','"+fuzheren+"','"+hetongjiner+"

44、')"); catch (sqlexception e1) / todo auto-generated catch blocke1.printstacktrace();/清空文本行的內(nèi)容try/清空文本行的內(nèi)容jtextfield1.settext("");jtextfield2.settext("");jtextfield3.settext("");jtextfield4.settext("");jtextfield5.settext("");jtextfield6.sett

45、ext("");/利用消息對(duì)話(huà)框提示刪除操作成功joptionpane.showmessagedialog(this,"修改成功!");catch(exception ex)/利用消息對(duì)話(huà)框提示不能插入,并顯示異常的信息joptionpane.showmessagedialog(this,"輸入數(shù)據(jù)錯(cuò)誤或者數(shù)據(jù)庫(kù)不允許插入!");ex.printstacktrace();后 記課設(shè)資源管理系統(tǒng)已經(jīng)成功的完成了,看著自己做出的成果,此時(shí)讓我感到無(wú)比的輕松。在此,我不得不首先感謝我的指導(dǎo)老師張春娥老師,老師的耐心才使我更加有信心的去做好此

46、次課設(shè)。因?yàn)橹耙驗(yàn)槲以鴩L試使用netbeans編寫(xiě),但發(fā)現(xiàn)最后連不上數(shù)據(jù)庫(kù),因此放棄改用eclipse,純代碼編寫(xiě),最后時(shí)間只是編寫(xiě)了個(gè)簡(jiǎn)單的系統(tǒng),在此謝謝老師的理解。 姓 名班 級(jí)指導(dǎo)教師題 目客戶(hù)資源管理系統(tǒng)指導(dǎo)教師評(píng)語(yǔ)評(píng)定成績(jī): 指導(dǎo)教師簽字: 年 月 日完整代碼:因把登入界面去掉了,程序從main.java執(zhí)行。建個(gè)main類(lèi),以下依次建類(lèi),/導(dǎo)入包import java.awt.*;import javax.swing.*;/創(chuàng)建主系統(tǒng)類(lèi)class mainpublic static void main (string args)/創(chuàng)建主界面 mainframe frame=new

47、 mainframe();/獲取屏幕尺寸dimension screensize=toolkit.getdefaulttoolkit().getscreensize();/獲取主界面的窗體尺寸dimension framesize =frame.getsize();/令主界面窗體居中if(framesize.height>screensize.height)framesize.height=screensize.height;if(framesize.width>screensize.width)framesize.width=screensize.width;frame.setl

48、ocation(screensize.width-framesize.width)/2,(screensize.height-framesize.height)/2);/令主界面顯示frame.setvisible(true);/華麗分割/導(dǎo)入系統(tǒng)的包import java.awt.*;import java.awt.event.*;import javax.swing.*;/創(chuàng)建主界面類(lèi)public class mainframe extends jframe implements actionlistener/創(chuàng)建內(nèi)容面板jpanel contentpane;/創(chuàng)建菜單欄jmenubar jmenubar1=new jmenubar();jmenu jmenu=new jmenu("產(chǎn)品管理");jmenuitem jmenufile1=new jmenuitem("添加產(chǎn)品");jmenuitem jmenufile2=new jmenuitem("刪除產(chǎn)品");jmenuitem jmenufile3=new jmenuitem("查詢(xún)產(chǎn)品");jme

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論