




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
河北農(nóng)業(yè)大學(xué)畢業(yè)論文題目:銀行客戶比對(duì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要金融業(yè)是典型的高級(jí)服務(wù)業(yè),客戶是最重要的資源,如何有效的管理客戶信息并準(zhǔn)確把握客戶情況,成為了當(dāng)下眾多銀行面對(duì)的新課題。本文主要對(duì)銀行客戶比對(duì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行討論,本文基于ASP.net技術(shù),使用C#語言配合MicrosoftVisualStudio2010開發(fā)工具和MicrosoftSQLServer2008R2數(shù)據(jù)庫(kù)論述了如何利用設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)用戶登錄、用戶管理、數(shù)據(jù)上傳、數(shù)據(jù)查詢、數(shù)據(jù)下載比對(duì)等功能的實(shí)現(xiàn),本文給出了系統(tǒng)實(shí)際運(yùn)行界面,以及數(shù)據(jù)庫(kù)相關(guān)設(shè)計(jì)關(guān)系圖盡可能滿足了客戶的實(shí)際需求。關(guān)鍵字:銀行;比對(duì);ASP.NETAbstractThefinancialindustryisatypicalseniorservices,thecustomeristhemostimportantresource,howtoeffectivelymanagecustomerinformationandaccurategraspofcustomers,themomenthasbecomeanewtopicofmanybanksface.ThispaperfocusesonbankcustomersonthesystemdesignandimplementationthandiscussingBasedonASP.nettechnology,theuseofC#languagewithMicrosoftVisualStudio2010developmenttoolsandMicrosoftSQLServer2008R2databasedesigndiscusseshowtousethesystemforuserstologin,theusermanagement,dataupload,dataquery,datadownloadsthantherealizationofotherfunctions,thispapergivestheactualoperatingsysteminterfaceanddatabase-relateddesigndiagramsaspossibletomeettheactualneedsofcustomers.
Keywords:banks;comparedto;ASP.NET目錄1 緒論 11.1 課題背景和意義 11.2 國(guó)內(nèi)外現(xiàn)狀分析 11.3 論文組織結(jié)構(gòu) 22 相關(guān)技術(shù)及工具 32.1 C#語言 32.2 ASP.NET 32.3 SQLServer2008 42.4 VisualStudio2010 53 系統(tǒng)的需求及可行性分析 63.1 系統(tǒng)可行性 63.1.1 技術(shù)可行性 63.1.2 經(jīng)濟(jì)可行性 63.1.3 運(yùn)行可行性 63.2 系統(tǒng)需求分析 73.2.1 系統(tǒng)功能需求 73.2.2 開發(fā)運(yùn)行環(huán)境 73.2.3 其他系統(tǒng)需求 73.2.4 系統(tǒng)具體功能要求 84 系統(tǒng)設(shè)計(jì) 94.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 94.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 94.3 數(shù)據(jù)庫(kù)訪問CCB.Data類庫(kù)的實(shí)現(xiàn) 144.4 通用功能CCB.Common類庫(kù)的實(shí)現(xiàn) 164.4.1 通用處理封裝 164.4.2 配置文件相關(guān)操作封裝 174.4.3 數(shù)據(jù)庫(kù)連接初始化封裝 174.4.4 系統(tǒng)日志封裝 184.4.5 系統(tǒng)加密封裝 185 網(wǎng)站界面實(shí)現(xiàn) 195.1 管理員登陸界面設(shè)計(jì) 195.2 數(shù)據(jù)文件管理界面 225.3 數(shù)據(jù)文件上傳界面 235.4 有效客戶分析界面 256 結(jié)論 29參考文獻(xiàn) 30致謝 31
緒論課題背景和意義改革開放以來,中國(guó)金融業(yè)對(duì)外開放步伐明顯加快,按照加入世界貿(mào)易組織時(shí)的承諾開放了對(duì)外資銀行、外資保險(xiǎn)公司的地域限制和業(yè)務(wù)限制。中國(guó)現(xiàn)代化支付系統(tǒng)建設(shè)也取得了突破性進(jìn)展,基本建立了覆蓋廣泛、功能齊全的跨市場(chǎng)、跨境支付結(jié)算體系,人民幣在香港和澳門實(shí)現(xiàn)清算安排。以網(wǎng)絡(luò)為基礎(chǔ)的電子資金交易系統(tǒng)不斷完善,實(shí)現(xiàn)了銀行間債券市場(chǎng)券款對(duì)付(DVP)清算,為投資者提供了安全、高效、便捷的資金交易和清算服務(wù)。中央銀行建立和完善了一系列的金融監(jiān)控信息系統(tǒng),支付清算、賬戶管理、征信管理、國(guó)庫(kù)管理、貨幣金銀管理、反洗錢監(jiān)測(cè)分析、金融統(tǒng)計(jì)監(jiān)測(cè)管理信息等和辦公政務(wù)實(shí)現(xiàn)了信息化。商業(yè)銀行的綜合業(yè)務(wù)處理、資金匯兌、銀行卡服務(wù)等基本實(shí)現(xiàn)了計(jì)算機(jī)聯(lián)網(wǎng)處理和數(shù)據(jù)集中處理,自助銀行、網(wǎng)絡(luò)銀行、電子商務(wù)、網(wǎng)上支付結(jié)算等新型金融服務(wù)迅速發(fā)展。金融業(yè)是典型的高級(jí)服務(wù)業(yè),客戶是最重要的資源,如何有效的管理客戶信息并準(zhǔn)確把握客戶需求,成為了當(dāng)下眾多銀行面對(duì)的新課題,隨著時(shí)代的進(jìn)步,銀行企業(yè)的客戶也逐漸變得多起來;當(dāng)今資金流動(dòng)越來越頻繁,使得銀行管理工作也變的越來越復(fù)雜。以前人們使用傳統(tǒng)的人工方式管理客戶信息,這種管理方式存在著許多缺點(diǎn),如效率低下、保密性差等。另外,時(shí)間一長(zhǎng)將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于信息的查找、更新和維護(hù)來說都帶來了不少的困難。所以,如何有效率地管理比對(duì)好銀行客戶信息,成為銀行管理中一個(gè)重要的問題。如果能實(shí)現(xiàn)管理的自動(dòng)化,無疑將給銀行管理帶來很大的方便。銀行客戶比對(duì)系統(tǒng)也根據(jù)這一需求應(yīng)運(yùn)而生。國(guó)內(nèi)外現(xiàn)狀分析目前,最常用的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)的語言有ASP(Active
Server
Pages),JSP(JavaServer
Pages),PHP
(Hypertext
Preprocessor)。其中ASP所具有的強(qiáng)大的安全性和適應(yīng)型。使它可以應(yīng)用在幾乎全部的平臺(tái)上。ASP.NET是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫(kù)代碼。與被解釋的前輩不同,ASP.NET可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前就顯著提高了性能,同時(shí),ASP.NET框架補(bǔ)充了VisualStudio集成開發(fā)環(huán),再加上由于ASP.NET基于公共語言運(yùn)行庫(kù),因此Web應(yīng)用程序開發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。.NET框架類庫(kù)、消息處理和數(shù)據(jù)訪問解決方案都可從Web無縫訪問。ASP.NET也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。因?yàn)閙$給封裝了很多控件以及很多現(xiàn)成的模式的緣故,網(wǎng)站的建立速度很快,但是因?yàn)橥瞥鰰r(shí)間不長(zhǎng),大型的應(yīng)用還比較少,大型應(yīng)用沒有很多案例可以借鑒,但并不能說明不適合做大型應(yīng)用。msnspaces正是依靠技術(shù)制作。而的缺點(diǎn)是基本只能在微軟開發(fā)平臺(tái)上運(yùn)行良好,雖然有其他平臺(tái)版本但實(shí)際存在于其他平臺(tái)的應(yīng)用數(shù)量幾乎為零,平臺(tái)的局限性嚴(yán)重影響了的發(fā)展[1]。隨著計(jì)算機(jī)技術(shù)飛速發(fā)展,信息技術(shù)全面地滲透到人類社會(huì)的各個(gè)方面,信息化成為世界和社會(huì)發(fā)展的大趨勢(shì)。企業(yè)的管理從人工到自動(dòng)化、智能化和高效性。計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)現(xiàn)代企業(yè)客戶的管理也勢(shì)在必行??蛻羰瞧髽I(yè)的生存之本,客戶信息的資料對(duì)企業(yè)來說至關(guān)重要。為了適應(yīng)現(xiàn)代信息管理,節(jié)省人力、物力和財(cái)力,銀行業(yè)也不會(huì)成為這個(gè)例外,但是,縱觀整個(gè)應(yīng)用市場(chǎng),針對(duì)銀行的應(yīng)用多為類似“銀行客戶管理系統(tǒng)”之類的基本管理系統(tǒng),真正涉足銀行客戶比對(duì)的應(yīng)用可謂是少之又少,可以說存在一個(gè)巨大的空白可供我們填充[2-4]。論文組織結(jié)構(gòu)本論文主要分六章第一章為緒論,主要論述銀行客戶比對(duì)系統(tǒng)系統(tǒng)的背景和意義,以及國(guó)內(nèi)外現(xiàn)狀。第二章為開發(fā)技術(shù)和工具的介紹,主要論述銀行客戶比對(duì)系統(tǒng)開發(fā)過程中用到的技術(shù)和工具。第三章為需求分析,主要論述從系統(tǒng)的真實(shí)需求出發(fā),對(duì)系統(tǒng)的功能性和非功能性需求的描述,以及遇到的問題和解決方案。第四章為系統(tǒng)設(shè)計(jì),主要?jiǎng)澐窒到y(tǒng)的主要功能,以及系統(tǒng)的功能,描述數(shù)據(jù)庫(kù)表結(jié)構(gòu)及相關(guān)屬性。第五章為網(wǎng)站實(shí)現(xiàn),主要是對(duì)系統(tǒng)的主要功能的詳細(xì)描述以及實(shí)現(xiàn)過程,以及一些界面截圖。第七章為總結(jié),主要是對(duì)自己在完成畢業(yè)設(shè)計(jì)的過程中的工作的總結(jié)。
相關(guān)技術(shù)及工具C#語言C#是微軟公司在2000年7月發(fā)布的一種全新且簡(jiǎn)單、安全、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是專門為.NET的應(yīng)用而開發(fā)的語言。它吸收了C++、VisualBasic、Delphi、Java等語言的優(yōu)點(diǎn),體現(xiàn)了當(dāng)今最新的程序設(shè)計(jì)技術(shù)的功能和精華。C#繼承了C語言的語法風(fēng)格,同時(shí)又繼承了C++的面向?qū)ο筇匦浴2煌氖?,C#的對(duì)象模型已經(jīng)面向Internet進(jìn)行了重新設(shè)計(jì),使用的是.NET框架的類庫(kù);C#不再提供對(duì)指針類型的支持,使得程序不能隨便訪問內(nèi)存地址空間,從而更加健壯;C#不再支持多重繼承,避免了以往類層次結(jié)構(gòu)中由于多重繼承帶來的可怕后果[2]。.NET框架為C#提供了一個(gè)強(qiáng)大的、易用的、邏輯結(jié)構(gòu)一致的程序設(shè)計(jì)環(huán)境。同時(shí),公共語言運(yùn)行時(shí)(CommonLanguageRuntime)為C#程序語言提供了一個(gè)托管的運(yùn)行時(shí)環(huán)境,使程序比以往更加穩(wěn)定、安全[3-5]。C#最大的優(yōu)點(diǎn)是C#是一種徹頭徹尾的為.NETFramework設(shè)計(jì)的語言是在移植到其他系統(tǒng)地上的.NET版本中使用的主要語言。要使諸如VB的語言盡可能類似于其以前的語言仍遵循CLR,就不能完全支持.NET代碼庫(kù)的某些功能,至少需要不常見的語法。但C#能使用.NETFramework代碼庫(kù)提供這種功能。.NET的最新版本還對(duì)C#語言進(jìn)行了幾處改動(dòng),滿足了開發(fā)人員的要求,使之更加強(qiáng)大。C#還有以下幾個(gè)優(yōu)點(diǎn):完全支持類和面向?qū)ο缶幊蹋ń涌诤屠^承、虛函數(shù)和運(yùn)算符重載的處理。定義完整、一致的基本類型集。對(duì)自動(dòng)生成XML文檔說明的內(nèi)置支持。自動(dòng)清理動(dòng)態(tài)分配的內(nèi)存??梢杂糜脩舳x的特性來標(biāo)記類或方法。這可以用于文檔說明,對(duì)編譯有一定的影響。對(duì).NET基類庫(kù)的完全訪問權(quán),并易于訪問WindowsAPI??梢允褂弥羔樅椭苯觾?nèi)存訪問,C#語言可以在沒有它們的條但件下訪問內(nèi)存。以VB的風(fēng)格支持屬性和事件。改變編譯器選項(xiàng),可以把程序編譯為可執(zhí)行文件或.NET組件庫(kù),該組件庫(kù)可以用與ActiveX控件(COM組件)相同的方式由其他代碼調(diào)用。C#可以用于編寫ASP.NET動(dòng)態(tài)Web頁(yè)面和XMLWeb服務(wù)。應(yīng)該指出,對(duì)于上述大多數(shù)特性,VB.NET和ManagedC++也具備。但C#從一開始就使用.NET,對(duì).NET特性的支持不僅是完整的,而且提供了比其他語言更合適的語法[6]。ASP.NETASP.NET是.NETFramework的一部分,是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁(yè)中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP請(qǐng)求文檔時(shí)再在Web服務(wù)器上動(dòng)態(tài)創(chuàng)建它們。指ActiveServerPages(動(dòng)態(tài)服務(wù)器頁(yè)面),運(yùn)行于IIS(InternetInformationServer服務(wù))之中的程序[7]。ASP.NET不僅僅只是ASP3的一個(gè)簡(jiǎn)單升級(jí),它更為我們提供了一個(gè)全新而強(qiáng)大的服務(wù)器控件結(jié)構(gòu)。從外觀上看,ASP.NET和ASP是相近的,但是從本質(zhì)上是完全不同的。ASP.NET幾乎全是基于組件和模塊化,每一個(gè)頁(yè),對(duì)象,和HTML元素都是一個(gè)運(yùn)行的組件對(duì)象。在開發(fā)語言上,ASP.NET拋棄了VBSCRIPT和JSCRIPT,而使用.NETFramework所支持的VB.NET,C#.NET等語言作為其開發(fā)語言,這些語言生成的網(wǎng)頁(yè)在后臺(tái)被轉(zhuǎn)換成了類并編譯成了一個(gè)DLL。由于ASP.NET是編譯執(zhí)行的,所以它比ASP擁有了更高的效率[8]。SQLServer2008SQLServer2008在Microsoft的數(shù)據(jù)平臺(tái)上發(fā)布,幫助用戶的組織隨時(shí)隨地管理任何數(shù)據(jù)。它可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)(例如圖像和音樂)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。SQLServer2008提供一系列豐富的集成服務(wù),可以對(duì)數(shù)據(jù)進(jìn)行查詢、搜索、同步、報(bào)告和分析之類的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計(jì)算機(jī)和移動(dòng)設(shè)備,用戶可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲(chǔ)在哪里。SQLServer2008允許用戶在使用Microsoft.NET和VisualStudio開發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的架構(gòu)(SOA)和通過MicrosoftBizTalkServer進(jìn)行的業(yè)務(wù)流程中使用數(shù)據(jù)。信息工作人員可以通過他們?nèi)粘J褂玫墓ぞ撸ɡ?007MicrosoftOffice系統(tǒng))直接訪問數(shù)據(jù)。SQLServer2008提供一個(gè)可信的、高效率智能數(shù)據(jù)平臺(tái),可以滿足用戶的所有數(shù)據(jù)需求。SQLServer2008的主要特點(diǎn):(1)可信SQLServer為用戶的業(yè)務(wù)關(guān)鍵型應(yīng)用程序提供最高級(jí)別的安全性、可靠性和伸縮性。(2)高效率為了抓住如今風(fēng)云變幻的商業(yè)機(jī)會(huì),公司需要能力來快速創(chuàng)建和部署數(shù)據(jù)驅(qū)動(dòng)的解決方案。SQLServer2008減少了管理和開發(fā)應(yīng)用程序的時(shí)間和成本。(3)智能SQLServer2008提供全面的平臺(tái),在用戶需要的時(shí)候提供智能。SQL2008新增功能:(1)可用性增強(qiáng)功能:增強(qiáng)數(shù)據(jù)庫(kù)鏡像功能,MicrosoftSQLServer2008數(shù)據(jù)庫(kù)的可用性得到改進(jìn)??梢允褂脭?shù)據(jù)庫(kù)鏡像創(chuàng)建熱備用服務(wù)器,從而提供快速故障轉(zhuǎn)移且已經(jīng)提交的事務(wù)不會(huì)丟失數(shù)據(jù)。(2)易管理性增強(qiáng)功能:通過增強(qiáng)工具和監(jiān)視功能,SQL2008數(shù)據(jù)庫(kù)引擎的易管理性得到簡(jiǎn)化。(3)針對(duì)可編程性的增強(qiáng)功能:包括新數(shù)據(jù)存儲(chǔ)功能、新數(shù)據(jù)類型、新全文搜索體系結(jié)構(gòu)以及對(duì)Transact-SQL所作所為的許多改進(jìn)和添加。(4)針對(duì)可擴(kuò)展性和性能的增強(qiáng)功能:包含篩選信息索引和統(tǒng)計(jì)信息、新表和查詢提示、新查詢性能和查詢處理性能。(5)針對(duì)安全性的增強(qiáng)功能:包括新加密函數(shù)、透明數(shù)據(jù)加密及可擴(kuò)展密鑰管理功能,以及針對(duì)DES算法的澄清。VisualStudio2010VisualStudio是微軟公司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。VisualStudio2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡(jiǎn)單明了。VisualStudio2010同時(shí)帶來了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持開發(fā)面向Windows7的應(yīng)用程序。除了MicrosoftSQLServer,它還支持IBMDB2和Oracle數(shù)據(jù)庫(kù)[8]。新功能還包括:(1)C#4.0中的動(dòng)態(tài)類型和動(dòng)態(tài)編程;(2)多顯示器支持;(3)使用VisualStudio2010的特性支持TDD;(4)支持Office;(5)QuickSearch特性;(6)C++0x新特性;(7)IDE增強(qiáng);根據(jù)微軟發(fā)布的一份官方文檔宣稱,VisualStudio2010和.NETFramework4.0將在下面五個(gè)方面有所創(chuàng)新:(1)民主化的應(yīng)用程序生命周期管理在一個(gè)組織中,應(yīng)用程序生命周期管理(ALM)將牽涉到多個(gè)角色。但是在傳統(tǒng)意義上,這一過程中的每個(gè)角色并不是完全平等的。VisualStudioTeamSystem2010將堅(jiān)持打造一個(gè)功能平等、共同分擔(dān)的平臺(tái)以用于組織內(nèi)的應(yīng)用程序生命周期管理過程。(2)順應(yīng)新的技術(shù)潮流每年,業(yè)界內(nèi)的新技術(shù)和新趨勢(shì)層出不窮。通過VisualStudio2010,微軟將為開發(fā)者提供合適的工具和框架,以支持軟件開發(fā)中最新的架構(gòu),開發(fā)和部署。(3)讓開發(fā)者提升效率從VisualStudio的第一個(gè)版本開始,微軟就將提高開發(fā)人員的工作效率和靈活性作為自己的目標(biāo)。VisualStudio2010將繼續(xù)關(guān)注并且顯著地改進(jìn)開發(fā)者最核心的開發(fā)體驗(yàn)。(4)適應(yīng)下一代平臺(tái)開發(fā)微軟將繼續(xù)投資于市場(chǎng)領(lǐng)先的操作系統(tǒng),工具軟件和服務(wù)器平臺(tái),為客戶創(chuàng)造更高的價(jià)值。使用VisualStudio2010,將可以在新一代的應(yīng)用平臺(tái)上。(5)跨部門應(yīng)用客戶將在不同規(guī)模的組織內(nèi)創(chuàng)建應(yīng)用,跨度從單個(gè)部門到整個(gè)企業(yè)。VisualStudio2010將確保在這么寬泛的范圍內(nèi)的應(yīng)用開發(fā)都得到支持。(6)高效開發(fā)環(huán)境MicrosoftVisualStudio2010采用拖曳式便能完成軟件的開發(fā)。簡(jiǎn)簡(jiǎn)單單的操作便可以實(shí)現(xiàn)一個(gè)界面的生成。但拖曳的界面,也應(yīng)當(dāng)有相應(yīng)的代碼來實(shí)現(xiàn)功能。MicrosoftVisualStudio2010支持C#、C++、VB,可以快速實(shí)現(xiàn)相應(yīng)的功能[9-11]。系統(tǒng)的需求及可行性分析系統(tǒng)可行性究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。也就是說可行性研究的目的不是解決問題,而是確定問題是否值得去解決,研究在當(dāng)前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件。一般說來,應(yīng)從經(jīng)濟(jì)可行性、技術(shù)可行性、運(yùn)行可行性等方面分析系統(tǒng)可行性。技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本銀行客戶比對(duì)系統(tǒng)使用SQL2008R2數(shù)據(jù)庫(kù)和MicrosoftVisualStudio2010進(jìn)行開發(fā),同為微軟出品的兩者具有非常好的相性,且新版的SQL2008更加方便用戶創(chuàng)建數(shù)據(jù)庫(kù)操作更為簡(jiǎn)便,兩者組合堪稱最適合開發(fā)ASP.NET的工具組合,既支持交互環(huán)境,又支持編程環(huán)境,且具有向下兼容性,對(duì)數(shù)據(jù)的完整性和一致性進(jìn)行控制,以保證只對(duì)有效的數(shù)據(jù)進(jìn)行處理.它提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性.系統(tǒng)調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行。因此系統(tǒng)在技術(shù)上是絕對(duì)可行的。經(jīng)濟(jì)可行性主要從對(duì)項(xiàng)目的經(jīng)濟(jì)上進(jìn)行分析評(píng)價(jià),一方面是支出的費(fèi)用,包括設(shè)備購(gòu)置費(fèi)、管理和維護(hù)費(fèi)用、人員工資和培訓(xùn)費(fèi)等,另一個(gè)是取得的收益。此系統(tǒng)僅僅是簡(jiǎn)單的比對(duì)系統(tǒng)且主要算法由需求方提供,實(shí)際工作量主要集中在頁(yè)面設(shè)計(jì)以及為加強(qiáng)效率方面所做的工作上,但是此系統(tǒng)可以減少需求方工作人員的大量工作,加快工作效率,提升銀行的服務(wù)質(zhì)量,所以,開發(fā)此程序從經(jīng)濟(jì)角度講是可行的。運(yùn)行可行性在信息化時(shí)代的現(xiàn)在,單位中使用PC電腦已不是什么奇怪的事情,電腦的高效以及低出錯(cuò)率使得當(dāng)今銀行中的工作人員早已熟練掌握基本的電腦操作技術(shù),且本系統(tǒng)構(gòu)造并不復(fù)雜,操作也沒有過多要求,一般工作人員沒有任何技術(shù)障礙,所以,銀行客戶比對(duì)系統(tǒng)從運(yùn)行角度講是可行的。綜上所述,開發(fā)銀行客戶比對(duì)系統(tǒng)具備可行性。系統(tǒng)需求分析本系統(tǒng)為簡(jiǎn)單的銀行數(shù)據(jù)管理系統(tǒng),方便銀行日常的數(shù)據(jù)管理比對(duì),因此本系統(tǒng)應(yīng)達(dá)到如下目標(biāo):(1)界面簡(jiǎn)潔友好一目了然,方便用戶操作。(2)能實(shí)現(xiàn)簡(jiǎn)單的用戶管理,分清權(quán)限大小。(3)運(yùn)行效率比較合理。系統(tǒng)功能需求(1)實(shí)用性設(shè)計(jì)出來的系統(tǒng)必須操作簡(jiǎn)捷、簡(jiǎn)單明了,方便前臺(tái)操作人員熟悉理解且直觀的將所需信息呈現(xiàn)在操作者面前,減少操作復(fù)雜性,同時(shí)保證信息準(zhǔn)確無誤。(2)高效性能簡(jiǎn)單高速的運(yùn)行系統(tǒng),處理信息快速,不耽誤業(yè)務(wù)辦理速度。(3)安全性在達(dá)到以上前提的同時(shí)保證系統(tǒng)的安全運(yùn)行,保證存在系統(tǒng)中的信息不會(huì)丟失,故需要設(shè)計(jì)用戶權(quán)限以保證敏感信息的安全。開發(fā)運(yùn)行環(huán)境開發(fā)環(huán)境:SQLServer2008R2,VisualStudio2010。運(yùn)行環(huán)境:IE6.0以上瀏覽器,OFFICE2007以上版本。其他系統(tǒng)需求界面需求:表3-SEQ表格\*ARABIC1界面需求表需求名稱詳細(xì)要求整體簡(jiǎn)介、明了窗體功能單一,一個(gè)功能盡量在單一窗體內(nèi)完成,少有嵌套窗體提示明確、無二義質(zhì)量要求:表3-SEQ表格\*ARABIC2質(zhì)量要求表需求名稱詳細(xì)要求正確性系統(tǒng)運(yùn)行無誤健壯性容錯(cuò)。可靠性數(shù)據(jù)完整性約束效率有一定的效率要求易用性用戶可按系統(tǒng)提示操作清晰性無二義安全性嚴(yán)格用戶權(quán)限系統(tǒng)具體功能要求根據(jù)要求,銀行客戶比對(duì)系統(tǒng)的功能主要有:(1)管理員管理:管理員登錄、重新登錄、修改密碼、退出。(2)系統(tǒng)管理(權(quán)限要求):管理員添加、刪除、密碼重置、屬性狀態(tài)查詢。(3)數(shù)據(jù)文件管理:數(shù)據(jù)文件上傳、下載、刪除、搜索、導(dǎo)入。(4)查詢比對(duì):比對(duì)數(shù)據(jù)查詢下載。圖圖3-1銀行客戶比對(duì)系統(tǒng)模塊圖系統(tǒng)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)考慮到系統(tǒng)的擴(kuò)展性和標(biāo)準(zhǔn)化要求,本次研究的系統(tǒng)網(wǎng)站使用三層結(jié)構(gòu)思想設(shè)計(jì),降低層與層之間的依賴程度,區(qū)分分明,有利于后期的升級(jí)維護(hù)。三層架構(gòu)概念:所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫(kù)之間加入了一個(gè)中間件層,也叫組件層。三層是指邏輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫(kù)進(jìn)行交換[11-12]。三層結(jié)構(gòu)包括:(1)數(shù)據(jù)訪問層:主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù),具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。(2)業(yè)務(wù)邏輯層:主要是針對(duì)具體的問題的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對(duì)這些積木的搭建。(3)表示層:主要表示W(wǎng)eb方式,也可以表示成Winform方式,Web方式也可以表成:aspx,如果邏輯層相當(dāng)強(qiáng)大和完善,無論表現(xiàn)層如何定義和更改,邏輯層能完善地提供服務(wù)。根據(jù)實(shí)際情況設(shè)計(jì)銀行客戶比對(duì)系統(tǒng)的三層結(jié)構(gòu)如下:(1)數(shù)據(jù)訪問層:主要負(fù)責(zé)數(shù)據(jù)庫(kù)訪問相關(guān)功能。(2)業(yè)務(wù)邏輯層:主要負(fù)責(zé)邏輯處理。(3)表示層:用戶界面層UI。系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有相當(dāng)重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)的存儲(chǔ)效率,保證數(shù)據(jù)的完整和一致。數(shù)據(jù)庫(kù)需求分析是數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的第一階段。這個(gè)階段主要是收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳細(xì)的數(shù)據(jù)字典,為以后的進(jìn)一步設(shè)計(jì)打下基礎(chǔ)。針對(duì)本實(shí)例,通過對(duì)銀行客戶比對(duì)的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)如下:(1)管理員屬性信息表,根據(jù)需求包含的信息有:ID、姓名、密碼、機(jī)構(gòu)名稱、郵箱、電話、登陸次數(shù)、上次登錄時(shí)間、這次登錄時(shí)間、上次退出時(shí)間、這次登陸IP地址、上次登錄IP地址、狀態(tài)、管理員級(jí)別。(2)文件報(bào)告期管理表,包含信息有:文件名、舊文件名、文件大小、上傳日、年、月、同年同期。(3)文件場(chǎng)景代碼表,包含信息有:ID、機(jī)構(gòu)代號(hào)、場(chǎng)景名稱、場(chǎng)景描述、權(quán)限、是否已存在、上傳文件銀行等級(jí)。(4)文件數(shù)據(jù)信息表,為保管文件比對(duì)文件設(shè)計(jì),包含信息有:報(bào)告期、機(jī)構(gòu)編碼、場(chǎng)景、客戶編碼、客戶名稱、行業(yè)、規(guī)模、網(wǎng)點(diǎn)是否有效客戶、支行是否有效客戶、二級(jí)分行是否有效客戶、一級(jí)分行是否有效客戶、總行是否有效客戶、公司機(jī)構(gòu)客戶金融總量日均余額合計(jì)(元)、金融資產(chǎn)日均余額小計(jì)(元)、日均一般存款(元)、日均投資理財(cái)小計(jì)(元)、日均基金合計(jì)(元)、日均基金(不含建信)(元)、日均代銷建信基金(元)、日均保本理財(cái)(元)、日均非保本理財(cái)(元)、日均保險(xiǎn)合計(jì)(元)、日均保險(xiǎn)(不含建信)(元)、日均代銷建信保險(xiǎn)(元)、日均國(guó)債(元)、日均賬戶金(元)、日均實(shí)物金(元)、日均信托合計(jì)(元)、日均信托(不含建信)(元)、日均代銷建信信托(元)、同業(yè)存款日均余額(元)、貸款日均余額合計(jì)(元)、日均貸款(不含信用卡透支)(元)、日均信用卡透支(元)、公司機(jī)構(gòu)客戶金融總量時(shí)點(diǎn)余額合計(jì)(元)、金融資產(chǎn)時(shí)點(diǎn)余額小計(jì)(元)、時(shí)點(diǎn)一般存款(元)、時(shí)點(diǎn)投資理財(cái)小計(jì)(元)、時(shí)點(diǎn)基金合計(jì)(元)、時(shí)點(diǎn)基金(不含建信)(元)、時(shí)點(diǎn)代銷建信基金(元)、時(shí)點(diǎn)保本理財(cái)(元)、時(shí)點(diǎn)非保本理財(cái)(元)、時(shí)點(diǎn)保險(xiǎn)合計(jì)(元)、時(shí)點(diǎn)保險(xiǎn)(不含建信)(元)、時(shí)點(diǎn)代銷建信保險(xiǎn)(元)、時(shí)點(diǎn)國(guó)債(元)、時(shí)點(diǎn)賬戶金(元)、時(shí)點(diǎn)實(shí)物金(元)、時(shí)點(diǎn)信托合計(jì)(元)、時(shí)點(diǎn)信托(不含建信)(元)、時(shí)點(diǎn)代銷建信信托(元)、同業(yè)存款時(shí)點(diǎn)余額(元)、貸款時(shí)點(diǎn)余額合計(jì)(元)、時(shí)點(diǎn)貸款(不含信用卡透支)(元)、時(shí)點(diǎn)信用卡透支(元)、賬務(wù)性交易量筆數(shù)合計(jì)、柜面交易筆數(shù)、自助設(shè)備交易筆數(shù)、電子銀行交易筆數(shù)、POS交易筆數(shù)、其他交易筆數(shù)、產(chǎn)品覆蓋度、公司類存款日均余額(元)、公司類貸款日均余額(元)、小企業(yè)貸款日均余額(元)、貿(mào)易融資表內(nèi)日均余額(元)、貿(mào)易融資表外業(yè)務(wù)使用情況、保理業(yè)務(wù)日均余額(元)、保理業(yè)務(wù)中間業(yè)務(wù)收入(元)、現(xiàn)金管理業(yè)務(wù)簽約、單位客戶賬單業(yè)務(wù)使用、國(guó)內(nèi)信用證業(yè)務(wù)收入(元)、單位通存通兌業(yè)務(wù)簽約、其他單位人民幣結(jié)算業(yè)務(wù)收入(元)、債務(wù)融資工具承銷與投資銀行理財(cái)收入(元)、國(guó)際結(jié)算業(yè)務(wù)收入(元)、單位結(jié)售匯業(yè)務(wù)收入(元)、代發(fā)工資業(yè)務(wù)收入(元)、顧問咨詢業(yè)務(wù)收入(元)、保函業(yè)務(wù)收入(元)、企業(yè)年金業(yè)務(wù)收入(元)、實(shí)業(yè)投資托管業(yè)務(wù)收入(元)、證券保證金獨(dú)立存管業(yè)務(wù)簽約、企業(yè)網(wǎng)上銀行渠道簽約、現(xiàn)金管理系統(tǒng)收入(元)。在上面的實(shí)體以及實(shí)體之間的關(guān)系基礎(chǔ)上,形成數(shù)據(jù)庫(kù)中的表格以及表格之間的關(guān)系。銀行客戶管理系統(tǒng)數(shù)據(jù)庫(kù)中的各個(gè)表格的設(shè)計(jì)結(jié)果如下面的幾個(gè)表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表。表4-1表admin管理員信息表列名數(shù)據(jù)類型長(zhǎng)度可否為空說明IDintNOTNULLID號(hào)碼(主鍵)AdminNamevarchar50NULL用戶名稱AdminPasswordvarchar50NULL用戶密碼Emailvarchar100NULL電子郵箱Telephonevarchar50NULL電話LoginTimesintNULL登錄時(shí)間LastLoginDatedatetime8NULL上次登錄日期ThisLoginDatedatetime8NULL此次登錄日期LastLogoutDatedatetime8NULL上次登出日期ThisIPvarchar50NULL此次登錄IPLastIPvarchar50NULL上次登錄IPStateIDintNULL機(jī)構(gòu)代碼AdminLevelIntNULL用戶級(jí)別Departmentvarchar50NULL機(jī)構(gòu)說明表4-2表DBFile文件報(bào)告期管理表列名數(shù)據(jù)類型長(zhǎng)度可否為空說明IDintNOTNULLID號(hào)碼(主鍵)FileNamevarchar100NULL文件名稱OldFileNameVarchar100NULL舊文件名FileSizeVarchar200NULL大小UploadDatedatetime8NULL上傳日YearVarchar4NULL年MonthVarchar2NULL月YearAndMonthVarchar6NULL同年同期表4-3文件場(chǎng)景代碼表列名數(shù)據(jù)類型長(zhǎng)度可否為空說明IDintNOTNULLID號(hào)碼(主鍵)RuleCodeVarchar200NULL機(jī)構(gòu)代號(hào)RuleNameVarchar200NULL場(chǎng)景名稱RuleIntroductionvarchar200NULL場(chǎng)景描述ConditionTextNULL狀態(tài)PowerIntNULL權(quán)限IsUsedIntNULL已使用[Level]IntNULL等級(jí)表4-4文件數(shù)據(jù)信息表列名數(shù)據(jù)類型長(zhǎng)度可否為空ID(主鍵)intNOTNULL報(bào)告期varchar200NULL機(jī)構(gòu)編碼varchar200NULL場(chǎng)景varchar200NULL客戶編碼varchar200NULL客戶名稱varchar200NULL行業(yè)varchar200NULL規(guī)模varchar200NULL網(wǎng)點(diǎn)是否有效客戶varchar200NULL支行是否有效客戶varchar200NULL二級(jí)分行是否有效客戶varchar200NULL一級(jí)分行是否有效客戶varchar200NULL總行是否有效客戶varchar200NULL公司機(jī)構(gòu)客戶金融總量日均余額合計(jì)(元)money8NULL金融資產(chǎn)日均余額小計(jì)(元)money8NULL日均一般存款(元)money8NULL日均投資理財(cái)小計(jì)(元)money8NULL日均基金合計(jì)(元)money8NULL日均基金(不含建信)(元)money8NULL日均代銷建信基金(元)money8NULL日均保本理財(cái)(元)money8NULL日均非保本理財(cái)(元)money8NULL日均保險(xiǎn)合計(jì)(元)money8NULL日均保險(xiǎn)(不含建信)(元)money8NULL日均代銷建信保險(xiǎn)(元)money8NULL日均國(guó)債(元)money8NULL日均賬戶金(元)money8NULL日均實(shí)物金(元)money8NULL日均信托合計(jì)(元)money8NULL日均信托(不含建信)(元)money8NULL日均代銷建信信托(元)money8NULL同業(yè)存款日均余額(元)money8NULL貸款日均余額合計(jì)(元)Money8NULL日均貸款(不含信用卡透支)(元)Money8NULL日均信用卡透支(元)Money8NULL公司機(jī)構(gòu)客戶金融總量時(shí)點(diǎn)余額合計(jì)(元)Money8NULL金融資產(chǎn)時(shí)點(diǎn)余額小計(jì)(元)money8NULL時(shí)點(diǎn)一般存款(元)money8NULL時(shí)點(diǎn)投資理財(cái)小計(jì)(元)money8NULL時(shí)點(diǎn)基金合計(jì)(元)money8NULL時(shí)點(diǎn)基金(不含建信)(元)money8NULL時(shí)點(diǎn)代銷建信基金(元)money8NULL時(shí)點(diǎn)保本理財(cái)(元)money8NULL時(shí)點(diǎn)非保本理財(cái)(元)money8NULL時(shí)點(diǎn)保險(xiǎn)合計(jì)(元)money8NULL時(shí)點(diǎn)保險(xiǎn)(不含建信)(元)money8NULL時(shí)點(diǎn)代銷建信保險(xiǎn)(元)money8NULL時(shí)點(diǎn)國(guó)債(元)money8NULL時(shí)點(diǎn)賬戶金(元)money8NULL時(shí)點(diǎn)實(shí)物金(元)money8NULL時(shí)點(diǎn)信托合計(jì)(元)money8NULL時(shí)點(diǎn)信托(不含建信)(元)money8NULL時(shí)點(diǎn)代銷建信信托(元)money8NULL同業(yè)存款時(shí)點(diǎn)余額(元)money8NULL貸款時(shí)點(diǎn)余額合計(jì)(元)money8NULL時(shí)點(diǎn)貸款(不含信用卡透支)(元)money8NULL時(shí)點(diǎn)信用卡透支(元)money8NULL賬務(wù)性交易量筆數(shù)合計(jì)intNULL柜面交易筆數(shù)intNULL自助設(shè)備交易筆數(shù)intNULL電子銀行交易筆數(shù)intNULL在設(shè)計(jì)表格的同時(shí)我們也設(shè)置了大量的配套存儲(chǔ)過程以提升SQL的運(yùn)行效率,主要原因?yàn)椋?1)存儲(chǔ)過程可以嵌套使用支持代碼重用。(2)存儲(chǔ)過程可以接受與使用動(dòng)態(tài)參數(shù)執(zhí)行器沖的SQL語句。(3)存儲(chǔ)過程比一般SQL語句執(zhí)行速度快。存儲(chǔ)過程在創(chuàng)建的時(shí)候已經(jīng)編譯,每次執(zhí)行不需要重新編譯,而SQL語句每次執(zhí)行都需要編譯。(4)存儲(chǔ)過程具有安全特性(如權(quán)限)和所有權(quán)連接,以及可以附加到他們的證書。用戶可以被賦予權(quán)限來執(zhí)行存儲(chǔ)過程而不必直接對(duì)存儲(chǔ)過程中引用的對(duì)象具有權(quán)限。(5)存儲(chǔ)過程允許模塊化程序設(shè)計(jì)。存儲(chǔ)過程一旦創(chuàng)建,以后可以在程序中任意次使用這可以改進(jìn)應(yīng)用程序的可維護(hù)性,并允許應(yīng)用程序統(tǒng)一訪問數(shù)據(jù)庫(kù)。(6)存儲(chǔ)過程可以減少網(wǎng)絡(luò)通信流量。一個(gè)需要數(shù)百行SQL語句代碼的操作可以通過一條執(zhí)行過程代碼語句來執(zhí)行而不需要網(wǎng)絡(luò)中發(fā)送數(shù)百行代碼。(7)存儲(chǔ)過程可以增強(qiáng)應(yīng)用程序的安全性。參數(shù)化存儲(chǔ)過程有助于保護(hù)應(yīng)用程序不受SQLInjection攻擊。由此看來使用存儲(chǔ)過程既符合此次任務(wù)的功能效率需求,也符合其安全型需求。數(shù)據(jù)庫(kù)訪問CCB.Data類庫(kù)的實(shí)現(xiàn)考慮到比對(duì)數(shù)據(jù)來自于用戶上傳的Excel表格,所以我們使用技術(shù)的允許不同數(shù)據(jù)源與數(shù)據(jù)庫(kù)交互技術(shù)來實(shí)現(xiàn)這一功能。ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒有與此相關(guān)的一系列類來完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過.NET的ADO.NET類庫(kù)來進(jìn)行連接。由于系統(tǒng)選用的是SQLServer數(shù)據(jù)庫(kù),主要關(guān)注于對(duì)用于SQLServer的.NETFramework數(shù)據(jù)提供程序和OLEDB的.NetFramework數(shù)據(jù)提供程序加以封裝,生成數(shù)據(jù)庫(kù)封裝類庫(kù)CCB.Data,類圖如圖4-1:圖4-1CCB.Data類圖主要對(duì)象介紹:(1)DataBaseType枚舉:定義三種數(shù)據(jù)庫(kù)訪問類型:MSSQLServer,Oracle,OleDB。(2)DataAccess接口:提供對(duì)數(shù)據(jù)庫(kù)訪問功能的基本接口。為了屏蔽不同數(shù)據(jù)庫(kù)間的差異。包含三個(gè)屬性及七個(gè)方法的抽象定義:DatabaseTypeDatabaseType屬性:獲取數(shù)據(jù)庫(kù)類型。IDbConnectionDbConnection屬性:獲取數(shù)據(jù)庫(kù)連接。IDbTransactionBeginTransaction屬性:數(shù)據(jù)庫(kù)事務(wù)。voidOpen方法:打開數(shù)據(jù)庫(kù)連接。voidClose方法:關(guān)閉數(shù)據(jù)庫(kù)連接。intExecuteNonQuery方法:執(zhí)行語句;返回受影響的行數(shù);有四種重載形式。DataSetExecuteDataset方法:執(zhí)行語句;以DataSet的形式返回的結(jié)果;有十六種重載方式。IDataReaderExecuteReader方法:執(zhí)行語句;以DataReader的形式返回的結(jié)果;有四種重載方式。objectExecuteScalar方法:執(zhí)行語句,返回結(jié)果的第一行第一列,忽略額外的利用列或行;具有四種重載形式。XmlReaderExecuteXmlReader方法:執(zhí)行語句,以XmlReader的形式返回的結(jié)果;具有四種重載形式。(3)DatabaseProperty結(jié)構(gòu)類型:包括數(shù)據(jù)庫(kù)連接字符串,數(shù)據(jù)庫(kù)類型,用戶名,密碼。(4)DBFactory抽象類:數(shù)據(jù)庫(kù)抽象工廠,僅有一個(gè)CreateDataAccess方法,用于DatabaseProperty結(jié)構(gòu)類型對(duì)象參數(shù)來創(chuàng)建OleDbDataAccess對(duì)象。(5)AbstractDataAccess抽象類:繼承自DataAccess接口,除ExecuteNonQuery、ExecuteDataSet、ExecuteReader、ExecuteScalar和ExecuteXmlReader方法的各一個(gè)具有最多參數(shù)的方法重載形式外,實(shí)現(xiàn)了DataAccess接口中其它屬性和方法內(nèi)容。這里要說明的是ExecuteNonQuery、ExecuteDataset、ExecuteReader、ExecuteScalar和ExecuteXmlReader方法的其它重載的實(shí)現(xiàn)都是調(diào)用最多參數(shù)的方法重載形式,參數(shù)不能對(duì)齊的部分以默認(rèn)值來代替,仍需對(duì)該類進(jìn)一步繼承和方法實(shí)現(xiàn)。(6)MSSqlDataAccess密封類:繼承自AbstractDataAccess抽象類,將ExecuteNonQuery、ExecuteDataSet、ExecuteReader、ExecuteScalar和ExecuteXmlReader方法的最多參數(shù)的方法重載形式加以實(shí)現(xiàn)。(7)OleDbDataAccess密封類:與MSSqlDataAccess類實(shí)現(xiàn)機(jī)制相同。(8)OracleDataAccess密封類:與MSSqlDataAccess類實(shí)現(xiàn)機(jī)制相同。(9)MSSqlFactory類:繼承自DBFactory抽象類,是MSSqlDataAccess實(shí)例的工廠,重寫CreateDataAccess方法,返回MSSqlDataAccess類的實(shí)例。(10)OleDbFactory類:與MSSqlFactory類實(shí)現(xiàn)機(jī)制相同,是OleDbDataAccess實(shí)例的工廠。(11)OracleFactory類:與MSSqlFactory類實(shí)現(xiàn)機(jī)制相同,是OracleDataAccess實(shí)例的工廠。通用功能CCB.Common類庫(kù)的實(shí)現(xiàn)根據(jù)面向?qū)ο笤O(shè)計(jì)(OOD)的思想,在銀行客戶比對(duì)系統(tǒng)的實(shí)現(xiàn)過程中,將一些常用的功能或方法以類(class)或類庫(kù)(classlibrary)的形式加以封裝。這樣可以提高組件的復(fù)用率,同時(shí)也方便管理。通用處理封裝通用處理包含系統(tǒng)中所用到的全部處理判斷相關(guān)方法,比如:驗(yàn)證輸入的數(shù)據(jù)是否符合格式、數(shù)據(jù)分頁(yè)、截短字符串、加密信息等為方便調(diào)用將其封裝在一起,具體情況如下表所示:表4-5CCB.Common.Common類的方法方法作用參數(shù)說明CutPage(floatint1,floatint2)計(jì)算總頁(yè)數(shù)Int1數(shù)據(jù)有N行int2每頁(yè)顯示顯示N行數(shù)據(jù)MyLeftFunction(stringmText,intbyteCount)截短子串mText要加工的字串byteCount要求長(zhǎng)度NoHTML(stringHtmlstring)去除HTML標(biāo)記Htmlstring包含HTML的源碼checkobj(stringstr)測(cè)試服務(wù)器支持的對(duì)象Str服務(wù)器支持對(duì)象名稱ReplaceBadChar(stringstrChar)去除非法字符串strChar原字符串MsgBox(string_Msg)警告框_Msg警告字串Alert(string_Msg)同上同上AlertConfirmAndRedircet(string_Msg,stringURL)一個(gè)含有“確定”和“取消”的警告框_Msg警告字串URL要跳轉(zhuǎn)的網(wǎng)址AlertAndRedirect(string_Msg,stringURL)一個(gè)含有“確定”,點(diǎn)擊以后就轉(zhuǎn)到預(yù)設(shè)網(wǎng)址的警告框同上AlertAndClose(string_Msg)一個(gè)含有“確定”,點(diǎn)擊關(guān)閉本頁(yè)的警告框_Msg警告字串AlertAndGoBackHistory(string_Msg,intBackLong)一個(gè)含有“確定”,點(diǎn)擊返回先前的網(wǎng)頁(yè)警告框_Msg警告字串BackLong要倒退幾步AlertAndReloadFatherPage(string_Msg)一個(gè)含有“確定”,點(diǎn)擊后關(guān)閉自己,刷新父窗口警告框_Msg警告字串GetFocus(stringCtl_Name,Pagepage)使控件獲得焦點(diǎn)Ctl_Name獲得控件ID值pagePage類Md5hash_String(stringInputString)MD5加密InputString要加密的字串IsNumeric(stringstr)檢查是否都是數(shù)字Str要檢查的字串IsEmail(stringstr)檢查是否正確的Email格式同上IsDate(stringstr)檢查是否正確的日期格式同上BanStr(stringstr1,stringstr2)進(jìn)行添加管理員操作時(shí),將格式化以后的數(shù)據(jù)傳給DAstr1新添加的字串str2原來的字串IsInteger(stringstrContent)檢查傳入的字串是否是整數(shù)strContent待檢查字串GetInteger(stringstrContent,intdefaultValue)將傳入的字符串轉(zhuǎn)換為整數(shù),如果不是則返回默認(rèn)值strContent待轉(zhuǎn)換的字符defaultValue轉(zhuǎn)換失敗的默認(rèn)值配置文件相關(guān)操作封裝鑒于配置文件具有方便設(shè)置,方便管理,能有效提高系統(tǒng)安全性,提高系統(tǒng)運(yùn)行速度等特性,本類主要針對(duì)配置文件相關(guān)操作設(shè)置。表4-6CCB.Common.ConfigUtility類的方法方法作用參數(shù)說明GetConfigBool(stringkey)返回應(yīng)用程序配置文件中的Bool類型值Key配置節(jié)點(diǎn)GetConfigDecimal(stringkey)返回應(yīng)用程序配置文件中的Decimal類型值同上GetConfigInt(stringkey)返回應(yīng)用程序配置文件中的Int類型值同上GetConfigString(stringkey)返回應(yīng)用程序配置文件中的配置值同上ModifyConfig(stringstrKey,objectstrValue)修改配置節(jié)點(diǎn)的值strKey配置節(jié)點(diǎn)strValue配置節(jié)點(diǎn)的值A(chǔ)ddConfig(stringstrKey,objectstrValue)添加配置節(jié)點(diǎn)同上DelConfig(stringstrKey)刪除配置節(jié)點(diǎn)strKey配置節(jié)點(diǎn)數(shù)據(jù)庫(kù)連接初始化封裝數(shù)據(jù)庫(kù)訪問類庫(kù)CCB.Data對(duì)SQL數(shù)據(jù)庫(kù)的通用訪問方法加以封裝。在使用過程中,仍然需要針對(duì)具體數(shù)據(jù)庫(kù)設(shè)置其連接字符串,類CCB.Common.DataInit主要實(shí)現(xiàn)此類功能,具體包含方法如下表所示(見下頁(yè)):表4-7CCB.Common.DataInit類的方法方法返回值作用參數(shù)說明GetDataAccess()CCB.Data.DataAccess接口獲得數(shù)據(jù)庫(kù)類型和連接字符串無參數(shù)DbOpen(DataAccessDataAcc)void打開數(shù)據(jù)庫(kù)連接DataAcc=Factory.CreateDataAccess(DbProperty)DbClose(DataAccessDataAcc)void關(guān)閉數(shù)據(jù)庫(kù)連接DataAcc=Factory.CreateDataAccess(DbProperty)系統(tǒng)日志封裝系統(tǒng)在運(yùn)行過程中會(huì)出現(xiàn)各種異常,引發(fā)異常的原因有的是軟件本身的缺陷,或者軟件所在環(huán)境等因素。將異常信息保存下來有助于對(duì)系統(tǒng)的分析和排錯(cuò)的實(shí)施。ASP.NET可以借助Windows操作系統(tǒng)的日志記錄功能記錄異常,這種方式存在著如下缺點(diǎn):一、需配置Windows日志記錄來指定保存,操作相對(duì)繁瑣;二、保存異常內(nèi)容一般都是嚴(yán)重的錯(cuò)誤,比如網(wǎng)站應(yīng)用程序進(jìn)程崩潰等,一般不涉及頁(yè)面錯(cuò)誤的提示。針對(duì)這個(gè)問題,將異常保存操作封裝為類SysException。包含方法如下表。表4-8類CCB.Common.SysException的方法方法返回值作用參數(shù)說明SystemLog(stringmessage)void記錄日志至文本文件Message要記錄的內(nèi)容系統(tǒng)加密封裝為增加系統(tǒng)的安全性能,本系統(tǒng)使用系統(tǒng)加密的方法保證數(shù)據(jù)不會(huì)被簡(jiǎn)單的數(shù)據(jù)注入等操作所破壞,所以設(shè)置了系統(tǒng)字符串加密、解密的類SystemCode。具體包含方法如下表所示:表4-9類CCB.Common.SystemCode的方法方法返回值作用參數(shù)說明HDVal()voidC盤序列號(hào)無參數(shù)Encrypt(stringdatastr,stringkeystr)String對(duì)稱算法加密Datastr要加密的字符串Keystr鑰匙串Decrypt(stringdatastr,stringkeystr)string對(duì)稱算法解密datastr要解密的字符串keystr鑰匙串網(wǎng)站界面實(shí)現(xiàn)管理員登陸界面設(shè)計(jì)首先,進(jìn)入比對(duì)系統(tǒng)后會(huì)進(jìn)入如下圖的管理員選擇登陸界面,通過驗(yàn)證用戶名密碼和驗(yàn)證碼之后才能正式進(jìn)入系統(tǒng)內(nèi)部。(默認(rèn)管理員名稱為:admin密碼:123456)圖5-1登錄選擇界面圖5-2登錄界面具體實(shí)現(xiàn)過程:提交用戶名、密碼以及驗(yàn)證碼之后,Admin_Login.aspx會(huì)執(zhí)行以下主要語句語句進(jìn)行驗(yàn)證:\\下句主要是訪問Common類庫(kù)去除非法字符串方法,然后通過規(guī)則類BLL類庫(kù)借由數(shù)據(jù)訪問類庫(kù)Data訪問數(shù)據(jù)庫(kù)Newlogin=MyclassDX.Login(MyclassBLL.FormatInputStrForAdmin_Login(UIstr1).ToString());\\返回的Newlogin為正確的用戶名、驗(yàn)證碼、密碼組合if(Newlogin[2]==str2){\\驗(yàn)證碼比對(duì)過程if(Session["VNum"]==null){lblShow.Text="<B>請(qǐng)刷新該頁(yè)使驗(yàn)證碼更新。</B>";return;}if(ValidateCode.Text!=Session["VNum"].ToString()){lblShow.Text="<B>填寫的驗(yàn)證碼與所給的不符</B>";return;}FormsAuthentication.RedirectFromLoginPage(Newlogin[1],false);string[]UIStr=newstring[3];UIStr[0]=UserName.Text;UIStr[1]=DateTime.Now.ToString();UIStr[2]=System.Web.HttpContext.Current.Request.UserHostAddress;MyclassDX.Add_Times(MyclassBLL.FormatInputStrForAdmin_Login_Adding_Time(UIStr));Session["AdminName"]=Newlogin[1].Trim();Session["StateID"]=Newlogin[3];Session["AdminLevel"]=Newlogin[4];Session["LoginTimes"]=Newlogin[5];Session["Department"]=Newlogin[6];System.Web.HttpContext.Current.Response.Redirect("Admin_Mains.aspx");}else{Common.MsgBox("密碼錯(cuò)誤!");return;}}語句Newlogin=MyclassDX.Login(MyclassBLL.FormatInputStrForAdmin_Login
(UIstr1).ToString()執(zhí)行過程中調(diào)用了CCB.BLL類庫(kù)下屬Admin類執(zhí)行如下語句。publicstring[]Login(stringstr1){DataSetMydataset=newDataSet();DataRowmyrow;QueryParameterCollectionparameters=newQueryParameterCollection(1);parameters.Add("@UserName",str1,DbType.String);Mydataset=MySql.ExecuteDataset(CommandType.StoredProcedure,"Admin_Admin_Login",parameters,Mydataset,null);int_int=Mydataset.Tables[0].Rows.Count;string[]aa=newstring[7];if(_int>0){myrow=Mydataset.Tables[0].Rows[0];aa[0]=_int.ToString();aa[1]=myrow["AdminName"].ToString();aa[2]=myrow["AdminPassword"].ToString();aa[3]=myrow["StateID"].ToString();aa[4]=myrow["AdminLevel"].ToString();aa[5]=myrow["LoginTimes"].ToString();aa[6]=myrow["Department"].ToString();}else{aa[0]=_int.ToString();aa[1]=0.ToString();aa[2]=0.ToString();aa[3]=0.ToString();aa[4]=0.ToString();aa[5]=0.ToString();aa[6]=0.ToString();}}在這里Admin通過類庫(kù)Data實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)的訪問其中語句Mydataset=MySql.ExecuteDataset(CommandType.StoredProcedure,"Admin_Admin_Login",parameters,Mydataset,null);中對(duì)SQL數(shù)據(jù)庫(kù)中的Admin表的Admin_Login存儲(chǔ)過程進(jìn)行了調(diào)用,這里設(shè)置存儲(chǔ)過程主要是為了方便調(diào)用提高效率,同時(shí)提高系統(tǒng)安全性。Admin_Login存儲(chǔ)過程如下:(主要目的為查詢表中數(shù)據(jù)并返回)CREATEPROCEDURE[dbo].[Admin_Admin_Login]@UserNamevarchar(50)ASselectAdminName,AdminPassword,LoginTimes,StateID,AdminLevel,DepartmentfromAdminwhereAdminName=@UserName數(shù)據(jù)文件管理界面點(diǎn)擊主界面上的“數(shù)據(jù)文件管理”菜單下屬“數(shù)據(jù)文件管理”按鈕進(jìn)入,如下圖所示,該界面包含文件搜索、新文件導(dǎo)入、文件下載、文件刪除等按鈕。需要注意的是,新文件導(dǎo)入會(huì)替換舊文件和刪除功能一樣會(huì)在動(dòng)作之前提問是否繼續(xù)以防止誤操作的發(fā)生,具體實(shí)現(xiàn)方法見下方的數(shù)據(jù)上傳界面實(shí)現(xiàn)。圖5-3數(shù)據(jù)文件管理界面數(shù)據(jù)文件上傳界面點(diǎn)擊主界面上的“數(shù)據(jù)文件管理”菜單下屬“數(shù)據(jù)文件管理”按鈕進(jìn)入,如下圖所示,該界面要求比較簡(jiǎn)單設(shè)定報(bào)告期選定文件即可上傳。圖5-4數(shù)據(jù)上傳界面同樣需要注意的是同一報(bào)告期的文件不可重復(fù)上傳,會(huì)提示需要?jiǎng)h除已存在文件才可繼續(xù)。上傳文件要求為必須是Excel電子表格格式.xls語句中會(huì)對(duì)其進(jìn)行判斷。具體語句如下:publicboolIsAllowedExtension(stringExtenName){stringcheckExtenName=ExtenName.ToLower();string[]arrExtension={".xls"};if(checkExtenName!=string.Empty){for(inti=0;i<arrExtension.Length;i++){if(checkExtenName.Equals(arrExtension[i])){returntrue;}}}returnfalse;}上傳主要通過控件NeatUpload完成,上傳后將在數(shù)據(jù)庫(kù)創(chuàng)建表格讀取Excel數(shù)據(jù)并按要求存放在創(chuàng)建表格的各個(gè)項(xiàng)目中,并以界面中設(shè)定的月年作為表的名稱保存于數(shù)據(jù)庫(kù)中。并且將上傳原文件改名為上傳具體時(shí)間并且保存在文件夾DBFileUpload中方便查詢刪除。if(this.AttachFile.ContentLength>0){try{this.AttachFile.MoveTo(SaveFileName,Brettle.Web.NeatUpload.MoveToOptions.Overwrite);if(System.IO.File.Exists(SaveFileName)){FileInfofileinfor=newFileInfo(SaveFileName);longFileSize=fileinfor.Length;\\clienttable.Admin_ClientTable_DropTable(strYearAndMonth);\\使用數(shù)據(jù)庫(kù)創(chuàng)建表格名稱為選擇的年于月clienttable.Admin_ClientTable_CreatTable(strYearAndMonth);\\下方為創(chuàng)建表格個(gè)項(xiàng)過程過于繁復(fù)恕不在此過多描述object[]obj=newobject[7];obj[0]=NewName;obj[1]=FileName;obj[2]=FileSizeCounter(FileSize);obj[3]=DateTime.Now;obj[4]=strYear;obj[5]=strMonth;obj[6]=strYearAndMonth;dbfile.Admin_DBFile_Add(obj);CCB.Common.Common.AlertAndRedirect("上傳文件成功!文件更名為:《"+NewName+"》。","Admin_DBFile_Manage.aspx");return;}該過程中語句dbfile.Admin_DBFile_Add(obj);會(huì)通過存儲(chǔ)過程DBFile_Add將上傳文件名稱改為上傳時(shí)間并保存在表格DBFile中。存儲(chǔ)過程DBFile_Add:ALTERPROCEDURE[dbo].[Admin_DBFile_Add]@FileNamevarchar(100),@OldFileNamevarchar(100),@FileSizevarchar(200),@UploadDatedatetime,@Yearvarchar(4),@Monthvarchar(2),@YearAndMonthvarchar(6)ASinsertintoDBFile(FileName,OldFileName,FileSize,UploadDate,Year,Month,YearAndMonth)values(@FileName,@OldFileName,@FileSize,@UploadDate,@Year,@Month,@YearAndMonth)有效客戶分析界面點(diǎn)擊主界面的“數(shù)據(jù)比對(duì)”下屬“有效客戶分析模型”即可進(jìn)入,如圖所示,選定報(bào)告期和基準(zhǔn)期即可進(jìn)行對(duì)比。圖5-5查詢比對(duì)界面機(jī)構(gòu)不同權(quán)限不同,低權(quán)限只能對(duì)自己進(jìn)行比對(duì),高權(quán)限可對(duì)自己和其他低權(quán)限單位進(jìn)行比對(duì)。本系統(tǒng)的關(guān)鍵部分,方法為將數(shù)據(jù)庫(kù)中指定報(bào)告期中的數(shù)據(jù)傳輸?shù)缴傻腅xcel文件之中并通過Excel文件中設(shè)置好的宏命令進(jìn)行比對(duì)并產(chǎn)生結(jié)果供用戶下載。類庫(kù)CCB.UI下比對(duì)語句:protectedvoidbtnSerch_Click(objectsender,EventArgse){StringTemplateFileName=System.IO.Path.Combine(Request.PhysicalApplicationPath+Template_Path,"X3.xlsm");stringNewName=DateTime.Now.ToString("yyyyMMddhhmmss")+".xlsm";stringTempFileName=System.IO.Path.Combine(Request.PhysicalApplicationPath+Temp_Path,NewName);File.Copy(TemplateFileName,TempFileName,true);bject[]obj1=newobject[2];obj1[0]=drpThisTerm.Text;obj1[1]=drpDepartment.SelectedValue;DataSetdsThisTerm=compare.Admin_Compare_GetTerm(obj1);object[]obj2=newobject[2];obj2[0]=drpBasicTerm.Text;obj2[1]=drpDepartment.SelectedValue;DataSetdsBasicTerm=compare.Admin_Compare_GetTerm(obj2);sheet1.Cells.ImportDataTable(dsThisTerm.Tables[0],false,"A2");Worksheetsheet2=workbook.Worksheets["基期數(shù)據(jù)"];//工作表sheet2.Cells.ImportDataTable(dsBasicTerm.Tables[0],false,"A2");workbook.S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 墻地磚合同范本
- 全書定制合同范本
- 單位電腦采購(gòu)合同范本
- 單位與保安合同范本
- 個(gè)人投資合伙合同范本
- 修路轉(zhuǎn)讓合同范例
- 入圍合同范本
- 做線上合同范本
- 麻城外包型鋼加固施工方案
- 10我們所了解的環(huán)境污染 (教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治四年級(jí)上冊(cè)
- 2025中國(guó)煙草/中煙工業(yè)招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 新教科版小學(xué)科學(xué)三年級(jí)下冊(cè)教案(全冊(cè))
- 2025小學(xué)語文一年級(jí)下冊(cè)第二單元教學(xué)課件匯編(配套新教材)
- 天津2025年天津中德應(yīng)用技術(shù)大學(xué)輔導(dǎo)員崗位招聘7人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年湘西民族職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年海南職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 北京市西城區(qū)2024-2025學(xué)年高三上學(xué)期期末考試語文試題(解析版)
- 2025年春新人教版數(shù)學(xué)一年級(jí)下冊(cè)課件 第六單元 數(shù)量間的加減關(guān)系 第2課時(shí) 求比1個(gè)數(shù)多(少)幾的數(shù)
- 語文課堂中的多媒體教學(xué)方法研究
- 2025年湖南交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論