網(wǎng)上銀行畢業(yè)論文_第1頁(yè)
網(wǎng)上銀行畢業(yè)論文_第2頁(yè)
網(wǎng)上銀行畢業(yè)論文_第3頁(yè)
網(wǎng)上銀行畢業(yè)論文_第4頁(yè)
網(wǎng)上銀行畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)上銀行畢業(yè)論文目錄1工程概述 11.1現(xiàn)系統(tǒng)概述 11.2公司組織機(jī)構(gòu) 21.3系統(tǒng)業(yè)務(wù)流程 31.4系統(tǒng)功能模塊 32系統(tǒng)需求分析 52.1需求陳述 52.2UseCase建模 62.2.1定義活動(dòng)者 62.2.2UseCase圖 63系統(tǒng)架構(gòu)設(shè)計(jì) 93.1架構(gòu)設(shè)計(jì)目標(biāo) 93.2系統(tǒng)架構(gòu)設(shè)計(jì) 93.3系統(tǒng)架構(gòu)類(lèi)圖 134系統(tǒng)詳細(xì)設(shè)計(jì) 154.1業(yè)務(wù)邏輯對(duì)象類(lèi)設(shè)計(jì) 154.1.1發(fā)現(xiàn)業(yè)務(wù)邏輯類(lèi) 154.1.2業(yè)務(wù)邏輯對(duì)象類(lèi)圖 154.2系統(tǒng)交互圖 164.2.1系統(tǒng)架構(gòu)類(lèi)交互圖 164.2.2活動(dòng)者與模塊間的交互 164.2.3系統(tǒng)協(xié)作圖 194.2.4系統(tǒng)狀態(tài)圖 194.2.5系統(tǒng)活動(dòng)圖 204.3系統(tǒng)模塊設(shè)計(jì) 214.3.1登陸 214.3.2注冊(cè)用戶(hù) 224.4數(shù)據(jù)庫(kù)設(shè)計(jì) 234.4.1ER圖 234.4.2物理表結(jié)構(gòu)圖 254.5開(kāi)發(fā)環(huán)境的選擇 27系統(tǒng)開(kāi)發(fā)工具 27數(shù)據(jù)庫(kù)的選擇 275編碼 285.1概述開(kāi)發(fā)工具及編程腳本 285.1.1JSP技術(shù) 285.1.2JavaBean技術(shù) 285.1.3JDBC技術(shù) 295.1.4用JDBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù) 305.2腳本習(xí)慣說(shuō)明 336系統(tǒng)測(cè)試 346.1程序的測(cè)試 346.1.1測(cè)試原那么及測(cè)試方法概述 346.3軟件測(cè)試結(jié)論 366.3.1軟件能力 366.3.2缺陷和限制 366.3.3建議 366.3.4測(cè)試結(jié)論 37致謝 39參考文獻(xiàn) 40附錄A中文譯文 41附錄B英文原文 43附錄C源程序清單 451工程概述1.1現(xiàn)系統(tǒng)概述中國(guó)農(nóng)業(yè)銀行于1979年2月恢復(fù)成立,總部設(shè)在北京。是四大國(guó)有獨(dú)資商業(yè)銀行之一,是中國(guó)金融體系的重要組成局部。截至2007年末,在中國(guó)內(nèi)地設(shè)有分支機(jī)構(gòu)24452個(gè),同時(shí)在新加坡、香港設(shè)有分行,在倫敦、東京、紐約設(shè)有代表處,擁有員工447519人。作為一家城鄉(xiāng)并舉、聯(lián)通國(guó)際、功能齊備的大型國(guó)有商業(yè)銀行,中國(guó)農(nóng)業(yè)銀行一貫秉承以客戶(hù)為中心的經(jīng)營(yíng)理念,堅(jiān)持審慎穩(wěn)健經(jīng)營(yíng)、可持續(xù)開(kāi)展,立足縣域和城市兩大市場(chǎng),實(shí)施差異化競(jìng)爭(zhēng)策略,著力打造“伴你成長(zhǎng)〞效勞品牌,依托覆蓋全國(guó)的分支機(jī)構(gòu)、龐大的電子化網(wǎng)絡(luò)和多元化的金融產(chǎn)品,致力為廣闊客戶(hù)提供優(yōu)質(zhì)的金融效勞,與廣闊客戶(hù)共創(chuàng)價(jià)值、共同成長(zhǎng)。截至2007年末,全行總資產(chǎn)到達(dá)60501.27億元人民幣,各項(xiàng)存款52833.14億元人民幣,各項(xiàng)貸款34801.05億元人民幣。由于現(xiàn)在各大銀行的全國(guó)聯(lián)網(wǎng),異地存款,取款,存錢(qián),在全國(guó)任何地方可以及時(shí)查詢(xún)自己帳戶(hù)等,甚至在家里,翻開(kāi)電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)現(xiàn)足不出戶(hù),了解自己帳戶(hù)信息,給人們的生活和社會(huì)的經(jīng)濟(jì)帶來(lái)了空前的變化。在這樣的一個(gè)背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會(huì)開(kāi)展的需要,本次我利用畢業(yè)之際,設(shè)計(jì)和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的平安性等因素的考慮,一個(gè)系統(tǒng)設(shè)計(jì)之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計(jì)的系統(tǒng)主要是模擬中國(guó)農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣闊的客戶(hù)提供查詢(xún)余額、取款、轉(zhuǎn)賬等功能。隨著計(jì)算機(jī)技術(shù)的不斷開(kāi)展,計(jì)算機(jī)作為知識(shí)經(jīng)濟(jì)時(shí)代的產(chǎn)物,已被廣泛應(yīng)用于社會(huì)各個(gè)行業(yè)和領(lǐng)域。目前我國(guó)國(guó)企改革的深入和社會(huì)主義市場(chǎng)經(jīng)濟(jì)的日趨繁榮,金融體系的規(guī)模更是日益龐大,客戶(hù)對(duì)銀行的效勞要求也在不斷提高,模擬一個(gè)快捷方便平安智能的網(wǎng)上銀行轉(zhuǎn)系統(tǒng)有很高的實(shí)用價(jià)值。本系統(tǒng)模擬銀行帳戶(hù)的管理,開(kāi)發(fā)一個(gè)農(nóng)行網(wǎng)上銀行系統(tǒng),設(shè)計(jì)主要實(shí)現(xiàn)用戶(hù)在銀行正常交易的一些功能而且作為一個(gè)實(shí)用的管理系統(tǒng),要有良好的容錯(cuò)性,在出現(xiàn)誤操作能盡量地給出警告,以便用戶(hù)及時(shí)地更正,計(jì)算機(jī)地資源是受到限制的,因此要充分利用JSP的功能,設(shè)計(jì)出功能強(qiáng)大的軟件,同時(shí)要盡可能的減少對(duì)系統(tǒng)的資源的占用,簽于本系統(tǒng)的特殊性,還需要本程序有良好的保密性。由于現(xiàn)在各大銀行的全國(guó)聯(lián)網(wǎng),異地存款,取款,存錢(qián),在全國(guó)任何地方可以及時(shí)查詢(xún)自己帳戶(hù)等,甚至在家里,翻開(kāi)電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)現(xiàn)足不出戶(hù),了解自己帳戶(hù)信息,給人們的生活和社會(huì)的經(jīng)濟(jì)帶來(lái)了空前的變化。在這樣的一個(gè)背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會(huì)開(kāi)展的需要,本次我利用畢業(yè)之際,設(shè)計(jì)和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的平安性等因素的考慮,一個(gè)系統(tǒng)設(shè)計(jì)之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計(jì)的系統(tǒng)主要是模擬中國(guó)農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣闊的客戶(hù)提供查詢(xún)余額、取款、轉(zhuǎn)賬等功能。我利用自己所學(xué)的計(jì)算機(jī)專(zhuān)業(yè)知識(shí),模擬設(shè)計(jì)一個(gè)類(lèi)似與農(nóng)業(yè)銀行的網(wǎng)上銀行系統(tǒng),使自己進(jìn)一步掌握運(yùn)用JSP語(yǔ)言編程的能力,并更深一步的了解有關(guān)網(wǎng)上銀行電子交易的相關(guān)知識(shí)。1.2公司組織機(jī)構(gòu)目前公司組織機(jī)構(gòu)如以下圖1-1所示:公司實(shí)行董事長(zhǎng)監(jiān)管下的總經(jīng)理負(fù)責(zé)制,總經(jīng)理和辦公室負(fù)責(zé)協(xié)調(diào)技術(shù)部門(mén)、人事部門(mén)和財(cái)務(wù)部門(mén)之間相互合作。整個(gè)系統(tǒng)將上述部門(mén)連接成一體,共同協(xié)作完成整個(gè)銀行的運(yùn)作。系統(tǒng)實(shí)施由總經(jīng)理牽頭,各部門(mén)主管領(lǐng)導(dǎo)負(fù)責(zé),部門(mén)業(yè)務(wù)員配合系統(tǒng)研發(fā)人員來(lái)完成。農(nóng)業(yè)銀行農(nóng)業(yè)銀行財(cái)務(wù)科人事科宣傳科辦公室工會(huì)分行技術(shù)科圖1-1公司組織機(jī)構(gòu)圖Fig1-1DiagramoftheCompany'sOrganizationalStructure1.3系統(tǒng)業(yè)務(wù)流程經(jīng)過(guò)前期調(diào)研分析和綜合其它各方面相關(guān)理論知識(shí),給出整個(gè)系統(tǒng)的業(yè)務(wù)流程圖如以下圖1-2所示:整個(gè)系統(tǒng)的開(kāi)發(fā)主要圍繞上述業(yè)務(wù)流程進(jìn)行開(kāi)發(fā),開(kāi)發(fā)過(guò)程采用面向?qū)ο蟮拈_(kāi)發(fā)技術(shù),具體開(kāi)發(fā)過(guò)程見(jiàn)下面的章節(jié)。1.4系統(tǒng)功能模塊根據(jù)上述業(yè)務(wù)流程,整個(gè)系統(tǒng)抽象出以下幾個(gè)功能模塊,如圖1-3所示。下面模塊劃分只是抽象意義上的劃分,各模塊之間需要共享數(shù)據(jù),相互協(xié)作,完成整個(gè)系統(tǒng)流程,單一事物功能模塊間是相互獨(dú)立的。票據(jù)圖像票據(jù)圖像業(yè)務(wù)數(shù)據(jù)總結(jié)日?qǐng)?bào)明細(xì)帳數(shù)據(jù)報(bào)表票證查詢(xún)刻制光盤(pán)審核〔重點(diǎn)監(jiān)督〕對(duì)帳〔自動(dòng)對(duì)帳,手工補(bǔ)充〕票證帳主機(jī)流水帳票證圖像銀行主機(jī)業(yè)務(wù)流水業(yè)務(wù)規(guī)那么票證省分行會(huì)計(jì)、儲(chǔ)蓄、信用卡務(wù)系統(tǒng)數(shù)圖1-2系統(tǒng)流程Fig1-2theWorkflowofSystem農(nóng)業(yè)銀行網(wǎng)上銀行系統(tǒng)農(nóng)業(yè)銀行網(wǎng)上銀行系統(tǒng)管理員用戶(hù)會(huì)員管理系統(tǒng)維護(hù)查詢(xún)用戶(hù)余額賬號(hào)管理查詢(xún)余額及轉(zhuǎn)賬注冊(cè)會(huì)員交易明細(xì)圖1-3系統(tǒng)功能模塊Fig1-3FunctionModelsofSystem2系統(tǒng)需求分析2.1需求陳述通常,需求陳述的內(nèi)容包括:?jiǎn)栴}范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等??傊枨箨愂鰬?yīng)該說(shuō)明“做什么〞而不是“怎樣做〞。它應(yīng)該描述用戶(hù)的需求而不是提出解決問(wèn)題的方法。應(yīng)該指出哪些是系統(tǒng)必要的性質(zhì),哪些是任選的性質(zhì)。應(yīng)該防止對(duì)設(shè)計(jì)謀略施加過(guò)多的約束,也不要描述系統(tǒng)的內(nèi)部結(jié)構(gòu),因?yàn)檫@樣做將限制實(shí)現(xiàn)的靈活性。對(duì)系統(tǒng)性能及系統(tǒng)與外界環(huán)境交互協(xié)議的描述,是適宜的需求。此外,對(duì)采用的軟件工程標(biāo)準(zhǔn)、模塊構(gòu)造準(zhǔn)那么、將來(lái)可能做的擴(kuò)充以及可維護(hù)性要求等方面的描述,也都是適當(dāng)?shù)男枨?。下面以農(nóng)業(yè)銀行網(wǎng)上銀行中的電子交易模塊為例說(shuō)明如何進(jìn)行系統(tǒng)需求陳述。本系統(tǒng)需要具有以下功能:(1)由于一項(xiàng)新的軟件在被使用之前,對(duì)于使用者來(lái)說(shuō)是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機(jī)界面。(2)能夠?qū)崿F(xiàn)轉(zhuǎn)賬功能,能成功的對(duì)各種信息進(jìn)行查詢(xún)及管理。(3)查詢(xún)數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。系統(tǒng)采用B/S模式。整個(gè)系統(tǒng)最關(guān)鍵的就是數(shù)據(jù)庫(kù)系統(tǒng),一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)可以支持完善一個(gè)優(yōu)秀的軟件設(shè)計(jì),通過(guò)軟件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的連接來(lái)實(shí)現(xiàn)通過(guò)軟件界面觀察和處理操作數(shù)據(jù)。系統(tǒng)任務(wù)確定之后,下面的工作就是進(jìn)行系統(tǒng)分析。面向?qū)ο蟮姆治龅闹饕蝿?wù)是分析問(wèn)題領(lǐng)域,找出問(wèn)題解決方案,發(fā)現(xiàn)對(duì)象,分析對(duì)象的內(nèi)部構(gòu)成和外部關(guān)系,建立軟件系統(tǒng)的對(duì)象模型。分析問(wèn)題領(lǐng)域是軟件系統(tǒng)開(kāi)發(fā)的一項(xiàng)根本工作,是工程開(kāi)發(fā)之初必須首先進(jìn)行的重要工作。分析問(wèn)題領(lǐng)域的結(jié)果是對(duì)問(wèn)題領(lǐng)域的清晰,精確的定義,明確目標(biāo)系統(tǒng)將做什么。分析問(wèn)題領(lǐng)域的主要任務(wù)是:對(duì)問(wèn)題領(lǐng)域進(jìn)行抽象,提出解決方案;對(duì)未來(lái)的系統(tǒng)進(jìn)行需求分析,確定系統(tǒng)的職責(zé)范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。實(shí)施面向?qū)ο蠓治龅囊话悴襟E如下:1.分析用戶(hù)需求,建立UseCase并通過(guò)用例圖來(lái)描述用戶(hù)的需求。2.通過(guò)建立域模型以識(shí)別類(lèi)與對(duì)象,從而識(shí)別系統(tǒng)中的各種對(duì)象。3.確定對(duì)象的內(nèi)部特征,從而定義出各個(gè)屬性與效勞,以進(jìn)一步細(xì)化類(lèi)的結(jié)構(gòu)。4.識(shí)別對(duì)象之間的關(guān)系并使用設(shè)計(jì)模式對(duì)類(lèi)的結(jié)構(gòu)進(jìn)行優(yōu)化和改造。5.獲得對(duì)象之間的行為關(guān)系,繪制出各種動(dòng)態(tài)圖形〔順序圖、協(xié)作圖、狀態(tài)圖等〕。2.2UseCase建模定義活動(dòng)者根據(jù)電子交易模塊的需求可以確定2個(gè)活動(dòng)者,即客戶(hù)及系統(tǒng)管理員??蛻?hù)可以進(jìn)行網(wǎng)上轉(zhuǎn)賬及余額查詢(xún);系統(tǒng)管理員使用系統(tǒng)管理模塊記錄客戶(hù)信息,管理客戶(hù)的賬戶(hù)??蛻?hù)使用電子交易模塊進(jìn)行轉(zhuǎn)帳,電子消費(fèi),修改資料,以及查詢(xún)賬戶(hù)金額。UseCase圖根據(jù)系統(tǒng)需求分析,結(jié)合上節(jié)系統(tǒng)活動(dòng)者的定義分析,得到系統(tǒng)電子交易模塊的用例如下:管理員信息用例客戶(hù)信息用例轉(zhuǎn)帳用例用戶(hù)和用例電子交易模塊的用例圖圖2-1如下:圖2-1電子交易UseCase圖Fig3-1UseCaseforSalesManagement用例:管理員信息參與者:管理員說(shuō)明:①管理員啟動(dòng)客戶(hù)信息功能。②系統(tǒng)顯示客戶(hù)信息一覽表 ③管理員添加客戶(hù)信息④系統(tǒng)顯示添加成功畫(huà)面⑤客戶(hù)信息添加成功用例:客戶(hù)信息參與者:管理員說(shuō)明:①管理員啟動(dòng)客戶(hù)信息功能。②系統(tǒng)顯示客戶(hù)信息一覽表 ③管理員添加客戶(hù)信息④系統(tǒng)顯示添加成功畫(huà)面⑤客戶(hù)信息添加成功用例:轉(zhuǎn)帳參與者:客戶(hù)說(shuō)明:①客戶(hù)啟動(dòng)轉(zhuǎn)帳功能。②系統(tǒng)顯示轉(zhuǎn)帳信息 ③管理員添加轉(zhuǎn)帳信息④系統(tǒng)顯示添加成功畫(huà)面⑤轉(zhuǎn)帳信息添加成功3系統(tǒng)架構(gòu)設(shè)計(jì)3.1架構(gòu)設(shè)計(jì)目標(biāo)本系統(tǒng)是適應(yīng)現(xiàn)今網(wǎng)絡(luò)的開(kāi)展,通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)客戶(hù)的管理,和客戶(hù)業(yè)務(wù)的辦理,主要實(shí)現(xiàn)如下目標(biāo):1.對(duì)客戶(hù)信息〔客戶(hù)根本信息、聯(lián)系人信息、轉(zhuǎn)帳信息〕進(jìn)行全面管理。2.及時(shí)查看存款余額信息,并通過(guò)網(wǎng)站對(duì)收入、支出信息進(jìn)行管理。3.及時(shí)了解客戶(hù)的交易信息,客戶(hù)的余額信息,并以圖表形式對(duì)數(shù)據(jù)進(jìn)行分析。實(shí)現(xiàn)信息查詢(xún)功能。4.實(shí)現(xiàn)了直接通過(guò)網(wǎng)絡(luò)撥打用戶(hù)及發(fā)送E-mail。5.管理員和客戶(hù)可以隨時(shí)修改自己的密碼。6.數(shù)據(jù)保密性強(qiáng),為每個(gè)用戶(hù)設(shè)置相應(yīng)的權(quán)限。7.系統(tǒng)運(yùn)行穩(wěn)定、平安可靠。3.2系統(tǒng)架構(gòu)設(shè)計(jì)下面我們將根據(jù)架構(gòu)設(shè)計(jì)原那么和信息系統(tǒng)原理來(lái)建立系統(tǒng)的架構(gòu)設(shè)計(jì)模型。將信息系統(tǒng)中比擬關(guān)心的對(duì)象分層,可分為三層:用戶(hù)界面層、業(yè)務(wù)層、數(shù)據(jù)訪(fǎng)問(wèn)層〔如以下圖3-1所示〕,再把各層中的一些公共局部提出來(lái):權(quán)限管理,這樣得到包圖如圖3-2所示:圖3-1系統(tǒng)體系架構(gòu)圖Fig3-1TheDiagramofSystemArchitecture圖3-2客戶(hù)關(guān)系管理系統(tǒng)模塊包圖Fig3-2ERPmodulepackageplans1.用戶(hù)界面包用戶(hù)界面包的職責(zé)是:〔1〕與用戶(hù)的交互,接收用戶(hù)的各種輸入以及輸出各種提示信息或處理結(jié)果。〔2〕對(duì)于輸入的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),過(guò)濾非法數(shù)據(jù)?!?〕向業(yè)務(wù)處理對(duì)象發(fā)送處理請(qǐng)求。用戶(hù)界面包圖展開(kāi)如圖3-3所示:圖3-3用戶(hù)界面包展開(kāi)圖Fig3-3PackageDiagramofUsersInterface用戶(hù)界面包包含的類(lèi)見(jiàn)圖3-4:圖3-4用戶(hù)界面類(lèi)圖Fig3-4ClassDiagramofUsersInterface2.業(yè)務(wù)邏輯包業(yè)務(wù)邏輯包的職責(zé)是:〔1〕實(shí)現(xiàn)各種業(yè)務(wù)處理邏輯或處理算法?!?〕驗(yàn)證請(qǐng)求者的權(quán)限?!?〕向數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象發(fā)送數(shù)據(jù)持久化操作的請(qǐng)求?!?〕向用戶(hù)界面層返回處理結(jié)果。業(yè)務(wù)邏輯包圖展開(kāi)如圖3-5所示:圖3-5業(yè)務(wù)邏輯包圖展開(kāi)Fig3-5PackageDiagramofBusiness業(yè)務(wù)邏輯包包含的類(lèi)見(jiàn)圖3-6:圖3-6業(yè)務(wù)邏輯類(lèi)圖Fig3-6ClassDiagramofBusiness3.表單封裝包表單封裝的職責(zé)是:〔1〕實(shí)現(xiàn)表單數(shù)據(jù)的持久化操作。表單封裝包圖展開(kāi)如圖3-7所示:圖3-7表單封裝包圖展開(kāi)Fig3-7PackageDiagramofFormencapsulation4.數(shù)據(jù)訪(fǎng)問(wèn)包數(shù)據(jù)訪(fǎng)問(wèn)的職責(zé):〔1〕數(shù)據(jù)處理方法。數(shù)據(jù)訪(fǎng)問(wèn)包圖展開(kāi)如圖3-8所示:圖3-8數(shù)據(jù)訪(fǎng)問(wèn)包圖展開(kāi)Fig3-8PackageDiagramofDataaccess數(shù)據(jù)訪(fǎng)問(wèn)包包含的類(lèi)見(jiàn)圖3-9:圖3-9數(shù)據(jù)訪(fǎng)問(wèn)類(lèi)圖Fig3-9ClassDiagramofDataAccess對(duì)于每一個(gè)業(yè)務(wù)處理中需要持久化操作的對(duì)象都可以對(duì)應(yīng)為一個(gè)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)對(duì)象,在很多業(yè)務(wù)處理中需要請(qǐng)求多個(gè)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)對(duì)象來(lái)進(jìn)行數(shù)據(jù)的讀寫(xiě)操作,而這些操作又必須在同一個(gè)事務(wù)中,這時(shí)需要用同一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象來(lái)進(jìn)行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫(kù)連接類(lèi)的創(chuàng)立用到了單件〔Singleton〕模式,保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,一個(gè)客戶(hù)在同一時(shí)刻只能用一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象。5.權(quán)限管理包權(quán)限管理的主要職責(zé)是:〔1〕驗(yàn)證請(qǐng)求者的請(qǐng)求權(quán)限?!?〕提供請(qǐng)求者的權(quán)限列表。權(quán)限管理包圖展開(kāi)如圖3-10所示:圖3-10權(quán)限管理包圖展開(kāi)Fig3-10PackageDiagramofAccessAuthorization權(quán)限管理包包含的類(lèi)見(jiàn)圖3-11:圖3-11權(quán)限管理類(lèi)圖Fig3-11ClassDiagramofAccessAuthorization3.3系統(tǒng)架構(gòu)類(lèi)圖將包圖展開(kāi),得到類(lèi)圖,它是架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達(dá)了各個(gè)類(lèi)之間的靜態(tài)聯(lián)系。銀行網(wǎng)站的系統(tǒng)架構(gòu)類(lèi)圖如以下圖3-12所示。圖3-12系統(tǒng)架構(gòu)類(lèi)圖Fig3-12ClassDiagramofSystemArchitecture4系統(tǒng)詳細(xì)設(shè)計(jì)4.1業(yè)務(wù)邏輯對(duì)象類(lèi)設(shè)計(jì)發(fā)現(xiàn)業(yè)務(wù)邏輯類(lèi)本小節(jié)的主要任務(wù)是對(duì)系統(tǒng)架構(gòu)類(lèi)圖中的業(yè)務(wù)邏輯類(lèi)進(jìn)行設(shè)計(jì),由系統(tǒng)分析中的UseCase交互圖我們可以發(fā)現(xiàn)業(yè)務(wù)邏輯類(lèi)包括在線(xiàn)轉(zhuǎn)帳類(lèi),網(wǎng)絡(luò)消費(fèi)刷卡,查詢(xún)支出明細(xì)。根據(jù)UseCase交互圖中的消息找到對(duì)象類(lèi)相應(yīng)的方法。業(yè)務(wù)邏輯對(duì)象類(lèi)圖系統(tǒng)業(yè)務(wù)邏輯對(duì)象類(lèi)圖如以下圖4-1所示。圖4-1客戶(hù)對(duì)象類(lèi)圖Fig4-1ClassDiagramclientele4.2系統(tǒng)交互圖系統(tǒng)架構(gòu)類(lèi)交互圖系統(tǒng)架構(gòu)類(lèi)的工作流程:1.用戶(hù)界面對(duì)象在接收了用戶(hù)的輸入請(qǐng)求后,向業(yè)務(wù)代理對(duì)象發(fā)送處理請(qǐng)求。2.業(yè)務(wù)代理對(duì)象接收到請(qǐng)求后,向權(quán)限管理對(duì)象發(fā)送驗(yàn)證權(quán)限請(qǐng)求。3.權(quán)限管理對(duì)象驗(yàn)證權(quán)限后將驗(yàn)證結(jié)果返回給業(yè)務(wù)代理對(duì)象。4.業(yè)務(wù)代理對(duì)象根據(jù)驗(yàn)證結(jié)果進(jìn)行以下處理:對(duì)于不符合權(quán)限的請(qǐng)求那么返回提示信息;對(duì)于符合權(quán)限的請(qǐng)求,那么將請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)對(duì)象。5.業(yè)務(wù)對(duì)象進(jìn)行業(yè)務(wù)處理。對(duì)于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過(guò)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)對(duì)象進(jìn)行操作,期間的任何異常都交給異常處理對(duì)象處理。最后返回處理結(jié)果信息給業(yè)務(wù)代理對(duì)象。6.業(yè)務(wù)代理對(duì)象將處理結(jié)果信息返回給用戶(hù)界面。系統(tǒng)架構(gòu)類(lèi)的交互圖如圖4-2所示:活動(dòng)者與模塊間的交互與電子交易模塊進(jìn)行交互的活動(dòng)者〔角色〕主要包括客戶(hù)和銀行管理者??蛻?hù)和銀行管理者與電子交易模塊的交互圖如以下圖4-3和圖4-4所示:圖4-2系統(tǒng)架構(gòu)類(lèi)的交互圖Fig4-2InteractiveDiagramofSystemArchitectureClass圖4-3銀行管理員與客戶(hù)交互圖Fig4-3Bankmanagerandcustomerinteractiondiagram下面對(duì)客戶(hù)、客戶(hù)與客戶(hù)之間活動(dòng)的情況進(jìn)行動(dòng)態(tài)建模,由于篇幅限制,在此僅以客戶(hù)與電子交易模塊中的轉(zhuǎn)帳管理進(jìn)行時(shí)序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖的建模。轉(zhuǎn)帳管理主要涉及:1.根據(jù)客戶(hù)進(jìn)行轉(zhuǎn)帳生成轉(zhuǎn)帳信息,在轉(zhuǎn)帳之前可以修改轉(zhuǎn)帳金額,轉(zhuǎn)帳狀態(tài)為未完成。在轉(zhuǎn)出金額之后,轉(zhuǎn)帳完成。2.提供金額的查詢(xún)功能〔按帳號(hào)、轉(zhuǎn)帳時(shí)間、客戶(hù)名稱(chēng)、等查詢(xún)〕。客戶(hù)進(jìn)行轉(zhuǎn)帳的時(shí)序圖如以下圖4-4所示。圖4-4客戶(hù)進(jìn)行轉(zhuǎn)帳的時(shí)序圖Fig4-4customerstransfertimingdiagram4.2.3系統(tǒng)協(xié)作圖交互圖用來(lái)說(shuō)明系統(tǒng)如何實(shí)現(xiàn)一個(gè)用例或用例中的一個(gè)特殊場(chǎng)景。UML提供兩類(lèi)交互圖:時(shí)序圖和協(xié)作圖。時(shí)序圖按時(shí)間順序描述系統(tǒng)元素之間的交互;協(xié)作圖那么按照時(shí)間和空間順序來(lái)描述系統(tǒng)元素之間的交互。根據(jù)上節(jié)描述的客戶(hù)創(chuàng)立轉(zhuǎn)帳的時(shí)序圖,給出客戶(hù)創(chuàng)立轉(zhuǎn)帳協(xié)作圖如以下圖4-5所示。4.2.4系統(tǒng)狀態(tài)圖狀態(tài)圖是通過(guò)類(lèi)對(duì)對(duì)象的生命周期建立模型來(lái)描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為。狀態(tài)圖顯示了一個(gè)狀態(tài)機(jī),它根本上是一個(gè)狀態(tài)機(jī)中的元素的一個(gè)投影,也就意味著狀態(tài)圖包括狀態(tài)機(jī)的所有特性。在電子交易模塊中,主要有創(chuàng)立轉(zhuǎn)帳金額、修改金額、查詢(xún)余額同3種狀態(tài),這三種狀態(tài)完成過(guò)程非常相似,所以下面僅給出客戶(hù)創(chuàng)立轉(zhuǎn)帳金額的狀態(tài)圖如以下圖4-6所示。登錄登錄轉(zhuǎn)帳信息驗(yàn)證轉(zhuǎn)帳金額生成圖4-5客戶(hù)創(chuàng)立轉(zhuǎn)帳協(xié)作圖Fig4-5transfercustomerstocreatecollaborativeplans圖4-6客戶(hù)轉(zhuǎn)帳狀態(tài)圖Fig4-6Clienttransferstatediagram4.2.5系統(tǒng)活動(dòng)圖活動(dòng)圖是描述活動(dòng)是如何協(xié)同工作的。當(dāng)一個(gè)操作必須完成一系列事情,而又無(wú)法確定以什么樣的順序來(lái)完成這些事情時(shí),活動(dòng)圖可以更清晰地描述這些事情。在電子交易模塊中,主要涉及客戶(hù)的活動(dòng)。客戶(hù)首先登錄系統(tǒng),然后查看客戶(hù)賬戶(hù)信息,根據(jù)需要生成轉(zhuǎn)賬;還可以對(duì)轉(zhuǎn)帳的金額進(jìn)行修改;同時(shí)可以查詢(xún)當(dāng)前金額等活動(dòng)。完成活動(dòng)后退出系統(tǒng),下面給客戶(hù)的活動(dòng)圖,如以下圖4-7所示。圖4-7客戶(hù)在電子交易模塊的活動(dòng)圖Fig4-7Customersintheelectronictradingmoduleactivitydiagram4.3系統(tǒng)模塊設(shè)計(jì)4.3.1登陸在用戶(hù)登錄界面,在用戶(hù)名對(duì)應(yīng)的文本框中輸入用戶(hù)名,在密碼對(duì)應(yīng)的文本框中輸入密碼,如果用戶(hù)名和密碼同時(shí)與數(shù)據(jù)庫(kù)中的用戶(hù)名和密碼相對(duì)應(yīng),點(diǎn)擊“確定〞后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,那么給出提示。輸入:用戶(hù)名和密碼。處理:校檢字符的有效性。用戶(hù)要登錄本系統(tǒng)需要提供用戶(hù)名和密碼,在這里就是要檢驗(yàn)用戶(hù)是否滿(mǎn)足輸入的要求,即檢驗(yàn)用戶(hù)名和密碼文本框是否為空,假設(shè)為空,那么提示用戶(hù)輸入用戶(hù)名和密碼。檢驗(yàn)用戶(hù)名是否存在或密碼是否正確,即是否存在用戶(hù)輸入的用戶(hù)名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶(hù)的系統(tǒng)使用資源頁(yè)面,不成功那么顯示錯(cuò)誤信息頁(yè)面。流程圖如圖4-8所示:用戶(hù)登陸用戶(hù)登陸輸入用戶(hù)名和密碼驗(yàn)證密碼是否正確返回首頁(yè)登陸成功圖4-8登陸流程圖Fig4-8Landingflowchart4.3.2注冊(cè)用戶(hù)輸入:用戶(hù)的用戶(hù)名、姓名,密碼、身份證、性別、年齡、生日。處理:添加會(huì)員信息。在這里可以添加會(huì)員。添加信息有:用戶(hù)的戶(hù)名、姓名,密碼、身份證、性別、年齡、生日。輸出:添加成功,提示成功信息,不成功那么顯示錯(cuò)誤的信息頁(yè)面。流程圖如圖4-9所示:圖4-9注冊(cè)用戶(hù)流程圖Fig4-9Flowchartofregisteredusers4.4數(shù)據(jù)庫(kù)設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)是目前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)。既然是面向?qū)ο笙到y(tǒng)設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)當(dāng)然也要是面向?qū)ο蟮摹,F(xiàn)在要考慮如何對(duì)類(lèi)進(jìn)行持久化操作,即如何將對(duì)象類(lèi)映射到關(guān)系數(shù)據(jù)庫(kù)的二維表。目前可以采用數(shù)據(jù)庫(kù)建模工具來(lái)實(shí)現(xiàn),象PowerDesigner、Rose等。4.4.1ER圖1.帳戶(hù)實(shí)體E-R圖如圖4-10所示:開(kāi)戶(hù)時(shí)間帳戶(hù)實(shí)體卡號(hào)密碼帳號(hào)開(kāi)戶(hù)時(shí)間帳戶(hù)實(shí)體卡號(hào)密碼帳號(hào)圖4-10賬戶(hù)實(shí)體E—R圖Fig4-10AccountentityE-Rdiagram2.操作員實(shí)體E-R圖如圖4-11所示:操作員實(shí)體密碼性別操作員實(shí)體密碼性別用戶(hù)編號(hào)聯(lián)系用戶(hù)編號(hào)聯(lián)系圖4-11操作員實(shí)體E—R圖Fig4-11OperatorE-Rdiagramentities3.客戶(hù)局部功能E-R圖如圖4-12所示:11客戶(hù)管理員查詢(xún)余額系統(tǒng)信息管理用戶(hù)注冊(cè)管理查詢(xún)用戶(hù)交易轉(zhuǎn)帳修改詳細(xì)資料修改密碼轉(zhuǎn)帳收入明細(xì)查詢(xún)支出明細(xì)模擬消費(fèi)管理n圖4-12客戶(hù)局部功能E-R圖Fig4-12ClientfunctionalERdiagram4.4.2物理表結(jié)構(gòu)圖將電子交易ER模型中的實(shí)體轉(zhuǎn)換為物理表,得到物理表結(jié)構(gòu)如下:設(shè)計(jì)表“admin〞〔管理員表〕表4-1(Table4-1)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編號(hào)UsernameNvarchar50否用戶(hù)名PasswordNvarchar50否密碼CreattimeDatetime8否創(chuàng)立時(shí)間FlagInt4否標(biāo)記LogintimesInt4否登錄時(shí)間QuanxianNvarchar1000否權(quán)限設(shè)計(jì)表“system〞〔系統(tǒng)表〕表4-2(Table4-2)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編號(hào)SitenameNvarchar100否地址名KeywordNvarchar500否關(guān)鍵字DescriptionNvarchar500否種類(lèi)EmailNvarchar100否郵箱UpInt4否返回設(shè)計(jì)表“member〞〔成員表〕表4-3(Table4-3)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編號(hào)Usernamenvarchar50否用戶(hù)名PasswordNvarchar100否密碼TypeNvarchar50否類(lèi)型LogintimesInt4否注冊(cè)時(shí)間LasttimeDatetime8否最終時(shí)間LastipNvarchar50否最終地址設(shè)計(jì)表“card〞〔銀行卡表〕表4-4〔Table4-4〕列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空描述IdInt4是編號(hào)TypeVarchar50否范圍TitleVarchar50否名稱(chēng)NumFloat8否卡號(hào)AddtimeDatetime8否添加時(shí)間UidInt4否用戶(hù)編碼設(shè)計(jì)表“bank〞〔銀行表〕表4-5〔Table4-5〕列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編號(hào)UidInt4否用戶(hù)編碼CunVarchar50否存入AddtimeDatatime8否添加時(shí)間設(shè)計(jì)表“pemember〞〔注冊(cè)信息表〕表4-6〔Table4-6〕列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編號(hào)RealnameNvarchar100否真實(shí)姓名SexNvarchar50否性別BirNvarchar50否出生日期ShengNvarchar50否省份CityNvarchar50否城市TelphoneNvarchar50否EmailNvarchar50否郵箱QuestionNvarchar50否問(wèn)題AnswerNvarchar100否答案設(shè)計(jì)表“adminlog〞〔管理日志表〕表4-7〔Table4-7〕列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否主鍵描述IdInt4是編碼UsernameNvarchar50否管理名PasswordNvarchar50否密碼LogintimeDatetime8否登錄時(shí)間LoginipNvarchar50否登錄地址4.5開(kāi)發(fā)環(huán)境的選擇4.5.1系統(tǒng)開(kāi)發(fā)工具本系統(tǒng)采用VisualStuido2005作為系統(tǒng)開(kāi)發(fā)工具。VisualStudio是微軟公司推出的開(kāi)發(fā)環(huán)境,是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。使用VisualStudio2005,專(zhuān)業(yè)開(kāi)發(fā)人員能夠:使用改良后的可視化設(shè)計(jì)工具、編程語(yǔ)言和代碼編輯器,享受高效率的開(kāi)發(fā)環(huán)境,在統(tǒng)一的開(kāi)發(fā)環(huán)境中開(kāi)發(fā)并調(diào)試多層次的效勞器應(yīng)用程序使用集成的可視化數(shù)據(jù)庫(kù)設(shè)計(jì)和報(bào)告工具,創(chuàng)立SQLServer2005解決方案4.5.2數(shù)據(jù)庫(kù)的選擇SQLServer2000是一個(gè)具備完全Web支持的數(shù)據(jù)庫(kù)產(chǎn)品,其特點(diǎn)如下:真正的客戶(hù)機(jī)/效勞器體系結(jié)構(gòu)。1.圖形化用戶(hù)界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。豐富的編程接口工具,為用戶(hù)進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地2.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄平安性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。3.很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦Windows2000的大型多處理器等多種平臺(tái)使用。4.對(duì)Web技術(shù)的支持,使用戶(hù)能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。5.SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。5編碼5.1概述開(kāi)發(fā)工具及編程腳本JSP技術(shù)JSP是由Sun微系統(tǒng)公司于1999年6月推出的一項(xiàng)技術(shù),是基于JavaServlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、平安和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā)。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點(diǎn):(1)開(kāi)放的技術(shù):JSP技術(shù)基于平臺(tái)和效勞器的相互獨(dú)立,技術(shù)支持來(lái)自廣泛的、專(zhuān)門(mén)的、各種工具包,有效勞器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開(kāi)發(fā)商提供。相比之下,ASP技術(shù)主要依賴(lài)MICROSOFT支持。(2)平臺(tái)和效勞器的獨(dú)立性:JSP編寫(xiě)的代碼可運(yùn)行在任何符合JAVA語(yǔ)法結(jié)構(gòu)的環(huán)境中。這樣JSP就能夠運(yùn)行在多種WEB效勞器上并支持來(lái)自多家開(kāi)發(fā)商提供的各種工具包。(3)開(kāi)放的開(kāi)發(fā)過(guò)程,開(kāi)放的源碼:自1995年以來(lái),SUN用開(kāi)放過(guò)程方法同國(guó)際JAVA組織合作開(kāi)發(fā)和修改JAVA技術(shù)和標(biāo)準(zhǔn)。(4)JSP標(biāo)記可擴(kuò)充性:JSP技術(shù)能夠?yàn)殚_(kāi)發(fā)者擴(kuò)展JSP標(biāo)記,充分利用與XML兼容的標(biāo)記技術(shù)強(qiáng)大的功能,大大減少對(duì)腳本語(yǔ)言的依賴(lài)。(5)JSP跨平臺(tái)的可重用性:JSP組件〔EJB,JavaBean或定制的JSP標(biāo)記〕都是跨平臺(tái)可重用的。JavaBean技術(shù)JSP作為一個(gè)很好的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)語(yǔ)言得到了越來(lái)越廣泛的應(yīng)用,在各類(lèi)JSP應(yīng)用程序中,JSP+JavaBean的組合成為了一種事實(shí)上最常見(jiàn)的JSP程序的標(biāo)準(zhǔn).JavaBean是描述Java的軟件組件模型,有點(diǎn)類(lèi)似于Microsoft的COM組件概念。在Java模型中,通過(guò)JavaBean可以無(wú)限擴(kuò)充Java程序的功能,通過(guò)JavaBean的組合可以快速的生成新的應(yīng)用程序。對(duì)于程序員來(lái)說(shuō),最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等等也有很重大的意義。JavaBean通過(guò)Java虛擬機(jī)(JavaVirtualMachine)可以得到正確的執(zhí)行,具有平臺(tái)無(wú)關(guān)性。一個(gè)JavaBean有三個(gè)局部組成:屬性〔Property〕Bean的屬性就是對(duì)象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個(gè)時(shí)鐘Bean可以有時(shí)區(qū)和鎮(zhèn)鈴屬性,日歷Bean可以有年份和月份屬性。每個(gè)屬性通常遵守簡(jiǎn)單的方法命名規(guī)那么。這樣可以很方便的找出Bean提供的屬性,然后查詢(xún)屬性值或改變屬性值,對(duì)Bean進(jìn)行操作。方法〔Method〕由于Bean本身是Java對(duì)象,調(diào)用這個(gè)對(duì)象的方法是與其交互作用的唯一途徑。JavaBean嚴(yán)格遵守面向?qū)ο蟮念?lèi)設(shè)計(jì)邏輯,不讓外界訪(fǎng)問(wèn)其任何實(shí)例字段〔沒(méi)有Public字段〕。這樣,方法調(diào)用的是接觸Bean的唯一途徑。事件〔Event〕Bean與其他軟件組件交流信息的主要方式是發(fā)送和接收事件。這與對(duì)象之間通過(guò)消息通信類(lèi)似。JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,在效勞器端應(yīng)用方面表現(xiàn)出來(lái)了越來(lái)越強(qiáng)的生命力。利用非可視化JavaBean,來(lái)封裝事務(wù)邏輯、數(shù)據(jù)庫(kù)操作等等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序(如JSP)的別離,使得系統(tǒng)具有更好的健壯性和靈活性。JDBC技術(shù)JDBC是Java的開(kāi)發(fā)者——Sun的JavaSoft公司制定的Java數(shù)據(jù)庫(kù)連接JavaDataBaseConnectivity技術(shù)的簡(jiǎn)稱(chēng),是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺(tái)應(yīng)用程序中的作用類(lèi)似。JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)包括以下四個(gè)主要組件:Java的應(yīng)用程序、JDBC驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。簡(jiǎn)單地說(shuō),JDBC能完成以下三件事:〔1〕同一個(gè)數(shù)據(jù)庫(kù)建立連接;〔2〕向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句;〔3〕處理數(shù)據(jù)庫(kù)返回的結(jié)果。JDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI〔ApplicationProgrammingInterface,應(yīng)用程序設(shè)計(jì)接口〕。它由一些Java語(yǔ)言寫(xiě)的類(lèi)、界面組成。JDBC給數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。通過(guò)使用JDBC,開(kāi)發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。也就是說(shuō),開(kāi)發(fā)人員可以不必寫(xiě)一個(gè)程序訪(fǎng)問(wèn)Sybase,寫(xiě)另一個(gè)程序訪(fǎng)問(wèn)Oracle,再寫(xiě)一個(gè)程序訪(fǎng)問(wèn)Microsoft的SQLServer。用JDBC寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)〔DBMS〕。不但如此,使用Java編寫(xiě)的應(yīng)用程序可以在任何支持Java的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上編寫(xiě)不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開(kāi)發(fā)人員在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!〞Java具有健壯、平安、易用等特性,而且支持自動(dòng)網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫(kù)線(xiàn)連接而使用的編程語(yǔ)言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫(kù)連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁(yè),頁(yè)中帶有能訪(fǎng)問(wèn)遠(yuǎn)端數(shù)據(jù)庫(kù)的Applet。或者企業(yè)可以通過(guò)JDBC讓全部的職工〔他們可以使用不同的操作系統(tǒng),如Windwos,Machintosh或UNIX〕在Intranet上連接到幾個(gè)全球數(shù)據(jù)庫(kù)上,而這幾個(gè)全球數(shù)據(jù)庫(kù)可以是不相同的。用JDBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)所有的數(shù)據(jù)庫(kù)的對(duì)象和方法都在java.sql.*里面,所以首先要importjava.sql.*,要想連接數(shù)據(jù)庫(kù),首先要將驅(qū)動(dòng)程序調(diào)入。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");這是JDBC-ODBC的驅(qū)動(dòng)程序。要想連接一個(gè)指定的數(shù)據(jù)庫(kù),必須創(chuàng)立Connection類(lèi)的一個(gè)實(shí)例。Stringurl="jdbc:odbc:Groceryprices";Connectioncon=DriverManager.getConnection(url);注意在此用到的數(shù)據(jù)庫(kù)名稱(chēng)是在ODBC設(shè)置控制面板中輸入的數(shù)據(jù)資源名。URL語(yǔ)法對(duì)于不同類(lèi)型的數(shù)據(jù)庫(kù)會(huì)很不一樣。語(yǔ)法是這樣的:jdbc:subprotocol:subname開(kāi)頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱(chēng)。假設(shè)要使用純JDBC驅(qū)動(dòng)程序,必須安裝第三方軟件提供的驅(qū)動(dòng)程序,一般在數(shù)據(jù)庫(kù)的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用JDBC-ODBC的驅(qū)動(dòng)程序連接數(shù)據(jù)庫(kù),并使用JavaBean組件,有效的防止了代碼的重復(fù),具體過(guò)程如下:packageexam;importjava.sql.*;publicclassExamBean{StringstrDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驅(qū)動(dòng)程序StringstrDBUrl="jdbc:odbc:exam";privateConnectionconn=null;privateStatementstmt=null;ResultSetrs=null;//<!--注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序-->publicExamBean(){try{Class.forName(strDBDriver);} //<!—異常處理-->catch(java.lang.ClassNotFoundExceptione){System.err.println("exam():"+e.getMessage());}}//<!—建立數(shù)據(jù)庫(kù)連接及定義數(shù)據(jù)查詢(xún)-->publicResultSetexecuteQuery(Stringsql){rs=null;try{conn=DriverManager.getConnection(strDBDriver); //創(chuàng)立數(shù)據(jù)庫(kù)連接對(duì)象stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持?jǐn)?shù)據(jù)回滾rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}//<!—定義數(shù)據(jù)更新操作-->publicvoidexecuteUpdate(Stringsql){stmt=null;try{conn=DriverManager.getConnection(strDBDriver);stmt=conn.createStatement();stmt.executeUpdate(sql);stmt.close();}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}}//<!—關(guān)閉數(shù)據(jù)庫(kù)連接-->publicvoidcloseStmt(){try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseConn(){try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}5.2腳本習(xí)慣說(shuō)明無(wú)論是哪一種JSP實(shí)現(xiàn),在一定的階段,它們的某些版本都會(huì)出現(xiàn)給系統(tǒng)帶來(lái)危險(xiǎn)的平安隱患,即使JSP開(kāi)發(fā)者遵從了平安編程慣例也無(wú)濟(jì)于事。例如,在Allaire的JRun的一個(gè)版本中,如果請(qǐng)求URL包含字符串“.jsp%00”這里的騙局在于,%25是URL編碼的“%〞,而70是“p〞的十六進(jìn)制值。Web效勞器不會(huì)調(diào)用JSP處理器〔因?yàn)閁RL沒(méi)有以“.jsp〞結(jié)尾〕,但靜態(tài)文件處理器會(huì)設(shè)法把URL映射到正確的文件名字〔再一次解碼URL〕。另外,許多Web效勞器和JSP實(shí)現(xiàn)都帶有示范腳本,這些示范腳本常常包含平安隱患。在把效勞器部署到一個(gè)不無(wú)惡意的環(huán)境〔即Internet〕之前,禁止對(duì)所有這些腳本的訪(fǎng)問(wèn)有利于平安。6系統(tǒng)測(cè)試6.1程序的測(cè)試6.1.1測(cè)試原那么及測(cè)試方法概述表6-1測(cè)試用例測(cè)試用例描述操作過(guò)程及數(shù)據(jù)預(yù)期結(jié)果用例類(lèi)別對(duì)于客戶(hù)登錄頁(yè)面輸入正常值進(jìn)行測(cè)試進(jìn)入“客戶(hù)登錄〞界面,分別在“用戶(hù)名〞、“密碼〞輸入正常值,然后進(jìn)行“登錄〞登錄成功,顯示正常信息。功能點(diǎn)對(duì)于管理員頁(yè)面輸入正常值進(jìn)行測(cè)試進(jìn)入“管理員登陸〞界面,分別在“用戶(hù)名〞、“密碼〞輸入正常值,然后進(jìn)行“登錄〞登錄成功,顯示正常信息。功能點(diǎn)對(duì)“修改密碼〞修改良行測(cè)試在客戶(hù)登錄頁(yè)面正確輸入用戶(hù)名和密碼,進(jìn)入到客戶(hù)頁(yè)面-密碼修改,輸入“新密碼〞和“確認(rèn)密碼〞顯示密碼修改成功界面校驗(yàn)對(duì)管理員登陸頁(yè)面〞密碼修改〞和〞添加管理員〞進(jìn)行測(cè)試登錄到管理員用戶(hù)界面,在“添加管理員〞和“密碼修改〞中輸入正確數(shù)值成功添加及修改界面校驗(yàn)對(duì)管理員登陸頁(yè)面新聞管理進(jìn)行測(cè)試進(jìn)入管理員登陸界面,對(duì)“新聞標(biāo)題〞和“文章作者〞“文章內(nèi)容〞中輸入正確數(shù)據(jù)成功添加信息界面校驗(yàn)對(duì)管理員客戶(hù)信息管理進(jìn)行測(cè)試在“姓名〞“帳號(hào)〞“密碼〞中輸入正確信息顯示成功添加客戶(hù)信息關(guān)聯(lián)對(duì)管理員信息管理進(jìn)行測(cè)試在“管理頁(yè)〞中輸入正確信息顯示保存成功關(guān)聯(lián)登陸時(shí),不輸入用戶(hù)名或者密碼,或者密碼輸入錯(cuò)誤進(jìn)入登陸頁(yè)面之前,輸入非法的用戶(hù)名或者密碼提示密碼錯(cuò)誤或者用戶(hù)名錯(cuò)誤關(guān)聯(lián)密碼修改時(shí),新密碼和確認(rèn)密碼輸入不合法進(jìn)入客戶(hù)登錄頁(yè)面-密碼修改,密碼輸入兩次不同提示密碼輸入不正確界面校驗(yàn)添加一條管理員信息,但用戶(hù)名和密碼輸入不法進(jìn)入“添加管理員〞輸入非法信息

顯示注冊(cè)不成功界面校驗(yàn)添加一條新聞信息,但“文章標(biāo)題〞書(shū)寫(xiě)不合法進(jìn)入“新聞添加〞-“文章標(biāo)題〞,標(biāo)題內(nèi)信息不填寫(xiě)系統(tǒng)提示不能為非空界面校驗(yàn)添加一條新聞信息,但“文章內(nèi)容〞書(shū)寫(xiě)不合法進(jìn)入“新聞添加〞-“文章標(biāo)題〞,標(biāo)題內(nèi)信息不填寫(xiě)系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶(hù)信息,但“姓名〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,姓名輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶(hù)信息,但“賬戶(hù)〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,賬戶(hù)輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶(hù)信息,但“出生日期〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,出生日輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶(hù)信息,但“聯(lián)系〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,聯(lián)系輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶(hù)信息,但“Email〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,Email輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶(hù)信息,但“密碼提示問(wèn)題〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,密碼提示問(wèn)題輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶(hù)信息,但“問(wèn)題答案〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,“問(wèn)題答案〞一欄書(shū)寫(xiě)漢字,例如:派對(duì)提交時(shí)系統(tǒng)提示輸入不合法功能點(diǎn)添加一條客戶(hù)信息,但“性別〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,“性別〞不進(jìn)行選擇性別;系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶(hù)信息,但“用戶(hù)名〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,“用戶(hù)名〞一欄書(shū)寫(xiě)漢字,例如:大師提交時(shí)系統(tǒng)提示輸入不合法功能點(diǎn)添加一條客戶(hù)信息,但“登錄密碼〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“客戶(hù)信息添加〞,“登錄密碼〞一欄進(jìn)行輸入,例如:1234是是提交時(shí)系統(tǒng)提示輸入不合法功能點(diǎn)輸入存款金額,但“金額〞輸入不合法進(jìn)入“客戶(hù)信息管理〞-“存款操作〞,“存款金額〞一欄進(jìn)行輸入,例如:五十提交時(shí)系統(tǒng)提示輸入不合法功能點(diǎn)輸入管理員名“阿斯頓〞輸入不可用進(jìn)入“管理員管理〞-“增加修改管理員〞,“管理員〞一欄進(jìn)行輸入,例如:阿斯頓提交時(shí)系統(tǒng)提示輸入不合法功能點(diǎn)6.3軟件測(cè)試結(jié)論軟件能力經(jīng)過(guò)測(cè)試軟件的各項(xiàng)性能都正常運(yùn)行,客戶(hù)登錄頁(yè)面正常顯示客戶(hù)的各項(xiàng)信息,包括“個(gè)人根本資料〞、“轉(zhuǎn)帳收入〞、“支出明細(xì)〞、“余額查詢(xún)〞、“密碼修改〞。管理員登陸頁(yè)面正常顯示管理員各項(xiàng)信息,包括“注冊(cè)用戶(hù)管理〞、“系統(tǒng)信息管理、“查看用戶(hù)交易〞、“查看客戶(hù)余額〞。缺陷和限制因?yàn)槌踅佑|JSP編程,對(duì)JSP的使用還不是特別的熟悉,而程序的絕大多數(shù)頁(yè)面都是用JSP來(lái)設(shè)計(jì)完成,頁(yè)面難免做的有些粗糙,對(duì)于頁(yè)面模塊結(jié)構(gòu)的分配還有不妥之處。程序所選用的效勞器是SQLServer2000數(shù)據(jù)庫(kù),在穩(wěn)定性方面相比Oracle會(huì)差一些,所以程序的運(yùn)行偶爾會(huì)出現(xiàn)不穩(wěn)定的情況,稍微對(duì)系統(tǒng)的穩(wěn)定性會(huì)造成一定的影響。Jsp第一次開(kāi)發(fā)可能會(huì)慢些,以后維護(hù)和二次開(kāi)發(fā)非常方便的,校驗(yàn)可以用validator技術(shù),比起傳統(tǒng)校驗(yàn),要方便,但比起要麻煩,而且,每次修改配置文件,都要重啟效勞器。建議在網(wǎng)頁(yè)的美化方面可以多翻閱一些美工的書(shū)籍,多去各個(gè)網(wǎng)站去學(xué)習(xí)網(wǎng)站的頁(yè)面設(shè)計(jì)樣式,從中得到些啟發(fā),在將發(fā)現(xiàn)的想法融入到自己的程序中去,會(huì)對(duì)程序的整體樣式、美化都有很大幫主。在程序的日后穩(wěn)定性方面,可以考慮使用Oracle數(shù)據(jù)庫(kù),這樣程序的穩(wěn)定性會(huì)得到提升。測(cè)試結(jié)論通過(guò)集中的測(cè)試階段,從系統(tǒng)的輸入到數(shù)據(jù)的輸入以及系統(tǒng)整體的穩(wěn)定程度都可以看出,系統(tǒng)的穩(wěn)定性已經(jīng)到達(dá)日常工作要求的需要。其中性能局部要求也根本滿(mǎn)足了管理員對(duì)客戶(hù)資料管理的要求和客戶(hù)進(jìn)行活動(dòng)的需求,所以綜合以上的功能,此系統(tǒng)可以通過(guò)。結(jié)論本文通過(guò)本系統(tǒng)設(shè)計(jì)與開(kāi)發(fā),從而得出以下結(jié)論:〔1〕學(xué)習(xí)一門(mén)技術(shù),最重要的是實(shí)踐,只有多動(dòng)手才能盡快掌握它?!?〕一個(gè)系統(tǒng)的開(kāi)發(fā),經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)缺乏,就難免會(huì)有許多考慮不周之處?!?〕要想吸引更多的用戶(hù),系統(tǒng)的界面必須要美觀、有特色、友好,功能要健全。不過(guò)由于經(jīng)驗(yàn)缺乏,我設(shè)計(jì)的圖形界面比擬簡(jiǎn)單。只是對(duì)根本功能進(jìn)行了開(kāi)發(fā)。〔4〕本次開(kāi)發(fā),我參考了很多本系統(tǒng)的例子,吸取了一些別的本系統(tǒng)的長(zhǎng)處,對(duì)自己的畢業(yè)設(shè)計(jì)進(jìn)行了完善,但是還有很多的缺乏之處,有待以后進(jìn)一步學(xué)習(xí)。Web開(kāi)發(fā)中平安性是必須考慮的一個(gè)很重要的方面,特別是在諸如個(gè)信息等敏感數(shù)據(jù)的模塊中更是關(guān)鍵,所以這也是后期開(kāi)發(fā)需要引起重視的。下面就這方面的技術(shù)和解決方案加以討論。(1)安裝防火墻:安裝防火墻并且屏蔽數(shù)據(jù)庫(kù)端口能有效地阻止了來(lái)自Internet上對(duì)數(shù)據(jù)的攻擊。(2)輸入檢查和輸出過(guò)濾:用戶(hù)在請(qǐng)求中嵌入惡意HTML標(biāo)記來(lái)進(jìn)行攻擊破壞,防止出現(xiàn)這種問(wèn)題要靠輸入檢查和輸出過(guò)濾,而這類(lèi)檢查必須在效勞器端進(jìn)行,一旦校驗(yàn)代碼發(fā)現(xiàn)有可疑的請(qǐng)求信息,就將這些可疑代碼替換并將其過(guò)濾掉。

致謝首先要感謝的是我的指導(dǎo)老師,在論文的選題和細(xì)節(jié)工作上都給了我莫大的幫助與鼓勵(lì),論文是通過(guò)指導(dǎo)老師的精心指導(dǎo)下完成的,她無(wú)論在理論上還是在實(shí)踐中,都給予我很大的幫助。從論文的選題到最后的審稿,始終得到了老師的關(guān)心和支持。在老師的親切關(guān)心和悉心指導(dǎo)下順利完成了論文。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),深深地感染和鼓勵(lì)著我。在此謹(jǐn)向指導(dǎo)老師致以誠(chéng)摯的謝意和崇高的敬意。另外,我要向?qū)W院領(lǐng)導(dǎo)、老師和本院的所有授課老師表示深深的感謝。感謝在一起愉快的度過(guò)大學(xué)生活的各位同學(xué)、朋友,正是由于你們的幫助和支持,我才能克服每一個(gè)困難和疑惑,直至本文的順利完成。感謝父母和家人對(duì)我無(wú)微不至的關(guān)心和保護(hù),在本次論文中也給我了極大的鼓勵(lì)。最后,在論文即將完成之際,感謝所有支持過(guò)、幫助過(guò)我的人,再次獻(xiàn)上我最忠心的感謝與祝福!

參考文獻(xiàn)[1]BruceEckel,JAVA編程思想,機(jī)械工業(yè)出版社,2005年10月:1-378[2]周彩蘭,孫琳,李素芬.基于JSP的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)鏈接技術(shù)[J],計(jì)算機(jī)技術(shù)與開(kāi)展,2006,(04).[3]FLANAGAN,JAVA技術(shù)手冊(cè),中國(guó)電力出版社,2006年6月:1-465[4]孫一林,彭波,JSP數(shù)據(jù)庫(kù)編程實(shí)例,清華大學(xué)出版社,2006年8月:30-210[5](美)Liang.Y.D著,JAVALanguageDesign[M],北京:機(jī)械工業(yè)出版社,2005.1:84-134[6]飛思科技產(chǎn)品研發(fā)中心,JSP應(yīng)用開(kāi)發(fā)詳解,電子工業(yè)出版社,2005年9月:32-300[7]鄒建著,中文版SQLServer2000開(kāi)發(fā)與管理應(yīng)用實(shí)例[M],北京:人民郵電出版社, 2005.5:109-211[8]劉天北,熊杰著,J2EE核心模式〔原書(shū)第2版〕[M],北京:機(jī)械工業(yè)出版社,2005.6:198-301[9](美)MichealJ.Hernandez著,SQL查詢(xún)凡人入門(mén)[M],北京:電子工業(yè)出版社,2005.8:67-381[10]Brown等,JSP編程指南〔第二版〕,電子工業(yè)出版社,2005年3月:1-268[11]清宏計(jì)算機(jī)工作室,JSP編程技巧,機(jī)械工業(yè)出版社,2005年5月:1-410附錄A中文譯文最近幾年因特網(wǎng)和電子商務(wù)的迅猛開(kāi)展引發(fā)了第二次“信息爆炸〞。業(yè)界分析家預(yù)計(jì):未來(lái)三年中生成的數(shù)據(jù)會(huì)比所有已記錄的歷史信息還要多。企業(yè)業(yè)務(wù)應(yīng)用程序可以用以下兩種方法之一來(lái)應(yīng)對(duì)信息過(guò)載:被這些數(shù)據(jù)的龐大數(shù)量和多樣性壓垮,或者利用這些信息,并將其轉(zhuǎn)換成可以用來(lái)在商業(yè)領(lǐng)域贏得競(jìng)爭(zhēng)優(yōu)勢(shì)的有價(jià)值的資產(chǎn)。因?yàn)椴捎没谝蛱鼐W(wǎng)的商業(yè)交易模型的速度大大超過(guò)了用來(lái)處理“信息爆炸〞的工具和技術(shù)的開(kāi)發(fā)速度,所以許多企業(yè)發(fā)現(xiàn)自己在無(wú)意中使用著從前的方法。大量開(kāi)發(fā)資源浪費(fèi)在“快捷但不恰當(dāng)?shù)姆绞将@得的〞集成解決方案上,這些解決方案粗制濫造地將不同的數(shù)據(jù)管理系統(tǒng)〔數(shù)據(jù)庫(kù)、內(nèi)容管理系統(tǒng)和企業(yè)應(yīng)用程序系統(tǒng)〕組合起來(lái),并將數(shù)據(jù)從一種格式轉(zhuǎn)換成另一種格式〔結(jié)構(gòu)化格式、XML和字節(jié)流〕。當(dāng)應(yīng)用程序面臨可伸縮性和可用性問(wèn)題時(shí),收入就會(huì)減少。新的商時(shí)機(jī)被輕易地忽略,因?yàn)檫M(jìn)行商業(yè)決策所需的關(guān)鍵性有用信息被所生成的大量數(shù)據(jù)“淹沒(méi)〞了。關(guān)系數(shù)據(jù)庫(kù)是在存儲(chǔ)、操作和管理大量數(shù)據(jù)的完整性的需求下應(yīng)運(yùn)而生的。在20世紀(jì)60年代,網(wǎng)絡(luò)和分層系統(tǒng)〔如CODASYL和IMS〕是用于自動(dòng)化銀行業(yè)務(wù)、記帳和訂單處理系統(tǒng)的一流技術(shù),這些系統(tǒng)是由于商業(yè)大型計(jì)算機(jī)的引入才啟用的。雖然這些系統(tǒng)為早期系統(tǒng)提供了良好的根底,但它們的根本體系結(jié)構(gòu)將數(shù)據(jù)的物理操作與邏輯操作混合在一起。當(dāng)數(shù)據(jù)的物理位置改變時(shí),譬如從磁盤(pán)的一個(gè)區(qū)域移到另一個(gè)區(qū)域,也必須更新應(yīng)用程序,以引用新的位置。1970年,Codd的一篇革命性論文及其商業(yè)實(shí)現(xiàn)改變了一切。Codd的關(guān)系模型引入了數(shù)據(jù)獨(dú)立性的概念,它將數(shù)據(jù)的物理表示與在應(yīng)用程序中的邏輯表示分開(kāi)。數(shù)據(jù)從磁盤(pán)的一局部移到另一局部或以不同格式存儲(chǔ),都不會(huì)導(dǎo)致重寫(xiě)應(yīng)用程序。應(yīng)用程序開(kāi)發(fā)人員從單調(diào)的數(shù)據(jù)操作物理細(xì)節(jié)中解放出來(lái),因而可以將注意力轉(zhuǎn)移到特定應(yīng)用程序上下文中數(shù)據(jù)的邏輯操作上。關(guān)系模型不僅減輕了應(yīng)用程序開(kāi)發(fā)人員的負(fù)擔(dān),而且在數(shù)據(jù)管理業(yè)界造成了堪稱(chēng)楷模的轉(zhuǎn)變。檢索什么數(shù)據(jù)和如何檢索數(shù)據(jù)的別離提供了一種體系結(jié)構(gòu),新數(shù)據(jù)庫(kù)的供給商可以使用這種體系結(jié)構(gòu)來(lái)對(duì)其產(chǎn)品進(jìn)行改良和創(chuàng)新。SQL成為描述應(yīng)該檢索什么數(shù)據(jù)的標(biāo)準(zhǔn)語(yǔ)言。新的存儲(chǔ)模式、訪(fǎng)問(wèn)策略和建立索引的算法得以開(kāi)發(fā),以加速數(shù)據(jù)在磁盤(pán)上的存儲(chǔ)和檢索,并發(fā)性控制、日志記錄和恢復(fù)機(jī)制方面的開(kāi)展進(jìn)一步保證了數(shù)據(jù)完整性GRAY、LIND和ARIES?;诒惧X(qián)的優(yōu)化技術(shù)OPT完成了數(shù)據(jù)庫(kù)從作為抽象數(shù)據(jù)管理層到成為高性能的、大容量查詢(xún)處理引擎的轉(zhuǎn)變。隨著公司的全球化,以及公司的數(shù)據(jù)迅速地分布于其國(guó)內(nèi)和國(guó)外的辦公室,DBMS技術(shù)的界限再次受到了考驗(yàn)。諸如R*和TANDEM之類(lèi)的分布式系統(tǒng)說(shuō)明:可以輕松地利用根本DBMS體系結(jié)構(gòu)來(lái)管理大量的分布式數(shù)據(jù)。分布式數(shù)據(jù)導(dǎo)致新的并行查詢(xún)處理技術(shù)的出現(xiàn)PARA,它說(shuō)明了DBMS作為高性能的、大容量查詢(xún)處理引擎的可伸縮性。在用分布式和并行算法擴(kuò)展DBMS時(shí)獲得的經(jīng)驗(yàn)還引起了可擴(kuò)展性方面的開(kāi)展,由此,即插即用組件改變了單一的DBMS體系結(jié)構(gòu)STARBURST。這樣的體系結(jié)構(gòu)使得在出現(xiàn)新的業(yè)務(wù)需求時(shí),可以輕松地引入新的抽象數(shù)據(jù)類(lèi)型、訪(fǎng)問(wèn)策略和建立索引的方案。稍后,數(shù)據(jù)庫(kù)供給商將這些吸引人的技術(shù)向顧客推廣,相關(guān)的產(chǎn)品有Oracle數(shù)據(jù)部件、Informix?DataBlades?和DB2?Extender。在整個(gè)20世紀(jì)80年代,數(shù)據(jù)庫(kù)市場(chǎng)已經(jīng)成熟,各公司試圖基于一家數(shù)據(jù)庫(kù)供給商來(lái)進(jìn)行標(biāo)準(zhǔn)化。但是,做生意的實(shí)際情況通常使此類(lèi)戰(zhàn)略變得不切實(shí)際。從獨(dú)立部門(mén)的購(gòu)置決策到合并和收購(gòu),在一個(gè)IT部門(mén)中存在多種數(shù)據(jù)庫(kù)產(chǎn)品和其它管理系統(tǒng)的方案屢見(jiàn)不鮮。企業(yè)尋找一種方法來(lái)降低與此類(lèi)異構(gòu)環(huán)境相關(guān)的管理和開(kāi)發(fā)本錢(qián),數(shù)據(jù)庫(kù)業(yè)界那么以聯(lián)邦作為響應(yīng)。聯(lián)邦數(shù)據(jù)庫(kù)FED提供了用來(lái)透明地訪(fǎng)問(wèn)異構(gòu)的、分布式數(shù)據(jù)源的功能強(qiáng)大而又靈活的方法?,F(xiàn)在我們處于一個(gè)由因特網(wǎng)支持并由電子商務(wù)的劇增所推動(dòng)的革命性的新時(shí)期。在過(guò)去的六年中,Java和XML已經(jīng)成為可移植代碼和可移植數(shù)據(jù)的實(shí)現(xiàn)手段。為了適應(yīng)變化,數(shù)據(jù)庫(kù)供給商已經(jīng)能夠利用數(shù)據(jù)庫(kù)可擴(kuò)展性和抽象數(shù)據(jù)類(lèi)型方面先前的開(kāi)展成果來(lái)快速提供對(duì)象關(guān)系數(shù)據(jù)模型OR、將關(guān)系數(shù)據(jù)作為XML文檔存儲(chǔ)和檢索的機(jī)制XTABLES和SQL的XML擴(kuò)展SQLX。由于開(kāi)發(fā)和部署復(fù)雜的基于因特網(wǎng)的應(yīng)用程序得到了簡(jiǎn)化,從而顯著地加速了使業(yè)務(wù)過(guò)程自動(dòng)化的步伐。本文的前提是:現(xiàn)今企業(yè)所面臨的難題是信息集成。企業(yè)應(yīng)用程序不僅需要和數(shù)據(jù)庫(kù)交互,還需要和關(guān)系數(shù)據(jù)庫(kù)并行開(kāi)展的內(nèi)容管理系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)、工作流系統(tǒng)以及其它企業(yè)應(yīng)用程序交互。在下一節(jié)中,我們用一個(gè)從實(shí)際問(wèn)題中抽取的方案說(shuō)明了信息集成的挑戰(zhàn)。附錄B英文原文TheexplosionoftheInternetande-businessinrecentyearshascausedasecondaryexplosionofinformation.Industryanalystspredictthatmoredatawillbegeneratedinthenextthreeyearsthaninallofrecordedhistory.Enterprisebusinessapplicationscanrespondtothisinformationoverloadinoneoftwoways:theycanbendandbreakunderthesheervolumeanddiversityofsuchdata,ortheycanharnessthisinformationandtransformitintoavaluableassetbywhichtogainacompetitiveadvantageinthemarketplace.BecausetheadoptionofInternet-basedbusinesstransactionmodelshassignificantlyoutpacedthedevelopmentoftoolsandtechnologiestodealwiththeinformationexplosion,manybusinessesfindthemselvesunintentionallyusingtheformerapproach.Significantdevelopmentresourcesarespentonquickanddirtyintegrationsolutionsthatcobbletogetherdifferentdatamanagementsystems(databases,contentmanagementsystems,enterpriseapplicationsystems)andtransformdatafromoneformattoanother(structured,XML,bytestreams).Revenueislostwhenapplicationssufferfromscalabilityandavailabilityproblems.Newbusinessopportunitiesaresimplyoverlookedbecausethecriticalnuggetsofinformationrequiredtomakeabusinessdecisionarelostamongthemassesofdatabeinggenerated.Relationaldatabaseswerebornoutofaneedtostore,manipulateandmanagetheintegrityoflargevolumesofdata.Inthe1960s,networkandhierarchicalsystemssuchasCODASYLandIMSwerethestate-of-the-arttechnologyforautomatedbanking,accounting,andorderprocessingsystemsenabledbytheintroductionofcommercialmainframecomputers.Whilethesesystemsprovidedagoodbasisfortheearlysystems,theirbasicarchitecturemixedthephysicalmanipulationofdatawithitslogicalmanipulation.Whenthephysicallocationofdatachanged,suchasfromoneareaofadisktoanother,applicationshadtobeupdatedtoreferencethenewlocation.ArevolutionarypaperbyCoddin1970anditscommercialimplementationschangedallthat.Codd'srelationalmodelintroducedthenotionofdataindependence,whichseparatedthephysicalrepresentationofdatafromthelogicalrepresentationpresentedtoapplications.Datacouldbemovedfromonepartofthedisktoanotherorstoredinadifferentformatwithoutcausingapplicationstoberewritten.Applicationdeveloperswerefreedfromthetediousphysicaldetailsofdatamanipulation,andcouldfocusinsteadonthelogicalmanipulationofdatainthecontextoftheirspecificapplication.Notonlydidtherelationalmodeleasetheburdenofapplicationdevelopers,butitalsocausedaparadigmshiftinthedatamanagementindustry.Theseparationbetweenwhatandhowdataisretrievedprovidedanarchitecturebywhichthenewdatabasevendorscouldimproveandinnovatetheirproducts.SQLbecamethestandardlanguagefordescribingwhatdatashouldberetrieved.Newstorageschemes,accessstrategies,andindexingalgorithmsweredevelopedtospeeduphowdatawasstoredandretrievedfromdisk,andadvancesinconcurrencycontrol,logging,andrecoverymechanismsfurtherimproveddataintegrityguaranteesGRAYLINDARIES.Cost-basedoptimizationtechniquesOPTcompletedthetransitionfromdatabasesactingasanabstractdatamanagementlayertobeinghigh-performance,high-volumequeryprocessingengines.Ascompaniesglobalizedandastheirdataquicklybecamedistributedamongtheirnationalandinternationaloffices,theboundariesofDBMStechnologyweretestedagain.DistributedsystemssuchasR*andTANDEMshowedthatthebasicDBMSarchitecturecouldeasilybeexploitedtomanagelargevolumesofdistributeddata.DistributeddataledtotheintroductionofnewparallelqueryprocessingtechniquesPARA,demonstratingthescalabilityoftheDBMSasahigh-performance,high-volumequeryprocessingengine.ThelessonslearnedinextendingtheDBMSwithdistributedandparallelalgorithmsalsoledtoadvancesinextensibility,wherebythemonolithicDBMSarchitecturewasreplumbedwithplug-and-playcomponentsSTARBURST.Suchanarchitectureenablednewabstractdatatypes,accessstrategiesandindexingschemestobeeasilyintroducedasnewbusinessneedsarose.DatabasevendorslatermadethesehookspubliclyavailabletocustomersasOracledatacartridges,Informix?DataBlades?,andDB2?Extenders.Throughoutthe1980s,thedatabasemarketmaturedandcompaniesattemptedtostandardizeonasingledatabasevendor.However,therealityofdoingbusinessgenerallymadesuchastrategyunrealistic.Fromindependentdepartmentalbuyingdecisiontomergersandacquisitions,thescenarioofmultipledatabaseproductsandothermanagementsystemsinasingleITshopbecamethenormratherthantheexception.Businessessoughtawaytostreamlinetheadministrativeanddevelopmentcostsassociatedwithsuchaheterogeneousenvironment,andthedatabaseindustryrespondedwithfederation.FederateddatabasesFEDprovidedapowerfulandflexiblemeansfortransparentaccesstoheterogeneous,distributeddatasources.WearenowinanewrevolutionaryperiodenabledbytheInternetandfueledbythee-businessexplosion.Overthepastsixyears,JavaTMandXMLhavebecomethevehiclesforportablecodeandportabledata.Toadapt,databasevendorshavebeenabletodrawonearlieradvancesindatabaseextensibilityandabstractdatatypestoquicklyprovideobject-relationaldatamodelsOR,mechanismstostoreandretrieverelationaldataasXMLdocumentsXTABLES,andXMLextensionstoSQLSQLX.TheeasewithwhichcomplexInternet-basedapplicationscanbedevelopedanddeployedhasdramaticallyacceleratedthepaceofautomatingbusinessprocesses.Thepremiseofourpaperisthatthechallengefacingbusinessestodayisinformationintegration.Enterpriseapplicationsrequireinteractionnotonlywithdatabases,butalsocontentmanagementsystems,datawarehouses,workflowsystems,andotherenterpriseapplicationsthathavedevelopedonaparallelcoursewithrelationaldatabases.Inthenextsection,weillustratetheinformationintegrationchallengeusingascenariodrawnfromareal-worldproblem.附錄C源程序清單packagecom.action;/***管理員登陸增加修改刪除刪除登陸日志*/importjava.io.IO

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論