摘 要:隨著信息技術的應用,特別是計算機應用技術越來越深入且廣泛的應用,為客戶資源管理現代化提供了重要手段。介紹在Visual C++與SQL Server開發環境下客戶資源管理系統的設計方法和具體的實現過程。該系統適合中小型企業對客戶資源的有效管理,從而為企業帶來長久的競爭優勢。
關鍵詞:客戶管理系統;數據庫;Visual C++;SQL
中圖分類號:TP311 文獻標識碼:B
文章編號:1004-373X(2008)10-106-03
Design and Implementation of Customer Relation Management Syetem Based on Visual C++
XIONG Xiangguang,JIANG Tianfa
(College of Computer,South Central University for Nationalities,Wuhan,430073,China)
Abstract:With application of information technology,especially more and more widespread and profound application of computer technology supplies important methods for the modernization of the customer′s resource management system.This article introduces the design method and detailed process of customer management system under the environment of Visual C++ and SQL Server.The system is adapt to small Enterprises managing customer resource,it brings development advanteges for Enterprises.
Keywords:customer management syetem;database;Visual C++;SQL
客戶資源管理是現代企業運作的策略和基礎,是建立在對各種數據分析基礎上的理性思考。其策略是建立企業與客戶的伙伴關系,調動企業市場、銷售、服務等全方位地圍繞客戶運作。其要以客戶為中心,提高客戶滿意度、贏得新客戶,讓整個企業的各個環節都向以客戶為中心轉變,轉變企業管理模式,為客戶提供個性化、一體化的優質服務。國內外對設計資源管理的研究主要集中在3個方面[1] :產品數據管理技術(PDM) 、設計案例管理技術和設計知識庫技術。而長期以來,企業對客戶管理工作大部分還是人工管理,工作效率低下,不能及時了解各類客戶的實際情況,也無法快速進行客戶信息的查詢、統計等操作,不便動態及時調整客戶資料。人工管理存在這樣那樣的弊端是明顯的,如不可避免的人為因素,經常造成數據的遺漏、誤報等。隨著計算機應用技術的發展,管理信息系統成為數據管理更快捷的方式,將實現客戶資源數據的集中管理,消除人工管理的弊端,提高管理效率。由于市場上一些通用的客戶管理軟件不適合每一個企業的實際情況,所以開發適合自己企業的客戶資源管理系統成為必然[2]。
1 系統應用中的關鍵技術
SQL Server是Microsoft公司推出的大型數據庫管理系統,他是建立在成熟而強大的關系模型基礎之上,可以很好地支持客戶機/服務器模式,能夠滿足各種類型的企事業單位對構建自己數據庫的需求,并且具有易用性,可擴展性,可靠性等。為了充分利用SQL Server的強大功能,Visual C++提供了多種數據庫開發技術和編程規范,主要包括ODBC API,MFC ODBC,DAO,OLE DB和ADO;根據其功能和特點,現在采用 MFC ODBC與SQL Server作為開發技術。
1.1 ODBC技術
ODBC(Open DataBase Connectivity)是為數據庫應用程序訪問關系型數據庫時提供的一個統一的接口,對于不同的數據庫,ODBC提供了一套統一的API,使應用程序可以訪問任何一種提供ODBC驅動程序的數據庫。由于直接使用ODBC API編寫應用程序要編制大量的代碼,一般的開發者需要花費大量的精力在非核心代碼的維護上,而MFC ODBC類封裝了ODBC API,從而利用MFC類來創建ODBC的應用程序非常方便。在MFC ODBC類中,常用的類有CDatabase(數據庫類)、Crecordset(記錄集類)、CRecordView(可視記錄集類)和CRBException(異常類)[3]。Cdatabase類對象建立和數據庫數據源的一個連接,通過他可以對數據庫進行操作。例如使用ExecuteSQL函數實現對數據庫記錄的添加、修改和刪除操作;Crecordset類對象代表一個從數據源中獲取的記錄集;CrecordView類對象提供一個表單視圖來顯示和操作記錄集,因為CrecordView類派生于CformView類,同時又綁定一個記錄集,從而可以利用表單視圖方便地顯示、添加、修改和刪除記錄;CRBException類對象處理MFC ODBC訪問類在操作數據庫時發生的異常,他繼承于CException類。MFC ODBC類在操作數據庫時會拋出CRBException異常,這些異常一定要處理,否則程序會異常中止,會給其用戶帶來不便甚至帶來巨大的損失[4,5]。
1.2 SQL技術
SQL是Structured Query Language(結構化查詢語言)的縮寫,是關系數據庫支持的標準查詢語言。SQL在20世紀70年代由IBM推出,隨著關系數據庫管理系統的不斷推出和廣泛普及[6],SQL語言也被廣泛應用。無論是Orcale;Sybase;SQL Server這些大型數據庫管理系統,還是Visual FoxPro,PowerBuilder這些常用數據庫開發系統,都支持SQL語言。SQL語言從功能上可以把他分為3類:
數據定義語言(DDL) 用于定義或修改數據庫和數據庫對象,包括CREATE(創建)、ALTER(修改)和DROP(刪除)等語句。
數據處理語言(DML) 用于完成數據處理,如添加、修改或刪除數據,包括INSERT(插入)、UPDATE(更新)和DELETE(刪除)等語句。
數據控制語言(DCL) 用于管理數據庫用戶權限,包括GRANT(授權)和REVOKE(撤權)等語句。
在SQL Server 2000中,創建數據庫、數據表、關系、視圖和索引等數據對象時,不僅可以使用SQL命令操作,還可以使用SQL Server 2000提供的工具或向導,快述、方便地創建和訪問數據庫對象,同時SQL Server 2000也提供完成維護、備份和管理等數據庫管理工作的工具。
2 系統設計
本系統力求高起點、高標準、嚴要求,盡可能滿足企業的要求和能實現自動處理相關的業務需要,因此在系統設計階段,首先必須要了解和澄清用戶的需求,其次依照需求對系統進行模塊劃分,最后根據模塊之間的關系整理出系統的流程。本文經過仔細的分析系統需求之后,為該系統制定了如下目標:
(1) 系統應具有良好的人機界面,易學易用;
(2) 用戶進入系統前需要身份驗證方可進入,登陸后可對客戶資源進行查詢和編輯;
(3) 管理員應可根據需要定義客戶類型信息,可對客戶信息進行修改和刪除;
(4) 管理員應可定義客戶的詳細信息,對客戶的詳細信息進行修改和刪除。
2.1 系統的主要功能模塊
通過對系統的功能分析,本系統的功能模塊圖如圖1所示。

系統管理 提供了系統的訪問控制功能。系統管理員通過此模塊,可以很方便,快捷地完成系統的初始化配置工作,主要功能包括權限管理,數據管理,系統基礎配置等。
客戶類型管理 即系統的配置信息管理,包括添加、修改和刪除等操作,其客戶類型信息包括客戶所在的地區、職位、行業等。
客戶信息管理 提供的功能為添加、刪除、修改客戶的基本信息,其包括姓名、年齡、行業、職位、聯系方式等。
客戶查詢管理 主要包括按姓名查詢、詳細信息查詢和統計信息查詢3種。通過這些查詢接口可以更加方便地利用SQL Server數據庫的強大功能為客戶資源提供服務[7,8]。
2.2 系統流程分析
由定義給出的功能模塊,當用戶登陸系統后可以擁有權限進行客戶詳細信息編輯及查詢等操作,具體的流程如圖2所示。

2.3 數據庫設計
數據庫的設計是整個數據庫應用系統開發過程中的一個重要環節,數據庫結構設計的好壞將直接影響到系統的效率和功能的實現。其主要由2個部分組成:
E-R圖的的設計,即概念模型的設計;表與字段的設計,即邏輯模型的設計。
在概念模型設計時,因本系統的需求主要體現在對各種信息的保存、修改、查詢等方面,故設計的數據庫信息為:地方信息:其包括地方ID、地方名稱;結識途徑信息:包括結識途徑ID、結識途徑名稱;職位信息:包括職位ID、職位名稱;行業信息:包括行業ID、行業名稱;客戶信息:包括客戶ID、姓名、所在地、職位、行業、所在單位、結識途徑、郵件地址、固定電話、移動電話、愛好等。在邏輯結構設計時,一是需對實體建立相對應的表,二是建立表與表之間的聯系[9]。
2.4 系統框架和模塊設計
工程框架的設計首先主要是應用VC所提供的控件進行系統主界面的設計,其主要包括客戶信息管理,地區信息管理,職位信息管理等幾個部分。這部分主要是設置好每個部分的控件類型,ID,屬性和方法,其次是處理數據庫的連接和把數據顯示到界面上。現在數據庫的連接采用ODBC方式,為了能從數據庫中讀取數據并顯示到列表框控件中,需要在CHRDBSDlg類中定義一個InitCtrlData私有函數,同時還需要定義2個分別把數據插入到列表框控件中的函數,分別為InsertConfigItem和InsertCRInfoItem,前者負責把數據插入到系統配置列表框控件中,后者負責把數據插入到客戶信息列表框控件中[10]。
系統模塊的設計主要有登陸、配置信息管理、客戶信息管理與客戶查詢管理的設計。其中登陸模塊主要是設計進入系統之前進行的身份驗證;配置信息管理模塊主要包括地區信息,結識途徑信息,職位信息和行業信息;客戶信息管理主要包括添加客戶信息,修改客戶信息和刪除客戶信息;客戶查詢管理主要包括詳細信息查詢,統計信息查詢和按姓名查詢,其按姓名查詢采用了模糊查詢的方式。例如輸入姓名為“熊”,則查詢時會在客戶信息列表框中顯示所有姓“熊”的客戶信息。
3 結 語
隨著新技術的廣泛應用,全世界范圍內的各個企業都在經歷一場深刻的變革,尤其是在企業怎樣與客戶和潛在客戶進行互動交流這一點上體現得特別明顯。從管理的角度來說,企業關注的焦點逐漸由改進內部運作轉移到更多地關注客戶上來。目前的CRM軟件通過建立一個系統,使企業在客戶服務、市場競爭、銷售及支持方面形成彼此協調的全新關系實體,為企業帶來長久的競爭優勢,從而提高了生產率。但是,CRM是個高度復雜的系統,不同的企業的管理模式不盡相同,不可能使所有的企業都來使用這個高度復雜的系統,故開發一個適合自己企業的CRM系統是現今企業的當務之急。本文實現的客戶資源管理系統,適合中小型企業對客戶資源的有效管理,為員工提供個性化、一體化的優質服務,為管理者提高了效率。
參 考 文 獻
[1]Wang F J,Mills J J,Devarajan V.A Conceptual Approach Managing Design Resource [J].Computers in Industry,2002,47:169-183.
[2]蔣天發.含空值關系數據庫泛關系及其實例的研究[J].武漢大學學報:工學版,2004,37(6):89-92.
[3]李濤,王永皎.VC++數據庫開發與實例[M].北京:清華大學出版社,2006.
[4]Gorti S R.An Object-oriented Representation for Product and Design Processes[J].Computer-Aided Design,1998,30(7):489-501.
[5]劉炳文.精通Visual C++6.0(中文版)[M].北京:電子工業出版社,1999.
[6]蔣天發.關系數據庫中的空值與數據依賴滿足性變換算法[J].武漢汽車工業大學學報,2000(5):49-52.
[7]Watson I,Perera S.A Hierarchical Case Representation Using Context Guided Retrieval [J].Knowledge-based Systems,1998,11(2):285-292.
[8]何榮勤.CRM原理設計實踐[M].北京:電子工業出版社,2006.
[9]付良,王寧,丁貴勇,等.基于面向對象技術的作戰仿真數據庫系統設計[J].現代電子技術,2007,30(18):94-96.
[10]Jiang Tianfa,Jiang Wei.A Performance Analysis on theCooperation based Intranet[J].Journal of Wuhan University of Technology(Transportation Science Engineering),2005,29(2):319-322.
作者簡介
熊祥光 男,1984年出生,貴州人,碩士研究生。主要研究方向為網絡安全和網格技術。
蔣天發 男,1954年出生,湖北荊門人,中南民族大學計算機科學學院教授,研究生導師,中國高等學校電子教育學會副理事長。