版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 在瞬息萬(wàn)變的市場(chǎng)環(huán)境中,企業(yè)要立于不敗之地。必須依托現(xiàn)代化的管理思想和手段,其中客戶(hù)管理尤為重要。企業(yè)客戶(hù)管理系統(tǒng)作為ERP軟件中的CRM組件的一個(gè)功能模塊,本系統(tǒng)實(shí)現(xiàn)了企業(yè)客戶(hù)管理的信息化,可對(duì)企業(yè)所有客戶(hù)的 相關(guān)信息進(jìn)行有效管理,并可以通過(guò)郵件與客戶(hù)進(jìn)行溝通,交流。</p><p> 本文詳細(xì)闡
2、述了使用C#及LINQ開(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 Studio 2008中的領(lǐng)軍人物。借助于LINQ技術(shù),我們可以使用一種類(lèi)似SQL的語(yǔ)法來(lái)查詢(xún)?nèi)魏涡问降臄?shù)據(jù)。目前為止LIN
3、Q所支持的數(shù)據(jù)源有SQL Server、XML以及內(nèi)存中的數(shù)據(jù)集合。</p><p> 本文所選的課題涉及的知識(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ì)。</p><p> 關(guān)鍵詞:客戶(hù)關(guān)系管理;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> ?。ㄒ唬╉?xiàng)目背景1</p><p> ?。ǘ╉?xiàng)目技術(shù)簡(jiǎn)介4</p><p> 一、企業(yè)客戶(hù)管理系統(tǒng)系統(tǒng)分析7</p><p> ?。ㄒ唬┬枨蠓治?</p><p> (二)系統(tǒng)總體流程圖分析7
12、</p><p> (三)系統(tǒng)功能結(jié)構(gòu)8</p><p> ?。ㄋ模┫到y(tǒng)模塊功能分析9</p><p> 二、企業(yè)客戶(hù)管理系統(tǒng)系統(tǒng)設(shè)計(jì)10</p><p> (一)設(shè)計(jì)目標(biāo)10</p><p> ?。ǘ╅_(kāi)發(fā)運(yùn)行環(huán)境10</p><p> (三)編碼規(guī)范11<
13、/p><p> (四)數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><p> ?。ㄎ澹?duì)象模型的建立17</p><p> (六)界面設(shè)計(jì)19</p><p> ?。ㄆ撸╆P(guān)鍵性代碼解析23</p><p> 三、系統(tǒng)的測(cè)試與糾錯(cuò)29</p><p><b> 后 記30<
14、/b></p><p><b> 主要參考文獻(xiàn)31</b></p><p><b> 引 論</b></p><p><b> 項(xiàng)目背景</b></p><p> 隨著Internet技術(shù)的蓬勃發(fā)展,全世界范圍內(nèi),所有企業(yè)都在經(jīng)歷著一場(chǎng)變革。企業(yè)在擴(kuò)大市場(chǎng)
15、、提高效率和保持客戶(hù)的原始商業(yè)驅(qū)動(dòng)力不變的情況下,如何從浩如煙海的信息中,獲取最有效的市場(chǎng)情況和客戶(hù)信息,并及時(shí)作出反應(yīng),方能提高企業(yè)的競(jìng)爭(zhēng)力。與此同時(shí),客戶(hù)的期望也在發(fā)生著變化,客戶(hù)完全可以決定選擇哪位供應(yīng)商。隨著網(wǎng)絡(luò)、通訊技術(shù)的發(fā)展,客戶(hù)選擇可擺脫傳統(tǒng)地域的限制。因此如何最大程度的留住客戶(hù),積極發(fā)展新客戶(hù),成為了企業(yè)競(jìng)爭(zhēng)的一個(gè)重要方面。</p><p><b> 關(guān)于ERP</b>&l
16、t;/p><p> ERP(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ā)生變革,而提出的概念。</p><p> ERP是針對(duì)物資資源管理(物流)、人力資源管理(人流)、財(cái)務(wù)資源管理(財(cái)流)、信息資源管理(信息流)集成一
17、體化的企業(yè)管理軟件。一個(gè)由 Gartner Group 開(kāi)發(fā)的概念,描述下一代制造商業(yè)系統(tǒng)和制造資源計(jì)劃(MRP II)軟件。它將包含客戶(hù)/服務(wù)架構(gòu),使用圖形用戶(hù)接口,應(yīng)用開(kāi)放系統(tǒng)制作。除了已有的標(biāo)準(zhǔn)功能,它還包括其它特性,如品質(zhì)、過(guò)程運(yùn)作管理、以及調(diào)整報(bào)告等。特別是,ERP采用的基礎(chǔ)技術(shù)將同時(shí)給用戶(hù)軟件和硬件兩方面的獨(dú)立性從而更加容易升級(jí)。ERP的關(guān)鍵在于所有用戶(hù)能夠裁剪其應(yīng)用,因而具有天然的易用性。</p><p
18、> ERP不僅僅是一個(gè)單一的系統(tǒng),而是許多復(fù)雜系統(tǒng)的集合體(如圖1所示),本文所述的客戶(hù)資源管理只是其中的極小一部分。</p><p><b> 圖 1</b></p><p><b> 關(guān)于CRM</b></p><p><b> 一、CRM的含義 </b></p>&l
19、t;p> CRM(CustomerRelationshiopManagement,客戶(hù)關(guān)系管理)是一種以客戶(hù)為中心的經(jīng)營(yíng)策略。它以信息技術(shù)為手段,并對(duì)工作流程進(jìn)行重組,賦予企業(yè)更完善的客戶(hù)交流能力,最大化客戶(hù)的收益。 </p><p> 客戶(hù)關(guān)系管理是旨在改善企業(yè)與客戶(hù)之間關(guān)系的新型管理機(jī)制,它主要實(shí)施于企業(yè)的市場(chǎng)營(yíng)銷(xiāo)、銷(xiāo)售、服務(wù)與技術(shù)支持等與客戶(hù)相關(guān)的領(lǐng)域。通過(guò)向企業(yè)的銷(xiāo)售、市場(chǎng)和客戶(hù)服務(wù)的專(zhuān)業(yè)人員提
20、供全面、個(gè)性化的客戶(hù)資料,并強(qiáng)化跟蹤服務(wù)、信息分析的能力,使他們能夠協(xié)同建立和維護(hù)一系列與客戶(hù)和生意伙伴之間卓有成效的“一對(duì)一關(guān)系”,從而使企業(yè)得以提供更快捷和周到的優(yōu)質(zhì)服務(wù)、提高客戶(hù)滿(mǎn)意度、吸引和保持更多的客戶(hù),從而增加營(yíng)業(yè)額;另一方面則通過(guò)信息共享和優(yōu)化商業(yè)流程來(lái)有效地降低企業(yè)經(jīng)營(yíng)成本。 </p><p> 客戶(hù)關(guān)系管理也是一種管理軟件和技術(shù)。它將最佳的商業(yè)實(shí)踐與數(shù)據(jù)挖掘、數(shù)據(jù)倉(cāng)庫(kù)、一對(duì)一營(yíng)銷(xiāo)、銷(xiāo)售自動(dòng)化以
21、及其它信息技術(shù)緊密結(jié)合在一起,為企業(yè)的銷(xiāo)售、客戶(hù)服務(wù)和決策支持等領(lǐng)域提供一個(gè)業(yè)務(wù)自動(dòng)化的解決方案,使企業(yè)有了一個(gè)基于電子商務(wù)的面對(duì)客戶(hù)的前沿。</p><p> 它主要包含以下幾個(gè)主要方面(簡(jiǎn)稱(chēng)7P): </p><p> 客戶(hù)概況分析(Profiling)包括客戶(hù)的層次、風(fēng)險(xiǎn)、愛(ài)好、習(xí)慣等; </p><p> 客戶(hù)忠誠(chéng)度分析(Persistency)指客戶(hù)
22、對(duì)某個(gè)產(chǎn)品或商業(yè)機(jī)構(gòu)的忠實(shí)程度、持久性、變動(dòng)情況等; </p><p> 客戶(hù)利潤(rùn)分析(Profitability)指不同客戶(hù)所消費(fèi)的產(chǎn)品的邊緣利潤(rùn)、總利潤(rùn)額、凈利潤(rùn)等; </p><p> 客戶(hù)性能分析(Performance)指不同客戶(hù)所消費(fèi)的產(chǎn)品按種類(lèi)、渠道、銷(xiāo)售地點(diǎn)等指標(biāo)劃分的銷(xiāo)售額; </p><p> 客戶(hù)未來(lái)分析(Prospecting)包括客戶(hù)
23、數(shù)量、類(lèi)別等情況的未來(lái)發(fā)展趨勢(shì)、爭(zhēng)取客戶(hù)的手段等; </p><p> 客戶(hù)產(chǎn)品分析(Product)包括產(chǎn)品設(shè)計(jì)、關(guān)聯(lián)性、供應(yīng)鏈等; </p><p> 客戶(hù)促銷(xiāo)分析(Promotion)包括廣告、宣傳等促銷(xiāo)活動(dòng)的管理。</p><p><b> 圖 2</b></p><p><b> 二、CRM的
24、目標(biāo) </b></p><p> 客戶(hù)關(guān)系管理的目標(biāo)就是提高效率、拓展市場(chǎng)和保留客戶(hù)。利用信息技術(shù),結(jié)合企業(yè)現(xiàn)有的管理系統(tǒng)如MIS系統(tǒng)、ERP系統(tǒng),將分散在企業(yè)各部門(mén)的信息加以統(tǒng)計(jì)、分析,為企業(yè)的市場(chǎng)開(kāi)拓提供支持。 </p><p> 客戶(hù)服務(wù)是客戶(hù)關(guān)系管理中的核心內(nèi)容之一。企業(yè)提供的客戶(hù)服務(wù)是能否保留滿(mǎn)意的客戶(hù),提升客戶(hù)忠誠(chéng)度的關(guān)鍵。據(jù)統(tǒng)計(jì),93%的CEO認(rèn)為,客戶(hù)關(guān)系管
25、理是企業(yè)成功和更有競(jìng)爭(zhēng)能力的重要因素,2/3的客戶(hù)離開(kāi)其供應(yīng)商是因?yàn)槠髽I(yè)對(duì)客戶(hù)關(guān)懷不夠。一個(gè)非常滿(mǎn)意的客戶(hù)其購(gòu)買(mǎi)意愿將六倍于一個(gè)滿(mǎn)意的客戶(hù)。而客戶(hù)滿(mǎn)意度方面的5%的提高將使企業(yè)利潤(rùn)加倍。由此可見(jiàn),客戶(hù)的滿(mǎn)意度與忠誠(chéng)度是企業(yè)取得競(jìng)爭(zhēng)優(yōu)勢(shì)的關(guān)鍵。 </p><p> 此外,隨著上網(wǎng)用戶(hù)的增加,客戶(hù)服務(wù)的自動(dòng)化還應(yīng)能夠處理客戶(hù)各種類(lèi)型的詢(xún)問(wèn),包括有關(guān)產(chǎn)品報(bào)價(jià)信息,定單請(qǐng)求,定單執(zhí)行情況等等。 </p>
26、<p> 三、客戶(hù)關(guān)系管理系統(tǒng)建立的原則 </p><p> 1.為客戶(hù)提供多樣化、個(gè)性化的服務(wù)。客戶(hù)關(guān)系管理的核心思想,就是吸引客戶(hù)、方便客戶(hù)、滿(mǎn)足客戶(hù)、為客戶(hù)提供多樣化和個(gè)性化的服務(wù)。 </p><p> 2.鞏固和發(fā)展客戶(hù)群體,提高企業(yè)的競(jìng)爭(zhēng)力。印刷企業(yè)應(yīng)朝著符合現(xiàn)代企業(yè)管理制度要求的現(xiàn)代企業(yè)發(fā)展。只有鞏固忠誠(chéng)客戶(hù)群,不斷發(fā)展新客戶(hù)群,打造品牌效應(yīng),方能提高企業(yè)競(jìng)爭(zhēng)力
27、。 </p><p> 3.適度超前和創(chuàng)新的原則。</p><p> 在建立客戶(hù)關(guān)系管理系統(tǒng)同時(shí),提供充分的擴(kuò)展功能,滿(mǎn)足企業(yè)未來(lái)業(yè)務(wù)經(jīng)營(yíng)與發(fā)展的需要。 </p><p><b> 項(xiàng)目規(guī)劃</b></p><p> 該系統(tǒng)主要由資料管理、我方信息管理、統(tǒng)計(jì)分析、用戶(hù)管理、系統(tǒng)維護(hù)和幫助等模塊組成,具體規(guī)劃如下:
28、</p><p> 資料管理模塊:該模塊主要用于實(shí)現(xiàn)區(qū)域信息管理、客戶(hù)資料管理和競(jìng)爭(zhēng)對(duì)手信息等功能。</p><p> 我方信息管理模塊:本企業(yè)基本信息管理、員工信息管理、貨物信息管理和重大歷史歷程管理等功能。</p><p> 統(tǒng)計(jì)分析模塊:該模塊主要用于實(shí)現(xiàn)客戶(hù)的級(jí)別分析和來(lái)源分析等功能。</p><p> 用戶(hù)管理模塊:該模塊主
29、要用于實(shí)現(xiàn)用戶(hù)管理、更改密碼和權(quán)限設(shè)置等功能。</p><p> 幫助模塊:該模塊主要用于實(shí)現(xiàn)更改窗體布局、重新登陸和退出等功能。</p><p><b> 項(xiàng)目技術(shù)簡(jiǎn)介</b></p><p> 本文所述的企業(yè)客戶(hù)管理系統(tǒng)使用C#作為編程語(yǔ)言,采用目前比較新的Microsoft SQL Server 2005作為前臺(tái)數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)系統(tǒng)
30、在安全性、準(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ě)效率。</p><p><b> 編程語(yǔ)言C#</b></p><p> C#是一門(mén)簡(jiǎn)單、現(xiàn)代、面向?qū)ο蠛皖?lèi)型安全的編程語(yǔ)言,由C和C++發(fā)展而來(lái)。 </p><p>
31、 在C#之前,C和C++已經(jīng)成為在軟件的開(kāi)發(fā)領(lǐng)域中使用最廣泛的語(yǔ)言。它們?yōu)槌绦騿T提供了十分靈活的操作,但也因此犧牲了一定的效率及相應(yīng)的易用性,比如與Microsoft Visual Basic等語(yǔ)言相比,同等級(jí)別的C/C++應(yīng)用程序往往需要更長(zhǎng)時(shí)間來(lái)開(kāi)發(fā)。也正由于C/C++語(yǔ)言的復(fù)雜性,C++也只有專(zhuān)業(yè)的程序員才能掌握,而對(duì)于一般用戶(hù)而言,C++確實(shí)有些沉重。對(duì)于信息化社會(huì)的今天而言,單純的軟件開(kāi)發(fā)甚為少見(jiàn),但更多的注重于實(shí)際應(yīng)用,許
32、多程序員都試圖尋找一種新的語(yǔ)言,希望能在功能與效率之間找到一個(gè)更為理想的權(quán)衡點(diǎn)。</p><p> 對(duì)于某些有些語(yǔ)言來(lái)說(shuō),也許以犧牲靈活性的代價(jià)來(lái)提高效率是可以接受,但是這些靈活性正是C/C++程序員所需要的,另外這些解決方案對(duì)編程人員的限制過(guò)多(如屏蔽一些底層代碼控制的機(jī)制),其所提供的功能難以令人滿(mǎn)意。這些語(yǔ)言無(wú)法方便地同早先的系統(tǒng)交互,也無(wú)法很好地和當(dāng)前的網(wǎng)絡(luò)編程相結(jié)合。</p><p
33、> 對(duì)于C/C++用戶(hù)來(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)行一些底層的編程。</p><p> C# (C sharp) 是微軟對(duì)這一問(wèn)題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z(yǔ)言。它使得程序員可以快速地編寫(xiě)各種基于Microsoft .N
34、ET平臺(tái)的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來(lái)最大程度地開(kāi)發(fā)利用計(jì)算與通訊領(lǐng)域。</p><p> 正是由于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),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語(yǔ)言在任何操作系統(tǒng)上通過(guò)Internet進(jìn)行調(diào)用。</p><p>
35、最重要的是,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#。</p><p> 數(shù)據(jù)庫(kù)前后臺(tái)鏈接組件LINQ</p><p> LINQ,即語(yǔ)言級(jí)集成查詢(xún)(Language Integrated Query),它是Visu
36、al Studio 2008中的領(lǐng)軍人物。借助于LINQ技術(shù),我們可以使用一種類(lèi)似SQL的語(yǔ)法來(lái)查詢(xún)?nèi)魏涡问降臄?shù)據(jù)。目前為止LINQ所支持的數(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ù)源。如下圖所示:&
37、lt;/p><p><b> 圖 3</b></p><p> 上圖中,向我們展示了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)和持久化操作。<
38、/p><p> 數(shù)據(jù)報(bào)表生成系統(tǒng)——水晶報(bào)表插件</p><p> 水晶報(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ù),幫助用戶(hù)分析和解釋重要信息。使用 Crystal Reports 可以方便地創(chuàng)建簡(jiǎn)單報(bào)表,同時(shí)它也提供了創(chuàng)建復(fù)雜或?qū)S玫膱?bào)表
39、所需的整套工具。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í)際意義,揭示可能被隱藏掉的重要關(guān)系。</p><p> 水晶報(bào)表的使用是數(shù)據(jù)的統(tǒng)計(jì)結(jié)果更為直觀,實(shí)為數(shù)據(jù)分析的一大利器。</p><p> 一、企業(yè)客戶(hù)管理系統(tǒng)
40、系統(tǒng)分析</p><p><b> 需求分析</b></p><p> 經(jīng)了解,本系統(tǒng)應(yīng)該具有如下的功能:</p><p> 由于操作人員的計(jì)算機(jī)知識(shí)有限,因此要求系統(tǒng)具有良好的人機(jī)界面;</p><p> 對(duì)不同的使用用戶(hù),要求系統(tǒng)具有良好的權(quán)限管理;</p><p> 方便的數(shù)據(jù)查詢(xún)
41、功能;</p><p> 方便的添加和修改數(shù)據(jù)功能;</p><p> 使用水晶報(bào)表分析、顯示客戶(hù)級(jí)別和來(lái)源情況;</p><p> 在相應(yīng)的權(quán)限下,可方便的刪除數(shù)據(jù)。</p><p><b> 系統(tǒng)總體流程圖分析</b></p><p> 企業(yè)客戶(hù)管理系統(tǒng)的業(yè)務(wù)流程如下圖所示。<
42、/p><p><b> 圖 4</b></p><p><b> 系統(tǒng)功能結(jié)構(gòu)</b></p><p> 系統(tǒng)的總體功能圖如圖5所示。</p><p><b> 圖 5</b></p><p><b> 系統(tǒng)模塊功能分析</b>
43、;</p><p> 資料管理及我方信息管理</p><p> 該部分要求能夠快速的查詢(xún)所需信息,便捷的插入新的信息和刪除無(wú)用信息,為了整個(gè)程序的易用性,由于各個(gè)小模塊都是對(duì)數(shù)據(jù)庫(kù)表的簡(jiǎn)單操作,具有類(lèi)比性,因此可以使用統(tǒng)一的模板進(jìn)行設(shè)計(jì),再根據(jù)不同的字段設(shè)計(jì)不同的項(xiàng)目。</p><p><b> 統(tǒng)計(jì)分析</b></p>&
44、lt;p> 該部分要求系統(tǒng)能夠根據(jù)數(shù)據(jù)庫(kù)里的數(shù)據(jù)自動(dòng)的生成報(bào)表,并提供打印服務(wù)。</p><p><b> 用戶(hù)管理</b></p><p> 該部分要求系統(tǒng)能夠根據(jù)用戶(hù)權(quán)限的不同提供修改密碼和權(quán)限的功能</p><p><b> 系統(tǒng)維護(hù)</b></p><p> 該部分要求能通過(guò)
45、程序客戶(hù)端完成數(shù)據(jù)庫(kù)的備份,恢復(fù)及清理工作。</p><p><b> 幫助</b></p><p> 該部分包含系統(tǒng)說(shuō)明、注銷(xiāo)登錄等功能。</p><p> 二、企業(yè)客戶(hù)管理系統(tǒng)系統(tǒng)設(shè)計(jì)</p><p><b> 設(shè)計(jì)目標(biāo)</b></p><p> 本系統(tǒng)屬于小型
46、的數(shù)據(jù)庫(kù)系統(tǒng),可以對(duì)中、小型企業(yè)客戶(hù)進(jìn)行有效的管理。通過(guò)本系統(tǒng)期望達(dá)到以下的目標(biāo):</p><p> 靈活的錄入數(shù)據(jù),使信息傳遞更快捷。</p><p> 系統(tǒng)采用人機(jī)交互方式、界面美觀友好,信息查詢(xún)靈活。數(shù)據(jù)存儲(chǔ)安全可靠。</p><p><b> 實(shí)現(xiàn)后臺(tái)監(jiān)控功能。</b></p><p> 實(shí)現(xiàn)客戶(hù)級(jí)別和來(lái)
47、源分析功能。</p><p> 實(shí)現(xiàn)各種查詢(xún),支持模糊查詢(xún)。</p><p> 實(shí)現(xiàn)企業(yè)客戶(hù)及其內(nèi)部資源的信息化管理。</p><p> 對(duì)用戶(hù)輸入的數(shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能避免人為錯(cuò)誤。</p><p> 系統(tǒng)最大限度的實(shí)現(xiàn)了易維護(hù)性和易操作性。</p><p><b> 開(kāi)發(fā)運(yùn)行環(huán)境<
48、;/b></p><p> 系統(tǒng)開(kāi)發(fā)平臺(tái):Microsoft Visual Studio 2008</p><p><b> 系統(tǒng)開(kāi)發(fā)語(yǔ)言:C#</b></p><p> 數(shù)據(jù)庫(kù)管理軟件:Microsoft SQL Server 2005</p><p> 運(yùn)行平臺(tái):Windows XP(SP2以上),Wi
49、ndows 2000(SP4),Windows Server 2003</p><p> 運(yùn)行環(huán)境:Microsoft .NET Framework SDK V3.5</p><p><b> 編碼規(guī)范</b></p><p><b> 數(shù)據(jù)庫(kù)命名規(guī)范</b></p><p> 數(shù)據(jù)庫(kù)名以d
50、b開(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所示。</p><p> 圖表 1數(shù)據(jù)庫(kù)命名規(guī)范</p><p><b> 變量命名規(guī)范</b></p><p> 變量名由
51、其變量類(lèi)型加上英文縮寫(xiě)構(gòu)成,如圖表2所示。</p><p> 圖表 2變量命名規(guī)范</p><p><b> 控件命名規(guī)范</b></p><p> 空間一般以其英文縮寫(xiě)為前綴,在代碼編寫(xiě)過(guò)程中不涉及具體編程的,可以以控件的默認(rèn)名稱(chēng)為其命名。具體如圖表3所示。</p><p> 圖表 3控件命名規(guī)范<
52、;/p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)表概要說(shuō)明</b></p><p> 數(shù)據(jù)庫(kù)名為:db_CRM,其中包含了8張數(shù)據(jù)表,如下圖所示。</p><p><b> 圖 6</b></p><p><b>
53、; 重要表的E-R圖</b></p><p> 企業(yè)基本信息實(shí)體E-R圖如圖7所示。</p><p><b> 圖 7</b></p><p> 客戶(hù)信息實(shí)體E-R圖如圖8所示。</p><p><b> 圖 8</b></p><p> 員工信息實(shí)體
54、E-R圖如圖9。</p><p><b> 圖 9</b></p><p> 競(jìng)爭(zhēng)對(duì)手實(shí)體E-R圖如圖10。</p><p><b> 圖 10</b></p><p><b> 主要表的結(jié)構(gòu)</b></p><p> tb_CInfo(企業(yè)基
55、本信息表),用于保存企業(yè)的基本信息,其結(jié)構(gòu)如圖表4所示。</p><p> 圖表 4企業(yè)基本信息表</p><p> tb_ClientInfo(客戶(hù)信息表),用于保存企業(yè)客戶(hù)的詳細(xì)資料,其結(jié)構(gòu)如圖表5所示。</p><p> 圖表 5客戶(hù)信息表</p><p> tb_Employss(員工信息表),用于保存企業(yè)內(nèi)部員工的詳
56、細(xì)資料,其結(jié)構(gòu)如圖表6所示。</p><p> 圖表 6員工信息表</p><p> tb_GoodsInfo(貨物信息表),用于保存企業(yè)內(nèi)部貨物的詳細(xì)信息,其結(jié)構(gòu)如圖表7所示。</p><p> 圖表 7貨物信息表</p><p> tb_User(用戶(hù)信息表),用于保存本系統(tǒng)用戶(hù)的基本信息及權(quán)限其結(jié)構(gòu)如圖表8所示。<
57、/p><p> 圖表 8用戶(hù)信息表</p><p><b> 對(duì)象模型的建立</b></p><p><b> 數(shù)據(jù)庫(kù)對(duì)象的建立</b></p><p> 打開(kāi)“服務(wù)器資源管理器”,選擇新建連接。</p><p><b> 圖 11</b>&l
58、t;/p><p> 使用Visual Studio 2008建立實(shí)體類(lèi)</p><p> 建立實(shí)體類(lèi)的方式有很多種,例如手動(dòng)編碼建立、使用XML文件映射、使用命令行工具SqlMetal生成、使用LINQ to SQL設(shè)計(jì)器等。其中最方便的方法就是使用LINQ to SQL設(shè)計(jì)器。步驟如下。</p><p> 在專(zhuān)用于數(shù)據(jù)處理的命名空間下選擇“新建項(xiàng)”,添加一個(gè)名稱(chēng)
59、為“CRMClasses”的“LINQ to SQL類(lèi)”,如下圖。</p><p><b> 圖 12</b></p><p> 在“服務(wù)器資源管理器”窗口需要使用的表格拖入左邊,把設(shè)計(jì)好的函數(shù)和存儲(chǔ)過(guò)程等方法拖入右邊,如圖。</p><p><b> 圖 13</b></p><p> 保
60、存“CRMClasses”之后,實(shí)體類(lèi)就這樣建立完畢了,若需要還可以從“屬性”窗口修改實(shí)體類(lèi)的屬性名稱(chēng)、存儲(chǔ)過(guò)程映射的方法名,以及實(shí)體類(lèi)的添加、刪除、修改行為中使用的方法等。</p><p> 使用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文件映射
61、等方法建立的實(shí)體類(lèi)更加的簡(jiǎn)介,也更符合具體系統(tǒng)的要求。</p><p><b> 界面設(shè)計(jì)</b></p><p><b> 登錄系統(tǒng)的設(shè)計(jì)</b></p><p> 系統(tǒng)登錄主要用于對(duì)進(jìn)入企業(yè)客戶(hù)資源管理系統(tǒng)的用戶(hù)進(jìn)行安全性檢查,以防止非法用戶(hù)進(jìn)入該系統(tǒng)。在登錄時(shí),只有合法的用戶(hù)才可以進(jìn)入該系統(tǒng),同事,系統(tǒng)根據(jù)登錄
62、用戶(hù)的級(jí)別,給予其不同的操作權(quán)限,系統(tǒng)登錄窗體運(yùn)行結(jié)果如下所示</p><p><b> 圖 14</b></p><p> 根據(jù)用戶(hù)選擇的用戶(hù)名,系統(tǒng)自動(dòng)判斷用戶(hù)權(quán)限,并且比較密碼是否與數(shù)據(jù)庫(kù)內(nèi)紀(jì)錄一致,如果是則可以進(jìn)入系統(tǒng)主界面。</p><p><b> 主界面的設(shè)計(jì)</b></p><p&
63、gt; 系統(tǒng)主界面由三部分構(gòu)成,分別為菜單欄、導(dǎo)航欄和底部的狀態(tài)欄,其中在制作導(dǎo)航欄的時(shí)候,使用了第三方的控件“NavNarControl”,做出來(lái)的效果還是相當(dāng)?shù)牟诲e(cuò),其運(yùn)行結(jié)果如下圖。</p><p><b> 圖 15</b></p><p> 菜單欄和導(dǎo)航欄的功能基本一致,只是從兩種途徑來(lái)實(shí)現(xiàn),底部的狀態(tài)欄通過(guò)一系列字符串的合并顯示用戶(hù)名,登錄時(shí)間等信息
64、。通過(guò)點(diǎn)擊菜單欄或者導(dǎo)航欄的相應(yīng)功能,開(kāi)啟子窗口就可以進(jìn)行子項(xiàng)目的操作了。</p><p> 通用信息管理界面的設(shè)計(jì)</p><p> 資料管理和我方信息管理里的7個(gè)小項(xiàng)目都具有一個(gè)共同的特點(diǎn),都是對(duì)數(shù)據(jù)庫(kù)進(jìn)行的插入、刪除及修改的操作,不同的只是針對(duì)的具體數(shù)據(jù)庫(kù)表和字段的不同,以客戶(hù)資料管理為例,預(yù)期的運(yùn)行結(jié)果如下圖。</p><p><b> 圖
65、16</b></p><p> 整個(gè)界面由三個(gè)部分組成:</p><p> 最上方的工具欄:提供新建及刪除資料的服務(wù),并且可以根據(jù)查詢(xún)條件進(jìn)行查詢(xún),還能調(diào)用郵件相關(guān)組件給客戶(hù)發(fā)送E-mail。</p><p> 中間的組合框:使用了textbox和combobox完成每一條記錄詳細(xì)顯示,以供用戶(hù)添加新信息或者修改現(xiàn)有信息。其中的聯(lián)系電話(huà),E-mai
66、l等還應(yīng)設(shè)置正則表達(dá)式來(lái)檢驗(yàn)數(shù)據(jù)輸入的合法性。</p><p> 下面的DataGridView列出了符合當(dāng)前查詢(xún)的所有條目,供用戶(hù)查看,雙擊其條目可以在中間的組合框內(nèi)顯示改條目的詳細(xì)內(nèi)容,供用戶(hù)修改。</p><p><b> 聯(lián)系客戶(hù)窗體的設(shè)計(jì)</b></p><p> 聯(lián)系客戶(hù)窗體用來(lái)實(shí)現(xiàn)企業(yè)與客戶(hù)的交流、溝通功能。實(shí)現(xiàn)該功能時(shí)調(diào)用
67、了System.Net.Mail命名空間下的MailMessage類(lèi)和SmtpClient類(lèi)。界面設(shè)計(jì)如下圖所示。</p><p><b> 圖 17</b></p><p> 在窗體Load的時(shí)候自動(dòng)載入客戶(hù)的編號(hào)、名稱(chēng)和郵箱。</p><p> 如果選擇了上傳附件,則會(huì)打開(kāi)一個(gè)OpenFileDialog對(duì)話(huà)框,供用戶(hù)選擇文件,并返回
68、該文件的路徑。</p><p> 點(diǎn)擊發(fā)送后,調(diào)用系統(tǒng)函數(shù)發(fā)送郵件。</p><p><b> 水晶報(bào)表的設(shè)計(jì)</b></p><p> 客戶(hù)級(jí)別分析窗體主要反映不同級(jí)別的客戶(hù)情況,操作人員可以通過(guò)選擇客戶(hù)等級(jí),查看制定級(jí)別的客戶(hù)詳細(xì)信息??蛻?hù)級(jí)別分析窗體運(yùn)行結(jié)果如下圖所示。</p><p><b>
69、圖 18</b></p><p><b> 關(guān)鍵性代碼解析</b></p><p><b> 郵件的發(fā)送</b></p><p> 在聯(lián)系客戶(hù)的窗體中,實(shí)現(xiàn)了通過(guò)客戶(hù)端發(fā)送郵件的功能,在事先給客戶(hù)發(fā)送郵件時(shí),需要制定郵件的發(fā)送者、接受者、主題、內(nèi)容、發(fā)送郵件的SMTP服務(wù)器的地址及端口號(hào)。特別的,如果有附
70、件的存在,還需要聲明一個(gè)ContentDispotion類(lèi)的對(duì)象,并通過(guò)其屬性,完成附件屬性的設(shè)置,其運(yùn)行代碼如下。</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("沒(méi)有附件可刪!", "提示", 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> //郵箱格式驗(yàn)證</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對(duì)象,使用郵件功能</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ù)據(jù)庫(kù)的自動(dòng)備份與還原</p>&l
100、t;p> 如下圖,數(shù)據(jù)庫(kù)的備份與還原的界面并不復(fù)雜,難點(diǎn)在在通過(guò)客戶(hù)端完成數(shù)據(jù)庫(kù)后臺(tái)的工作。</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> //設(shè)置備份文件的位置</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、; //判斷其是否已經(jīng)存在</p><p> if (File.Exists(txtDSPath.Text.Trim() + ".bak"))</p><p><b> {</b></p><p> MessageBox.Show("該文件已經(jīng)存在!", "提示", Messa
108、geBoxButtons.OK, MessageBoxIcon.Information);</p><p> txtDSPath.Text = "";</p><p> txtDSPath.Focus();</p><p><b> }</b></p><p> //數(shù)據(jù)庫(kù)的備份仍然使用的是S
109、QL語(yǔ)句,LINQ更適合于數(shù)據(jù)的控制而不是數(shù)據(jù)庫(kù)的底層操作</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ù)據(jù)備份成功!", "提示", 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> 在程序中調(diào)用其他的軟件(如記事本)</p><p&g
114、t; 在幫助功能中,還可以快速的打開(kāi)記事本、WORD的軟件,以下為C#中調(diào)用外部程序的代碼:</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)的測(cè)試與糾錯(cuò)</p><p>
118、 在測(cè)試系統(tǒng)的過(guò)程中,系統(tǒng)出現(xiàn)了如下的幾個(gè)問(wèn)題:</p><p> 使用的第三方導(dǎo)航欄插件NavBar由于是試用版,有時(shí)候只能顯示卻不能展開(kāi),即導(dǎo)航欄有時(shí)會(huì)失效。但由于沒(méi)有找到其他的免費(fèi)的第三方導(dǎo)航欄插件,就沒(méi)有做改動(dòng),但這個(gè)問(wèn)題也影響了整個(gè)程序的完整性。</p><p> 在使用水晶報(bào)表的時(shí)候,第一次使用需要再次輸入數(shù)據(jù)庫(kù)的登錄名和密碼,顯然這是一個(gè)系統(tǒng)設(shè)計(jì)的錯(cuò)誤,能查看報(bào)表的用戶(hù)不
119、一定都有數(shù)據(jù)庫(kù)的后臺(tái)密碼,在對(duì)水晶報(bào)表屬性中的集成安全性就行了設(shè)置以后,該問(wèn)題圓滿(mǎn)解決。</p><p> 在對(duì)系統(tǒng)的查詢(xún)系統(tǒng)進(jìn)行測(cè)試的時(shí)候發(fā)現(xiàn),有一些應(yīng)該有結(jié)果的查詢(xún)查詢(xún)出來(lái)的結(jié)果居然為空,檢查代碼后發(fā)現(xiàn),是編寫(xiě)代碼的時(shí)候部分正則表達(dá)式書(shū)寫(xiě)出錯(cuò),修改后再次測(cè)試,顯示正常。</p><p> 邀請(qǐng)了同宿舍的同學(xué)幫忙使用系統(tǒng),未再發(fā)現(xiàn)重大的程序錯(cuò)誤,程序設(shè)計(jì)完成。</p>
120、<p><b> 后 記</b></p><p> 畢業(yè)設(shè)計(jì)的系統(tǒng)至今已然完成,回想從選題、需求分析、代碼編寫(xiě)、系統(tǒng)測(cè)試等過(guò)程中的收獲,我感到收獲良多。</p><p> 系統(tǒng)設(shè)計(jì)不是一件簡(jiǎn)單的事情,從需求分析開(kāi)始就要做大量的調(diào)查與規(guī)劃,由于時(shí)間急促,本系統(tǒng)的邏輯結(jié)構(gòu)并不復(fù)雜,但代碼的編寫(xiě)量確實(shí)不小,有時(shí)候越是心急反而越發(fā)現(xiàn)不了不應(yīng)該的小錯(cuò)誤。&
121、lt;/p><p> 由于本人對(duì)新技術(shù)較為感興趣,因此選擇了C#為編程語(yǔ)言,LINQ為數(shù)據(jù)庫(kù)操作方法。在做畢業(yè)設(shè)計(jì)以前我編寫(xiě)過(guò)的幾個(gè)系統(tǒng)一直使用的是JAVA語(yǔ)言,這次第一次用C#來(lái)做系統(tǒng)?;A(chǔ)知識(shí)的不牢固導(dǎo)致我需要不停的翻看參考書(shū)目里的案例,代碼編寫(xiě)效率較低,同時(shí)也讓我明確了精通一門(mén)語(yǔ)言的重要性。在設(shè)計(jì)過(guò)程中我也仔細(xì)體會(huì)了JAVA與C#的異同,體驗(yàn)了VS2008的代碼編寫(xiě)的強(qiáng)大輔助。</p><
122、p> 由于存在大量的控件,因此一個(gè)好的命名規(guī)范能夠節(jié)省大量的檢查代碼的時(shí)間,也能夠避免找不到控件的尷尬。</p><p> 通過(guò)此次畢業(yè)設(shè)計(jì),回顧了大學(xué)四年的所學(xué)所得,感到學(xué)有所成,愿自己在將來(lái)的工作中能不枉大學(xué)四年的所學(xué),創(chuàng)出自己的天地。</p><p><b> 主要參考文獻(xiàn)</b></p><p> 劉騰紅,孫細(xì)明.信息系統(tǒng)
123、分析與設(shè)計(jì).北京:科學(xué)出版社,2006.</p><p> 董金祥,陳剛,尹建偉.客戶(hù)關(guān)系管理(CRM) .浙江:浙江大學(xué)出版社,2007.</p><p> 程控,革揚(yáng) .MRP2\ERP原理與應(yīng)用.北京:清華大學(xué)出版社,2006.</p><p> 王小科,梁冰,呂雙Visual C#項(xiàng)目開(kāi)發(fā)實(shí)例自學(xué)手冊(cè).北京:人民郵電出版社,2007</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vs2008客戶(hù)管理系統(tǒng)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)-倉(cāng)庫(kù)管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)--- 庫(kù)存管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)-----賓館管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)---商品管理及客戶(hù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)---考勤管理系統(tǒng)
- 計(jì)算機(jī)考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 電費(fèi)管理系統(tǒng)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)
- 畢業(yè)設(shè)計(jì)----計(jì)算機(jī)庫(kù)存管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--計(jì)算機(jī)應(yīng)用基礎(chǔ)試題管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)
- vs2008餐飲管理系統(tǒng)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文
- 計(jì)算機(jī)圖書(shū)管理系統(tǒng)畢業(yè)設(shè)計(jì)2
- 畢業(yè)設(shè)計(jì)---計(jì)算機(jī)學(xué)院圖書(shū)管理系統(tǒng)
- 網(wǎng)上商城購(gòu)物系統(tǒng)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)論文
- 基于domino的oa合同管理系統(tǒng)計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)---vb學(xué)生成績(jī)管理系統(tǒng)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文--高校師生科研管理系統(tǒng)
- 計(jì)算機(jī)信息管理畢業(yè)設(shè)計(jì)--學(xué)生學(xué)籍管理系統(tǒng)
- 社區(qū)醫(yī)療管理系統(tǒng)計(jì)算機(jī)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論