畢業(yè)設計-客戶關系管理系統(tǒng)論文.doc_第1頁
畢業(yè)設計-客戶關系管理系統(tǒng)論文.doc_第2頁
畢業(yè)設計-客戶關系管理系統(tǒng)論文.doc_第3頁
畢業(yè)設計-客戶關系管理系統(tǒng)論文.doc_第4頁
畢業(yè)設計-客戶關系管理系統(tǒng)論文.doc_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設計(論文)客戶關系管理系統(tǒng)目錄第一章 概述- 1 -1.1 管理信息系統(tǒng)簡介- 1 -1.2 面向?qū)ο蟮某绦蛟O計簡介- 3 -1.3 系統(tǒng)軟件開發(fā)環(huán)境簡介- 4 -1.4 sql server簡述- 5 -第二章 系統(tǒng)分析與設計- 7 -2.1 系統(tǒng)規(guī)劃- 7 -2.1.1問題定義與項目開發(fā)背景- 7 -2.1.2可行性分析報告- 8 -2.2 系統(tǒng)分析- 8 -2.2.1用戶需求的分析- 8 -2.2.2現(xiàn)行系統(tǒng)的業(yè)務流程調(diào)查.- 8 -2.2.3基本的開發(fā)思路- 9 -2.3 系統(tǒng)設計- 9 -2.3.1系統(tǒng)設計目標- 9 -2.3.2開發(fā)設計思想- 9 -2.3.3系統(tǒng)功能分析- 10 -2.3.4系統(tǒng)功能模塊設計- 10 -第三章 數(shù)據(jù)庫設計- 12 -3.1 數(shù)據(jù)庫概述- 12 -3.2 數(shù)據(jù)字典- 12 -3.3 數(shù)據(jù)庫概念結(jié)構(gòu)設計- 14 -3.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計- 16 -3.5 輸入輸出設計- 17 -3.6 系統(tǒng)各模塊設計- 18 -3.6.1應用程序?qū)ο蟮膭?chuàng)建- 18 -3.6.2登錄窗口的設計- 19 -3.6.3建立應用程序主窗口- 22 -3.6.4子窗口的設計- 24 -第四章 軟件打包過程- 34 -4.1生成可執(zhí)行文件- 34 -4.2生成安裝文件- 34 -第五章 軟件測試- 36 -5.1測試的目的與方法- 36 -5.2 針對本系統(tǒng)的具體測試- 37 -總 結(jié)- 38 -參考文獻- 39 -致 謝- 40 -附錄一- 41 -附錄二- 42 -附錄三- 43 -57 第一章 概述計算機已經(jīng)成為我們學習和工作的得力助手。今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步,它已經(jīng)被應用于許多的領域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多的復雜的勞動。其次,計算機可以大大的提高人們的工作效率。第三,計算機可以節(jié)省許多資源。第四,計算機可以使敏感文檔更加安全。雖然現(xiàn)有的客戶關系檔案的管理水平較高,但作為跨世紀的一代計算機專業(yè)的大學生,我希望在這方面有所成績。改革的總設計師鄧小平同志說過:科學技術是第一生產(chǎn)力。我希望能用所學的知識編制一個更加適用的程序來幫助企事業(yè)單位進行更有效的客戶關系檔案的管理。 1.1 管理信息系統(tǒng)簡介管理信息系統(tǒng)mis(manage information system)是由人和計算機等組成的能進行管理信息的多種操作(包括收集、儲存、加工、維護和使用)的系統(tǒng)。它由四個要素組成。即現(xiàn)代化經(jīng)濟管理理論、系統(tǒng)工程、數(shù)學方法和計算機手段。其目的是通過自動化的事務處理方法來監(jiān)視和控制企業(yè)、學校的行為、通過對歷史數(shù)據(jù)的科學統(tǒng)計提供可靠的預測數(shù)據(jù)。并通過一些優(yōu)化方法提供決策依據(jù),管理信息系統(tǒng)是生產(chǎn)力發(fā)展的階段標志是現(xiàn)代管理的綜合體現(xiàn)。一個mis系統(tǒng)的開發(fā)應分為如下步驟進行。1)系統(tǒng)任務的提出。系統(tǒng)開發(fā)的工作是從接受任務開始的,而系統(tǒng)任務應由系統(tǒng)用戶提出,以書面的形式給予表達。2)初步系統(tǒng)調(diào)查。初步系統(tǒng)調(diào)查著重了解存在的主要問題和用戶提出的目的要求,并制定新系統(tǒng)總體規(guī)劃。3)確定系統(tǒng)目標。經(jīng)過初步系統(tǒng)調(diào)查,了解了用戶的基本狀況和用戶對系統(tǒng)的設想及要求后,系統(tǒng)開發(fā)人員就可以初步提出網(wǎng)頁系統(tǒng)的系統(tǒng)目標。4)系統(tǒng)的可行性研究。系統(tǒng)的可行性研究包括可能性和必要性。有技術上的,經(jīng)濟上的,人力資源上的,以及組織管理上的。經(jīng)過系統(tǒng)的可行性研究,最后應寫出一份系統(tǒng)可行性分析報告。分析報告是系統(tǒng)開發(fā)人員第一階段工作的小結(jié)。5)詳細的系統(tǒng)調(diào)查。通過詳細的系統(tǒng)調(diào)查。可以得到人工管理業(yè)務的處理辦法,并詳細地掌握住處的流程,總結(jié)出現(xiàn)有業(yè)務過程的規(guī)律,存在的問題。從而提出改進措施。6)現(xiàn)行系統(tǒng)的描述與分析。著重用來分析現(xiàn)行系統(tǒng)頁面設計后,相關性板塊信息交互的方便性。特別是要分析現(xiàn)行網(wǎng)頁系統(tǒng)存在主要問題和管理上的薄弱環(huán)節(jié),以及產(chǎn)生這些問題的原因和解決辦法。7)用戶需求及功能分析。用戶需求因不同用戶而有所區(qū)別,但主要可分為系統(tǒng)范圍,信息的處理和技術性三個方面。8) 新系統(tǒng)的邏輯模型。通過對現(xiàn)行系統(tǒng)的進行詳細調(diào)查,分析及用戶需求分析后,就可以確定新系統(tǒng)的邏輯模型。新系統(tǒng)的模型包括新系統(tǒng)的功能要求、目標、界面之間鏈接、數(shù)據(jù)字典等。9) 編碼對象的分析及編碼體系結(jié)構(gòu)的確定。在系統(tǒng)分析階段,對現(xiàn)行系統(tǒng)及動態(tài)網(wǎng)頁系統(tǒng)將要采用的編碼對象及方法應該認真分析,以確定先進的科學的高效的系統(tǒng)編碼體系。10) 系統(tǒng)的軟件,硬件配置建議。分析人員應對網(wǎng)頁系統(tǒng)所需的計算機系統(tǒng)的配置提出建議。11) 系統(tǒng)的物理編程。根據(jù)不同的系統(tǒng)要求以及用戶軟、硬件技術狀況,在合適的平臺上,選取相宜的語言和工具進行實際編程。12) 軟件調(diào)查。對設計的原代碼進行調(diào)試,以修改其中錯誤,從而確定系統(tǒng)的可靠性。13) 功能測試。對照系統(tǒng)分析中提出的系統(tǒng)功能要求,應進行系統(tǒng)的功能測試,以確定系統(tǒng)可預期的功能。14) 系統(tǒng)的性能評價以及完善文檔。系統(tǒng)的性能評價應包括基礎的軟硬件,支持系統(tǒng)占用空間等。系統(tǒng)交付時,應同時交付完善的文檔。1.2 面向?qū)ο蟮某绦蛟O計簡介面向?qū)ο蟮姆椒▽W是要求按人們通常的思維方式建立問題領域的模型,設計出盡可能自然表現(xiàn)求解方法的軟件。所謂建立模型就是建立問題領域中事物間相互關系。而表現(xiàn)求解問題的方法就是人們思維方法的描述。在面向?qū)ο蟮脑O計方法中對象(object)和傳遞信息(message passing)分別表現(xiàn)事物和事物間的關系。類(class)和繼承性是描述人們思維方式的描述方法。方法(method)是在可進行的操作,這種對象、類、消息、方法的程序設計范式的關鍵在于對象的封裝和繼承性。通過封裝能將對象的定義和實現(xiàn)分開。通過繼承性,體現(xiàn)了類與類之間的關系,以及由此帶來的基本特征。下面將從面向?qū)ο蟮姆椒▽W方面對有關概念作簡要介紹。1) 對象我們把面向現(xiàn)實世界中的實體就稱為問題空間的對象從動態(tài)的觀點看,對象的操作就是對象的行為,從存儲的角度看,對象是計算機內(nèi)存中的一塊私有存儲區(qū),在這塊存儲區(qū)中有數(shù)據(jù)、有方法。在面向?qū)ο蟮某绦蛟O計中,對象是該系統(tǒng)的基本運行實體,對于每個對象而言,都有與該對象對應的方法,而與每個對象相關的方法,就是定義了該對象的操作。2) 消息和方法在對象之間,消息是他們之間的唯一聯(lián)系。在面向?qū)ο蟮某绦颦h(huán)境中設計的程序,它的執(zhí)行是依靠對象消息傳遞來完成的。 把所以的對象分為各種對象類,每個對象類,都定義了一組方法,所謂方法就是允許在對象類上進行的各種操作。3) 類在面向?qū)ο蟮某绦蛟O計中,對象是程序設計的最基本的單位,相似的對象可以并到一類中去,程序員只需定義一個類,就可根據(jù)這個類得到若干個實例,其中每個實例就是一個對象。4) 繼承性繼承性是自動地共享類、子類、對象中的方法和數(shù)據(jù)的一種機制,繼承性可減少程序設計中編寫代碼的工作量,它不僅支持系統(tǒng)的可重用性,而且還促進了系統(tǒng)的可擴充性。5) 封裝性所謂封裝是一種信息隱蔽技術,用戶只能看到對象封裝界面上的信息,而對象內(nèi)部對用戶透明,封裝的目的是把對象的使用著和對象的設計著分開,使用著只需設計訪問對象的消息。6) 多態(tài)性當同樣的消息可發(fā)送到父類的對象和它的子類的對象時,這就被稱為多太性。由于多態(tài)性具有可表達對象的多個類的能力。因此,它既與動態(tài)類型有關,又與靜態(tài)類型有關。7) 動態(tài)聚束一個程序經(jīng)過編譯,連接生成的可執(zhí)行文件代碼,其過程就是將執(zhí)行代碼聚束在一起,若這一過程發(fā)生在程序設計時,就稱為動態(tài)聚束。面向?qū)ο笳Z言常使用這一類聚束方式,它具有程序簡單性和可擴充性等優(yōu)點。本系統(tǒng)在編制過程中,多次利用面向?qū)ο蟮募夹g特點。在后面的章節(jié)中將分別予以說明。1.3 系統(tǒng)軟件開發(fā)環(huán)境簡介本系統(tǒng)已經(jīng)在計算機上進行開發(fā)并獲得通過了,同時方便系統(tǒng)開發(fā),減少開發(fā)過程的難度,我們是基于以下的軟件環(huán)境。以windows xp為操作系統(tǒng)以powerbuilder9.0為開發(fā)工具windows xp是目前主流操作系統(tǒng),而powerbuilder9.0是一種優(yōu)秀的面向?qū)ο蟮摹⒅С侄喾N數(shù)據(jù)庫應用的開發(fā)工具。我在系統(tǒng)開發(fā)過程中深深地感受到powerbuider9.0的強大威力。下面我結(jié)合自己的體會對powerbuilder9.0作以下簡要介紹。powerbuilder是美國著名的powersoft公司于20世紀90年代初推出的基于客戶/服務器體系結(jié)構(gòu)的面向?qū)ο髷?shù)據(jù)庫開發(fā)工具. powerbuilder9.0是powerbuilder的最新版本.它專門用來設計,建立高性能的基于分布式,客戶/服務器體系結(jié)構(gòu)的網(wǎng)絡應用系統(tǒng),同時全面支持分布式計算和web環(huán)境.powerbuilder9.0為數(shù)據(jù)庫的應用開發(fā)提供了全面綜合性的支持,具有自己非常突出的特點:1.可視化的快速開發(fā)環(huán)境.2.面向?qū)ο?.事件驅(qū)動.4.功能強大的編程語言與函數(shù).5.跨平臺開發(fā).6.開放的數(shù)據(jù)庫連接系統(tǒng).在后面的篇幅里,我將詳細的說明我是如何利用powerbuilder9.0進行客戶關系管理系統(tǒng)的系統(tǒng)開發(fā)的。1.4 sql server簡述sql server 是一個后臺數(shù)據(jù)庫管理系統(tǒng),它功能強大操作簡便,日益為廣大數(shù)據(jù)庫用戶所喜愛。越來越多的開發(fā)工具提供了與sql server的接口。sql server 是一個關系數(shù)據(jù)庫管理系統(tǒng),它最初是由microsoft、sybase 和ashton-tate三家公司共同開發(fā)的。于1988 年推出了第一個os/2 版本,在windows nt 推出后,microsoft與sybase 在sql server 的開發(fā)上就分道揚鑣了,microsoft 將sql server 移植到windows nt系統(tǒng)上,專注于開發(fā)推廣sql server 的windows nt 版本。sql server 2000 是microsoft 公司推出的sql server 數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本繼承了sql server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進的功能、具有使用方便、可伸縮性好與相關軟件集成程度高等優(yōu)點??煽缭綇倪\行microsoft windows 2000的膝上型電腦到運行microsoft windows xp 的大型多處理器的服務器等多種平臺使用。sql server不但可以應用于大中型數(shù)據(jù)庫管理中,建立分布式關系數(shù)據(jù)庫,并且也可以開發(fā)桌面數(shù)據(jù)庫。事實上,sql server數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關系型數(shù)據(jù)庫模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在sql server的數(shù)據(jù)庫處理方式,則是使用面向?qū)ο蟮牟僮鞣绞脚c精神,也就是說,sql server的所有功能,都可以基于系統(tǒng)已經(jīng)建立好的一些對象來達成,是相當oo(面向?qū)ο螅┑囊粋€系統(tǒng)結(jié)構(gòu)。sql server 企業(yè)管理器是 sql server 的主要管理工具,它提供了一個遵從 mmc 標準的用戶界面,使用戶得以 定義 sql server 實例組。 將個別服務器注冊到組中。 為每個已注冊的服務器配置所有 sql server 選項。 在每個已注冊的服務器中創(chuàng)建并管理所有 sql server 數(shù)據(jù)庫、對象、登錄、用戶和權限。 在每個已注冊的服務器上定義并執(zhí)行所有 sql server 管理任務。 通過喚醒調(diào)用 sql 查詢分析器,交互地設計并測試 sql 語句、批處理和腳本。 喚醒調(diào)用為 sql server 定義的各種向?qū)А5诙?系統(tǒng)分析與設計系統(tǒng)分析也稱邏輯設計,即建立新的邏輯模型,在邏輯上規(guī)定新系統(tǒng)的功能但不涉及新系統(tǒng)具體的物理實現(xiàn),系統(tǒng)設計也稱系統(tǒng)的物理設計,是在系統(tǒng)分析的基礎上將系統(tǒng)分析階段反映用戶需求的邏輯模型轉(zhuǎn)換為可以具體實施的物理模型,并做好編程前的準備工作。2.1 系統(tǒng)規(guī)劃管理信息系統(tǒng)的總體規(guī)劃又稱mis的戰(zhàn)略規(guī)劃,是管理信息系統(tǒng)生命周期的第一個階段,也是管理信息系統(tǒng)開發(fā)過程的第一步。這一階段的主要任務是明確系統(tǒng)的開發(fā)背景和可行性分析論證。2.1.1問題定義與項目開發(fā)背景借助現(xiàn)代信息技術和管理理論,建立企業(yè)管理信息系統(tǒng)是當今社會的重要趨勢。對企業(yè)而言,全面開發(fā)和應用計算機管理信息系統(tǒng)就是近期不能回避的問題。在企業(yè)管理中,人力資源是企業(yè)最寶貴的資源,也是企業(yè)的“生命線”,因此人事管理是企業(yè)的計算機管理信息系統(tǒng)重要組成部分。而客戶關系管理又是人力資源管理的重中之重。實行電子化的客戶關系管理,可以讓人力資源管理人員從繁重瑣碎的案頭工作解脫出來,去完成更重要的工作??蛻絷P系管理信息系統(tǒng)的實現(xiàn)可以減輕比較繁瑣的手工客戶管理。隨著經(jīng)濟的發(fā)展,企業(yè)的規(guī)模也不斷擴大,客戶流動日趨頻繁,與交易有關的內(nèi)容也日益細化。因此客戶關系管理的工作量也隨之增加,以往的人工處理方式就顯得力不從心,勞動強度大而且容易出錯。因此有必要開發(fā)一個客戶關系管理系統(tǒng)。用計算機管理代替人工管理系統(tǒng)一系列的工作。實現(xiàn)企業(yè)客戶關系管理的系統(tǒng)化、規(guī)范化、自動化,從而達到提高企業(yè)管理效率的目的。2.1.2可行性分析報告可行性研究的目的使用最小的代價在盡可能短的時間里確定問題是否能解決,通過復雜系統(tǒng)的規(guī)模與目標,研究與此類似的系統(tǒng)后,我們具體從下兩個方面考慮。1)技術上的可行性。由于對企業(yè)客戶關系管理系統(tǒng)這一類的企業(yè)系統(tǒng)進行開發(fā)已有一定的時期,有很多成功的實例,技術基礎也已經(jīng)非常雄厚,因而技術上的準備應該不成問題。2)經(jīng)濟上的可行性。 由于客戶關系管理系統(tǒng)是一個不是很復雜的系統(tǒng),是由我們一個小組的成員進行開發(fā)的,所以從人力、物力、財力方面來說都是可行的。2.2 系統(tǒng)分析系統(tǒng)分析是在總體規(guī)劃的指導下,對系統(tǒng)進行深入詳細的調(diào)查研究,確定新系統(tǒng)邏輯模型的過程2.2.1用戶需求的分析對用戶需求的分析應該全面、深入、發(fā)展,全面是指考查由管理的信息是否有紕漏,必須保證各靜態(tài)、動態(tài)信息的完全;深入是指對信息的內(nèi)容、結(jié)構(gòu)、含義、變換、生存周期的分析和認識;發(fā)展是指對信息未來發(fā)展變化的預測,因為信息在某個系統(tǒng)、機構(gòu)內(nèi)的變化往往存在著自身特有的發(fā)展規(guī)律,需求分析應該預見這種規(guī)律,否則就會縮短使用壽命。為了保證需求分析的完備性,就必須保證需求分析的時間。2.2.2現(xiàn)行系統(tǒng)的業(yè)務流程調(diào)查. 調(diào)查某企業(yè)客戶關系管理流程發(fā)現(xiàn),在手工條件下每天記錄客戶基本信息一般分為三個階段。第一階段:記錄原始憑證原始憑證記錄主要有客戶編號、客戶名稱、客戶性別、客戶類型、客戶級別、客戶狀態(tài)、客戶階段、客戶來源、行業(yè)類別、企業(yè)性質(zhì)、所在國家、所在省份、所在城市、通訊地址、業(yè)務電話、傳真電話、公司網(wǎng)址、郵政編碼、電子郵箱、添加日期、備注、業(yè)務員信息。原始憑證必須完整、準確、如實填寫。第二階段:消費登記第三階段:機會分析為了審查企業(yè)客戶關系預算的執(zhí)行情況,客戶部門要根據(jù)客戶的狀態(tài),匯總編制客戶關系信息表。2.2.3基本的開發(fā)思路正如研究任何其它軟件項目一樣,需要熟悉開發(fā)環(huán)境,實驗關鍵技術,查找類似的相關系統(tǒng)的資料;系統(tǒng)概要設計,數(shù)據(jù)庫結(jié)構(gòu)設計,功能模塊開發(fā),功能模塊測試,系統(tǒng)調(diào)試和系統(tǒng)試運行和修改。2.3 系統(tǒng)設計系統(tǒng)設計階段根據(jù)經(jīng)濟、技術和運行環(huán)境等方面的條件,詳細地確定出新系統(tǒng)的結(jié)構(gòu),為管理信息系統(tǒng)的實施提供必要的技術方案。2.3.1系統(tǒng)設計目標1)系統(tǒng)開發(fā)的總體任務是實現(xiàn)企業(yè)客戶關系管理的系統(tǒng)化、規(guī)范化和自動化。2)能夠和其他各種管理系統(tǒng)相結(jié)合,真正實現(xiàn)企業(yè)高效、科學、現(xiàn)代化的客戶關系管理。2.3.2開發(fā)設計思想1)盡量采用公司現(xiàn)有軟硬件環(huán)境,及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用公司資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。2)系統(tǒng)應符合公司管理的規(guī)定,滿足公司客戶管理工作需要,并達到操作過程中的直觀、方便、實用、安全等要求。3)系統(tǒng)采用c/s體現(xiàn)結(jié)構(gòu),客戶端負責提供表達邏輯、顯示用戶界面信息、訪問數(shù)據(jù)庫服務器,服務器端則用于提供數(shù)據(jù)服務。4)系統(tǒng)采用模塊化程序設計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術維護人員補充、維護。5)系統(tǒng)應具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、數(shù)據(jù)庫備份和初始化等功能。2.3.3系統(tǒng)功能分析客戶關系管理涉及企業(yè)管理的多個方面,如客戶流動變化、客戶情況、信息維護等。根據(jù)這些信息,通過信息統(tǒng)計分析,產(chǎn)生相應圖表。客戶信息管理的特點是關聯(lián)的方面比較多,信息處理比較大。因此對于本系統(tǒng)的設計,需要采取了下面的一些原則:1.在公司范圍內(nèi)統(tǒng)一各種原始單據(jù)的格式,統(tǒng)一帳單和報表的格式。2.刪除不必要的管理冗余,實現(xiàn)管理規(guī)范化、科學化。3.程序代碼標準化,軟件統(tǒng)一化,確定軟件的可維護性和實用性。4.能夠連接各個關聯(lián)的數(shù)據(jù)庫,獲取數(shù)據(jù)庫中的信息。保證各個數(shù)據(jù)庫表格相關的項目之間具有相同的屬性,在上面設計原則的基礎上,完成系統(tǒng)功能分析。本系統(tǒng)需要完成功能主要有:1) 客戶基本信息維護:包括添加、修改、刪除客戶基本個人信息(包括客戶的狀態(tài)的修改,如活躍、停頓、流失三種狀態(tài)等)。2) 客戶基本信息查詢:按客戶號或客戶名進行查詢客戶個人信息。全部客戶信息匯總,所有部門信息匯總等3) 系統(tǒng)維護功能:管理員信息維護 主要實現(xiàn)管理員信息的增加、口令修改、刪除。4) 客戶管理:包括新增用戶、刪除用戶、修改客戶狀態(tài)等。5) 銷售信息記錄:用于實現(xiàn)客戶銷售信息的修改和查詢。6) 數(shù)據(jù)庫備份與初始化。等一系列功能。2.3.4系統(tǒng)功能模塊設計在系統(tǒng)功能分析的基礎上,考慮power builder程序編程的特點,得到如圖2.1所示的系統(tǒng)功能模塊圖。 客戶關系管理系統(tǒng) 系 系 數(shù) 信 機 系統(tǒng) 統(tǒng) 據(jù) 息 會 統(tǒng)文 維 操 查 管 幫件 護 作 看 理 助模 模 模 模 模 模塊 塊 塊 塊 塊 塊如圖2.1由客戶關系管理系統(tǒng)和企業(yè)中其它系統(tǒng)的關系可知,客戶關系管理系統(tǒng)是全企業(yè)信息管理系統(tǒng)的一個有機組成部分。第三章 數(shù)據(jù)庫設計在管理信息系統(tǒng)中,數(shù)據(jù)存儲主要通過數(shù)據(jù)庫實現(xiàn),數(shù)據(jù)庫決定了數(shù)據(jù)存儲的組織形式,以及數(shù)據(jù)處理的速度和效率,因此數(shù)據(jù)庫設計是整個系統(tǒng)設計的重要的組成部分。3.1 數(shù)據(jù)庫概述 1) 數(shù)據(jù)庫:(data base ,db)數(shù)據(jù)庫是指按一定的組織方式存儲在外存儲器中邏輯相關的數(shù)據(jù)集合。2) 數(shù)據(jù)庫系統(tǒng):(data base system ,dbs)數(shù)據(jù)庫系統(tǒng)是一個引進數(shù)據(jù)庫管理系統(tǒng),具有數(shù)據(jù)庫管理功能的計算機軟硬件系統(tǒng)。3) 數(shù)據(jù)庫管理系統(tǒng):(data base management system ,dbms)數(shù)據(jù)庫管理系統(tǒng)是一組對數(shù)據(jù)庫進行管理的軟件,通常包括數(shù)據(jù)定義語言及編譯程序、數(shù)據(jù)操縱語言及編譯程序和數(shù)據(jù)管理程序。3.2 數(shù)據(jù)字典 用數(shù)據(jù)字典描述數(shù)據(jù)庫的設計,便于維護和修改。為了更好地組織數(shù)據(jù)和設計出實際應用數(shù)據(jù)庫,應該注意如下問題:1) 規(guī)范化地重組數(shù)據(jù)結(jié)構(gòu):對數(shù)據(jù)進行規(guī)范化表達,這在后面將會具體討論。2) 關系數(shù)據(jù)結(jié)構(gòu)的建立:在進行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關系結(jié)構(gòu)。這一步設計完成后數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)設計工作基本完成,只待系統(tǒng)實現(xiàn)時將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設計的數(shù)據(jù)整體關系結(jié)構(gòu)中,一個規(guī)范化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)就建立起來了。下面給出本系統(tǒng)的主要數(shù)據(jù)元素的數(shù)據(jù)字典:表3.1 管理員表文件名:adm別名:組成:adm_id +adm_nanme + adm_password備注:表3.2 用戶表文件名:用戶表(uuser)別名:組成:uuser_id + uuser_nanme + uuser_password備注:表3.3 客戶信息表文件名:客戶信息別名:組成:客戶編號+客戶名稱+客戶性別+客戶類型+客戶級別+客戶狀態(tài)+客戶階段+客戶來源+行業(yè)類別+企業(yè)性質(zhì)+所在國家+所在省份+所在城市+通訊地址+業(yè)務電話+傳真電話+公司網(wǎng)址+郵政編碼+電子郵箱+添加日期+備注+業(yè)務員備注:表3.4 部門信息表文件名:部門信息別名:組成: 部門編號+部門名稱+部門經(jīng)理+成立時間+部門簡介備注:表3.5 投訴反饋信息表文件名:投訴反饋別名:組成: 序號+客戶編號+客戶名稱+投訴日期+投訴部門+投訴內(nèi)容+投訴事項處理+受理人員備注:設計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下:1)客戶信息。包括的數(shù)據(jù)項有客戶編號、客戶名稱、客戶性別、客戶類型、客戶級別、客戶狀態(tài)、客戶階段、客戶來源、行業(yè)類別、企業(yè)性質(zhì)、所在國家、所在省份、所在城市、通訊地址、業(yè)務電話、傳真電話、公司網(wǎng)址、郵政編碼、電子郵箱、添加日期、備注、業(yè)務員信息。2)部門信息。包括的數(shù)據(jù)項有部門編號、部門名稱、部門經(jīng)理、成立時間、部門簡介等。3)投訴反饋信息。包括的數(shù)據(jù)項有序號、客戶編號、客戶名稱、投訴日期、投訴部門、投訴內(nèi)容、投訴事項處理、受理人員等。有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項和數(shù)據(jù)字典,就能進行下面的數(shù)據(jù)庫設計了。3.3 數(shù)據(jù)庫概念結(jié)構(gòu)設計本實例根據(jù)上面的設計規(guī)劃出的實體有:客戶基本信息實體、部門信息實體、投訴反饋信息實體、消費信息實體。各個實體的e-r圖以及實體和實體之間的關系e-r圖描述如下。1.客戶基本信息實體e_r圖如圖3.1 客戶基本信息客戶編號 客戶名稱 客戶性別 客戶關系圖3.1通過該客戶基本信息實體e_r圖可以看出,要實現(xiàn)系統(tǒng)預定功能,必須具備員工基本信息表。該表須有客戶編號,客戶名稱,客戶性別等字段。2.部門信息實體e_r圖如圖3.2 部門信息 部門編號 部門名稱 部門經(jīng)理 成立時間圖3.2通過該部門信息實體e_r圖可以看出,要實現(xiàn)系統(tǒng)預定功能,必須具備部門編號、部門名稱、部門經(jīng)理、部門成立時間等字段。3.投訴反饋實體e_r圖3.3 投訴反饋信息 序號 客戶編號 投訴部門 投訴時間圖3.34.消費實體e_r圖3.4 消費信息 客戶編號 服務項目 消費金額 消費時間圖3.4通過該er圖不難可以得出:要實現(xiàn)系統(tǒng)預定的功能,必須具備客戶基本信息,消費信息,部門信息,等數(shù)據(jù)庫。同時每個數(shù)據(jù)庫表的字段也可以確定下來。3.4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計在上面的e-r圖的基礎上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關系。客戶關系管理系統(tǒng)數(shù)據(jù)庫中各個表格的設計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表3.6 adm表列名數(shù)據(jù)類型可否為空說明adm_idchar(10)not null管理員帳號(主鍵)adm_namechar(10)not null姓名(主鍵)adm_passwordchar(10)not null密碼(主鍵)表3.7 uuser表列名數(shù)據(jù)類型可否為空說明uuser_idchar(10)not null用戶帳號(主鍵)uuser _namechar(10)not null姓名(主鍵)uuser _passwordchar(10)not null密碼(主鍵)表3.8 客戶信息表列名數(shù)據(jù)類型可否為空說明客戶編號char(10)not null主鍵客戶名稱char(10)not null主鍵客戶性別char(10)null無客戶類型char(10)null無客戶級別char(10)null無客戶狀態(tài)char(10)null無客戶階段char(10)null無客戶來源char(10)null無行業(yè)類別char(10)null無企業(yè)性質(zhì)char(10)null無所在國家char(10)null無所在省份char(10)null無所在城市char(10)null無通訊地址varchar(50)null無業(yè)務電話char(11)null無傳真電話char(10)null電話號碼11位公司網(wǎng)址char(10)null無郵政編碼char(10)null無電子郵箱char(10)null無添加日期datatimer(8)not null主鍵備注varchar(50)null無業(yè)務員char(10)null無表3.9 投訴反饋信息表列號數(shù)據(jù)類型可否為空說明序號char(10)not null主鍵客戶編號char(10)null無客戶名稱char(10)null無投訴日期datetime(8)null無投訴部門char(10)null無投訴內(nèi)容varchar(50)null無投訴事項處理varchar(50)null無受理人員char(10)null無表3.10 消費管理表列名數(shù)據(jù)類型可否為空說明客戶編號char(10)not null主鍵服務部門char(10)not null主鍵服務項目char(10)not null 主鍵服務金額money (8)nut null主鍵服務時間datetime (8)not null主鍵表3.11 部門信息表列名數(shù)據(jù)類型可否為空說明部門編號char(10)not null主鍵部門名稱char(10)not null主鍵部門經(jīng)理char(10)not null主鍵成立時間datetime (8)not null主鍵部門簡介varcher(50)null無3.5 輸入輸出設計1)為了適應日常管理的需要和提供對內(nèi)對外報告,該客戶關系管理系統(tǒng)提供三種形式:1.屏幕輸出:主要滿足日常管理的需要,用于查詢結(jié)果顯示。2.磁盤輸出:主要用于保存數(shù)據(jù)。3.打印輸出:主要用于滿足客戶信息查詢、客戶消費查詢、部門信息查詢、投訴信息查詢等2)輸入模塊是客戶關系管理系統(tǒng)中使用頻繁的模塊,輸入格式設計時要盡量操作方便、安全,盡可能減少輸入量??蛻絷P系管理系統(tǒng)中,將要輸入的數(shù)據(jù)分為固定數(shù)據(jù)和變動數(shù)據(jù)。1.固定數(shù)據(jù)輸入格式設計:客戶信息管理系統(tǒng)中的固定數(shù)據(jù)是不經(jīng)常變化的信息,2.變動數(shù)據(jù)輸入格式的設計:客戶關系管理系統(tǒng)中的變動數(shù)據(jù),消費信息中的數(shù)據(jù)變動等。3.6 系統(tǒng)各模塊設計客戶關系管理系統(tǒng)與其他信息管理系統(tǒng)有著密切的聯(lián)系,而且它是其中一個子系統(tǒng),所以在系統(tǒng)實現(xiàn)階段應考慮到該系統(tǒng)與其他信息系統(tǒng)的關系,充分考慮到今后對系統(tǒng)進行維護時可能遇到的問題。認真做好與其他系統(tǒng)的接口和數(shù)據(jù)交換,使系統(tǒng)具有比較好的可擴展性。3.6.1應用程序?qū)ο蟮膭?chuàng)建1) 單擊菜單“file|new”,選擇應用程序?qū)ο竽0瀹嫲?,單擊“ok”按鈕,出現(xiàn)如圖3.5所示的“specify new application library”對話框。在該對話框中完成應用程序?qū)ο竺?、庫文件名的設置。圖3.5 應用程序?qū)ο蟮膭?chuàng)建2) 單擊“finish”按鈕,進入應用程序?qū)ο笤O計畫面。在應用程序?qū)ο蟮膐pen事件中輸入如下的程序代碼:sqlca.dbms = odbcsqlca.autocommit = falsesqlca.dbparm = connectstring=dsn=ylr;uid=;pwd=connect;if sqlca.sqlcode0 thenmessagebox(連接失敗,sqlca.sqlerrtext)else open(w_xuanze)end if應用程序運行后第一個出現(xiàn)的窗口是上面語句打開的w_xuanze窗口。在登錄窗口中用戶輸入連接數(shù)據(jù)庫的用戶名和口令。連接數(shù)據(jù)庫成功,則出現(xiàn)程序主窗口。3.6.2登錄窗口的設計登錄窗口如圖圖3.6所示 圖3.6登錄窗口的設計在w_xuanze的open事件中輸入如下的程序代碼:string passwordstring adminnametime nowtimenowtime=now()adminname=trim(sle_1.text)password=trim(sle_2.text)/admin登錄模式if rb_2.checked = true thenselect adm_idinto :adminnamefrom admwhere adm_id =: adminname and adm_password =: password using sqlca;if try_time 4 thenif sqlca.sqlcode=0 thenmessagebox(登陸成功,歡迎管理員 : +string(adminname)+ 的登陸; +現(xiàn)在時間是:+string(today()+ +string(nowtime)open(w_main) close(parent)elseif sqlca.sqlcode=100 then messagebox(警告,輸入錯誤,請再輸入一次!,exclamation!)sle_1.setfocus() sle_1.text=sle_2.text= try_time+;end ifelse messagebox(系統(tǒng)警告,您嘗試登陸的次數(shù)超過三次,+系統(tǒng)將不允許你登陸+ ,請與管理員聯(lián)系!,stopsign!)cb_ok.enabled=falseend if/user登錄模式else select uuser_idinto :adminnamefrom uuserwhere uuser_id =: adminname and uuser_password =: password using sqlca;if try_time 4 thenif sqlca.sqlcode=0 thenmessagebox(登陸成功,歡迎管理員 : +string(adminname)+ 的登陸; +現(xiàn)在時間是:+string(today()+ +string(nowtime)open(w_main)m_mum.m_3.m_19.enabled=falsem_mum.m_3.m_22.enabled=falsem_mum.m_3.m_admi密碼修改.enabled=falsem_mum.m_23.m_30.enabled=false m_mum.m_4.m_13.enabled=false m_mum.m_4.m_15.enabled=falsem_mum.m_23.m_25.enabled=falseclose(parent)elseif sqlca.sqlcode=100 then messagebox(警告,輸入錯誤,請再輸入一次!,exclamation!)sle_1.setfocus() sle_1.text=sle_2.text= try_time+;end ifelse messagebox(系統(tǒng)警告,您嘗試登陸的次數(shù)超過三次,+系統(tǒng)將不允許你登陸+ ,請與管理員聯(lián)系!,stopsign!)cb_ok.enabled=falseend ifend if其中在declare global variables事件中/定義全局變量為:integer try_time=1string user_id,pass_word3.6.3建立應用程序主窗口系統(tǒng)應用程序的主要功能都是通過在主窗口上的菜單調(diào)用完成的。在菜單畫面中設計應用程序主窗口所連接的菜單m_mum。該菜單的結(jié)構(gòu)如圖3.7所示。圖3.7應用程序主窗口各個菜單中的程序代碼從上到下依次如下:1.返回登錄:integer net,i/退出之前,要提醒用戶net=messagebox(!,確定要返回登錄嗎?,&question!, yesno!,i)if net =1 thenopen(w_xuanze)close(w_main)end if2.備份數(shù)據(jù)庫 :open(w_data_beifen)3.恢復數(shù)據(jù)庫 :open(w_data_huifu)4.退出:integer net,i/退出之前,要提醒用戶net=messagebox(歡迎使用本軟件!,你確定要退出嗎?,&question!, yesno!,i)if net =1 then/退出當前行close(w_main)end if5. admi帳號管理:open(w_adm)6. user帳號管理:open(w_user)7. admi密碼修改:open(w_updateadm)8. user密碼修改:open(w_updateuser)9. 客戶管理:open(w_kehuxinxiguanli)10. 部門管理:open(w_bumenxinxi)11. 服務項目:open(w_addfuwu)12. 消費登記:open(w_xiaofeidengji)13. 業(yè)務員表:open(w_yewuyuan)14. 投訴反饋:open(w_tousufankui)15. 客戶匯總:open(w_kehuhuizong)16. 客戶查詢:open(w_select_all)17. 消費查詢:open(w_display_xiaofei)18. 部門查詢:open(w_bumen_select)3.6.4子窗口的設計w_adm子窗口界面如圖3.8所示。 圖3.8 w_adm子窗口界面例如:介紹以下部分腳本代碼:“添加”代碼如下integer li_rowcb_add.enabled=falsecb_delete.enabled=falsecb_next.enabled=falsecb_prior.enabled=falsecb_save.enabled=true dw_1.enabled=truedw_1.setfocus()/數(shù)據(jù)窗口得到焦點li_row=dw_1.insertrow(0) /插入一行空行紀錄dw_1.scrolltorow(li_row) /滾到指定行dw_1.setcolumn(1)“保存”代碼如下:if update(dw_1)=1 thendw_1.resetupdate() commit;messagebox(成功,數(shù)據(jù)已成功保存)dw_1.retrieve()/重新取記錄cb_add.enabled=true cb_delete.enabled=truecb_next.enabled=true cb_prior.enabled=truecb_save.enabled=false dw_1.enabled=falsecb_prior.enabled=true cb_prior.setfocus()w_updateadm子窗口界面如圖3.9所示。圖3.9 w_updateadm子窗口界面其中“確定“按鈕的代碼如下:string adminid,passwordold,passwordnew,passwordnewa,aid,passadminid=trim(sle_1.text)passwordold=trim(sle_2.text)passwordnew=trim(sle_3.text)passwordnewa=trim(sle_4.text)select adm_id,adm_password into :aid, :pass from admwhere adm_id=:adminid;if adminid= or passwordold= or passwordnew= or passwordnewa= thenmessagebox(錯誤!,帳號或密碼不能為空!,exclamation!,ok!,2) sle_2.text=sle_3.text=sle_4.text=elseif adminid=trim(aid) and passwordold=trim(pass) and passwordnew=passwordnewa then update adm set adm_password=:passwordnewa where adm_id=:adminid; messagebox(密碼修改成功!,請記住新密碼!,information!,ok!,2) sle_1.text= sle_2.text=sle_3.text= sle_4.text=else messagebox(錯誤!,兩次輸入密碼不符,請重新輸入!,exclamation!,ok!,2) sle_2.text=sle_3.text= sle_4.text=end ifw_data_beifen子窗口界面如圖3.10所示。圖3.10 w_data_beifen其中“備份”按鈕代碼如下:string backupstring pathstringpathstring =sle_bakfile.textif pathstring = thenmessagebox(提示,請輸入備份數(shù)據(jù)庫名稱!)returnend ifdisconnect using sqlca;sqlca.dbms = odbcsqlca.autocommit = falsesqlca.dbparm = connectstring=dsn=ylr;uid=;pwd=connect using sqlca;backup= backup database 客戶關系管理系統(tǒng) to disk = + + pathstring + ;execute immediate :backup;if sqlca.sqlcode = 0 then messagebox(恭喜,數(shù)據(jù)庫備份成功!)else messagebox(哎呀,出錯了+sqlca.sqlerrtext)end ifdisconnect;return“瀏覽”按鈕代碼如下:string docname=客戶關系管理系統(tǒng)_備份.bak, namedinteger valuevalue = getfilesavename(請輸入備份文件名, & docname, named, bak, &backup files

溫馨提示

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

評論

0/150

提交評論