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

下載本文檔

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

文檔簡介

1、<p><b>  摘  要</b></p><p>  在瞬息萬變的市場環(huán)境中,企業(yè)要立于不敗之地。必須依托現(xiàn)代化的管理思想和手段,其中客戶管理尤為重要。企業(yè)客戶管理系統(tǒng)作為ERP軟件中的CRM組件的一個功能模塊,本系統(tǒng)實現(xiàn)了企業(yè)客戶管理的信息化,可對企業(yè)所有客戶的 相關信息進行有效管理,并可以通過郵件與客戶進行溝通,交流。</p><p>  本文詳細闡

2、述了使用C#及LINQ開發(fā)該系統(tǒng)的設計、分析、實施的過程。C#是微軟公司發(fā)布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言, 是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性。LINQ是Visual Studio 2008中的領軍人物。借助于LINQ技術,我們可以使用一種類似SQL的語法來查詢任何形式的數(shù)據。目前為止LIN

3、Q所支持的數(shù)據源有SQL Server、XML以及內存中的數(shù)據集合。</p><p>  本文所選的課題涉及的知識知識與技術都是微軟近些年的新技術,力圖在CRM軟件的技術上有自己的創(chuàng)新,并將其應用到現(xiàn)實生產實踐中,有利于調動學生學習實踐積極性,全面提高學生的軟件開發(fā)能力和綜合素質。</p><p>  關鍵詞:客戶關系管理;C#;LINQ</p><p><b

4、>  Abstract</b></p><p>  In a rapidly changing market environment, enterprises must be invincible. Must rely on modern management ideas and tools, including customer management is particularly impor

5、tant. 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 information for eff

6、ective management, and can communicate with customers via e-mail exchange. </p><p>  This paper describes the use of C# and LINQ development of the system design, analysis, implementation process. C# is Micr

7、osoft's release of an object-oriented, running on. NET Framework on the high-level programming language, is a safe, stable, simple, elegant, from the C and C++ derived for object programming language. It inherits C a

8、nd 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</p><p>  This knowledge of selected topics r

9、elated to knowledge and technology are Microsoft's new technology in recent years, in a bid to have their own CRM software, technical innovation and apply it to real production practice, to arousing the enthusiasm of

10、 the students study and practice comprehensively improve their software development capability and overall quality. </p><p>  Key words: CRM; C#; LINQ</p><p><b>  目 錄</b></p&g

11、t;<p><b>  引 論1</b></p><p> ?。ㄒ唬╉椖勘尘?</p><p> ?。ǘ╉椖考夹g簡介4</p><p>  一、企業(yè)客戶管理系統(tǒng)系統(tǒng)分析7</p><p> ?。ㄒ唬┬枨蠓治?</p><p>  (二)系統(tǒng)總體流程圖分析7

12、</p><p>  (三)系統(tǒng)功能結構8</p><p> ?。ㄋ模┫到y(tǒng)模塊功能分析9</p><p>  二、企業(yè)客戶管理系統(tǒng)系統(tǒng)設計10</p><p> ?。ㄒ唬┰O計目標10</p><p>  (二)開發(fā)運行環(huán)境10</p><p> ?。ㄈ┚幋a規(guī)范11<

13、/p><p> ?。ㄋ模?shù)據庫設計12</p><p> ?。ㄎ澹ο竽P偷慕?7</p><p> ?。┙缑嬖O計19</p><p> ?。ㄆ撸╆P鍵性代碼解析23</p><p>  三、系統(tǒng)的測試與糾錯29</p><p><b>  后 記30<

14、/b></p><p><b>  主要參考文獻31</b></p><p><b>  引 論</b></p><p><b>  項目背景</b></p><p>  隨著Internet技術的蓬勃發(fā)展,全世界范圍內,所有企業(yè)都在經歷著一場變革。企業(yè)在擴大市場

15、、提高效率和保持客戶的原始商業(yè)驅動力不變的情況下,如何從浩如煙海的信息中,獲取最有效的市場情況和客戶信息,并及時作出反應,方能提高企業(yè)的競爭力。與此同時,客戶的期望也在發(fā)生著變化,客戶完全可以決定選擇哪位供應商。隨著網絡、通訊技術的發(fā)展,客戶選擇可擺脫傳統(tǒng)地域的限制。因此如何最大程度的留住客戶,積極發(fā)展新客戶,成為了企業(yè)競爭的一個重要方面。</p><p><b>  關于ERP</b>&l

16、t;/p><p>  ERP(Enterprise Resource Planning,企業(yè)資源計劃)是上個世紀90年代美國一家IT公司根據當時計算機信息、IT技術發(fā)展及企業(yè)對供應鏈管理的需求,預測在今后信息時代企業(yè)管理信息系統(tǒng)的發(fā)展趨勢和即將發(fā)生變革,而提出的概念。</p><p>  ERP是針對物資資源管理(物流)、人力資源管理(人流)、財務資源管理(財流)、信息資源管理(信息流)集成一

17、體化的企業(yè)管理軟件。一個由 Gartner Group 開發(fā)的概念,描述下一代制造商業(yè)系統(tǒng)和制造資源計劃(MRP II)軟件。它將包含客戶/服務架構,使用圖形用戶接口,應用開放系統(tǒng)制作。除了已有的標準功能,它還包括其它特性,如品質、過程運作管理、以及調整報告等。特別是,ERP采用的基礎技術將同時給用戶軟件和硬件兩方面的獨立性從而更加容易升級。ERP的關鍵在于所有用戶能夠裁剪其應用,因而具有天然的易用性。</p><p

18、>  ERP不僅僅是一個單一的系統(tǒng),而是許多復雜系統(tǒng)的集合體(如圖1所示),本文所述的客戶資源管理只是其中的極小一部分。</p><p><b>  圖 1</b></p><p><b>  關于CRM</b></p><p><b>  一、CRM的含義 </b></p>&l

19、t;p>  CRM(CustomerRelationshiopManagement,客戶關系管理)是一種以客戶為中心的經營策略。它以信息技術為手段,并對工作流程進行重組,賦予企業(yè)更完善的客戶交流能力,最大化客戶的收益。 </p><p>  客戶關系管理是旨在改善企業(yè)與客戶之間關系的新型管理機制,它主要實施于企業(yè)的市場營銷、銷售、服務與技術支持等與客戶相關的領域。通過向企業(yè)的銷售、市場和客戶服務的專業(yè)人員提

20、供全面、個性化的客戶資料,并強化跟蹤服務、信息分析的能力,使他們能夠協(xié)同建立和維護一系列與客戶和生意伙伴之間卓有成效的“一對一關系”,從而使企業(yè)得以提供更快捷和周到的優(yōu)質服務、提高客戶滿意度、吸引和保持更多的客戶,從而增加營業(yè)額;另一方面則通過信息共享和優(yōu)化商業(yè)流程來有效地降低企業(yè)經營成本。 </p><p>  客戶關系管理也是一種管理軟件和技術。它將最佳的商業(yè)實踐與數(shù)據挖掘、數(shù)據倉庫、一對一營銷、銷售自動化以

21、及其它信息技術緊密結合在一起,為企業(yè)的銷售、客戶服務和決策支持等領域提供一個業(yè)務自動化的解決方案,使企業(yè)有了一個基于電子商務的面對客戶的前沿。</p><p>  它主要包含以下幾個主要方面(簡稱7P): </p><p>  客戶概況分析(Profiling)包括客戶的層次、風險、愛好、習慣等; </p><p>  客戶忠誠度分析(Persistency)指客戶

22、對某個產品或商業(yè)機構的忠實程度、持久性、變動情況等; </p><p>  客戶利潤分析(Profitability)指不同客戶所消費的產品的邊緣利潤、總利潤額、凈利潤等; </p><p>  客戶性能分析(Performance)指不同客戶所消費的產品按種類、渠道、銷售地點等指標劃分的銷售額; </p><p>  客戶未來分析(Prospecting)包括客戶

23、數(shù)量、類別等情況的未來發(fā)展趨勢、爭取客戶的手段等; </p><p>  客戶產品分析(Product)包括產品設計、關聯(lián)性、供應鏈等; </p><p>  客戶促銷分析(Promotion)包括廣告、宣傳等促銷活動的管理。</p><p><b>  圖 2</b></p><p><b>  二、CRM的

24、目標 </b></p><p>  客戶關系管理的目標就是提高效率、拓展市場和保留客戶。利用信息技術,結合企業(yè)現(xiàn)有的管理系統(tǒng)如MIS系統(tǒng)、ERP系統(tǒng),將分散在企業(yè)各部門的信息加以統(tǒng)計、分析,為企業(yè)的市場開拓提供支持。 </p><p>  客戶服務是客戶關系管理中的核心內容之一。企業(yè)提供的客戶服務是能否保留滿意的客戶,提升客戶忠誠度的關鍵。據統(tǒng)計,93%的CEO認為,客戶關系管

25、理是企業(yè)成功和更有競爭能力的重要因素,2/3的客戶離開其供應商是因為企業(yè)對客戶關懷不夠。一個非常滿意的客戶其購買意愿將六倍于一個滿意的客戶。而客戶滿意度方面的5%的提高將使企業(yè)利潤加倍。由此可見,客戶的滿意度與忠誠度是企業(yè)取得競爭優(yōu)勢的關鍵。 </p><p>  此外,隨著上網用戶的增加,客戶服務的自動化還應能夠處理客戶各種類型的詢問,包括有關產品報價信息,定單請求,定單執(zhí)行情況等等。 </p>

26、<p>  三、客戶關系管理系統(tǒng)建立的原則 </p><p>  1.為客戶提供多樣化、個性化的服務。客戶關系管理的核心思想,就是吸引客戶、方便客戶、滿足客戶、為客戶提供多樣化和個性化的服務。 </p><p>  2.鞏固和發(fā)展客戶群體,提高企業(yè)的競爭力。印刷企業(yè)應朝著符合現(xiàn)代企業(yè)管理制度要求的現(xiàn)代企業(yè)發(fā)展。只有鞏固忠誠客戶群,不斷發(fā)展新客戶群,打造品牌效應,方能提高企業(yè)競爭力

27、。 </p><p>  3.適度超前和創(chuàng)新的原則。</p><p>  在建立客戶關系管理系統(tǒng)同時,提供充分的擴展功能,滿足企業(yè)未來業(yè)務經營與發(fā)展的需要。 </p><p><b>  項目規(guī)劃</b></p><p>  該系統(tǒng)主要由資料管理、我方信息管理、統(tǒng)計分析、用戶管理、系統(tǒng)維護和幫助等模塊組成,具體規(guī)劃如下:

28、</p><p>  資料管理模塊:該模塊主要用于實現(xiàn)區(qū)域信息管理、客戶資料管理和競爭對手信息等功能。</p><p>  我方信息管理模塊:本企業(yè)基本信息管理、員工信息管理、貨物信息管理和重大歷史歷程管理等功能。</p><p>  統(tǒng)計分析模塊:該模塊主要用于實現(xiàn)客戶的級別分析和來源分析等功能。</p><p>  用戶管理模塊:該模塊主

29、要用于實現(xiàn)用戶管理、更改密碼和權限設置等功能。</p><p>  幫助模塊:該模塊主要用于實現(xiàn)更改窗體布局、重新登陸和退出等功能。</p><p><b>  項目技術簡介</b></p><p>  本文所述的企業(yè)客戶管理系統(tǒng)使用C#作為編程語言,采用目前比較新的Microsoft SQL Server 2005作為前臺數(shù)據庫。該數(shù)據庫系統(tǒng)

30、在安全性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據量大、效率高;后臺使用微軟的新技術LINQ作為程序訪問數(shù)據庫的接口,簡化了繁瑣的SQL語句的編寫過程,提高了代碼的編寫效率。</p><p><b>  編程語言C#</b></p><p>  C#是一門簡單、現(xiàn)代、面向對象和類型安全的編程語言,由C和C++發(fā)展而來。 </p><p>

31、  在C#之前,C和C++已經成為在軟件的開發(fā)領域中使用最廣泛的語言。它們?yōu)槌绦騿T提供了十分靈活的操作,但也因此犧牲了一定的效率及相應的易用性,比如與Microsoft Visual Basic等語言相比,同等級別的C/C++應用程序往往需要更長時間來開發(fā)。也正由于C/C++語言的復雜性,C++也只有專業(yè)的程序員才能掌握,而對于一般用戶而言,C++確實有些沉重。對于信息化社會的今天而言,單純的軟件開發(fā)甚為少見,但更多的注重于實際應用,許

32、多程序員都試圖尋找一種新的語言,希望能在功能與效率之間找到一個更為理想的權衡點。</p><p>  對于某些有些語言來說,也許以犧牲靈活性的代價來提高效率是可以接受,但是這些靈活性正是C/C++程序員所需要的,另外這些解決方案對編程人員的限制過多(如屏蔽一些底層代碼控制的機制),其所提供的功能難以令人滿意。這些語言無法方便地同早先的系統(tǒng)交互,也無法很好地和當前的網絡編程相結合。</p><p

33、>  對于C/C++用戶來說,最理想的解決方案無疑是在快速開發(fā)的同時又可以調用底層平臺的所有功能。他們想要一種和最新的網絡標準保持同步并且能和已有的應用程序良好整合的環(huán)境。另外,一些C/C++開發(fā)人員還需要在必要的時候進行一些底層的編程。</p><p>  C# (C sharp) 是微軟對這一問題的解決方案。C#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各種基于Microsoft .N

34、ET平臺的應用程序,Microsoft .NET提供了一系列的工具和服務來最大程度地開發(fā)利用計算與通訊領域。</p><p>  正是由于C#面向對象的設計,使它成為構建各類組件的理想之選--無論是高級的商業(yè)對象還是系統(tǒng)級的應用程序。使用簡單的C#語言結構,這些組件可以方便的轉化為XML 網絡服務,從而使它們可以由任何語言在任何操作系統(tǒng)上通過Internet進行調用。</p><p>  

35、最重要的是,C#使得C++程序員可以高效的開發(fā)程序,而絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉向C#?;蛘哌@么說生產信息化的今天,也就產生了C#。</p><p>  數(shù)據庫前后臺鏈接組件LINQ</p><p>  LINQ,即語言級集成查詢(Language Integrated Query),它是Visu

36、al Studio 2008中的領軍人物。借助于LINQ技術,我們可以使用一種類似SQL的語法來查詢任何形式的數(shù)據。目前為止LINQ所支持的數(shù)據源有SQL Server、XML以及內存中的數(shù)據集合。開發(fā)人員也可以使用其提供的擴展框架添加更多的數(shù)據源,例如MySQL、Amazon甚至是Google Desktop。簡單來說,通過使用LINQ,開發(fā)人員可以以一個統(tǒng)一的方式訪問包括內存數(shù)據集合、數(shù)據庫、XML等在內的各類數(shù)據源。如下圖所示:&

37、lt;/p><p><b>  圖 3</b></p><p>  上圖中,向我們展示了LINQ在實際的開發(fā)中所處的地位,我們可以從兩方面來理解LINQ,首先他是一個工具集(Tool set),因為它為我們訪問各類不同的數(shù)據源提供了可能。另一方面,它又擴展了原有的如C#,VB等語言語法,不用以前我們使用的SQL語句或者XML控制語句即可完成數(shù)據的訪問和持久化操作。<

38、/p><p>  數(shù)據報表生成系統(tǒng)——水晶報表插件</p><p>  水晶報表(Crystal Report)是業(yè)內最專業(yè)、功能最強的報表系統(tǒng),它除了強大的報表功能外,最大的優(yōu)勢是實現(xiàn)了與絕大多數(shù)流行開發(fā)工具的集成和接口。Crystal Reports 用于處理數(shù)據庫,幫助用戶分析和解釋重要信息。使用 Crystal Reports 可以方便地創(chuàng)建簡單報表,同時它也提供了創(chuàng)建復雜或專用的報表

39、所需的整套工具。Crystal Reports 幾乎可以從任何數(shù)據源生成您需要的報表。內置報表專家在您生成報表和完成一般的報表任務過程中,會一步一步地指導您進行操作。報表專家通過公式、交叉表、子報表和設置條件格式幫助表現(xiàn)數(shù)據的實際意義,揭示可能被隱藏掉的重要關系。</p><p>  水晶報表的使用是數(shù)據的統(tǒng)計結果更為直觀,實為數(shù)據分析的一大利器。</p><p>  一、企業(yè)客戶管理系統(tǒng)

40、系統(tǒng)分析</p><p><b>  需求分析</b></p><p>  經了解,本系統(tǒng)應該具有如下的功能:</p><p>  由于操作人員的計算機知識有限,因此要求系統(tǒng)具有良好的人機界面;</p><p>  對不同的使用用戶,要求系統(tǒng)具有良好的權限管理;</p><p>  方便的數(shù)據查詢

41、功能;</p><p>  方便的添加和修改數(shù)據功能;</p><p>  使用水晶報表分析、顯示客戶級別和來源情況;</p><p>  在相應的權限下,可方便的刪除數(shù)據。</p><p><b>  系統(tǒng)總體流程圖分析</b></p><p>  企業(yè)客戶管理系統(tǒng)的業(yè)務流程如下圖所示。<

42、/p><p><b>  圖 4</b></p><p><b>  系統(tǒng)功能結構</b></p><p>  系統(tǒng)的總體功能圖如圖5所示。</p><p><b>  圖 5</b></p><p><b>  系統(tǒng)模塊功能分析</b>

43、;</p><p>  資料管理及我方信息管理</p><p>  該部分要求能夠快速的查詢所需信息,便捷的插入新的信息和刪除無用信息,為了整個程序的易用性,由于各個小模塊都是對數(shù)據庫表的簡單操作,具有類比性,因此可以使用統(tǒng)一的模板進行設計,再根據不同的字段設計不同的項目。</p><p><b>  統(tǒng)計分析</b></p>&

44、lt;p>  該部分要求系統(tǒng)能夠根據數(shù)據庫里的數(shù)據自動的生成報表,并提供打印服務。</p><p><b>  用戶管理</b></p><p>  該部分要求系統(tǒng)能夠根據用戶權限的不同提供修改密碼和權限的功能</p><p><b>  系統(tǒng)維護</b></p><p>  該部分要求能通過

45、程序客戶端完成數(shù)據庫的備份,恢復及清理工作。</p><p><b>  幫助</b></p><p>  該部分包含系統(tǒng)說明、注銷登錄等功能。</p><p>  二、企業(yè)客戶管理系統(tǒng)系統(tǒng)設計</p><p><b>  設計目標</b></p><p>  本系統(tǒng)屬于小型

46、的數(shù)據庫系統(tǒng),可以對中、小型企業(yè)客戶進行有效的管理。通過本系統(tǒng)期望達到以下的目標:</p><p>  靈活的錄入數(shù)據,使信息傳遞更快捷。</p><p>  系統(tǒng)采用人機交互方式、界面美觀友好,信息查詢靈活。數(shù)據存儲安全可靠。</p><p><b>  實現(xiàn)后臺監(jiān)控功能。</b></p><p>  實現(xiàn)客戶級別和來

47、源分析功能。</p><p>  實現(xiàn)各種查詢,支持模糊查詢。</p><p>  實現(xiàn)企業(yè)客戶及其內部資源的信息化管理。</p><p>  對用戶輸入的數(shù)據進行嚴格的數(shù)據檢驗,盡可能避免人為錯誤。</p><p>  系統(tǒng)最大限度的實現(xiàn)了易維護性和易操作性。</p><p><b>  開發(fā)運行環(huán)境<

48、;/b></p><p>  系統(tǒng)開發(fā)平臺:Microsoft Visual Studio 2008</p><p><b>  系統(tǒng)開發(fā)語言:C#</b></p><p>  數(shù)據庫管理軟件:Microsoft SQL Server 2005</p><p>  運行平臺:Windows XP(SP2以上),Wi

49、ndows 2000(SP4),Windows Server 2003</p><p>  運行環(huán)境:Microsoft .NET Framework SDK V3.5</p><p><b>  編碼規(guī)范</b></p><p><b>  數(shù)據庫命名規(guī)范</b></p><p>  數(shù)據庫名以d

50、b開頭,后面接相關英文單詞,首字母大寫;數(shù)據表以tb開頭,后面接相關英文單詞;數(shù)據表以英文單詞或組合表示,首字母大寫;視圖以view開頭、存儲過程以proc開頭、觸發(fā)器以trig開頭,后面接相關英文單詞。如圖表1所示。</p><p>  圖表 1數(shù)據庫命名規(guī)范</p><p><b>  變量命名規(guī)范</b></p><p>  變量名由

51、其變量類型加上英文縮寫構成,如圖表2所示。</p><p>  圖表 2變量命名規(guī)范</p><p><b>  控件命名規(guī)范</b></p><p>  空間一般以其英文縮寫為前綴,在代碼編寫過程中不涉及具體編程的,可以以控件的默認名稱為其命名。具體如圖表3所示。</p><p>  圖表 3控件命名規(guī)范<

52、;/p><p><b>  數(shù)據庫設計</b></p><p><b>  數(shù)據表概要說明</b></p><p>  數(shù)據庫名為:db_CRM,其中包含了8張數(shù)據表,如下圖所示。</p><p><b>  圖 6</b></p><p><b>

53、;  重要表的E-R圖</b></p><p>  企業(yè)基本信息實體E-R圖如圖7所示。</p><p><b>  圖 7</b></p><p>  客戶信息實體E-R圖如圖8所示。</p><p><b>  圖 8</b></p><p>  員工信息實體

54、E-R圖如圖9。</p><p><b>  圖 9</b></p><p>  競爭對手實體E-R圖如圖10。</p><p><b>  圖 10</b></p><p><b>  主要表的結構</b></p><p>  tb_CInfo(企業(yè)基

55、本信息表),用于保存企業(yè)的基本信息,其結構如圖表4所示。</p><p>  圖表 4企業(yè)基本信息表</p><p>  tb_ClientInfo(客戶信息表),用于保存企業(yè)客戶的詳細資料,其結構如圖表5所示。</p><p>  圖表 5客戶信息表</p><p>  tb_Employss(員工信息表),用于保存企業(yè)內部員工的詳

56、細資料,其結構如圖表6所示。</p><p>  圖表 6員工信息表</p><p>  tb_GoodsInfo(貨物信息表),用于保存企業(yè)內部貨物的詳細信息,其結構如圖表7所示。</p><p>  圖表 7貨物信息表</p><p>  tb_User(用戶信息表),用于保存本系統(tǒng)用戶的基本信息及權限其結構如圖表8所示。<

57、/p><p>  圖表 8用戶信息表</p><p><b>  對象模型的建立</b></p><p><b>  數(shù)據庫對象的建立</b></p><p>  打開“服務器資源管理器”,選擇新建連接。</p><p><b>  圖 11</b>&l

58、t;/p><p>  使用Visual Studio 2008建立實體類</p><p>  建立實體類的方式有很多種,例如手動編碼建立、使用XML文件映射、使用命令行工具SqlMetal生成、使用LINQ to SQL設計器等。其中最方便的方法就是使用LINQ to SQL設計器。步驟如下。</p><p>  在專用于數(shù)據處理的命名空間下選擇“新建項”,添加一個名稱

59、為“CRMClasses”的“LINQ to SQL類”,如下圖。</p><p><b>  圖 12</b></p><p>  在“服務器資源管理器”窗口需要使用的表格拖入左邊,把設計好的函數(shù)和存儲過程等方法拖入右邊,如圖。</p><p><b>  圖 13</b></p><p>  保

60、存“CRMClasses”之后,實體類就這樣建立完畢了,若需要還可以從“屬性”窗口修改實體類的屬性名稱、存儲過程映射的方法名,以及實體類的添加、刪除、修改行為中使用的方法等。</p><p>  使用LINQ to SQL設計器設計出來的實體類是代碼自動生成的,如果需要修改,過程是比較麻煩的,對于本文所述系統(tǒng),由于其本身復雜度不夠,系統(tǒng)自動生成的實體類已經足夠,如果對更復雜的系統(tǒng),手動編碼建立、使用XML文件映射

61、等方法建立的實體類更加的簡介,也更符合具體系統(tǒng)的要求。</p><p><b>  界面設計</b></p><p><b>  登錄系統(tǒng)的設計</b></p><p>  系統(tǒng)登錄主要用于對進入企業(yè)客戶資源管理系統(tǒng)的用戶進行安全性檢查,以防止非法用戶進入該系統(tǒng)。在登錄時,只有合法的用戶才可以進入該系統(tǒng),同事,系統(tǒng)根據登錄

62、用戶的級別,給予其不同的操作權限,系統(tǒng)登錄窗體運行結果如下所示</p><p><b>  圖 14</b></p><p>  根據用戶選擇的用戶名,系統(tǒng)自動判斷用戶權限,并且比較密碼是否與數(shù)據庫內紀錄一致,如果是則可以進入系統(tǒng)主界面。</p><p><b>  主界面的設計</b></p><p&

63、gt;  系統(tǒng)主界面由三部分構成,分別為菜單欄、導航欄和底部的狀態(tài)欄,其中在制作導航欄的時候,使用了第三方的控件“NavNarControl”,做出來的效果還是相當?shù)牟诲e,其運行結果如下圖。</p><p><b>  圖 15</b></p><p>  菜單欄和導航欄的功能基本一致,只是從兩種途徑來實現(xiàn),底部的狀態(tài)欄通過一系列字符串的合并顯示用戶名,登錄時間等信息

64、。通過點擊菜單欄或者導航欄的相應功能,開啟子窗口就可以進行子項目的操作了。</p><p>  通用信息管理界面的設計</p><p>  資料管理和我方信息管理里的7個小項目都具有一個共同的特點,都是對數(shù)據庫進行的插入、刪除及修改的操作,不同的只是針對的具體數(shù)據庫表和字段的不同,以客戶資料管理為例,預期的運行結果如下圖。</p><p><b>  圖

65、16</b></p><p>  整個界面由三個部分組成:</p><p>  最上方的工具欄:提供新建及刪除資料的服務,并且可以根據查詢條件進行查詢,還能調用郵件相關組件給客戶發(fā)送E-mail。</p><p>  中間的組合框:使用了textbox和combobox完成每一條記錄詳細顯示,以供用戶添加新信息或者修改現(xiàn)有信息。其中的聯(lián)系電話,E-mai

66、l等還應設置正則表達式來檢驗數(shù)據輸入的合法性。</p><p>  下面的DataGridView列出了符合當前查詢的所有條目,供用戶查看,雙擊其條目可以在中間的組合框內顯示改條目的詳細內容,供用戶修改。</p><p><b>  聯(lián)系客戶窗體的設計</b></p><p>  聯(lián)系客戶窗體用來實現(xiàn)企業(yè)與客戶的交流、溝通功能。實現(xiàn)該功能時調用

67、了System.Net.Mail命名空間下的MailMessage類和SmtpClient類。界面設計如下圖所示。</p><p><b>  圖 17</b></p><p>  在窗體Load的時候自動載入客戶的編號、名稱和郵箱。</p><p>  如果選擇了上傳附件,則會打開一個OpenFileDialog對話框,供用戶選擇文件,并返回

68、該文件的路徑。</p><p>  點擊發(fā)送后,調用系統(tǒng)函數(shù)發(fā)送郵件。</p><p><b>  水晶報表的設計</b></p><p>  客戶級別分析窗體主要反映不同級別的客戶情況,操作人員可以通過選擇客戶等級,查看制定級別的客戶詳細信息??蛻艏墑e分析窗體運行結果如下圖所示。</p><p><b>  

69、圖 18</b></p><p><b>  關鍵性代碼解析</b></p><p><b>  郵件的發(fā)送</b></p><p>  在聯(lián)系客戶的窗體中,實現(xiàn)了通過客戶端發(fā)送郵件的功能,在事先給客戶發(fā)送郵件時,需要制定郵件的發(fā)送者、接受者、主題、內容、發(fā)送郵件的SMTP服務器的地址及端口號。特別的,如果有附

70、件的存在,還需要聲明一個ContentDispotion類的對象,并通過其屬性,完成附件屬性的設置,其運行代碼如下。</p><p>  using System;</p><p>  using System.Collections.Generic;</p><p>  using System.ComponentModel;</p><p&g

71、t;  using System.Data;</p><p>  using System.Drawing;</p><p>  using System.Text;</p><p>  using System.Windows.Forms;</p><p>  using System.Data.SqlClient;</p>

72、<p>  using System.Net.Mail;</p><p>  namespace CRM.DataManage</p><p><b>  {</b></p><p>  public partial class frmRClient : Form</p><p><b>  {<

73、;/b></p><p>  CRM.BaseClass.BaseOperate boperate = new CRM.BaseClass.BaseOperate();</p><p>  CRM.BaseClass.OperateAndValidate opAndvalidate = new CRM.BaseClass.OperateAndValidate();</p>

74、<p>  public frmRClient()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  private void frmRClient_Load(objec

75、t sender, EventArgs e)</p><p><b>  {</b></p><p>  opAndvalidate.cboxBind("select distinct ClientID from tb_ClientInfo", "tb_ClientInfo", "ClientID", cbo

76、xCID);</p><p><b>  }</b></p><p>  private void cboxCID_SelectedIndexChanged(object sender, EventArgs e)</p><p><b>  {</b></p><p>  SqlDataReader

77、 sqlread = boperate.getread("select CName,CEmail from tb_ClientInfo where ClientID='" + cboxCID.Text.Trim() + "'");</p><p>  sqlread.Read();</p><p>  if (sqlread.HasR

78、ows)</p><p><b>  {</b></p><p>  txtCName.Text = sqlread["CName"].ToString().Trim();</p><p>  txtCEmail.Text = sqlread["CEmail"].ToString().Trim();<

79、;/p><p><b>  }</b></p><p>  sqlread.Close();</p><p><b>  }</b></p><p><b>  //選擇附件</b></p><p>  private void btnUP_Click(ob

80、ject sender, EventArgs e)</p><p><b>  {</b></p><p>  oFDialogSFile.InitialDirectory = "C:\\";</p><p>  oFDialogSFile.Filter = "all files (*.*)|*.*";&

81、lt;/p><p>  oFDialogSFile.RestoreDirectory = true;</p><p>  oFDialogSFile.ShowDialog();</p><p>  cboxAccessories.Items.Add(oFDialogSFile.FileName.Trim());</p><p><b>

82、  }</b></p><p><b>  //刪除附件</b></p><p>  private void btnDel_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (cboxAccessori

83、es.Text == "")</p><p><b>  {</b></p><p>  MessageBox.Show("沒有附件可刪!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p><b&

84、gt;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cboxAccessories.Items.Remove(cboxAccessories.Text.Trim());</p><p><b>  }&

85、lt;/b></p><p><b>  }</b></p><p><b>  //發(fā)送郵件</b></p><p>  private void btnSend_Click(object sender, EventArgs e)</p><p><b>  {</b>

86、</p><p><b>  //郵箱格式驗證</b></p><p>  if (!opAndvalidate.validateEmail(txtSEmail.Text.Trim()))</p><p><b>  {</b></p><p>  errorSEmail.SetError(txtS

87、Email, "輸入的郵箱格式不正確!");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  errorSEmail.Clear();</p>&

88、lt;p><b>  try</b></p><p><b>  {</b></p><p>  //創(chuàng)建MailMessage對象,使用郵件功能</p><p>  string file = Application.StartupPath + "testXML.xml";</p>

89、<p>  System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();</p><p>  myMail = new System.Net.Mail.MailMessage(txtSEmail.Text.Trim(), txtCEmail.Text.Trim());</p><p>  myMa

90、il.Subject = txtETitle.Text.Trim();</p><p>  myMail.Body = txtEContent.Text.Trim();</p><p>  if (cboxAccessories.Items.Count > 0)</p><p><b>  {</b></p><p&g

91、t;  for (int i = 0; i < cboxAccessories.Items.Count; i++)</p><p><b>  {</b></p><p>  System.Net.Mail.Attachment myAttachment = new System.Net.Mail.Attachment(</p><p>

92、  cboxAccessories.Items[i].ToString(), System.Net.Mime.MediaTypeNames.Application.Octet);</p><p>  System.Net.Mime.ContentDisposition disposition = myAttachment.ContentDisposition;</p><p>  disp

93、osition.CreationDate = System.IO.File.GetCreationTime(file);</p><p>  disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);</p><p>  disposition.ReadDate = System.IO.File.GetLast

94、AccessTime(file);</p><p>  myMail.Attachments.Add(myAttachment);</p><p><b>  }</b></p><p><b>  }</b></p><p>  System.Net.Mail.SmtpClient client

95、= new System.Net.Mail.SmtpClient(txtSService.Text.Trim(), Convert.ToInt32(txtServicePort.Text.Trim()));</p><p>  client.Credentials = new System.Net.NetworkCredential(txtUName.Text.Trim(), txtUPwd.Text.Trim(

96、));</p><p>  client.Send(myMail);</p><p>  MessageBox.Show("郵件發(fā)送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p><b>  }</b></

97、p><p>  catch (Exception ex)</p><p><b>  {</b></p><p>  MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p>&

98、lt;b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  private void btnExit_Click(object sender, EventArgs e)</p><p><b>  {<

99、;/b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  數(shù)據庫的自動備份與還原</p>&l

100、t;p>  如下圖,數(shù)據庫的備份與還原的界面并不復雜,難點在在通過客戶端完成數(shù)據庫后臺的工作。</p><p><b>  圖 19</b></p><p><b>  其代碼如下:</b></p><p>  using System;</p><p>  using System.Coll

101、ections.Generic;</p><p>  using System.ComponentModel;</p><p>  using System.Data;</p><p>  using System.Drawing;</p><p>  using System.Text;</p><p>  usin

102、g System.Windows.Forms;</p><p>  using System.IO;</p><p>  namespace CRM.SysManage</p><p><b>  {</b></p><p>  public partial class frmDataStore : Form</p

103、><p><b>  {</b></p><p>  CRM.BaseClass.BaseOperate boperate = new CRM.BaseClass.BaseOperate();</p><p>  public frmDataStore()</p><p><b>  {</b><

104、/p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  //設置備份文件的位置</p><p>  private void btnSel_Click(object sender, EventArgs e)</p><p><b

105、>  {</b></p><p>  fbDialogFile.ShowDialog();</p><p>  txtDSPath.Text = fbDialogFile.SelectedPath.ToString().Trim() + "\\";</p><p><b>  }</b></p>

106、<p>  private void btnDStore_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>

107、;  //判斷其是否已經存在</p><p>  if (File.Exists(txtDSPath.Text.Trim() + ".bak"))</p><p><b>  {</b></p><p>  MessageBox.Show("該文件已經存在!", "提示", Messa

108、geBoxButtons.OK, MessageBoxIcon.Information);</p><p>  txtDSPath.Text = "";</p><p>  txtDSPath.Focus();</p><p><b>  }</b></p><p>  //數(shù)據庫的備份仍然使用的是S

109、QL語句,LINQ更適合于數(shù)據的控制而不是數(shù)據庫的底層操作</p><p><b>  else</b></p><p><b>  {</b></p><p>  boperate.getcom("backup database db_CRM to disk='" + txtDSPath.Te

110、xt.Trim() + ".bak'");</p><p>  MessageBox.Show("數(shù)據備份成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p><b>  }</b></p><

111、p><b>  }</b></p><p>  catch (Exception ex)</p><p><b>  {</b></p><p>  MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Inf

112、ormation);</p><p><b>  }</b></p><p><b>  }</b></p><p>  private void btnExit_Click(object sender, EventArgs e)</p><p><b>  {</b><

113、/p><p>  this.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  在程序中調用其他的軟件(如記事本)</p><p&g

114、t;  在幫助功能中,還可以快速的打開記事本、WORD的軟件,以下為C#中調用外部程序的代碼:</p><p>  private void 啟用記事本toolStripMenuItem_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  System.Diagnost

115、ics.Process.Start("notepad.exe");</p><p><b>  }</b></p><p>  private void 啟用WordtoolStripMenuItem_Click(object sender, EventArgs e)</p><p><b>  {</b&g

116、t;</p><p>  System.Diagnostics.Process.Start("winword.exe");</p><p><b>  }</b></p><p>  private void 啟用ExceltoolStripMenuItem_Click(object sender, EventArgs e)

117、</p><p><b>  {</b></p><p>  System.Diagnostics.Process.Start("excel.exe");</p><p><b>  }</b></p><p>  三、系統(tǒng)的測試與糾錯</p><p> 

118、 在測試系統(tǒng)的過程中,系統(tǒng)出現(xiàn)了如下的幾個問題:</p><p>  使用的第三方導航欄插件NavBar由于是試用版,有時候只能顯示卻不能展開,即導航欄有時會失效。但由于沒有找到其他的免費的第三方導航欄插件,就沒有做改動,但這個問題也影響了整個程序的完整性。</p><p>  在使用水晶報表的時候,第一次使用需要再次輸入數(shù)據庫的登錄名和密碼,顯然這是一個系統(tǒng)設計的錯誤,能查看報表的用戶不

119、一定都有數(shù)據庫的后臺密碼,在對水晶報表屬性中的集成安全性就行了設置以后,該問題圓滿解決。</p><p>  在對系統(tǒng)的查詢系統(tǒng)進行測試的時候發(fā)現(xiàn),有一些應該有結果的查詢查詢出來的結果居然為空,檢查代碼后發(fā)現(xiàn),是編寫代碼的時候部分正則表達式書寫出錯,修改后再次測試,顯示正常。</p><p>  邀請了同宿舍的同學幫忙使用系統(tǒng),未再發(fā)現(xiàn)重大的程序錯誤,程序設計完成。</p>

120、<p><b>  后 記</b></p><p>  畢業(yè)設計的系統(tǒng)至今已然完成,回想從選題、需求分析、代碼編寫、系統(tǒng)測試等過程中的收獲,我感到收獲良多。</p><p>  系統(tǒng)設計不是一件簡單的事情,從需求分析開始就要做大量的調查與規(guī)劃,由于時間急促,本系統(tǒng)的邏輯結構并不復雜,但代碼的編寫量確實不小,有時候越是心急反而越發(fā)現(xiàn)不了不應該的小錯誤。&

121、lt;/p><p>  由于本人對新技術較為感興趣,因此選擇了C#為編程語言,LINQ為數(shù)據庫操作方法。在做畢業(yè)設計以前我編寫過的幾個系統(tǒng)一直使用的是JAVA語言,這次第一次用C#來做系統(tǒng)?;A知識的不牢固導致我需要不停的翻看參考書目里的案例,代碼編寫效率較低,同時也讓我明確了精通一門語言的重要性。在設計過程中我也仔細體會了JAVA與C#的異同,體驗了VS2008的代碼編寫的強大輔助。</p><

122、p>  由于存在大量的控件,因此一個好的命名規(guī)范能夠節(jié)省大量的檢查代碼的時間,也能夠避免找不到控件的尷尬。</p><p>  通過此次畢業(yè)設計,回顧了大學四年的所學所得,感到學有所成,愿自己在將來的工作中能不枉大學四年的所學,創(chuàng)出自己的天地。</p><p><b>  主要參考文獻</b></p><p>  劉騰紅,孫細明.信息系統(tǒng)

123、分析與設計.北京:科學出版社,2006.</p><p>  董金祥,陳剛,尹建偉.客戶關系管理(CRM) .浙江:浙江大學出版社,2007.</p><p>  程控,革揚 .MRP2\ERP原理與應用.北京:清華大學出版社,2006.</p><p>  王小科,梁冰,呂雙Visual C#項目開發(fā)實例自學手冊.北京:人民郵電出版社,2007</p>

溫馨提示

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

評論

0/150

提交評論