2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  **公司客戶管理系統(tǒng)開發(fā)與實現(xiàn)</p><p><b>  摘 要</b></p><p>  本課題所設(shè)計的系統(tǒng)能夠統(tǒng)一管理與企業(yè)相關(guān)的客戶及其聯(lián)系人信息。客戶與相關(guān)聯(lián)系人信息是企業(yè)最重要的資源之一,通過客戶管理系統(tǒng)能夠有效地管理客戶信息,提高企業(yè)客戶管理效率。在此基礎(chǔ)之上,進一步展開,才能對客戶之間發(fā)生的活動、機會、銷售、費用等進行詳細管理。

2、本課題實現(xiàn)了基礎(chǔ)信息維護(包括:域信息設(shè)置、企業(yè)性質(zhì)設(shè)置、企業(yè)類型設(shè)置、企業(yè)資信設(shè)置、客戶級別設(shè)置、客戶滿意程度設(shè)置);客戶信息維護(包括:客戶信息、聯(lián)系人信息、業(yè)務(wù)往來、發(fā)送郵件);客戶服務(wù)(包括客戶反饋、客戶投訴、客戶反饋滿意程度分析、客戶投訴滿意程度分析);客戶信息查詢(包括:客戶信息報表、聯(lián)系人信息報表、業(yè)務(wù)往來報表、客戶反饋報表、客戶投拆報表);輔助工具以及管理模塊,真正實現(xiàn)了客戶資源管理的一體化。</p>&l

3、t;p>  關(guān)鍵詞:CRM;客戶管理系統(tǒng);MS Sql Server 2005</p><p>  The Development And Implementation of Hongda Customer Management System</p><p><b>  ABSTRACT</b></p><p>  Designed by

4、 the subject to unified management system associated with the enterprise customers and their contact information. Customers with relevant contact information is one of the most important resource, through the customer ma

5、nagement system to effectively manage customer information and improve the efficiency of enterprise customer management. On this basis, further to between customer activities, opportunities, sales, management, etc.To ach

6、ieve this task the maintenance of the basic infor</p><p>  Keywords: CRM; Management System Customer;MS Sql Server2005</p><p><b>  目 錄</b></p><p><b>  引 言1</b&

7、gt;</p><p>  第1章 系統(tǒng)分析2</p><p>  1.1 需求分析2</p><p>  1.2 可行性分析2</p><p>  第2章 系統(tǒng)設(shè)計5</p><p>  2.1 設(shè)計目標5</p><p>  2.2 開發(fā)及運行環(huán)境5</p><

8、;p>  2.3 項目規(guī)劃5</p><p>  第3章 系統(tǒng)數(shù)據(jù)庫設(shè)計7</p><p>  3.1 數(shù)據(jù)庫概要設(shè)計7</p><p>  3.2 數(shù)據(jù)庫物理設(shè)計9</p><p>  第4章 主要功能模塊設(shè)計17</p><p>  4.1 主窗體設(shè)計17</p><p>

9、  4.2 數(shù)據(jù)模塊20</p><p>  4.3 登錄模塊設(shè)計21</p><p>  4.4 客戶信息模塊24</p><p>  4.5 發(fā)送郵件模塊28</p><p>  4.6 據(jù)庫配置模塊29</p><p>  第5章 系統(tǒng)測試31</p><p>  5.1 **

10、公司客戶管理系統(tǒng)單元測試31</p><p>  5.2 **公司客戶管理系統(tǒng)集成測試36</p><p>  5.3 測試總結(jié)37</p><p><b>  結(jié)束語38</b></p><p><b>  致 謝39</b></p><p><b> 

11、 參考文獻40</b></p><p><b>  附錄42</b></p><p>  附錄A 文件架構(gòu)圖42</p><p>  附錄B 主要源程序44</p><p><b>  引 言</b></p><p>  在全球一體化、企業(yè)互動和以INTE

12、RNET為核心的時代,企業(yè)面臨著如何發(fā)展?jié)撛诳蛻?,如何將社會關(guān)系資源變?yōu)槠髽I(yè)的銷售和發(fā)展資源的一系列難辦棘手的問題。在上述背景下,**公司客戶管理系統(tǒng)應(yīng)運而生。本系統(tǒng)本著把握客戶多樣化和個性化的特點;以最快的速度響應(yīng)客戶需求;吸引新客戶,留住老客戶為原則。即從過去的以產(chǎn)品(Product-Centric)為中心的管理策略轉(zhuǎn)向以客戶為中心的(Customer-Centric)管理理念。系統(tǒng)旨在改善企業(yè)與客戶之間的關(guān)系,建立新型的運營機制。

13、本系統(tǒng)以企業(yè)級的整體客戶管理為解決方案,幫助企業(yè)建立統(tǒng)一的客戶資源、拓展銷售渠道、尋求最佳市場方式、規(guī)范企業(yè)銷售流程、提供科學分析方法,建立持久的客戶體系。其大容量客戶數(shù)據(jù)處理能力,讓您的企業(yè)從多渠道收集信息,快速發(fā)現(xiàn)核心客戶和潛在伙伴,進而給企業(yè)帶來無限的利潤。</p><p>  以客戶為中心的理念在國外興起于20世紀50年代,當時很多企業(yè)寄希望于通過改進技術(shù)、壓縮生產(chǎn)周期、改善內(nèi)部資源管理來提高生產(chǎn)增長率和

14、利潤,但事實上見效甚微。這樣企業(yè)開始從強調(diào)降低經(jīng)營成本的供應(yīng)方發(fā)展策略轉(zhuǎn)向了需求方策略。所謂需求方策略就是指與客戶聯(lián)系更加緊密,從客戶關(guān)系方面挖掘新能源的策略,CRM應(yīng)運而生。所不同的是,現(xiàn)在計算機可以幫助人們實現(xiàn)這些看似并不復雜而實際操作起來非常繁瑣的工作。試想一下,當我們需要查找一個客戶的電話號碼時,只需敲幾下鍵盤,就可以看到客戶的詳細資料(包括姓名、公司名稱、電話、E-mail等),所有這些都是一個完善的**公司客戶管理系統(tǒng)所能完

15、成的。</p><p><b>  第1章 系統(tǒng)分析</b></p><p>  現(xiàn)已確定系統(tǒng)開發(fā)的目標,系統(tǒng)需求規(guī)格。確定軟件系統(tǒng)的總體結(jié)構(gòu),給出系統(tǒng)中各個組成模塊間的聯(lián)系。劃分功能模塊,將軟件功能需求分配給所有單元模塊。下一步工作就是在上述結(jié)果基礎(chǔ)上,考慮怎樣實現(xiàn)這個軟件系統(tǒng)。</p><p><b>  1.1 需求分析<

16、/b></p><p>  根據(jù)市場的需求,要求系統(tǒng)具有以下功能:</p><p>  完全人性化設(shè)計,無需專業(yè)人士指導,即可使用該系統(tǒng)。</p><p>  由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理。</p><p>  系統(tǒng)具有數(shù)據(jù)備份及數(shù)據(jù)還原功能。能夠保證系統(tǒng)數(shù)據(jù)的安全性。</p><p>  方便的

17、全方位的數(shù)據(jù)查詢。</p><p>  強大的報表打印功能。</p><p>  在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好。</p><p>  強大的圖表分析功能。</p><p><b>  退出系統(tǒng)。</b></p><p><b>  1.2 可行性分析</b>

18、</p><p>  當接到客戶管理系統(tǒng)開發(fā)任務(wù),就進入客戶管理開發(fā)的第一個階段,即進行可行性的研究。并不是所有問題具有簡單的解決辦法,許多問題不能在預(yù)定的規(guī)模之內(nèi)解決。因此通過可行性的研究分析可以知道問題。</p><p>  有可行性的解決方法,可以避免人力、物力和才力的浪費。在初步調(diào)查的基礎(chǔ)上就可以提出系統(tǒng)目標,這是系統(tǒng)開發(fā)和評價的依據(jù)。系統(tǒng)目標應(yīng)充分體現(xiàn),直接為客戶管理系統(tǒng)服務(wù),并

19、且,程序可以分期分批實現(xiàn)。但是,需要指出的是,系統(tǒng)目標是不可能在總體規(guī)劃階段就提得非常具體,它還將在開發(fā)過程中逐步明確和定量化。以達到更加出色的程序系統(tǒng)。可是,目標的提法不盡相同,例如:</p><p>  提高客戶管理效率,減輕勞動強度;</p><p>  提高客戶和聯(lián)系人信息處理速度和準確性;</p><p>  為客戶管理人員提供更方便、科學的服務(wù)項目。&l

20、t;/p><p>  系統(tǒng)的目標確定后,就可以從以下兩方面對能否實現(xiàn)新系統(tǒng)目標進行可行性分析:</p><p><b>  一.技術(shù)可行性</b></p><p>  Borland公司的Delphi是一個非常優(yōu)秀的數(shù)據(jù)庫應(yīng)用系統(tǒng)前端開發(fā)工具。這是由于Borland Delphi自1995年2月誕生Version 1.0以后,1996年3月,Bor

21、land Delphi Client/Server Suite 2.0以其高效的數(shù)據(jù)重用功能得以在美國國家軟件測試實驗室進行的軟件評估中獲得了最高評價。隨后,Borland又推出 Delnhi的第三代版本——Delphi 3.0多層 Client/Server的32位快速開發(fā)工具。</p><p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)是一種應(yīng)用計算機技術(shù)完成數(shù)據(jù)處理的計算機應(yīng)用系統(tǒng),數(shù)據(jù)處理則指對各種形式的數(shù)據(jù)進行采集、存儲、加工

22、和傳播的一系列活動的總和。進行數(shù)據(jù)處理的目的是為了從大量原始數(shù)據(jù)中獲得對人類社會活動有價值的信息,以作為行動和采取對策的依據(jù)。</p><p>  因此,開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)需要選擇一種數(shù)據(jù)庫管理系統(tǒng);然后,在其支持之下建立數(shù)據(jù)庫;最后,使用一種開發(fā)工具編制數(shù)據(jù)庫應(yīng)用程序。**公司客戶管理系統(tǒng)所采用的Borland Delphi就是一種可用于編制數(shù)據(jù)庫應(yīng)用程序的開發(fā)工具。 </p><p>

23、  采用二層C/S模式的數(shù)據(jù)庫應(yīng)用系統(tǒng)具有良好的應(yīng)用性能,尤其適用于基于區(qū)域網(wǎng)絡(luò)的網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用系統(tǒng)環(huán)境。在C/S模式數(shù)據(jù)庫應(yīng)用系統(tǒng)中,數(shù)據(jù)庫服務(wù)器端的DBMS可以在多種產(chǎn)品中選用一種,常用的可以有:Microsoft SQL Server,Oracle,SyBase,Informix等等。**公司客戶管理系統(tǒng)將以 Microsoft SQL Server作為數(shù)據(jù)庫管理信息系統(tǒng)。</p><p>  所謂Delp

24、hi數(shù)據(jù)庫應(yīng)用系統(tǒng)是指,應(yīng)用Delphi作為數(shù)據(jù)庫應(yīng)用系統(tǒng)前端程序開發(fā)工具形成的數(shù)據(jù)庫應(yīng)用系統(tǒng)。實際上,Delphi以面向?qū)ο蟮挠^點、可視化操作界面,提供開發(fā)C/S模式數(shù)據(jù)庫應(yīng)用系統(tǒng)的有效支持工具。Delphi在Windows操作系統(tǒng)環(huán)境下運行,提供兩個版本供選擇,標準版本和客戶/服務(wù)器版本。應(yīng)用Delphi開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)過程中,需要設(shè)置數(shù)據(jù)庫訪問和操作功能時,最基本的方法是使用Dephi提供的數(shù)據(jù)庫操作控件。應(yīng)用這些數(shù)據(jù)庫操作控件

25、,可以構(gòu)建形成最基本的Dephi數(shù)據(jù)庫應(yīng)用系統(tǒng)功能。</p><p>  常用的數(shù)據(jù)庫操作控件分別位于Borland Dephi可視化設(shè)計界面的三個組件頁面上:ADO組件頁(ADO)、數(shù)據(jù)訪問組件頁(Data Access)和數(shù)據(jù)控制組件頁(Data Controls)。每一個組件頁上匯集著一些具有相關(guān)功能的控件,當需要選用某一個控件時,應(yīng)該先選定對應(yīng)的組件頁,然后在組件頁上選取所需要的控件。</p>

26、<p>  本系統(tǒng)開發(fā)環(huán)境為Delphi 7.0,數(shù)據(jù)庫為SQL Server 2005數(shù)據(jù)庫。Delphi7是用來快速開發(fā)Windows應(yīng)用程序的應(yīng)用程序開發(fā)工具,可以直觀地使用圖形化工具來創(chuàng)建Windows的應(yīng)用程序。SQL Server2005是Microsoft公司推出的基于客戶/服務(wù)器(C/S)模式的數(shù)據(jù)庫系統(tǒng),它提供了強大的企業(yè)數(shù)據(jù)庫管理功能,是目前世界上的幾個主流數(shù)據(jù)庫管理系統(tǒng)之一。</p>&

27、lt;p><b>  二.運行可行性</b></p><p>  系統(tǒng)的研制和開發(fā)是充分得考慮工作人員對人事信息的易于管理,管理者方便查詢設(shè)備信息效率。從而在開發(fā)時我們用可視化界面,用戶只需根據(jù)界面上的指示進行操作。</p><p><b>  第2章 系統(tǒng)設(shè)計</b></p><p><b>  2.1

28、設(shè)計目標</b></p><p>  本系統(tǒng)屬于小型的數(shù)據(jù)庫系統(tǒng),為了對中小型企業(yè)客戶的管理,實現(xiàn)一些初步的計算機化的管理。通過本系統(tǒng)可以達到以下目標:</p><p>  靈活的運用表格批量輸入數(shù)據(jù),使信息傳遞更快捷。</p><p>  系統(tǒng)采用人機對話方式,界面美觀友好、信息查詢靈活、方便、快捷、準確、數(shù)據(jù)存儲安全可靠。</p>&l

29、t;p><b>  實現(xiàn)各種記錄查詢。</b></p><p>  操作員可以隨時修改自己的口令。</p><p>  管理員可以設(shè)置操作員的權(quán)限</p><p>  對用戶輸入的數(shù)據(jù),系統(tǒng)進行嚴格的數(shù)據(jù)檢驗,盡可能排除人為的錯誤。</p><p>  數(shù)據(jù)保密性強,為每個用戶設(shè)置權(quán)限級別。</p>

30、<p>  系統(tǒng)最大限度地實現(xiàn)了易安裝性、易維護性和易操作性。</p><p>  2.2 開發(fā)及運行環(huán)境</p><p>  系統(tǒng)開發(fā)平臺:Delphi 7.0。</p><p>  數(shù)據(jù)庫管理系統(tǒng)軟件:SQL Server 2005。</p><p>  運行平臺:Windows xp/ Windows 2000。</p&

31、gt;<p>  分辨率:最佳效果1024*768。</p><p><b>  2.3 項目規(guī)劃</b></p><p>  **公司客戶管理系統(tǒng)是一個典型的數(shù)據(jù)庫開發(fā)應(yīng)用程序,由基礎(chǔ)信息維護、客戶信息維護、客戶服務(wù)、客戶信息查詢、打印報表、輔助工具、系統(tǒng)管理等模塊組成,規(guī)劃系統(tǒng)功能模塊如下:</p><p><b>

32、  基礎(chǔ)信息維護模塊</b></p><p>  該模塊主要負責區(qū)域信息設(shè)置、企業(yè)性質(zhì)設(shè)置、企業(yè)類型設(shè)置、企業(yè)資信設(shè)置、客戶級別設(shè)置、客戶滿意程度設(shè)置。</p><p><b>  客戶信息維護模塊</b></p><p>  該模塊主要負責客戶信息、聯(lián)系人信息、業(yè)務(wù)往來、發(fā)送郵件(包括郵件群發(fā)設(shè)置)。</p><

33、;p><b>  客戶服務(wù)模塊</b></p><p>  該模塊主要負責客戶反饋、客戶投訴、客戶反饋滿意程度分析、客戶投訴滿意程度分析。</p><p><b>  客戶信息查詢模塊</b></p><p>  該模塊主要負責客戶信息查詢、聯(lián)系人信息查詢、根據(jù)客戶反饋滿意程度查詢、根據(jù)客戶投訴滿意程序查詢、客戶反饋

34、查詢、客戶投訴查詢。</p><p><b>  打印報表模塊</b></p><p>  該模塊主要負責客戶信息報表、聯(lián)系人信息報表、業(yè)務(wù)往來報表、客戶反饋報表、客戶投拆報表。</p><p><b>  輔助工具模塊</b></p><p>  該模塊主要負責調(diào)用word、調(diào)用Excel、計算器

35、、登錄Internet、工作業(yè)務(wù)備忘、國內(nèi)主要城市區(qū)號郵編查詢。</p><p><b>  系統(tǒng)管理模塊</b></p><p>  該模塊主要負責操作員管理(包括權(quán)限設(shè)置與密碼修改)、查看日志(包括日志清理)、數(shù)據(jù)備份與數(shù)據(jù)恢復、系統(tǒng)數(shù)據(jù)清理。</p><p>  圖2.1 系統(tǒng)功能架構(gòu)圖</p><p>  第3

36、章 系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p>  數(shù)據(jù)庫設(shè)計是整個軟件開發(fā)的核心,數(shù)據(jù)庫設(shè)計的合理否關(guān)系到整個軟件的運行效率以及后期的可維護性與可操作性。數(shù)據(jù)庫設(shè)計主要分為:數(shù)據(jù)庫的概要設(shè)計與數(shù)據(jù)庫的物理設(shè)計兩個方面。</p><p>  3.1 數(shù)據(jù)庫概要設(shè)計</p><p>  在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫,通過決策機構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷

37、了三個領(lǐng)域:信息世界,數(shù)據(jù)世界,現(xiàn)實世界?,F(xiàn)實世界的事物反映到人的頭腦中,人的大腦對它有個認識過程,經(jīng)過分析(選擇、命名、分類等)進入信息世界。這些信息再進一步加工、編碼,然后進入數(shù)據(jù)世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個方面的問題,也就是要考慮系統(tǒng)開發(fā)所需要的數(shù)據(jù),以及如何對這些數(shù)據(jù)進行操作。這兩個問題貫穿了整個軟件系統(tǒng)的開發(fā)過程,這也就是數(shù)據(jù)庫的設(shè)計問題,軟件設(shè)計的一個核心。</p><p>  下面給出*

38、*公司客戶管理系統(tǒng)的數(shù)據(jù)庫概念模型(使用Power Designer設(shè)計):</p><p>  圖 3.1 聯(lián)系人信息,客戶反饋與客戶滿意度實體圖</p><p>  圖3.2 客戶反饋與客戶投訴實體圖</p><p>  圖3.3 用戶信息,客戶信息,企業(yè)類型與省份資源實體圖</p><p>  圖 3.4 業(yè)務(wù)住來,區(qū)域信息,客戶級別,

39、城市信息與滿意度統(tǒng)計實體圖</p><p>  圖3.5 企業(yè)性質(zhì),區(qū)域信息與本單位信息實體圖</p><p>  3.2 數(shù)據(jù)庫物理設(shè)計</p><p>  經(jīng)過數(shù)據(jù)庫的概念設(shè)計后,就可以進入數(shù)據(jù)庫的物理設(shè)計,本系統(tǒng)選用MSSQL Server2005來進行數(shù)據(jù)庫的物理設(shè)計。首先創(chuàng)建17個基本的數(shù)據(jù)庫表。</p><p>  (1) 滿意度

40、統(tǒng)計表(tb_Client_mydtj)</p><p>  滿意度統(tǒng)計表主要用于在客戶滿意度分析窗體中統(tǒng)計客戶對企業(yè)滿意程度的信息。該表結(jié)構(gòu)如表3.1所示。</p><p>  表3.1 滿意度統(tǒng)計表</p><p> ?。?)本單位信息表(tb_bdwxx)</p><p>  本單位信息表,用于顯示本單位的相關(guān)信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3

41、.2所示。</p><p>  表3.2 本單位信息表</p><p> ?。?)城市郵編信息表(tb_Client_csxx)</p><p>  城市郵編信息表,用于顯示全國各城市的郵編信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.3所示。</p><p>  表3.3 城市郵編信息表</p><p> ?。?)工作備忘信息表(

42、tb_Client_gzbw)</p><p>  工作備忘信息表,用于記錄工作中的備忘信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.4所示。</p><p>  表3.4 工作備忘信息表</p><p> ?。?)客戶反饋信息表(tb_Client_khfk)</p><p>  客戶反饋信息表,用于記錄客戶的返饋信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.5所示。<

43、/p><p>  表3.5 客戶反饋信息表</p><p> ?。?)客戶投訴信息表(tb_Client_khts)</p><p>  客戶投訴信息表,用于記錄客戶的投訴信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.6所示。</p><p>  表3.6 客戶反饋信息表</p><p> ?。?)企業(yè)類型信息表(tb_Client_qy

44、lx)</p><p>  企業(yè)類型信息表,用于記錄客戶的投訴信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.7所示。</p><p>  表3.7 企業(yè)類型信息表</p><p> ?。?)區(qū)域信息表(tb_Client_qyxx)</p><p>  區(qū)域信息表,用于記錄客戶的區(qū)域信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.8所示。</p><p>

45、;  表3.8 區(qū)域信息表</p><p> ?。?)企業(yè)性質(zhì)信息表(tb_Client_qyxz)</p><p>  企業(yè)性質(zhì)信息表,用于記錄客戶的性質(zhì)信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.9所示。</p><p>  表3.9 企業(yè)性質(zhì)信息表</p><p> ?。?0)企業(yè)資信信息表(tb_Client_qyzx)</p><

46、;p>  企業(yè)資信信息表,用于記錄客戶的資信度信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.10所示。</p><p>  表3.10 企業(yè)資信信息表</p><p> ?。?1)省份資源信息表(tb_Client_sfzy)</p><p>  省份資源信息表,用于記錄個省份的資源信息。該數(shù)據(jù)表的結(jié)構(gòu)如表3.11所示。</p><p>  表3.11

47、省份資源信息表</p><p> ?。?2)用戶信息表(tb_user)</p><p>  用戶信息表,用于記錄操作用戶的密碼和操作權(quán)限。該數(shù)據(jù)表的結(jié)構(gòu)如表3.12所示。</p><p>  表3.12 用戶信息表</p><p> ?。?3)客戶級別表(tb_client_khjb)</p><p>  滿意度統(tǒng)

48、計表主要保存客戶對企業(yè)滿意度的信息。滿意度統(tǒng)計結(jié)構(gòu)表如表3.13所示。</p><p>  表3.13 滿意度統(tǒng)計表結(jié)構(gòu)</p><p> ?。?4)聯(lián)系人信息表(tb_client_lxrxx)</p><p>  聯(lián)系人信息表主要保存聯(lián)系人的詳細信息。聯(lián)系人信息表結(jié)構(gòu)如表3.14所示。</p><p>  表3.14 聯(lián)系人信息表結(jié)構(gòu)&

49、lt;/p><p> ?。?5)客戶信息表(tb_khxx)</p><p>  客戶信息表主要保存客戶的詳細信息??蛻粜畔⒈斫Y(jié)構(gòu)如表3.15所示。</p><p>  表3.15 客戶信息表結(jié)構(gòu)</p><p> ?。?6)客戶滿意度表(tb_Client_khmyd)</p><p>  客戶滿意度表主要保存客戶滿意

50、度的信息。客戶滿意度表結(jié)構(gòu)如表3.16所示。</p><p>  表3.16 客戶滿意度表結(jié)構(gòu)</p><p> ?。?7)業(yè)務(wù)往來表(tb_Client_cpxs)</p><p>  業(yè)務(wù)往來表主要保存產(chǎn)品銷售的詳細信息。業(yè)務(wù)往來表結(jié)構(gòu)如表3.17所示。</p><p>  表3.17 業(yè)務(wù)往來表結(jié)構(gòu)</p><p&g

51、t;  第4章 主要功能模塊設(shè)計</p><p><b>  4.1 主窗體設(shè)計</b></p><p>  主窗體主要是對**公司客戶管理系統(tǒng)的各模塊進行調(diào)用,通過用戶的正常登錄,在主窗體的任務(wù)欄中顯示操作員的姓名及日期。**公司客戶管理系統(tǒng)主窗體運行結(jié)果如圖4.1所示。</p><p><b>  窗體設(shè)計步驟:</b>

52、;</p><p> ?。?)運行Delphi時,會自動創(chuàng)建一個窗體,設(shè)置該窗體為程序主窗體。命名窗體為“FRM_CRM”,設(shè)置Caption屬性為“**公司客戶管理系統(tǒng)”。</p><p> ?。?)在“Standard”組件頁中點選“TmainMenu”組件,添加到窗體上,雙擊該組件打開菜單編輯器。</p><p>  (3)在“Object Inspector

53、”窗口中,設(shè)置Caption屬性。</p><p> ?。?)在“Win32”組件頁中點選“TTreeView”組件,添加到窗體上。</p><p> ?。?)在“TtreeView”編輯器中單擊【New Item】按鈕,在Text文本框中輸入相關(guān)的信息。</p><p> ?。?)在“Win32”組件頁中點選“TStatusBar”組件,添加到窗體上,雙擊TSta

54、tusBar組件,在彈出的對話框中單擊【Add New】按鈕,添加面板。在“Object Inspector”窗口中設(shè)置面板的Width屬性和Caption屬性。</p><p> ?。?)在“Additional”組件頁中點選“TImage”組件,在窗體上添加2個TImage組件。</p><p>  圖4.1 主窗體運行結(jié)果 </p><p><b>

55、  主要程序代碼:</b></p><p>  在窗體顯示時,先調(diào)用登錄窗體,如果登錄成功則在主界面的任務(wù)欄上顯示操作員名稱及日期。窗體的OnShow事件代碼如下:</p><p>  procedure Tfrm_main.FormShow(Sender: TObject);</p><p><b>  begin</b><

56、/p><p>  FRM_YHDL.ShowModal; // 調(diào)用登錄窗體</p><p>  if dl < 4 then </p><p><b>  begin</b></p><p>  //將當前時間賦給主窗體的任務(wù)欄上</p><p>  StatusBar1.Panel

57、s.Items[4].Text := ' '+datetostr(now()); </p><p>  StatusBar1.Panels.Items[1].Text := '操作員名稱:'+yhmc; </p><p><b>  end;</b></p><p><b>  end;<

58、/b></p><p>  在窗體顯示時,將實時的時間賦給主界面的任務(wù)欄。TTimer組件的OnTimer事件代碼如下:</p><p>  procedure Tfrm_main.Timer1Timer(Sender: TObject);</p><p><b>  begin</b></p><p>  //將

59、動態(tài)的時間賦給主界面的任務(wù)欄上</p><p>  StatusBar1.Panels[5].Text := ' '+timetostr(gettime()); </p><p><b>  end;</b></p><p>  在【區(qū)域信息設(shè)置】按鈕的Onclick事件處理過程中,如果權(quán)限正確則調(diào)用“區(qū)域信息設(shè)置”窗體,否則顯

60、示“超出權(quán)限”對話框。其代碼如下:</p><p>  procedure Tfrm_main.submenu_qyxxszClick(Sender: TObject);</p><p><b>  var</b></p><p>  ssp : string;</p><p><b>  begin</

61、b></p><p>  if Trim(a[1]) = 'True' then</p><p><b>  begin</b></p><p>  ssp := '區(qū)域信息設(shè)置';</p><p>  setLogFile(ssp);</p><p>  a

62、pplication.CreateForm(TFrm_qyxx,frm_qyxx);</p><p>  frm_qyxx.Show;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b><

63、;/p><p>  Application.MessageBox('對不起,你的權(quán)限不夠,請與管理員聯(lián)系!','提示信息',0+64);</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  在TtreeView組

64、件的OnDblClick事件處理過程中,調(diào)用各窗體菜單按鈕單擊事件的處理過程。下面給出部分代碼:</p><p>  procedure Tfrm_main.TreViewDblClick(Sender: TObject);</p><p><b>  begin</b></p><p>  if TreView.Selected.Text =

65、 '調(diào)用Word' then</p><p><b>  begin</b></p><p>  submenu_dyword.OnClick(Sender); //調(diào)用菜單中的'調(diào)用Word'事件...</p><p><b>  end;</b></p><p>

66、;  //--------------------------------------------------------------...</p><p>  if TreView.Selected.Text = '客戶投拆' then</p><p><b>  begin</b></p><p>  submenu_kft

67、s.OnClick(Sender);</p><p><b>  end; </b></p><p>  //--------------------------------------------------------------...</p><p>  If TreView.Selected.Text = '系統(tǒng)數(shù)據(jù)清理'

68、; then</p><p><b>  begin</b></p><p>  submenu_xtsjql.OnClick(Sender);</p><p><b>  end</b></p><p><b>  end;</b></p><p> 

69、 在窗體的OnClose事件處理過程中關(guān)閉所有窗體。其代碼如下:</p><p>  procedure Tfrm_main.submenu_tcxtClick(Sender: TObject);</p><p><b>  begin</b></p><p>  Application.Terminate;//退出系統(tǒng)</p>

70、<p><b>  end;</b></p><p><b>  4.2 數(shù)據(jù)模塊</b></p><p>  數(shù)據(jù)模塊窗體主要功能是統(tǒng)一管理數(shù)據(jù)庫訪問組件,這也是本系統(tǒng)設(shè)計的關(guān)鍵所在,把所有要訪問數(shù)據(jù)庫的組件全放在DataModel模型中,這樣可以統(tǒng)一管理,提高程序的可用性,也方便后期維護。數(shù)據(jù)模塊如圖4.2所示。</p>

71、<p><b>  圖4.2 數(shù)據(jù)模塊</b></p><p>  4.3 登錄模塊設(shè)計</p><p>  登錄模塊主要是通過輸入正確的操作員名稱、密碼和操作員級別進入主窗體,其基本流程為:用戶輸入自己的用戶名,密碼及級別,系統(tǒng)再對其輸入進行判斷,如果全都正確就進入系統(tǒng),在用戶輸入密碼的過程中,為了安全,在此設(shè)置了只能輸入三次,這次就可以防止它人惡意進

72、行系統(tǒng)。同時根據(jù)用戶所選擇的級別的不同提供相應(yīng)的訪問權(quán)限。登錄模塊如圖4.3所示。</p><p>  圖4.3 登錄模塊運行結(jié)果</p><p><b>  主要程序代碼:</b></p><p>  在窗體顯示時,先通過變量jj來判斷登錄窗體的窗體名是“登錄”還是“重新登錄”,然后創(chuàng)建.ini文件,將窗體名和當前日期賦給.ini文件。窗體的

73、OnShow事件代碼如下:</p><p>  procedure Tfrm_yhdl.FormShow(Sender: TObject);</p><p><b>  var</b></p><p>  ini:Tinifile;</p><p>  ssp:string; //用于存儲登錄信息</p>

74、<p><b>  begin</b></p><p>  if jj = 1 then</p><p><b>  begin</b></p><p>  ssp := '重新登錄';</p><p>  frm_yhdl.Caption := '重新登錄

75、9;;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p><b>  dl := 0;</b></p><p>  ssp :=

76、 '登錄';</p><p>  frm_yhdl.Caption := '登錄';</p><p><b>  end;</b></p><p>  ini:=Tinifile.Create('c:\CRM_Log.ini'); //在C盤創(chuàng)建記錄文件</p><p> 

77、 ini.WriteString('one',datetimetostr(now),ssp);//寫記錄文件</p><p>  ini.Free;//釋放記錄文件</p><p>  ed_name.Clear; //用戶名清空</p><p>  ed_password.Clear;</p><p>  cb_jb.Tex

78、t:=cb_jb.Items[0];//使級別選擇第一項</p><p>  ed_name.SetFocus;//用戶名獲得焦點</p><p><b>  end;</b></p><p>  在【確定】按鈕的OnClick事件處理過程中,連接操作員數(shù)據(jù)庫,并按操作員名稱、密碼和級別進行查詢,如果有記錄則把操作員的權(quán)限賦給數(shù)組a[],然后通

79、過變量jj來判斷是“登錄”還是“重新登錄”,如果是“登錄”只能登錄3次,否則將無限制。其代碼如下:</p><p>  procedure Tfrm_yhdl.Btn_dlClick(Sender: TObject);</p><p><b>  var</b></p><p>  P:integer;</p><p>

80、<b>  begin</b></p><p>  if (trim(ed_name.Text) = '') or (trim(ed_password.Text) = '') or (trim(cb_jb.Text) = '') then</p><p><b>  begin</b></p&

81、gt;<p>  application.MessageBox('用戶名或密碼不能為空,請重新輸入!','提示',32);</p><p>  ed_name.Clear;</p><p>  ed_password.Clear;</p><p>  cb_jb.ItemIndex := 0;</p>&l

82、t;p>  ed_name.SetFocus;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  with frm_dm.se_se_user do</p&g

83、t;<p><b>  begin</b></p><p><b>  close;</b></p><p>  parameters.ParamByName('@UserName').Value := trim(ed_name.Text);</p><p>  parameters.Para

84、mByName('@UserPassword').Value:= trim(ed_password.Text);</p><p>  parameters.ParamByName('@UserJb').Value := trim(cb_jb.Text);</p><p><b>  open;</b></p><p&

85、gt;  if RecordCount > 0 then // 存在此用戶記錄</p><p><b>  begin</b></p><p>  yhmc := FieldByName('user_name').AsString;</p><p>  for p := 1 to 31 do</p><

86、;p><b>  begin</b></p><p>  ppl := inttostr(p);</p><p>  a[p]:= booltostr(frm_dm.se_se_user.FieldByName(ppl).AsVariant,True);</p><p><b>  end;</b></p>

87、;<p>  if jj = 1 then</p><p><b>  begin</b></p><p>  frm_yhdl.close;</p><p>  frm_main.Show;</p><p>  frm_Main.StaBar.Panels.Items[1].Text := '

88、操作員名稱: ' + yhmc;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  frm_yhdl.close;</p><p>  f

89、rm_main.Show;</p><p>  frm_Main.StaBar.Panels.Items[1].Text := ' 操作員名稱: ' + yhmc;</p><p><b>  end;</b></p><p><b>  end</b></p><p><b

90、>  else</b></p><p><b>  begin</b></p><p>  showmessage('操作員名稱,密碼或操作員級別不正確'+#13+'請重新輸入.');</p><p>  ed_name.Clear;</p><p>  ed_passw

91、ord.Clear;</p><p>  cb_jb.ItemIndex := 0;</p><p>  ed_name.SetFocus;</p><p>  dl := dl + 1; //登錄次數(shù)加1</p><p><b>  end;</b></p><p><b>  en

92、d;</b></p><p>  if jj <> 1 then</p><p><b>  begin</b></p><p>  if dl = 4 then</p><p><b>  begin</b></p><p>  frm_csh.Cl

93、ose;</p><p><b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  4.4 客戶信息模

94、塊</p><p>  客戶信息是企業(yè)最重要的資源,在**公司客戶管理系統(tǒng)中,對于客戶信息的管理做到了全面,精確,容易。客戶信息模塊主要提供了添加、修改、刪除、查詢客戶信息,上一條,下一條,上一條,末一條的功能??蛻粜畔⒛K運行結(jié)果如圖4.4所示。</p><p>  圖4.4 客戶信息模塊運行結(jié)果</p><p><b>  主要程序代碼:</b

95、></p><p>  窗體顯示時,通過存儲過程,顯示第一個關(guān)于客戶信息的資料信息。窗體的OnShow事件代碼如下:</p><p>  procedure Tfrm_khxx.FormShow(Sender: TObject);</p><p><b>  begin</b></p><p>  with frm

96、_dm.sp_se_khxx do //調(diào)用存儲過程</p><p><b>  begin</b></p><p><b>  Close;</b></p><p><b>  Open;</b></p><p>  First; //定位到第一條記錄</p>

97、<p><b>  //客戶編號</b></p><p>  edClientId.Text := trim(FieldByName('khxx_id').AsString); </p><p><b>  //客戶名稱</b></p><p>  edClientName.Text := Tri

98、m(FieldByName('khxx_mc').AsString);</p><p>  cbQyxz.Text := Trim(FieldByName('khxx_qyxz').AsString); </p><p>  cbClientType.Text := Trim(FieldByName('khxx_qylx').AsString

99、);</p><p><b>  ……</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  在【添加】按鈕的OnClick事件處理過程中,先清空相關(guān)組件上的信息,打開客戶信息表,通過存儲過程自動生成客戶編號,同

100、時調(diào)用存儲過程自動生成企業(yè)性質(zhì),客戶類型,企業(yè)資信,客戶級別,所屬省份,所屬城市供用戶選擇。其代碼如下:</p><p>  procedure Tfrm_khxx.btnAddClick(Sender: TObject);</p><p><b>  var</b></p><p>  iTemp : Integer;</p>

101、<p><b>  begin</b></p><p>  xgbz := 1; //增加數(shù)據(jù)... </p><p>  edClientName.SetFocus;</p><p>  for iTemp := ComponentCount - 1 downto 0 do //使所有文本框為空...</p>&l

102、t;p><b>  begin</b></p><p>  if Components[iTemp] is TEdit then</p><p><b>  begin</b></p><p>  TEdit(Components[iTemp]).Clear;</p><p><b>

103、;  end;</b></p><p><b>  end;</b></p><p>  with sp_se_khxxId do //客戶編號自動增加...</p><p><b>  begin</b></p><p>  edClientId.Text := 'KH

104、9; + FormatDateTime('yyyymm',Now)</p><p>  + Format('%.*d',[6,FieldByName('khxx_id').AsInteger + 1]);</p><p><b>  end;</b></p><p>  with frm_dm.s

105、p_se_qyxz do //增加企業(yè)性質(zhì)以供選擇...</p><p><b>  begin</b></p><p><b>  Close;</b></p><p><b>  Open;</b></p><p><b>  first;</b>&

106、lt;/p><p>  while not Eof do</p><p><b>  begin</b></p><p>  cbQyxz.Items.Add(Trim(FieldByName('qyxz_xzmc').AsString));</p><p><b>  Next;</b>

107、;</p><p><b>  end;</b></p><p>  cbQyxz.ItemIndex := 0;</p><p><b>  end;</b></p><p><b>  …… </b></p><p><b>  end;

108、</b></p><p>  在【保存】按鈕的OnClick事件處理過程中,通過全局變量的相應(yīng)值做相應(yīng)的操作,這兒的事件代碼是最關(guān)鍵的,并對工具按鈕可用度進行設(shè)置。其代碼如下:</p><p>  procedure Tfrm_khxx.btnSaveClick(Sender: TObject);</p><p><b>  begin<

109、/b></p><p>  with frm_dm.sp_in_khxx do //調(diào)用插入客戶信息存儲過程</p><p><b>  begin</b></p><p><b>  Close;</b></p><p>  Parameters.ParamByName('@var_

110、khxx_id').Value:= Trim(edClientId.Text);</p><p>  Parameters.ParamByName('@var_khxx_mc').Value:= Trim(edClientName.Text);</p><p>  Parameters.ParamByName('@var_khxx_qyxz').Va

111、lue:= Trim(cbQyxz.Text);</p><p>  Parameters.ParamByName('@var_khxx_qylx').Value:= Trim(cbClientType.Text);</p><p><b>  ……</b></p><p>  Parameters.ParamByName(&#

112、39;@xgbz').Value := xgbz; //通過修改標志做相應(yīng)操作</p><p>  ExecProc; //執(zhí)行存儲過程</p><p><b>  end;</b></p><p>  在【第一條】按鈕的OnClick事件處理過程中,使指針指向第一條記錄(First),上一條(Prior),下一條(Next),末一條

113、(Last)代碼基本一樣。代碼如下:</p><p>  procedure Tfrm_khxx.btnFirstClick(Sender: TObject);</p><p><b>  begin</b></p><p>  with frm_dm.sp_se_khxx do</p><p><b>  b

114、egin</b></p><p>  First;//使記錄指針移到第一條記錄</p><p>  edClientId.Text := trim(FieldByName('khxx_id').AsString);</p><p>  edClientName.Text := Trim(FieldByName('khxx_mc&#

115、39;).AsString);</p><p><b>  ……</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  4.5 發(fā)送郵件模塊</p><p>  發(fā)送郵件模塊主要是向客戶發(fā)

116、送郵件及群發(fā)郵件。為了能夠發(fā)送郵件,使用了Delphi中Indy控件集中的TIdMessage控件與 TIdSMTP控件實現(xiàn)郵件發(fā)送的功能。發(fā)送郵件模塊運行結(jié)果如圖4.5所示。</p><p>  圖4.5 發(fā)送郵件模塊運行結(jié)果</p><p><b>  主要程序代碼:</b></p><p>  在【發(fā)送郵件】按鈕的OnClick事件處理

117、過程中,通過TidMessage組件將聯(lián)系人信息保存起來,再由TIdSMTP組件進行網(wǎng)絡(luò)的連接和發(fā)送郵件。其代碼如下:</p><p>  procedure Tfrm_fsyj.bbtnFsyjClick(Sender: TObject); //發(fā)送郵件功能代碼...</p><p><b>  begin</b></p><p>  if

118、 (trim(edFjrdz.Text) = '') or (trim(edYfmc.Text) = '') or (Trim(EdMm.Text) = '') or (trim(edSjrdz.Text) = '' ) or (trim(edYjzt.Text) = '') or (trim(edYjfwq.Text) = '') or (

119、trim(edFj.Text) = '') then</p><p><b>  begin</b></p><p>  ShowMessage('請?zhí)顚懭啃畔?');</p><p><b>  end</b></p><p><b>  else<

120、;/b></p><p><b>  begin</b></p><p>  Self.IdMessage1.Clear;</p><p>  Self.IdMessage1.From.Text := trim(edFjrdz.Text);</p><p>  Self.IdMessage1.Recipients.

121、EMailAddresses := edSjrdz.Text;</p><p>  Self.IdMessage1.Body.Assign(Memo1.Lines);</p><p>  Self.IdMessage1.Subject := trim(edYjzt.Text);</p><p>  if trim(edFj.Text) <> '&

122、#39; then</p><p><b>  begin</b></p><p>  TIdAttachment.Create(IdMessage1.MessageParts,edFj.Text);</p><p><b>  end;</b></p><p>  Self.IdSMTP1.Aut

123、henticationType := atLogin;</p><p>  Self.IdSMTP1.Username := trim(edYfmc.Text);</p><p>  Self.IdSMTP1.Password := Trim(EdMm.Text);</p><p>  Self.IdSMTP1.Host := trim(edYjfwq.Text);

124、</p><p><b>  try</b></p><p>  Self.IdSMTP1.Connect();</p><p><b>  try</b></p><p>  Self.IdSMTP1.Send(IdMessage1);</p><p>  ShowMess

125、age('E-Mail已經(jīng)發(fā)送成功!');</p><p><b>  finally</b></p><p>  Self.IdSMTP1.Disconnect;</p><p><b>  end;</b></p><p><b>  except</b>&

126、lt;/p><p>  On e:exception do</p><p><b>  begin</b></p><p>  ShowMessage('E-Mail 發(fā)送失敗:' + E.Message);</p><p><b>  end;</b></p><p

127、><b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  4.6 據(jù)庫配置模塊 </p><p>  “數(shù)據(jù)庫配置模塊”主要完成的功能是當用戶在不同的計算機上附加上**公司客戶管理系統(tǒng)的

128、數(shù)據(jù)庫后,不用去改源代碼來連接數(shù)據(jù)庫,軟件在啟動時會自動檢測,若初始用戶與密碼還有主機名連接不到本機數(shù)據(jù)庫,就會彈出這個窗口,讓用戶輸入本機數(shù)據(jù)庫的用戶名與密碼以及數(shù)據(jù)庫服務(wù)器名稱。這樣有助于軟件的靈活性與健壯性。</p><p><b>  程序相關(guān)代碼:</b></p><p>  “確定”按鈕的單擊事件代碼如下:</p><p>  pr

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論