計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文:VS客戶管理系統(tǒng)18011_第1頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文:VS客戶管理系統(tǒng)18011_第2頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文:VS客戶管理系統(tǒng)18011_第3頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文:VS客戶管理系統(tǒng)18011_第4頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文:VS客戶管理系統(tǒng)18011_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要在瞬息萬(wàn)變的市場(chǎng)環(huán)境中,企業(yè)要立于不敗之地。必須依托現(xiàn)代化的管理思想和手段,其中客戶管理尤為重要。企業(yè)客戶管理系統(tǒng)作為erp軟件中的crm組件的一個(gè)功能模塊,本系統(tǒng)實(shí)現(xiàn)了企業(yè)客戶管理的信息化,可對(duì)企業(yè)所有客戶的 相關(guān)信息進(jìn)行有效管理,并可以通過(guò)郵件與客戶進(jìn)行溝通,交流。本文詳細(xì)闡述了使用c#及l(fā)inq開(kāi)發(fā)該系統(tǒng)的設(shè)計(jì)、分析、實(shí)施的過(guò)程。c#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.net framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言, 是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由c和c+衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承c和c+強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性。linq是visual st

2、udio 2008中的領(lǐng)軍人物。借助于linq技術(shù),我們可以使用一種類(lèi)似sql的語(yǔ)法來(lái)查詢?nèi)魏涡问降臄?shù)據(jù)。目前為止linq所支持的數(shù)據(jù)源有sql server、xml以及內(nèi)存中的數(shù)據(jù)集合。本文所選的課題涉及的知識(shí)知識(shí)與技術(shù)都是微軟近些年的新技術(shù),力圖在crm軟件的技術(shù)上有自己的創(chuàng)新,并將其應(yīng)用到現(xiàn)實(shí)生產(chǎn)實(shí)踐中,有利于調(diào)動(dòng)學(xué)生學(xué)習(xí)實(shí)踐積極性,全面提高學(xué)生的軟件開(kāi)發(fā)能力和綜合素質(zhì)。關(guān)鍵詞:客戶關(guān)系管理;c#;linqabstractin a rapidly changing market environment, enterprises must be invincible. must rely

3、on modern management ideas and tools, including customer management is particularly important. enterprise customer management system as erp software in the crm component of a functional module, the system realized the enterprise customer management information, businesses can all customer informatio

4、n for effective management, and can communicate with customers via e-mail exchange. this paper describes the use of c# and linq development of the system design, analysis, implementation process. c# is microsofts release of an object-oriented, running on. net framework on the high-level programming

5、language, is a safe, stable, simple, elegant, from the c and c+ derived for object programming language. it inherits c and c+ power while removing the complexity of some of their characteristics. linq is a visual studio 2008 in the leader. with linq technology, we can use a syntax similar to sql to

6、query data of any kind. linq so far supported by the data source with sql server, xml, and memory data sets. this knowledge of selected topics related to knowledge and technology are microsofts new technology in recent years, in a bid to have their own crm software, technical innovation and apply it

7、 to real production practice, to arousing the enthusiasm of the students study and practice comprehensively improve their software development capability and overall quality. key words: crm; c#; linq目 錄引 論1(一)項(xiàng)目背景1(二)項(xiàng)目技術(shù)簡(jiǎn)介4一、企業(yè)客戶管理系統(tǒng)系統(tǒng)分析7(一)需求分析7(二)系統(tǒng)總體流程圖分析7(三)系統(tǒng)功能結(jié)構(gòu)8(四)系統(tǒng)模塊功能分析9二、企業(yè)客戶管理系統(tǒng)系統(tǒng)設(shè)計(jì)10(一

8、)設(shè)計(jì)目標(biāo)10(二)開(kāi)發(fā)運(yùn)行環(huán)境10(三)編碼規(guī)范11(四)數(shù)據(jù)庫(kù)設(shè)計(jì)12(五)對(duì)象模型的建立17(六)界面設(shè)計(jì)19(七)關(guān)鍵性代碼解析23三、系統(tǒng)的測(cè)試與糾錯(cuò)29后 記30主要參考文獻(xiàn)31引 論(一) 項(xiàng)目背景隨著internet技術(shù)的蓬勃發(fā)展,全世界范圍內(nèi),所有企業(yè)都在經(jīng)歷著一場(chǎng)變革。企業(yè)在擴(kuò)大市場(chǎng)、提高效率和保持客戶的原始商業(yè)驅(qū)動(dòng)力不變的情況下,如何從浩如煙海的信息中,獲取最有效的市場(chǎng)情況和客戶信息,并及時(shí)作出反應(yīng),方能提高企業(yè)的競(jìng)爭(zhēng)力。與此同時(shí),客戶的期望也在發(fā)生著變化,客戶完全可以決定選擇哪位供應(yīng)商。隨著網(wǎng)絡(luò)、通訊技術(shù)的發(fā)展,客戶選擇可擺脫傳統(tǒng)地域的限制。因此如何最大程度的留住客戶,

9、積極發(fā)展新客戶,成為了企業(yè)競(jìng)爭(zhēng)的一個(gè)重要方面。1、 關(guān)于erperp(enterprise resource planning,企業(yè)資源計(jì)劃)是上個(gè)世紀(jì)90年代美國(guó)一家it公司根據(jù)當(dāng)時(shí)計(jì)算機(jī)信息、it技術(shù)發(fā)展及企業(yè)對(duì)供應(yīng)鏈管理的需求,預(yù)測(cè)在今后信息時(shí)代企業(yè)管理信息系統(tǒng)的發(fā)展趨勢(shì)和即將發(fā)生變革,而提出的概念。erp是針對(duì)物資資源管理(物流)、人力資源管理(人流)、財(cái)務(wù)資源管理(財(cái)流)、信息資源管理(信息流)集成一體化的企業(yè)管理軟件。一個(gè)由 gartner group 開(kāi)發(fā)的概念,描述下一代制造商業(yè)系統(tǒng)和制造資源計(jì)劃(mrp ii)軟件。它將包含客戶/服務(wù)架構(gòu),使用圖形用戶接口,應(yīng)用開(kāi)放系統(tǒng)制作。

10、除了已有的標(biāo)準(zhǔn)功能,它還包括其它特性,如品質(zhì)、過(guò)程運(yùn)作管理、以及調(diào)整報(bào)告等。特別是,erp采用的基礎(chǔ)技術(shù)將同時(shí)給用戶軟件和硬件兩方面的獨(dú)立性從而更加容易升級(jí)。erp的關(guān)鍵在于所有用戶能夠裁剪其應(yīng)用,因而具有天然的易用性。erp不僅僅是一個(gè)單一的系統(tǒng),而是許多復(fù)雜系統(tǒng)的集合體(如圖1所示),本文所述的客戶資源管理只是其中的極小一部分。圖 12、 關(guān)于crm一、crm的含義 crm(customerrelationshiopmanagement,客戶關(guān)系管理)是一種以客戶為中心的經(jīng)營(yíng)策略。它以信息技術(shù)為手段,并對(duì)工作流程進(jìn)行重組,賦予企業(yè)更完善的客戶交流能力,最大化客戶的收益。 客戶關(guān)系管理是旨在

11、改善企業(yè)與客戶之間關(guān)系的新型管理機(jī)制,它主要實(shí)施于企業(yè)的市場(chǎng)營(yíng)銷(xiāo)、銷(xiāo)售、服務(wù)與技術(shù)支持等與客戶相關(guān)的領(lǐng)域。通過(guò)向企業(yè)的銷(xiāo)售、市場(chǎng)和客戶服務(wù)的專(zhuān)業(yè)人員提供全面、個(gè)性化的客戶資料,并強(qiáng)化跟蹤服務(wù)、信息分析的能力,使他們能夠協(xié)同建立和維護(hù)一系列與客戶和生意伙伴之間卓有成效的“一對(duì)一關(guān)系”,從而使企業(yè)得以提供更快捷和周到的優(yōu)質(zhì)服務(wù)、提高客戶滿意度、吸引和保持更多的客戶,從而增加營(yíng)業(yè)額;另一方面則通過(guò)信息共享和優(yōu)化商業(yè)流程來(lái)有效地降低企業(yè)經(jīng)營(yíng)成本。 客戶關(guān)系管理也是一種管理軟件和技術(shù)。它將最佳的商業(yè)實(shí)踐與數(shù)據(jù)挖掘、數(shù)據(jù)倉(cāng)庫(kù)、一對(duì)一營(yíng)銷(xiāo)、銷(xiāo)售自動(dòng)化以及其它信息技術(shù)緊密結(jié)合在一起,為企業(yè)的銷(xiāo)售、客戶服務(wù)和決

12、策支持等領(lǐng)域提供一個(gè)業(yè)務(wù)自動(dòng)化的解決方案,使企業(yè)有了一個(gè)基于電子商務(wù)的面對(duì)客戶的前沿。它主要包含以下幾個(gè)主要方面(簡(jiǎn)稱(chēng)7p): 客戶概況分析(profiling)包括客戶的層次、風(fēng)險(xiǎn)、愛(ài)好、習(xí)慣等; 客戶忠誠(chéng)度分析(persistency)指客戶對(duì)某個(gè)產(chǎn)品或商業(yè)機(jī)構(gòu)的忠實(shí)程度、持久性、變動(dòng)情況等; 客戶利潤(rùn)分析(profitability)指不同客戶所消費(fèi)的產(chǎn)品的邊緣利潤(rùn)、總利潤(rùn)額、凈利潤(rùn)等; 客戶性能分析(performance)指不同客戶所消費(fèi)的產(chǎn)品按種類(lèi)、渠道、銷(xiāo)售地點(diǎn)等指標(biāo)劃分的銷(xiāo)售額; 客戶未來(lái)分析(prospecting)包括客戶數(shù)量、類(lèi)別等情況的未來(lái)發(fā)展趨勢(shì)、爭(zhēng)取客戶的手段等;

13、客戶產(chǎn)品分析(product)包括產(chǎn)品設(shè)計(jì)、關(guān)聯(lián)性、供應(yīng)鏈等; 客戶促銷(xiāo)分析(promotion)包括廣告、宣傳等促銷(xiāo)活動(dòng)的管理。圖 2二、crm的目標(biāo) 客戶關(guān)系管理的目標(biāo)就是提高效率、拓展市場(chǎng)和保留客戶。利用信息技術(shù),結(jié)合企業(yè)現(xiàn)有的管理系統(tǒng)如mis系統(tǒng)、erp系統(tǒng),將分散在企業(yè)各部門(mén)的信息加以統(tǒng)計(jì)、分析,為企業(yè)的市場(chǎng)開(kāi)拓提供支持。 客戶服務(wù)是客戶關(guān)系管理中的核心內(nèi)容之一。企業(yè)提供的客戶服務(wù)是能否保留滿意的客戶,提升客戶忠誠(chéng)度的關(guān)鍵。據(jù)統(tǒng)計(jì),93的ceo認(rèn)為,客戶關(guān)系管理是企業(yè)成功和更有競(jìng)爭(zhēng)能力的重要因素,23的客戶離開(kāi)其供應(yīng)商是因?yàn)槠髽I(yè)對(duì)客戶關(guān)懷不夠。一個(gè)非常滿意的客戶其購(gòu)買(mǎi)意愿將六倍于一個(gè)

14、滿意的客戶。而客戶滿意度方面的5的提高將使企業(yè)利潤(rùn)加倍。由此可見(jiàn),客戶的滿意度與忠誠(chéng)度是企業(yè)取得競(jìng)爭(zhēng)優(yōu)勢(shì)的關(guān)鍵。 此外,隨著上網(wǎng)用戶的增加,客戶服務(wù)的自動(dòng)化還應(yīng)能夠處理客戶各種類(lèi)型的詢問(wèn),包括有關(guān)產(chǎn)品報(bào)價(jià)信息,定單請(qǐng)求,定單執(zhí)行情況等等。 三、客戶關(guān)系管理系統(tǒng)建立的原則 1為客戶提供多樣化、個(gè)性化的服務(wù)??蛻絷P(guān)系管理的核心思想,就是吸引客戶、方便客戶、滿足客戶、為客戶提供多樣化和個(gè)性化的服務(wù)。 2鞏固和發(fā)展客戶群體,提高企業(yè)的競(jìng)爭(zhēng)力。印刷企業(yè)應(yīng)朝著符合現(xiàn)代企業(yè)管理制度要求的現(xiàn)代企業(yè)發(fā)展。只有鞏固忠誠(chéng)客戶群,不斷發(fā)展新客戶群,打造品牌效應(yīng),方能提高企業(yè)競(jìng)爭(zhēng)力。 3適度超前和創(chuàng)新的原則。在建立客戶

15、關(guān)系管理系統(tǒng)同時(shí),提供充分的擴(kuò)展功能,滿足企業(yè)未來(lái)業(yè)務(wù)經(jīng)營(yíng)與發(fā)展的需要。 3、 項(xiàng)目規(guī)劃該系統(tǒng)主要由資料管理、我方信息管理、統(tǒng)計(jì)分析、用戶管理、系統(tǒng)維護(hù)和幫助等模塊組成,具體規(guī)劃如下:l 資料管理模塊:該模塊主要用于實(shí)現(xiàn)區(qū)域信息管理、客戶資料管理和競(jìng)爭(zhēng)對(duì)手信息等功能。l 我方信息管理模塊:本企業(yè)基本信息管理、員工信息管理、貨物信息管理和重大歷史歷程管理等功能。l 統(tǒng)計(jì)分析模塊:該模塊主要用于實(shí)現(xiàn)客戶的級(jí)別分析和來(lái)源分析等功能。l 用戶管理模塊:該模塊主要用于實(shí)現(xiàn)用戶管理、更改密碼和權(quán)限設(shè)置等功能。l 幫助模塊:該模塊主要用于實(shí)現(xiàn)更改窗體布局、重新登陸和退出等功能。(二) 項(xiàng)目技術(shù)簡(jiǎn)介本文所述的

16、企業(yè)客戶管理系統(tǒng)使用c#作為編程語(yǔ)言,采用目前比較新的microsoft sql server 2005作為前臺(tái)數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)系統(tǒng)在安全性、準(zhǔn)確性和運(yùn)行速度方面有絕對(duì)的優(yōu)勢(shì),并且處理數(shù)據(jù)量大、效率高;后臺(tái)使用微軟的新技術(shù)linq作為程序訪問(wèn)數(shù)據(jù)庫(kù)的接口,簡(jiǎn)化了繁瑣的sql語(yǔ)句的編寫(xiě)過(guò)程,提高了代碼的編寫(xiě)效率。1、 編程語(yǔ)言c#c#是一門(mén)簡(jiǎn)單、現(xiàn)代、面向?qū)ο蠛皖?lèi)型安全的編程語(yǔ)言,由c和c+發(fā)展而來(lái)。 在c#之前,c和c+已經(jīng)成為在軟件的開(kāi)發(fā)領(lǐng)域中使用最廣泛的語(yǔ)言。它們?yōu)槌绦騿T提供了十分靈活的操作,但也因此犧牲了一定的效率及相應(yīng)的易用性,比如與microsoft visual basic等語(yǔ)言相

17、比,同等級(jí)別的c/c+應(yīng)用程序往往需要更長(zhǎng)時(shí)間來(lái)開(kāi)發(fā)。也正由于c/c+語(yǔ)言的復(fù)雜性,c+也只有專(zhuān)業(yè)的程序員才能掌握,而對(duì)于一般用戶而言,c+確實(shí)有些沉重。對(duì)于信息化社會(huì)的今天而言,單純的軟件開(kāi)發(fā)甚為少見(jiàn),但更多的注重于實(shí)際應(yīng)用,許多程序員都試圖尋找一種新的語(yǔ)言,希望能在功能與效率之間找到一個(gè)更為理想的權(quán)衡點(diǎn)。對(duì)于某些有些語(yǔ)言來(lái)說(shuō),也許以犧牲靈活性的代價(jià)來(lái)提高效率是可以接受,但是這些靈活性正是c/c+程序員所需要的,另外這些解決方案對(duì)編程人員的限制過(guò)多(如屏蔽一些底層代碼控制的機(jī)制),其所提供的功能難以令人滿意。這些語(yǔ)言無(wú)法方便地同早先的系統(tǒng)交互,也無(wú)法很好地和當(dāng)前的網(wǎng)絡(luò)編程相結(jié)合。對(duì)于c/c+

18、用戶來(lái)說(shuō),最理想的解決方案無(wú)疑是在快速開(kāi)發(fā)的同時(shí)又可以調(diào)用底層平臺(tái)的所有功能。他們想要一種和最新的網(wǎng)絡(luò)標(biāo)準(zhǔn)保持同步并且能和已有的應(yīng)用程序良好整合的環(huán)境。另外,一些c/c+開(kāi)發(fā)人員還需要在必要的時(shí)候進(jìn)行一些底層的編程。c# (c sharp) 是微軟對(duì)這一問(wèn)題的解決方案。c#是一種最新的、面向?qū)ο蟮木幊陶Z(yǔ)言。它使得程序員可以快速地編寫(xiě)各種基于microsoft .net平臺(tái)的應(yīng)用程序,microsoft .net提供了一系列的工具和服務(wù)來(lái)最大程度地開(kāi)發(fā)利用計(jì)算與通訊領(lǐng)域。正是由于c#面向?qū)ο蟮脑O(shè)計(jì),使它成為構(gòu)建各類(lèi)組件的理想之選-無(wú)論是高級(jí)的商業(yè)對(duì)象還是系統(tǒng)級(jí)的應(yīng)用程序。使用簡(jiǎn)單的c#語(yǔ)言結(jié)構(gòu),

19、這些組件可以方便的轉(zhuǎn)化為xml 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語(yǔ)言在任何操作系統(tǒng)上通過(guò)internet進(jìn)行調(diào)用。最重要的是,c#使得c+程序員可以高效的開(kāi)發(fā)程序,而絕不損失c/c+原有的強(qiáng)大的功能。因?yàn)檫@種繼承關(guān)系,c#與c/c+具有極大的相似性,熟悉類(lèi)似語(yǔ)言的開(kāi)發(fā)者可以很快的轉(zhuǎn)向c#。或者這么說(shuō)生產(chǎn)信息化的今天,也就產(chǎn)生了c#。2、 數(shù)據(jù)庫(kù)前后臺(tái)鏈接組件linqlinq,即語(yǔ)言級(jí)集成查詢(language integrated query),它是visual studio 2008中的領(lǐng)軍人物。借助于linq技術(shù),我們可以使用一種類(lèi)似sql的語(yǔ)法來(lái)查詢?nèi)魏涡问降臄?shù)據(jù)。目前為止linq所支持的

20、數(shù)據(jù)源有sql server、xml以及內(nèi)存中的數(shù)據(jù)集合。開(kāi)發(fā)人員也可以使用其提供的擴(kuò)展框架添加更多的數(shù)據(jù)源,例如mysql、amazon甚至是google desktop。簡(jiǎn)單來(lái)說(shuō),通過(guò)使用linq,開(kāi)發(fā)人員可以以一個(gè)統(tǒng)一的方式訪問(wèn)包括內(nèi)存數(shù)據(jù)集合、數(shù)據(jù)庫(kù)、xml等在內(nèi)的各類(lèi)數(shù)據(jù)源。如下圖所示:圖 3上圖中,向我們展示了linq在實(shí)際的開(kāi)發(fā)中所處的地位,我們可以從兩方面來(lái)理解linq,首先他是一個(gè)工具集(tool set),因?yàn)樗鼮槲覀冊(cè)L問(wèn)各類(lèi)不同的數(shù)據(jù)源提供了可能。另一方面,它又?jǐn)U展了原有的如c#,vb等語(yǔ)言語(yǔ)法,不用以前我們使用的sql語(yǔ)句或者xml控制語(yǔ)句即可完成數(shù)據(jù)的訪問(wèn)和持久化操作

21、。3、 數(shù)據(jù)報(bào)表生成系統(tǒng)水晶報(bào)表插件水晶報(bào)表(crystal report)是業(yè)內(nèi)最專(zhuān)業(yè)、功能最強(qiáng)的報(bào)表系統(tǒng),它除了強(qiáng)大的報(bào)表功能外,最大的優(yōu)勢(shì)是實(shí)現(xiàn)了與絕大多數(shù)流行開(kāi)發(fā)工具的集成和接口。crystal reports 用于處理數(shù)據(jù)庫(kù),幫助用戶分析和解釋重要信息。使用 crystal reports 可以方便地創(chuàng)建簡(jiǎn)單報(bào)表,同時(shí)它也提供了創(chuàng)建復(fù)雜或?qū)S玫膱?bào)表所需的整套工具。crystal reports 幾乎可以從任何數(shù)據(jù)源生成您需要的報(bào)表。內(nèi)置報(bào)表專(zhuān)家在您生成報(bào)表和完成一般的報(bào)表任務(wù)過(guò)程中,會(huì)一步一步地指導(dǎo)您進(jìn)行操作。報(bào)表專(zhuān)家通過(guò)公式、交叉表、子報(bào)表和設(shè)置條件格式幫助表現(xiàn)數(shù)據(jù)的實(shí)際意義,揭示

22、可能被隱藏掉的重要關(guān)系。水晶報(bào)表的使用是數(shù)據(jù)的統(tǒng)計(jì)結(jié)果更為直觀,實(shí)為數(shù)據(jù)分析的一大利器。一、企業(yè)客戶管理系統(tǒng)系統(tǒng)分析(一) 需求分析 經(jīng)了解,本系統(tǒng)應(yīng)該具有如下的功能:l 由于操作人員的計(jì)算機(jī)知識(shí)有限,因此要求系統(tǒng)具有良好的人機(jī)界面;l 對(duì)不同的使用用戶,要求系統(tǒng)具有良好的權(quán)限管理;l 方便的數(shù)據(jù)查詢功能;l 方便的添加和修改數(shù)據(jù)功能;l 使用水晶報(bào)表分析、顯示客戶級(jí)別和來(lái)源情況;l 在相應(yīng)的權(quán)限下,可方便的刪除數(shù)據(jù)。(二) 系統(tǒng)總體流程圖分析企業(yè)客戶管理系統(tǒng)的業(yè)務(wù)流程如下圖所示。圖 4(二) 系統(tǒng)功能結(jié)構(gòu)系統(tǒng)的總體功能圖如圖5所示。圖 5(三) 系統(tǒng)模塊功能分析1、 資料管理及我方信息管理該

23、部分要求能夠快速的查詢所需信息,便捷的插入新的信息和刪除無(wú)用信息,為了整個(gè)程序的易用性,由于各個(gè)小模塊都是對(duì)數(shù)據(jù)庫(kù)表的簡(jiǎn)單操作,具有類(lèi)比性,因此可以使用統(tǒng)一的模板進(jìn)行設(shè)計(jì),再根據(jù)不同的字段設(shè)計(jì)不同的項(xiàng)目。2、 統(tǒng)計(jì)分析該部分要求系統(tǒng)能夠根據(jù)數(shù)據(jù)庫(kù)里的數(shù)據(jù)自動(dòng)的生成報(bào)表,并提供打印服務(wù)。3、 用戶管理該部分要求系統(tǒng)能夠根據(jù)用戶權(quán)限的不同提供修改密碼和權(quán)限的功能4、 系統(tǒng)維護(hù)該部分要求能通過(guò)程序客戶端完成數(shù)據(jù)庫(kù)的備份,恢復(fù)及清理工作。5、 幫助該部分包含系統(tǒng)說(shuō)明、注銷(xiāo)登錄等功能。二、企業(yè)客戶管理系統(tǒng)系統(tǒng)設(shè)計(jì)(一) 設(shè)計(jì)目標(biāo)l 本系統(tǒng)屬于小型的數(shù)據(jù)庫(kù)系統(tǒng),可以對(duì)中、小型企業(yè)客戶進(jìn)行有效的管理。通過(guò)本

24、系統(tǒng)期望達(dá)到以下的目標(biāo):l 靈活的錄入數(shù)據(jù),使信息傳遞更快捷。l 系統(tǒng)采用人機(jī)交互方式、界面美觀友好,信息查詢靈活。數(shù)據(jù)存儲(chǔ)安全可靠。l 實(shí)現(xiàn)后臺(tái)監(jiān)控功能。l 實(shí)現(xiàn)客戶級(jí)別和來(lái)源分析功能。l 實(shí)現(xiàn)各種查詢,支持模糊查詢。l 實(shí)現(xiàn)企業(yè)客戶及其內(nèi)部資源的信息化管理。l 對(duì)用戶輸入的數(shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能避免人為錯(cuò)誤。l 系統(tǒng)最大限度的實(shí)現(xiàn)了易維護(hù)性和易操作性。(二) 開(kāi)發(fā)運(yùn)行環(huán)境l 系統(tǒng)開(kāi)發(fā)平臺(tái):microsoft visual studio 2008l 系統(tǒng)開(kāi)發(fā)語(yǔ)言:c#l 數(shù)據(jù)庫(kù)管理軟件:microsoft sql server 2005l 運(yùn)行平臺(tái):windows xp(sp2以上)

25、,windows 2000(sp4),windows server 2003l 運(yùn)行環(huán)境:microsoft .net framework sdk v3.5(三) 編碼規(guī)范4、 數(shù)據(jù)庫(kù)命名規(guī)范數(shù)據(jù)庫(kù)名以db開(kāi)頭,后面接相關(guān)英文單詞,首字母大寫(xiě);數(shù)據(jù)表以tb開(kāi)頭,后面接相關(guān)英文單詞;數(shù)據(jù)表以英文單詞或組合表示,首字母大寫(xiě);視圖以view開(kāi)頭、存儲(chǔ)過(guò)程以proc開(kāi)頭、觸發(fā)器以trig開(kāi)頭,后面接相關(guān)英文單詞。如圖表1所示。圖表 1數(shù)據(jù)庫(kù)命名規(guī)范類(lèi)別名稱(chēng)相關(guān)命名舉例描述說(shuō)明數(shù)據(jù)庫(kù)db_crm企業(yè)客戶資源管理數(shù)據(jù)庫(kù)表tb_user用戶信息表字段userid用戶編號(hào)視圖view_goodinfo查看貨物

26、信息存儲(chǔ)過(guò)程proc_login實(shí)現(xiàn)登錄功能觸發(fā)器trig_ingoods插入商品信息5、 變量命名規(guī)范變量名由其變量類(lèi)型加上英文縮寫(xiě)構(gòu)成,如圖表2所示。圖表 2變量命名規(guī)范數(shù)據(jù)類(lèi)型簡(jiǎn)寫(xiě)規(guī)則整形(int)int字符串(string)str浮點(diǎn)型(double)dbl布爾型(bool)bl長(zhǎng)整型(long)lnt6、 控件命名規(guī)范空間一般以其英文縮寫(xiě)為前綴,在代碼編寫(xiě)過(guò)程中不涉及具體編程的,可以以控件的默認(rèn)名稱(chēng)為其命名。具體如圖表3所示。圖表 3控件命名規(guī)范控件縮寫(xiě)形式formfrmtextboxtxtbuttonbtncomboboxcboxlabellabdatetimepickerdtpe

27、rrorprovidererrorprgroupboxgboxdatagridviewdgvdatasetdslistboxlbtimertmrcheckboxchbmenustripmstripopenfiledialogofdialogpictureboxpicboxrichtextboxrtboxstatusstripsstriptoolstriptstriptreeviewtv(四) 數(shù)據(jù)庫(kù)設(shè)計(jì)7、 數(shù)據(jù)表概要說(shuō)明數(shù)據(jù)庫(kù)名為:db_crm,其中包含了8張數(shù)據(jù)表,如下圖所示。圖 68、 重要表的e-r圖企業(yè)基本信息實(shí)體e-r圖如圖7所示。圖 7客戶信息實(shí)體e-r圖如圖8所示。圖 8員工信

28、息實(shí)體e-r圖如圖9。圖 9競(jìng)爭(zhēng)對(duì)手實(shí)體e-r圖如圖10。圖 109、 主要表的結(jié)構(gòu)l tb_cinfo(企業(yè)基本信息表),用于保存企業(yè)的基本信息,其結(jié)構(gòu)如圖表4所示。圖表 4企業(yè)基本信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述cnamevarchar50否企業(yè)名稱(chēng)cmanagervarchar20否法人代表cphonevarchar20否聯(lián)系電話cpostcodebigint8否郵政編碼cfaxvarchar20否傳真號(hào)碼cemailvarchar50否e-mail地址cnaddressvarchar50否企業(yè)網(wǎng)址caddressvarchar100否聯(lián)系地址cremarkvarchar1000否備注

29、l tb_clientinfo(客戶信息表),用于保存企業(yè)客戶的詳細(xì)資料,其結(jié)構(gòu)如圖表5所示。圖表 5客戶信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述clientidvarchar20是 客戶編號(hào)cnamevarchar50否客戶名稱(chēng)cstepvarchar20否客戶級(jí)別crootvarchar20否客戶來(lái)源ctradevarchar20否所屬行業(yè)ctypechar10否客戶類(lèi)別careavarchar50否所在區(qū)域cphonevarchar20否聯(lián)系電話cfaxvarchar20否傳真號(hào)碼cpostcodebigint8否郵政編碼caddressvarchar50否聯(lián)系地址cemailvarchar5

30、0否e-mail地址cremarkvarchar1000否備注l tb_employss(員工信息表),用于保存企業(yè)內(nèi)部員工的詳細(xì)資料,其結(jié)構(gòu)如圖表6所示。圖表 6員工信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述eidvarchar20主鍵員工編號(hào)enamevarchar20否員工姓名esexchar4否員工性別ebirthdayvarchar20否員工生日ewdatevarchar20否工作日期ediplomachar10否員工學(xué)歷edepartmentvarchar50否所在部門(mén)epositionvarchar20否當(dāng)前職務(wù)etypevarchar20否員工類(lèi)別l tb_goodsinfo(貨物信息

31、表),用于保存企業(yè)內(nèi)部貨物的詳細(xì)信息,其結(jié)構(gòu)如圖表7所示。圖表 7貨物信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述gidvarchar20主鍵貨物編號(hào)gnamevarchar50否貨物名稱(chēng)gtypevarchar50否貨物類(lèi)型gspecvarchar50否貨物規(guī)格gipricemoney8否進(jìn)貨價(jià)格gopricemoney8否售貨價(jià)格gunitchar10否計(jì)量單位gremarkvarchar1000否備注l tb_user(用戶信息表),用于保存本系統(tǒng)用戶的基本信息及權(quán)限其結(jié)構(gòu)如圖表8所示。圖表 8用戶信息表字段名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵否描述useridvarchar20主鍵用戶編號(hào)usernamevarc

32、har20否用戶名稱(chēng)userpwdvarchar20否倉(cāng)庫(kù)名稱(chēng)userrightchar10否貨物規(guī)格(五) 對(duì)象模型的建立10、 數(shù)據(jù)庫(kù)對(duì)象的建立打開(kāi)“服務(wù)器資源管理器”,選擇新建連接。圖 1111、 使用visual studio 2008建立實(shí)體類(lèi)建立實(shí)體類(lèi)的方式有很多種,例如手動(dòng)編碼建立、使用xml文件映射、使用命令行工具sqlmetal生成、使用linq to sql設(shè)計(jì)器等。其中最方便的方法就是使用linq to sql設(shè)計(jì)器。步驟如下。1) 在專(zhuān)用于數(shù)據(jù)處理的命名空間下選擇“新建項(xiàng)”,添加一個(gè)名稱(chēng)為“crmclasses”的“l(fā)inq to sql類(lèi)”,如下圖。圖 122) 在“

33、服務(wù)器資源管理器”窗口需要使用的表格拖入左邊,把設(shè)計(jì)好的函數(shù)和存儲(chǔ)過(guò)程等方法拖入右邊,如圖。圖 133) 保存“crmclasses”之后,實(shí)體類(lèi)就這樣建立完畢了,若需要還可以從“屬性”窗口修改實(shí)體類(lèi)的屬性名稱(chēng)、存儲(chǔ)過(guò)程映射的方法名,以及實(shí)體類(lèi)的添加、刪除、修改行為中使用的方法等。4) 使用linq to sql設(shè)計(jì)器設(shè)計(jì)出來(lái)的實(shí)體類(lèi)是代碼自動(dòng)生成的,如果需要修改,過(guò)程是比較麻煩的,對(duì)于本文所述系統(tǒng),由于其本身復(fù)雜度不夠,系統(tǒng)自動(dòng)生成的實(shí)體類(lèi)已經(jīng)足夠,如果對(duì)更復(fù)雜的系統(tǒng),手動(dòng)編碼建立、使用xml文件映射等方法建立的實(shí)體類(lèi)更加的簡(jiǎn)介,也更符合具體系統(tǒng)的要求。(六) 界面設(shè)計(jì)12、 登錄系統(tǒng)的設(shè)計(jì)

34、系統(tǒng)登錄主要用于對(duì)進(jìn)入企業(yè)客戶資源管理系統(tǒng)的用戶進(jìn)行安全性檢查,以防止非法用戶進(jìn)入該系統(tǒng)。在登錄時(shí),只有合法的用戶才可以進(jìn)入該系統(tǒng),同事,系統(tǒng)根據(jù)登錄用戶的級(jí)別,給予其不同的操作權(quán)限,系統(tǒng)登錄窗體運(yùn)行結(jié)果如下所示圖 14根據(jù)用戶選擇的用戶名,系統(tǒng)自動(dòng)判斷用戶權(quán)限,并且比較密碼是否與數(shù)據(jù)庫(kù)內(nèi)紀(jì)錄一致,如果是則可以進(jìn)入系統(tǒng)主界面。13、 主界面的設(shè)計(jì)系統(tǒng)主界面由三部分構(gòu)成,分別為菜單欄、導(dǎo)航欄和底部的狀態(tài)欄,其中在制作導(dǎo)航欄的時(shí)候,使用了第三方的控件“navnarcontrol”,做出來(lái)的效果還是相當(dāng)?shù)牟诲e(cuò),其運(yùn)行結(jié)果如下圖。圖 15菜單欄和導(dǎo)航欄的功能基本一致,只是從兩種途徑來(lái)實(shí)現(xiàn),底部的狀態(tài)欄

35、通過(guò)一系列字符串的合并顯示用戶名,登錄時(shí)間等信息。通過(guò)點(diǎn)擊菜單欄或者導(dǎo)航欄的相應(yīng)功能,開(kāi)啟子窗口就可以進(jìn)行子項(xiàng)目的操作了。14、 通用信息管理界面的設(shè)計(jì)資料管理和我方信息管理里的7個(gè)小項(xiàng)目都具有一個(gè)共同的特點(diǎn),都是對(duì)數(shù)據(jù)庫(kù)進(jìn)行的插入、刪除及修改的操作,不同的只是針對(duì)的具體數(shù)據(jù)庫(kù)表和字段的不同,以客戶資料管理為例,預(yù)期的運(yùn)行結(jié)果如下圖。圖 16整個(gè)界面由三個(gè)部分組成:l 最上方的工具欄:提供新建及刪除資料的服務(wù),并且可以根據(jù)查詢條件進(jìn)行查詢,還能調(diào)用郵件相關(guān)組件給客戶發(fā)送e-mail。l 中間的組合框:使用了textbox和combobox完成每一條記錄詳細(xì)顯示,以供用戶添加新信息或者修改現(xiàn)有信

36、息。其中的聯(lián)系電話,e-mail等還應(yīng)設(shè)置正則表達(dá)式來(lái)檢驗(yàn)數(shù)據(jù)輸入的合法性。l 下面的datagridview列出了符合當(dāng)前查詢的所有條目,供用戶查看,雙擊其條目可以在中間的組合框內(nèi)顯示改條目的詳細(xì)內(nèi)容,供用戶修改。15、 聯(lián)系客戶窗體的設(shè)計(jì)聯(lián)系客戶窗體用來(lái)實(shí)現(xiàn)企業(yè)與客戶的交流、溝通功能。實(shí)現(xiàn)該功能時(shí)調(diào)用了system.net.mail命名空間下的mailmessage類(lèi)和smtpclient類(lèi)。界面設(shè)計(jì)如下圖所示。圖 17在窗體load的時(shí)候自動(dòng)載入客戶的編號(hào)、名稱(chēng)和郵箱。如果選擇了上傳附件,則會(huì)打開(kāi)一個(gè)openfiledialog對(duì)話框,供用戶選擇文件,并返回該文件的路徑。點(diǎn)擊發(fā)送后,調(diào)用

37、系統(tǒng)函數(shù)發(fā)送郵件。16、 水晶報(bào)表的設(shè)計(jì)客戶級(jí)別分析窗體主要反映不同級(jí)別的客戶情況,操作人員可以通過(guò)選擇客戶等級(jí),查看制定級(jí)別的客戶詳細(xì)信息??蛻艏?jí)別分析窗體運(yùn)行結(jié)果如下圖所示。圖 18(七) 關(guān)鍵性代碼解析17、 郵件的發(fā)送在聯(lián)系客戶的窗體中,實(shí)現(xiàn)了通過(guò)客戶端發(fā)送郵件的功能,在事先給客戶發(fā)送郵件時(shí),需要制定郵件的發(fā)送者、接受者、主題、內(nèi)容、發(fā)送郵件的smtp服務(wù)器的地址及端口號(hào)。特別的,如果有附件的存在,還需要聲明一個(gè)contentdispotion類(lèi)的對(duì)象,并通過(guò)其屬性,完成附件屬性的設(shè)置,其運(yùn)行代碼如下。using system;using system.collections.gene

38、ric;using system.componentmodel;using system.data;using system.drawing;using system.text;using system.windows.forms;using system.data.sqlclient;using system.net.mail;namespace crm.datamanage public partial class frmrclient : form crm.baseclass.baseoperate boperate = new crm.baseclass.baseoperate();

39、crm.baseclass.operateandvalidate opandvalidate = new crm.baseclass.operateandvalidate(); public frmrclient() initializecomponent(); private void frmrclient_load(object sender, eventargs e) opandvalidate.cboxbind(select distinct clientid from tb_clientinfo, tb_clientinfo, clientid, cboxcid); private

40、void cboxcid_selectedindexchanged(object sender, eventargs e) sqldatareader sqlread = boperate.getread(select cname,cemail from tb_clientinfo where clientid= + cboxcid.text.trim() + ); sqlread.read(); if (sqlread.hasrows) txtcname.text = sqlreadcname.tostring().trim(); txtcemail.text = sqlreadcemail

41、.tostring().trim(); sqlread.close(); /選擇附件 private void btnup_click(object sender, eventargs e) ofdialogsfile.initialdirectory = c:; ofdialogsfile.filter = all files (*.*)|*.*; ofdialogsfile.restoredirectory = true; ofdialogsfile.showdialog(); cboxaccessories.items.add(ofdialogsfile.filename.trim();

42、 /刪除附件 private void btndel_click(object sender, eventargs e) if (cboxaccessories.text = ) messagebox.show(沒(méi)有附件可刪!, 提示, messageboxbuttons.ok, messageboxicon.information); else cboxaccessories.items.remove(cboxaccessories.text.trim(); /發(fā)送郵件 private void btnsend_click(object sender, eventargs e) /郵箱格式驗(yàn)

43、證 if (!opandvalidate.validateemail(txtsemail.text.trim() errorsemail.seterror(txtsemail, 輸入的郵箱格式不正確!); else errorsemail.clear(); try /創(chuàng)建mailmessage對(duì)象,使用郵件功能 string file = application.startuppath + testxml.xml; system.net.mail.mailmessage mymail = new system.net.mail.mailmessage(); mymail = new syste

44、m.net.mail.mailmessage(txtsemail.text.trim(), txtcemail.text.trim(); mymail.subject = txtetitle.text.trim(); mymail.body = txtecontent.text.trim(); if (cboxaccessories.items.count 0) for (int i = 0; i cboxaccessories.items.count; i+) system.net.mail.attachment myattachment = new system.net.mail.atta

45、chment( cboxaccessories.itemsi.tostring(), system.net.mime.mediatypenames.application.octet); system.net.mime.contentdisposition disposition = myattachment.contentdisposition; disposition.creationdate = system.io.file.getcreationtime(file); disposition.modificationdate = system.io.file.getlastwritet

46、ime(file); disposition.readdate = system.io.file.getlastaccesstime(file); mymail.attachments.add(myattachment); system.net.mail.smtpclient client = new system.net.mail.smtpclient(txtsservice.text.trim(), convert.toint32(txtserviceport.text.trim(); client.credentials = new system.net.networkcredentia

47、l(txtuname.text.trim(), txtupwd.text.trim(); client.send(mymail); messagebox.show(郵件發(fā)送成功!, 提示, messageboxbuttons.ok, messageboxicon.information); catch (exception ex) messagebox.show(ex.message, 提示, messageboxbuttons.ok, messageboxicon.information); private void btnexit_click(object sender, eventarg

48、s e) this.close(); 18、 數(shù)據(jù)庫(kù)的自動(dòng)備份與還原如下圖,數(shù)據(jù)庫(kù)的備份與還原的界面并不復(fù)雜,難點(diǎn)在在通過(guò)客戶端完成數(shù)據(jù)庫(kù)后臺(tái)的工作。圖 19其代碼如下:using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.text;using system.windows.forms;using system.io;namespace crm.sysmanage public partial cl

49、ass frmdatastore : form crm.baseclass.baseoperate boperate = new crm.baseclass.baseoperate(); public frmdatastore() initializecomponent(); /設(shè)置備份文件的位置 private void btnsel_click(object sender, eventargs e) fbdialogfile.showdialog(); txtdspath.text = fbdialogfile.selectedpath.tostring().trim() + ; private void btndstore_click(object sender, eventargs e) try /判斷其是否已經(jīng)存在 if (file.exists(txtdspath.text.trim() + .bak) messagebox.sh

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論