版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)上銀行畢業(yè)論文網(wǎng)上銀行畢業(yè)論文目錄1 項(xiàng)目概述 .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.2 use case建模 .62.2.1 定義活動(dòng)者.62.2.2 use case 圖.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)類圖 .134 系統(tǒng)詳細(xì)設(shè)計(jì) .154.1 業(yè)務(wù)邏輯對象類設(shè)計(jì) .154.1.1 發(fā)現(xiàn)業(yè)務(wù)邏輯類.154.1.2 業(yè)務(wù)邏輯對象類圖.154.2 系統(tǒng)交互圖 .164.2.1 系統(tǒng)架構(gòu)類交互圖.164.2.2 活動(dòng)者與模
2、塊間的交互 .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 注冊用戶 .224.4 數(shù)據(jù)庫設(shè)計(jì) .234.4.1 er 圖.234.4.2 物理表結(jié)構(gòu)圖 .254.5 開發(fā)環(huán)境的選擇 .274.5.1 系統(tǒng)開發(fā)工具.274.5.2 數(shù)據(jù)庫的選擇.275 編碼 .285.1 概述開發(fā)工具及編程腳本 .285.1.1 jsp 技術(shù).285.1.2 javabean 技術(shù).285.1.3 jdbc 技術(shù).295.1.4 用 jdbc 訪問數(shù)據(jù)庫 .305.2 腳本習(xí)慣說明 .336 系統(tǒng)測
3、試 .346.1 程序的測試.346.11 測試原則及測試方法概述 .346.3 軟件測試結(jié)論 .366.3.1 軟件能力 .366.3.2 缺陷和限制 .366.3.3 建議 .366.3.4 測試結(jié)論 .37致謝 .39參考文獻(xiàn) .40附錄 a 中文譯文.41附錄 b 英文原文.43附錄 c 源程序清單.451 項(xiàng)目概述項(xiàng)目概述1.11.1 現(xiàn)系統(tǒng)概述現(xiàn)系統(tǒng)概述中國農(nóng)業(yè)銀行于 1979 年 2 月恢復(fù)成立,總部設(shè)在北京。是四大國有獨(dú)資商業(yè)銀行之一,是中國金融體系的重要組成部分。截至 2007 年末,在中國內(nèi)地設(shè)有分支機(jī)構(gòu) 24452個(gè),同時(shí)在新加坡、香港設(shè)有分行,在倫敦、東京、紐約設(shè)有代表
4、處,擁有員工 447519人。作為一家城鄉(xiāng)并舉、聯(lián)通國際、功能齊備的大型國有商業(yè)銀行,中國農(nóng)業(yè)銀行一貫秉承以客戶為中心的經(jīng)營理念,堅(jiān)持審慎穩(wěn)健經(jīng)營、可持續(xù)發(fā)展,立足縣域和城市兩大市場,實(shí)施差異化競爭策略,著力打造“伴你成長”服務(wù)品牌,依托覆蓋全國的分支機(jī)構(gòu)、龐大的電子化網(wǎng)絡(luò)和多元化的金融產(chǎn)品,致力為廣大客戶提供優(yōu)質(zhì)的金融服務(wù),與廣大客戶共創(chuàng)價(jià)值、共同成長。截至 2007 年末,全行總資產(chǎn)達(dá)到 60501.27 億元人民幣,各項(xiàng)存款 52833.14 億元人民幣,各項(xiàng)貸款 34801.05 億元人民幣。由于現(xiàn)在各大銀行的全國聯(lián)網(wǎng),異地存款,取款,存錢,在全國任何地方可以及時(shí)查詢自己帳戶等,甚至在
5、家里,打開電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)現(xiàn)足不出戶,了解自己帳戶信息,給人們的生活和社會(huì)的經(jīng)濟(jì)帶來了空前的變化。在這樣的一個(gè)背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會(huì)發(fā)展的需要,本次我利用畢業(yè)之際,設(shè)計(jì)和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的安全性等因素的考慮,一個(gè)系統(tǒng)設(shè)計(jì)之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計(jì)的系統(tǒng)主要是模擬中國農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣大的客戶提供查詢余額、取款、轉(zhuǎn)賬等功能。 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)作為知識(shí)經(jīng)濟(jì)時(shí)代的產(chǎn)物,已被廣泛應(yīng)用于社會(huì)各個(gè)行業(yè)和領(lǐng)域。目前我國國企改革的深入和社會(huì)主義市場經(jīng)濟(jì)的日趨繁榮,金融體系的規(guī)
6、模更是日益龐大,客戶對銀行的服務(wù)要求也在不斷提高,模擬一個(gè)快捷方便安全智能的網(wǎng)上銀行轉(zhuǎn)系統(tǒng)有很高的實(shí)用價(jià)值。本系統(tǒng)模擬銀行帳戶的管理,開發(fā)一個(gè)農(nóng)行網(wǎng)上銀行系統(tǒng),設(shè)計(jì)主要實(shí)現(xiàn)用戶在銀行正常交易的一些功能而且作為一個(gè)實(shí)用的管理系統(tǒng),要有良好的容錯(cuò)性,在出現(xiàn)誤操作能盡量地給出警告,以便用戶及時(shí)地更正,計(jì)算機(jī)地資源是受到限制的,因此要充分利用 jsp 的功能,設(shè)計(jì)出功能強(qiáng)大的軟件,同時(shí)要盡可能的減少對系統(tǒng)的資源的占用,簽于本系統(tǒng)的特殊性,還需要本程序有良好的保密性。由于現(xiàn)在各大銀行的全國聯(lián)網(wǎng),異地存款,取款,存錢,在全國任何地方可以及時(shí)查詢自己帳戶等,甚至在家里,打開電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)
7、現(xiàn)足不出戶,了解自己帳戶信息,給人們的生活和社會(huì)的經(jīng)濟(jì)帶來了空前的變化。在這樣的一個(gè)背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會(huì)發(fā)展的需要,本次我利用畢業(yè)之際,設(shè)計(jì)和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的安全性等因素的考慮,一個(gè)系統(tǒng)設(shè)計(jì)之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計(jì)的系統(tǒng)主要是模擬中國農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣大的客戶提供查詢余額、取款、轉(zhuǎn)賬等功能。 我利用自己所學(xué)的計(jì)算機(jī)專業(yè)知識(shí),模擬設(shè)計(jì)一個(gè)類似與農(nóng)業(yè)銀行的網(wǎng)上銀行系統(tǒng),使自己進(jìn)一步掌握運(yùn)用 jsp 語言編程的能力,并更深一步的了解有關(guān)網(wǎng)上銀行電子交易的相關(guān)知識(shí)。1.21.2公司組織機(jī)構(gòu)公司組
8、織機(jī)構(gòu)目前公司組織機(jī)構(gòu)如下圖 1-1 所示:公司實(shí)行董事長監(jiān)管下的總經(jīng)理負(fù)責(zé)制,總經(jīng)理和辦公室負(fù)責(zé)協(xié)調(diào)技術(shù)部門、人事部門和財(cái)務(wù)部門之間相互合作。整個(gè)系統(tǒng)將上述部門連接成一體,共同協(xié)作完成整個(gè)銀行的運(yùn)作。系統(tǒng)實(shí)施由總經(jīng)理牽頭,各部門主管領(lǐng)導(dǎo)負(fù)責(zé),部門業(yè)務(wù)員配合系統(tǒng)研發(fā)人員來完成。圖 1-1 公司組織機(jī)構(gòu)圖fig 1-1 diagram of the companys organizational structure農(nóng)業(yè)銀行財(cái)務(wù)科人事科宣傳科辦公室工會(huì)分行技術(shù)科1.31.3 系統(tǒng)業(yè)務(wù)流程系統(tǒng)業(yè)務(wù)流程經(jīng)過前期調(diào)研分析和綜合其它各方面相關(guān)理論知識(shí),給出整個(gè)系統(tǒng)的業(yè)務(wù)流程圖如下圖 1-2 所示:整個(gè)系統(tǒng)
9、的開發(fā)主要圍繞上述業(yè)務(wù)流程進(jìn)行開發(fā),開發(fā)過程采用面向?qū)ο蟮拈_發(fā)技術(shù),具體開發(fā)過程見下面的章節(jié)。1.41.4 系統(tǒng)功能模塊系統(tǒng)功能模塊根據(jù)上述業(yè)務(wù)流程,整個(gè)系統(tǒng)抽象出以下幾個(gè)功能模塊,如圖 1-3 所示。下面模塊劃分只是抽象意義上的劃分,各模塊之間需要共享數(shù)據(jù),相互協(xié)作,完成整個(gè)系統(tǒng)流程,單一事物功能模塊間是相互獨(dú)立的。票據(jù)圖像業(yè)務(wù)數(shù)據(jù)總結(jié)日報(bào)明細(xì)帳數(shù)據(jù)報(bào)表票證查詢刻制光盤審核(重點(diǎn)監(jiān)督)對帳(自動(dòng)對帳,手工補(bǔ)充)票證帳主機(jī)流水帳票證圖像銀行主機(jī)業(yè)務(wù)流水業(yè)務(wù)規(guī)則票證省分行會(huì)計(jì)、儲(chǔ)蓄、信用卡務(wù)系統(tǒng)數(shù)圖 1-2 系統(tǒng)流程fig 1-2 the workflow of system農(nóng)業(yè)銀行網(wǎng)上銀行系統(tǒng)
10、管理員用戶會(huì)員管理系統(tǒng)維護(hù)查詢用戶余額賬號(hào)管理查詢余額及轉(zhuǎn)賬注冊會(huì)員交易明細(xì)圖 1-3 系統(tǒng)功能模塊fig 1-3 function models of system2 系統(tǒng)需求分析系統(tǒng)需求分析2.12.1 需求陳述需求陳述通常,需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等??傊?,需求陳述應(yīng)該闡明“做什么”而不是“怎樣做” 。它應(yīng)該描述用戶的需求而不是提出解決問題的方法。應(yīng)該指出哪些是系統(tǒng)必要的性質(zhì),哪些是任選的性質(zhì)。應(yīng)該避免對設(shè)計(jì)策略施加過多的約束,也不要描述系統(tǒng)的內(nèi)部結(jié)構(gòu),因?yàn)檫@樣做將限制實(shí)現(xiàn)的靈活性。對系統(tǒng)性能及系統(tǒng)與外界環(huán)境交互協(xié)議的描述,是合適的需求。此外,
11、對采用的軟件工程標(biāo)準(zhǔn)、模塊構(gòu)造準(zhǔn)則、將來可能做的擴(kuò)充以及可維護(hù)性要求等方面的描述,也都是適當(dāng)?shù)男枨?。下面以農(nóng)業(yè)銀行網(wǎng)上銀行中的電子交易模塊為例說明如何進(jìn)行系統(tǒng)需求陳述。本系統(tǒng)需要具有以下功能:(1)由于一項(xiàng)新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機(jī)界面。(2)能夠?qū)崿F(xiàn)轉(zhuǎn)賬功能,能成功的對各種信息進(jìn)行查詢及管理。(3)查詢數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。系統(tǒng)采用 b/s 模式。整個(gè)系統(tǒng)最關(guān)鍵的就是數(shù)據(jù)庫系統(tǒng),一個(gè)強(qiáng)大的數(shù)據(jù)庫可以支持完善一個(gè)優(yōu)秀的軟件設(shè)計(jì),通過軟件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的連接來實(shí)現(xiàn)通過軟件界面觀察和處理操作數(shù)據(jù)。系統(tǒng)任務(wù)確定之后,下面的工作就是進(jìn)行
12、系統(tǒng)分析。面向?qū)ο蟮姆治龅闹饕蝿?wù)是分析問題領(lǐng)域,找出問題解決方案,發(fā)現(xiàn)對象,分析對象的內(nèi)部構(gòu)成和外部關(guān)系,建立軟件系統(tǒng)的對象模型。分析問題領(lǐng)域是軟件系統(tǒng)開發(fā)的一項(xiàng)基本工作,是項(xiàng)目開發(fā)之初必須首先進(jìn)行的重要工作。分析問題領(lǐng)域的結(jié)果是對問題領(lǐng)域的清晰,精確的定義,明確目標(biāo)系統(tǒng)將做什么。 分析問題領(lǐng)域的主要任務(wù)是:對問題領(lǐng)域進(jìn)行抽象,提出解決方案;對未來的系統(tǒng)進(jìn)行需求分析,確定系統(tǒng)的職責(zé)范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。實(shí)施面向?qū)ο蠓治龅囊话悴襟E如下:1分析用戶需求,建立 use case 并通過用例圖來描述用戶的需求。2通過建立域模型以識(shí)別類與對象,從而識(shí)別系統(tǒng)中的各種對象。3確定
13、對象的內(nèi)部特征,從而定義出各個(gè)屬性與服務(wù),以進(jìn)一步細(xì)化類的結(jié)構(gòu)。4識(shí)別對象之間的關(guān)系并使用設(shè)計(jì)模式對類的結(jié)構(gòu)進(jìn)行優(yōu)化和改造。5獲得對象之間的行為關(guān)系,繪制出各種動(dòng)態(tài)圖形(順序圖、協(xié)作圖、狀態(tài)圖等) 。2.22.2 useuse casecase建模建模2.2.12.2.1 定義活動(dòng)者定義活動(dòng)者根據(jù)電子交易模塊的需求可以確定 2 個(gè)活動(dòng)者,即客戶及系統(tǒng)管理員??蛻艨梢赃M(jìn)行網(wǎng)上轉(zhuǎn)賬及余額查詢;系統(tǒng)管理員使用系統(tǒng)管理模塊記錄客戶信息,管理客戶的賬戶??蛻羰褂秒娮咏灰啄K進(jìn)行轉(zhuǎn)帳,電子消費(fèi),修改資料,以及查詢賬戶金額。2.2.22.2.2 useuse casecase 圖圖根據(jù)系統(tǒng)需求分析,結(jié)合上節(jié)
14、系統(tǒng)活動(dòng)者的定義分析,得到系統(tǒng)電子交易模塊的用例如下:管理員信息用例客戶信息用例轉(zhuǎn)帳用例用戶和用例電子交易模塊的用例圖圖 2-1 如下: 圖 2-1 電子交易 use case 圖fig3-1 use case for sales management1用例:管理員信息參與者:管理員說明:管理員啟動(dòng)客戶信息功能。系統(tǒng)顯示客戶信息一覽表管理員添加客戶信息系統(tǒng)顯示添加成功畫面客戶信息添加成功2用例:客戶信息參與者:管理員說明:管理員啟動(dòng)客戶信息功能。系統(tǒng)顯示客戶信息一覽表管理員添加客戶信息系統(tǒng)顯示添加成功畫面客戶信息添加成功3用例:轉(zhuǎn)帳參與者:客戶說明:客戶啟動(dòng)轉(zhuǎn)帳功能。系統(tǒng)顯示轉(zhuǎn)帳信息管理員添加
15、轉(zhuǎn)帳信息系統(tǒng)顯示添加成功畫面轉(zhuǎn)帳信息添加成功3 3 系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)架構(gòu)設(shè)計(jì)3.13.1架構(gòu)設(shè)計(jì)目標(biāo)架構(gòu)設(shè)計(jì)目標(biāo)本系統(tǒng)是適應(yīng)現(xiàn)今網(wǎng)絡(luò)的發(fā)展,通過網(wǎng)絡(luò)實(shí)現(xiàn)對客戶的管理,和客戶業(yè)務(wù)的辦理,主要實(shí)現(xiàn)如下目標(biāo):1.對客戶信息(客戶基本信息、聯(lián)系人信息、轉(zhuǎn)帳信息)進(jìn)行全面管理。2.及時(shí)查看存款余額信息,并通過網(wǎng)站對收入、支出信息進(jìn)行管理。3.及時(shí)了解客戶的交易信息,客戶的余額信息,并以圖表形式對數(shù)據(jù)進(jìn)行分析。實(shí)現(xiàn)信息查詢功能。4.實(shí)現(xiàn)了直接通過網(wǎng)絡(luò)撥打用戶電話及發(fā)送 e-mail。5.管理員和客戶可以隨時(shí)修改自己的密碼。6.數(shù)據(jù)保密性強(qiáng),為每個(gè)用戶設(shè)置相應(yīng)的權(quán)限。7.系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.23.2
16、 系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)架構(gòu)設(shè)計(jì)下面我們將根據(jù)架構(gòu)設(shè)計(jì)原則和信息系統(tǒng)原理來建立系統(tǒng)的架構(gòu)設(shè)計(jì)模型。將信息系統(tǒng)中比較關(guān)心的對象分層,可分為三層:用戶界面層、業(yè)務(wù)層、數(shù)據(jù)訪問層(如下圖3-1所示),再把各層中的一些公共部分提出來:權(quán)限管理,這樣得到包圖如圖3-2所示:用用戶戶界界面面層層業(yè)業(yè)務(wù)務(wù)邏邏輯輯層層數(shù)數(shù)據(jù)據(jù)訪訪問問層層jsp web formsuser processingcustomer servicebisiness entitiesthe amount transferredinto accountsql server 2000圖3-1 系統(tǒng)體系架構(gòu)圖fig3-1 the diagram
17、of system architecture用用戶戶界界面面業(yè)業(yè)務(wù)務(wù)邏邏輯輯數(shù)數(shù)據(jù)據(jù)訪訪問問權(quán)權(quán)限限管管理理圖3-2 客戶關(guān)系管理系統(tǒng)模塊包圖fig3-2 erp module package plans1.用戶界面包用戶界面包的職責(zé)是:(1)與用戶的交互,接收用戶的各種輸入以及輸出各種提示信息或處理結(jié)果。(2)對于輸入的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),過濾非法數(shù)據(jù)。(3)向業(yè)務(wù)處理對象發(fā)送處理請求。用戶界面包圖展開如圖3-3所示:用用戶戶界界面面輸入輸出數(shù)據(jù)驗(yàn)證發(fā)送轉(zhuǎn)帳處理請求圖3-3 用戶界面包展開圖fig3-3 package diagram of users interface用戶界面包包含的類見圖
18、3-4:+數(shù)據(jù)驗(yàn)證()+業(yè)務(wù)處理()-輸入輸出元素-業(yè)務(wù)處理對象用用戶戶界界面面類類輸輸出出界界面面輸輸入入界界面面圖 3-4 用戶界面類圖fig3-4 class diagram of users interface2.業(yè)務(wù)邏輯包業(yè)務(wù)邏輯包的職責(zé)是:(1)實(shí)現(xiàn)各種業(yè)務(wù)處理邏輯或處理算法。(2)驗(yàn)證請求者的權(quán)限。(3)向數(shù)據(jù)訪問對象發(fā)送數(shù)據(jù)持久化操作的請求。(4)向用戶界面層返回處理結(jié)果。業(yè)務(wù)邏輯包圖展開如圖3-5所示:業(yè)業(yè)務(wù)務(wù)邏邏輯輯實(shí)現(xiàn)各種業(yè)務(wù)邏輯處理或處理算法數(shù)據(jù)驗(yàn)證向數(shù)據(jù)對象發(fā)送數(shù)據(jù)持久化操作的請求向用戶界面層返回結(jié)果圖 3-5 業(yè)務(wù)邏輯包圖展開fig3-5 package diagr
19、am of business業(yè)務(wù)邏輯包包含的類見圖 3-6:+業(yè)務(wù)處理()-業(yè)務(wù)對象業(yè)業(yè)務(wù)務(wù)處處理理類類+業(yè)務(wù)處理()-數(shù)據(jù)對象業(yè)業(yè)務(wù)務(wù)邏邏輯輯類類圖 3-6 業(yè)務(wù)邏輯類圖fig3-6 class diagram of business3.表單封裝包表單封裝的職責(zé)是:(1)實(shí)現(xiàn)表單數(shù)據(jù)的持久化操作。表單封裝包圖展開如圖3-7所示:表表單單封封裝裝實(shí)現(xiàn)表單數(shù)據(jù)操作 圖 3-7 表單封裝包圖展開fig3-7 package diagram of form encapsulation4.數(shù)據(jù)訪問包數(shù)據(jù)訪問的職責(zé):(1)數(shù)據(jù)處理方法。數(shù)據(jù)訪問包圖展開如圖 3-8 所示:數(shù)數(shù)據(jù)據(jù)對對象象表單封裝數(shù)據(jù)功能
20、實(shí)現(xiàn)圖 3-8 數(shù)據(jù)訪問包圖展開fig3-8 package diagram of data access數(shù)據(jù)訪問包包含的類見圖 3-9:+讀取()+寫入()-數(shù)據(jù)庫連接數(shù)數(shù)據(jù)據(jù)庫庫訪訪問問類類+開始業(yè)務(wù)()+提交業(yè)務(wù)()數(shù)數(shù)據(jù)據(jù)庫庫連連接接類類圖 3-9 數(shù)據(jù)訪問類圖fig3-9class diagram of data access對于每一個(gè)業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個(gè)數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多個(gè)數(shù)據(jù)庫訪問對象來進(jìn)行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個(gè)事務(wù)中,這時(shí)需要用同一個(gè)數(shù)據(jù)庫連接對象來進(jìn)行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫連接類的創(chuàng)建用到了單件(sin
21、gleton)模式,保證一個(gè)類僅有一個(gè)實(shí)例,一個(gè)客戶在同一時(shí)刻只能用一個(gè)數(shù)據(jù)庫連接對象。5.權(quán)限管理包權(quán)限管理的主要職責(zé)是:(1)驗(yàn)證請求者的請求權(quán)限。(2)提供請求者的權(quán)限列表。權(quán)限管理包圖展開如圖3-10所示:權(quán)權(quán)限限管管理理驗(yàn)證請求者的請求權(quán)限提供請求者的權(quán)限列表圖 3-10 權(quán)限管理包圖展開fig3-10 package diagram of access authorization權(quán)限管理包包含的類見圖 3-11:+驗(yàn)證業(yè)務(wù)()+獲取業(yè)務(wù)列表()-操作對象管管理理類類+登錄()+退出()-管理員代碼-管理員名稱管管理理員員類類圖 3-11 權(quán)限管理類圖fig3-11 class di
22、agram of access authorization3.33.3 系統(tǒng)架構(gòu)類圖系統(tǒng)架構(gòu)類圖將包圖展開,得到類圖,它是架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達(dá)了各個(gè)類之間的靜態(tài)聯(lián)系。銀行網(wǎng)站的系統(tǒng)架構(gòu)類圖如下圖 3-12 所示。+數(shù)據(jù)驗(yàn)證()+業(yè)務(wù)處理()-輸入輸出元素-業(yè)務(wù)代理對象用用戶戶界界面面類類輸輸入入界界面面輸輸出出界界面面+業(yè)務(wù)處理()-管理對象-業(yè)務(wù)對象業(yè)業(yè)務(wù)務(wù)代代理理類類+業(yè)務(wù)處理()-數(shù)據(jù)庫連接-數(shù)據(jù)庫訪問業(yè)業(yè)務(wù)務(wù)邏邏輯輯類類+讀取()+寫入()-數(shù)據(jù)庫連接數(shù)數(shù)據(jù)據(jù)庫庫訪訪問問類類+開始業(yè)務(wù)()+提交業(yè)務(wù)()數(shù)數(shù)據(jù)據(jù)庫庫連連接接類類+驗(yàn)證業(yè)務(wù)()+獲取業(yè)務(wù)列表()-操作對象管管理理類類+登
23、錄()+退出()-管理員代碼-管理員名稱管管理理員員類類圖 3-12 系統(tǒng)架構(gòu)類圖fig3-12 class diagram of system architecture4 系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)詳細(xì)設(shè)計(jì)4.14.1 業(yè)務(wù)邏輯對象類設(shè)計(jì)業(yè)務(wù)邏輯對象類設(shè)計(jì)4.1.14.1.1 發(fā)現(xiàn)業(yè)務(wù)邏輯類發(fā)現(xiàn)業(yè)務(wù)邏輯類本小節(jié)的主要任務(wù)是對系統(tǒng)架構(gòu)類圖中的業(yè)務(wù)邏輯類進(jìn)行設(shè)計(jì),由系統(tǒng)分析中的 use case 交互圖我們可以發(fā)現(xiàn)業(yè)務(wù)邏輯類包括在線轉(zhuǎn)帳類,網(wǎng)絡(luò)消費(fèi)刷卡,查詢支出明細(xì)。 根據(jù) use case 交互圖中的消息找到對象類相應(yīng)的方法。4.1.24.1.2 業(yè)務(wù)邏輯對象類圖業(yè)務(wù)邏輯對象類圖系統(tǒng)業(yè)務(wù)邏輯對象類圖如下
24、圖 4-1 所示。+管理員編號(hào)get()+管理員編號(hào)set()+管理員名get()+管理員名名set()+管理員密碼get()+管理員密碼set()-編號(hào)-用戶名-密碼管管理理員員+用戶編號(hào)get()+用戶編號(hào)set()+用戶名get()+用戶名set()+用戶密碼get()+用戶密碼set()+類型get()+類型set()-用戶編號(hào)-用戶名-用戶密碼-類型用用戶戶+編號(hào)get()+編號(hào)set()+范圍get()+范圍set()+名稱get()+名稱set()+卡號(hào)get()+卡號(hào)set()-編號(hào)-范圍-名稱-卡號(hào)銀銀行行卡卡+編碼get()+編碼set()+管理名get()+管理名set(
25、)+密碼get()+密碼set()-編碼-管理名-密碼管管理理日日志志+編號(hào)get()+編號(hào)set()+真實(shí)姓名get()+真實(shí)姓名set()+性別get()+性別set()+出生日期get()+出生日期set()+問題get()+問題set()-編號(hào)-真實(shí)姓名-性別-出生日期-問題注注冊冊信信息息n1n11nn111圖 4-1 客戶對象類圖fig4-1 class diagram clientele4.24.2 系統(tǒng)交互圖系統(tǒng)交互圖4.2.14.2.1 系統(tǒng)架構(gòu)類交互圖系統(tǒng)架構(gòu)類交互圖系統(tǒng)架構(gòu)類的工作流程:1.用戶界面對象在接收了用戶的輸入請求后,向業(yè)務(wù)代理對象發(fā)送處理請求。2.業(yè)務(wù)代理對象
26、接收到請求后,向權(quán)限管理對象發(fā)送驗(yàn)證權(quán)限請求。3.權(quán)限管理對象驗(yàn)證權(quán)限后將驗(yàn)證結(jié)果返回給業(yè)務(wù)代理對象。4.業(yè)務(wù)代理對象根據(jù)驗(yàn)證結(jié)果進(jìn)行以下處理:對于不符合權(quán)限的請求則返回提示信息;對于符合權(quán)限的請求,則將請求轉(zhuǎn)發(fā)給業(yè)務(wù)對象。5.業(yè)務(wù)對象進(jìn)行業(yè)務(wù)處理。對于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過訪問數(shù)據(jù)庫訪問對象進(jìn)行操作,期間的任何異常都交給異常處理對象處理。最后返回處理結(jié)果信息給業(yè)務(wù)代理對象。6.業(yè)務(wù)代理對象將處理結(jié)果信息返回給用戶界面。系統(tǒng)架構(gòu)類的交互圖如圖 4-2 所示:4.2.24.2.2 活動(dòng)者與模塊間的交互活動(dòng)者與模塊間的交互與電子交易模塊進(jìn)行交互的活動(dòng)者(角色)主要包括客戶和銀行管理者???/p>
27、戶和銀行管理者與電子交易模塊的交互圖如下圖 4-3 和圖 4-4 所示:用戶界面類業(yè)務(wù)代理類權(quán)限管理類業(yè)務(wù)邏輯類數(shù)據(jù)訪問類處理結(jié)果顯示處理結(jié)果顯示請求業(yè)務(wù)處理類驗(yàn)證權(quán)限驗(yàn)證結(jié)果權(quán)限符合請求業(yè)務(wù)處理讀取業(yè)務(wù)邏輯寫入權(quán)限不附圖 4-2 系統(tǒng)架構(gòu)類的交互圖fig4-2 interactive diagram of system architecture class圖 4-3 銀行管理員與客戶交互圖fig 4-3 bank manager and customer interaction diagram下面對客戶、客戶與客戶之間活動(dòng)的情況進(jìn)行動(dòng)態(tài)建模,由于篇幅限制,在此僅以客戶與電子交易模塊中的轉(zhuǎn)帳管
28、理進(jìn)行時(shí)序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖的建模。轉(zhuǎn)帳管理主要涉及:1根據(jù)客戶進(jìn)行轉(zhuǎn)帳生成轉(zhuǎn)帳信息,在轉(zhuǎn)帳之前可以修改轉(zhuǎn)帳金額,轉(zhuǎn)帳狀態(tài)為未完成。在轉(zhuǎn)出金額之后,轉(zhuǎn)帳完成。2提供金額的查詢功能(按帳號(hào)、轉(zhuǎn)帳時(shí)間、客戶名稱、等查詢) ??蛻暨M(jìn)行轉(zhuǎn)帳的時(shí)序圖如下圖 4-4 所示??蛻艮D(zhuǎn)帳轉(zhuǎn)帳帳號(hào)輸入用戶和密碼提交轉(zhuǎn)帳信息生成轉(zhuǎn)帳命令提交轉(zhuǎn)帳信息驗(yàn)證結(jié)果提示驗(yàn)證結(jié)果提示轉(zhuǎn)帳成功登錄圖 4-4 客戶進(jìn)行轉(zhuǎn)帳的時(shí)序圖fig 4-4 customers transfer timing diagram4.2.34.2.3 系統(tǒng)協(xié)作圖系統(tǒng)協(xié)作圖交互圖用來說明系統(tǒng)如何實(shí)現(xiàn)一個(gè)用例或用例中的一個(gè)特殊場景。uml 提供兩
29、類交互圖:時(shí)序圖和協(xié)作圖。時(shí)序圖按時(shí)間順序描述系統(tǒng)元素之間的交互;協(xié)作圖則按照時(shí)間和空間順序來描述系統(tǒng)元素之間的交互。根據(jù)上節(jié)描述的客戶創(chuàng)建轉(zhuǎn)帳的時(shí)序圖,給出客戶創(chuàng)建轉(zhuǎn)帳協(xié)作圖如下圖 4-5 所示。4.2.44.2.4 系統(tǒng)狀態(tài)圖系統(tǒng)狀態(tài)圖狀態(tài)圖是通過類對對象的生命周期建立模型來描述對象隨時(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)帳金額、修改金額、查詢余額同 3 種狀態(tài),這三種狀態(tài)完成過程非常相似,所以下面僅給出客戶創(chuàng)建轉(zhuǎn)帳金額的狀態(tài)圖如下圖 4-6 所示。登錄轉(zhuǎn)帳信息驗(yàn)證轉(zhuǎn)帳金額生成
30、圖 4-5 客戶創(chuàng)建轉(zhuǎn)帳協(xié)作圖fig 4-5 transfer customers to create collaborative plans登錄系統(tǒng)登錄成功頁面轉(zhuǎn)帳金額轉(zhuǎn)入帳號(hào)狀態(tài)數(shù)據(jù)更新用戶和密碼錯(cuò)誤輸入用戶和密碼正確提交客戶轉(zhuǎn)帳信息添加數(shù)據(jù)庫提交客戶轉(zhuǎn)帳請求轉(zhuǎn)帳信息不完整圖 4-6 客戶轉(zhuǎn)帳狀態(tài)圖fig 4-6 client transfer state diagram4.2.54.2.5 系統(tǒng)活動(dòng)圖系統(tǒng)活動(dòng)圖活動(dòng)圖是描述活動(dòng)是如何協(xié)同工作的。當(dāng)一個(gè)操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時(shí),活動(dòng)圖可以更清晰地描述這些事情。在電子交易模塊中,主要涉及客戶的活動(dòng)???/p>
31、戶首先登錄系統(tǒng),然后查看客戶賬戶信息,根據(jù)需要生成轉(zhuǎn)賬;還可以對轉(zhuǎn)帳的金額進(jìn)行修改;同時(shí)可以查詢當(dāng)前金額等活動(dòng)。完成活動(dòng)后退出系統(tǒng),下面給客戶的活動(dòng)圖,如下圖 4-7 所示。登錄系統(tǒng)查看金額轉(zhuǎn)帳金額生成余額查詢轉(zhuǎn)帳金額修改轉(zhuǎn)帳余額修改金額退出電子交易否否是是轉(zhuǎn)帳金額是否正是否轉(zhuǎn)帳圖 4-7 客戶在電子交易模塊的活動(dòng)圖fig 4-7customers in the electronic trading module activity diagram4.34.3 系統(tǒng)模塊設(shè)計(jì)系統(tǒng)模塊設(shè)計(jì)4.3.14.3.1 登陸登陸在用戶登錄界面,在用戶名對應(yīng)的文本框中輸入用戶名,在密碼對應(yīng)的文本框中輸入密碼,如
32、果用戶名和密碼同時(shí)與數(shù)據(jù)庫中的用戶名和密碼相對應(yīng),點(diǎn)擊“確定”后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。輸入:用戶名和密碼。處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗(yàn)用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶的系統(tǒng)使用資源頁面,不成功則顯示錯(cuò)誤信息頁面。流程圖如圖 4-8 所示:用戶登陸輸入用戶名和密碼驗(yàn)證密碼是否正確返回首頁登陸成功圖 4-8 登陸流程圖fig 4-8landing flow
33、chart4.3.24.3.2 注冊用戶注冊用戶輸入:用戶的用戶名、姓名,密碼、身份證、性別、年齡、生日。處理:添加會(huì)員信息。在這里可以添加會(huì)員。添加信息有:用戶的戶名、姓名,密碼、身份證、性別、年齡、生日。輸出:添加成功,提示成功信息,不成功則顯示錯(cuò)誤的信息頁面。流程圖如圖 4-9 所示:圖 4-9 注冊用戶流程圖fig 4-9 flow chart of registered users4.44.4 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)關(guān)系型數(shù)據(jù)庫是目前應(yīng)用最廣泛的數(shù)據(jù)庫。既然是面向?qū)ο笙到y(tǒng)設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)當(dāng)然也要是面向?qū)ο蟮摹,F(xiàn)在要考慮如何對類進(jìn)行持久化操作,即如何將對象類映射到關(guān)系數(shù)據(jù)庫的二維表。目前
34、可以采用數(shù)據(jù)庫建模工具來實(shí)現(xiàn),象powerdesigner、rose 等。帳號(hào)卡號(hào)密碼開戶時(shí)間用戶編號(hào)密碼性別聯(lián)系電話4.4.14.4.1 erer 圖圖1.帳戶實(shí)體 e-r 圖如圖 4-10 所示: 圖 4-10 賬戶實(shí)體 er 圖fig 4-10 account entity e-r diagram2. 操作員實(shí)體 e-r 圖如圖 4-11 所示: 圖 4-11 操作員實(shí)體 er 圖fig 4-11 operator e-r diagram entities3客戶部分功能 e-r 圖如圖 4-12 所示:帳戶實(shí)體操作員實(shí)體1客戶管理員查詢余額系統(tǒng)信息管理用戶注冊管理查詢用戶交易轉(zhuǎn)帳修改詳細(xì)
35、資料修改密碼轉(zhuǎn)帳收入明細(xì)查詢支出明細(xì)模擬消費(fèi)管理n圖 4-12 客戶部分功能 e-r 圖fig 4-12 client functional er diagram4.4.24.4.2 物理表結(jié)構(gòu)圖物理表結(jié)構(gòu)圖將電子交易 er 模型中的實(shí)體轉(zhuǎn)換為物理表,得到物理表結(jié)構(gòu)如下:設(shè)計(jì)表“admin” (管理員表)表 4-1(table 4-1)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號(hào)usernamenvarchar50否用戶名passwordnvarchar50否密碼creattimedatetime8否創(chuàng)建時(shí)間flagint4否標(biāo)記logintimesint4否登錄時(shí)間quanxiannvar
36、char1000否權(quán)限設(shè)計(jì)表“system” (系統(tǒng)表)表 4-2(table 4-2)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號(hào)sitenamenvarchar100否地址名keywordnvarchar500否關(guān)鍵字descriptionnvarchar500否種類emailnvarchar100否郵箱upint4否返回設(shè)計(jì)表“member” (成員表)表 4-3(table 4-3)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號(hào)usernamenvarchar50否用戶名passwordnvarchar100否密碼typenvarchar50否類型logintimesint4否注冊時(shí)
37、間lasttimedatetime8否最終時(shí)間lastipnvarchar50否最終地址設(shè)計(jì)表“card”(銀行卡表)表 4-4(table4-4)列名數(shù)據(jù)類型長度允許空描述idint4是編號(hào)typevarchar50否范圍titlevarchar50否名稱numfloat8否卡號(hào)addtimedatetime8否添加時(shí)間uidint4否用戶編碼設(shè)計(jì)表“bank” (銀行表)表 4-5(table4-5)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號(hào)uidint4否用戶編碼cunvarchar50否存入addtimedatatime8否添加時(shí)間設(shè)計(jì)表“pemember” (注冊信息表)表 4-
38、6(table4-6)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號(hào)realnamenvarchar100否真實(shí)姓名sexnvarchar50否性別birnvarchar50否出生日期shengnvarchar50否省份citynvarchar50否城市telphonenvarchar50否電話emailnvarchar50否郵箱questionnvarchar50否問題answernvarchar100否答案設(shè)計(jì)表“adminlog” (管理日志表)表 4-7(table4-7)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編碼usernamenvarchar50否管理名passwordnvar
39、char50否密碼logintimedatetime8否登錄時(shí)間loginipnvarchar50否登錄地址4.54.5 開發(fā)環(huán)境的選擇開發(fā)環(huán)境的選擇4.5.14.5.1 系統(tǒng)開發(fā)工具系統(tǒng)開發(fā)工具本系統(tǒng)采用 visualstuido2005 作為系統(tǒng)開發(fā)工具。visual studio 是微軟公司推出的開發(fā)環(huán)境,是目前最流行的 windows 平臺(tái)應(yīng)用程序開發(fā)環(huán)境。使用 visual studio 2005, 專業(yè)開發(fā)人員能夠:使用改進(jìn)后的可視化設(shè)計(jì)工具、編程語言和代碼編輯器,享受高效率的開發(fā)環(huán)境 ,在統(tǒng)一的開發(fā)環(huán)境中開發(fā)并調(diào)試多層次的服務(wù)器應(yīng)用程序 使用集成的可視化數(shù)據(jù)庫設(shè)計(jì)和報(bào)告工具,創(chuàng)建
40、 sql server 2005 解決方案4.5.24.5.2 數(shù)據(jù)庫的選擇數(shù)據(jù)庫的選擇sql server2000 是一個(gè)具備完全 web 支持的數(shù)據(jù)庫產(chǎn)品,其特點(diǎn)如下:真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。1圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地2sql server 與 windows nt 完全集成,利用了 nt 的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server 也可以很好地與 microsoft backoffice 產(chǎn)品集成。3很好的伸縮性,可跨越從運(yùn)行 windows 95/98 的膝上型電腦
41、windows 2000 的大型多處理器等多種平臺(tái)使用。4對 web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到 web 頁面上。 5sql server 提供數(shù)據(jù)倉庫功能,這個(gè)功能只在 oracle 和其他更昂貴的 dbms 中才有。5 編碼編碼5.15.1 概述開發(fā)工具及編程腳本概述開發(fā)工具及編程腳本5.1.15.1.1 jspjsp 技術(shù)技術(shù)jsp 是由 sun 微系統(tǒng)公司于 1999 年 6 月推出的一項(xiàng)技術(shù),是基于 javaservlet 以及整個(gè) java 體系的 web 開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。jsp 技術(shù)在多個(gè)方面加速了動(dòng)態(tài) web
42、 頁面的開發(fā)。與微軟公司的 asp 技術(shù)相比,jsp 具有如下優(yōu)點(diǎn):(1) 開放的技術(shù):jsp 技術(shù)基于平臺(tái)和服務(wù)器的相互獨(dú)立,技術(shù)支持來自廣泛的、專門的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商提供。相比之下,asp 技術(shù)主要依賴 microsoft 支持。(2) 平臺(tái)和服務(wù)器的獨(dú)立性:jsp 編寫的代碼可運(yùn)行在任何符合 java 語法結(jié)構(gòu)的環(huán)境中。這樣 jsp 就能夠運(yùn)行在多種 web 服務(wù)器上并支持來自多家開發(fā)商提供的各種工具包。(3) 開放的開發(fā)過程,開放的源碼:自 1995 年以來,sun 用開放過程方法同國際java 組織合作開發(fā)和修改 java 技術(shù)和規(guī)范。(4) jsp 標(biāo)
43、記可擴(kuò)充性:jsp 技術(shù)能夠?yàn)殚_發(fā)者擴(kuò)展 jsp 標(biāo)記,充分利用與 xml 兼容的標(biāo)記技術(shù)強(qiáng)大的功能,大大減少對腳本語言的依賴。(5)jsp 跨平臺(tái)的可重用性:jsp 組件(ejb,javabean 或定制的 jsp 標(biāo)記)都是跨平臺(tái)可重用的。5.1.25.1.2 javabeanjavabean 技術(shù)技術(shù)jsp 作為一個(gè)很好的動(dòng)態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應(yīng)用,在各類 jsp 應(yīng)用程序中,jsp + javabean 的組合成為了一種事實(shí)上最常見的 jsp 程序的標(biāo)準(zhǔn). javabean 是描述 java 的軟件組件模型,有點(diǎn)類似于 microsoft 的 com 組件概念。在 java
44、 模型中,通過 javabean 可以無限擴(kuò)充 java 程序的功能,通過 javabean 的組合可以快速的生成新的應(yīng)用程序。對于程序員來說,最好的一點(diǎn)就是 javabean 可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等等也有很重大的意義。javabean 通過 java 虛擬機(jī)(java virtual machine)可以得到正確的執(zhí)行,具有平臺(tái)無關(guān)性。一個(gè) javabean 有三個(gè)部分組成:1) 屬性(property)bean 的屬性就是對象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個(gè)時(shí)鐘bean 可以有時(shí)區(qū)和鎮(zhèn)鈴屬性,日歷 bean 可以有年份和月份屬性。每個(gè)屬性通常遵守
45、簡單的方法命名規(guī)則。這樣可以很方便的找出 bean 提供的屬性,然后查詢屬性值或改變屬性值,對 bean 進(jìn)行操作。2) 方法(method)由于 bean 本身是 java 對象,調(diào)用這個(gè)對象的方法是與其交互作用的唯一途徑。javabean 嚴(yán)格遵守面向?qū)ο蟮念愒O(shè)計(jì)邏輯,不讓外界訪問其任何實(shí)例字段(沒有 public字段) 。這樣,方法調(diào)用的是接觸 bean 的唯一途徑。3) 事件(event)bean 與其他軟件組件交流信息的主要方式是發(fā)送和接收事件。這與對象之間通過消息通信類似。javabean 傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如 awt 下的應(yīng)用。自從 jsp 誕生后,javabean 更
46、多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強(qiáng)的生命力。利用非可視化 javabean, 來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序(如 jsp)的分離,使得系統(tǒng)具有更好的健壯性和靈活性。5.1.35.1.3 jdbcjdbc 技術(shù)技術(shù)jdbc 是 java 的開發(fā)者sun 的 javasoft 公司制定的 java 數(shù)據(jù)庫連接javadatabaseconnectivity 技術(shù)的簡稱,是為各種常用數(shù)據(jù)庫提供無縫聯(lián)接的技術(shù)。jdbc 在 web 和 internet 應(yīng)用程序中的作用和 odbc 在 windows 系列平臺(tái)應(yīng)用程序中的作用類似。jdbc
47、有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用 jdbc 來完成對數(shù)據(jù)庫的訪問包括以下四個(gè)主要組件:java 的應(yīng)用程序、jdbc 驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。簡單地說,jdbc 能完成下列三件事: (1)同一個(gè)數(shù)據(jù)庫建立連接; (2)向數(shù)據(jù)庫發(fā)送 sql 語句; (3)處理數(shù)據(jù)庫返回的結(jié)果。jdbc 是一種可用于執(zhí)行 sql 語句的 javaapi(applicationprogramminginterface,應(yīng)用程序設(shè)計(jì)接口) 。它由一些 java 語言寫的類、界面組成。jdbc 給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺(tái)工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開發(fā)人員可以用純 j
48、ava 語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 通過使用 jdbc,開發(fā)人員可以很方便地將 sql 語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個(gè)程序訪問 sybase,寫另一個(gè)程序訪問 oracle,再寫一個(gè)程序訪問 microsoft 的 sqlserver。用 jdbc 寫的程序能夠自動(dòng)地將 sql 語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(dbms) 。不但如此,使用 java 編寫的應(yīng)用程序可以在任何支持java 的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上編寫不同的應(yīng)用。java 和 jdbc 的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時(shí)真正實(shí)現(xiàn)“writeonce,runeverywhere!” j
49、ava 具有健壯、安全、易用等特性,而且支持自動(dòng)網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫線連接而使用的編程語言。它所需要的是 java 應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,jdbc 正是實(shí)現(xiàn)這種連接的關(guān)鍵。 jdbc 擴(kuò)展了 java 的能力,如使用 java 和 jdbcapi 就可以公布一個(gè) web 頁,頁中帶有能訪問遠(yuǎn)端數(shù)據(jù)庫的 applet?;蛘咂髽I(yè)可以通過 jdbc 讓全部的職工(他們可以使用不同的操作系統(tǒng),如 windwos,machintosh 或 unix)在 intranet 上連接到幾個(gè)全球數(shù)據(jù)庫上,而這幾個(gè)全球數(shù)據(jù)庫可以是不相同的。5.1.45.1.4 用用 jdbcjdbc 訪問數(shù)據(jù)
50、庫訪問數(shù)據(jù)庫所有的數(shù)據(jù)庫的對象和方法都在 java.sql.* 里面,所以首先要 import java.sql.*,要想連接數(shù)據(jù)庫,首先要將驅(qū)動(dòng)程序調(diào)入。class.forname(sun.jdbc.odbc.jdbcodbcdriver);這是 jdbc-odbc 的驅(qū)動(dòng)程序。 要想連接一個(gè)指定的數(shù)據(jù)庫,必須創(chuàng)建 connection 類的一個(gè)實(shí)例。 string url = jdbc:odbc:grocery prices; connection con = drivermanager.getconnection(url); 注意在此用到的數(shù)據(jù)庫名稱是在 odbc 設(shè)置控制面板中輸入的數(shù)
51、據(jù)資源名。url 語法對于不同類型的數(shù)據(jù)庫會(huì)很不一樣。 語法是這樣的: jdbc:subprotocol:subname 開頭都是 jdbc,后面是子協(xié)議,然后是 odbc 名稱。 若要使用純 jdbc 驅(qū)動(dòng)程序,必須安裝第三方軟件提供的驅(qū)動(dòng)程序,一般在數(shù)據(jù)庫的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用 jdbc-odbc 的驅(qū)動(dòng)程序連接數(shù)據(jù)庫,并使用 javabean 組件,有效的避免了代碼的重復(fù),具體過程如下:package exam; import java.sql.*; public class exambean string strdbdriver=sun.jdbc.odbc.jdb
52、codbcdriver;/jdbc-odbc 驅(qū)動(dòng)程序 string strdburl=jdbc:odbc:exam; private connection conn=null; private statement stmt=null; resultset rs=null;/ public exambean() try class.forname(strdbdriver); /catch(java.lang.classnotfoundexception e) system.err.println(exam():+e.getmessage(); /public resultset execute
53、query(string sql) rs=null; try conn=drivermanager.getconnection(strdbdriver);/創(chuàng)建數(shù)據(jù)庫連接對象 stmt=conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);/支持?jǐn)?shù)據(jù)回滾 rs=stmt.executequery(sql); catch(sqlexception ex) system.err.println(aq.executequery:+ex.getmessage(); return rs; / pu
54、blic void executeupdate(string sql) stmt=null; try conn=drivermanager.getconnection(strdbdriver); stmt=conn.createstatement(); stmt.executeupdate(sql); stmt.close(); catch(sqlexception ex) system.err.println(aq.executequery:+ex.getmessage(); / public void closestmt() try stmt.close(); catch(sqlexcep
55、tion e) e.printstacktrace(); public void closeconn() try conn.close(); catch(sqlexception e) e.printstacktrace(); 5.25.2 腳本習(xí)慣說明腳本習(xí)慣說明無論是哪一種 jsp 實(shí)現(xiàn),在一定 的階段,它們的某些版本都會(huì)出現(xiàn)給系統(tǒng)帶來危險(xiǎn)的安全隱患,即使 jsp 開發(fā)者遵從了安全編程慣例也無濟(jì)于事。例如,在 allai re 的jrun 的一個(gè)版本中,如果請求 url 包含字符串“.js p%00”作為 jsp 腳本擴(kuò)展名的一部分,服務(wù)器不會(huì)忽略 nul l 字節(jié),它會(huì)把頁面視為一個(gè)靜態(tài)
56、的非 jsp 頁面之類的東西。這樣 ,服務(wù)器會(huì)請求操作系統(tǒng)打開該頁面,而這時(shí) null 字節(jié)卻被忽略 ,結(jié)果提供給用戶的是 jsp 頁面的源代碼而不是頁面的執(zhí)行結(jié)果。 這里的騙局在于,%25 是 url 編碼的“%” ,而 70 是“p”的十 六進(jìn)制值。web 服務(wù)器不會(huì)調(diào)用 jsp 處理器(因?yàn)?url 沒有以 “.jsp”結(jié)尾) ,但靜態(tài)文件處理器會(huì)設(shè)法把url 映射到正確 的文件名字(再一次解碼 url) 。 另外,許多 web 服務(wù)器和 jsp 實(shí)現(xiàn)都帶有示 范腳本,這些示范腳本常常包含安全隱患。在把服務(wù)器部署到一個(gè)不 無惡意的環(huán)境(即 internet)之前,禁止對所有這些腳本的 訪
57、問有利于安全。 6 系統(tǒng)測試系統(tǒng)測試6.16.1程序的測試程序的測試6.16.11 1 測試原則及測試方法概述測試原則及測試方法概述表 6-1 測試用例測試用例描述 操作過程及數(shù)據(jù)預(yù)期結(jié)果用例類別對于客戶登錄頁面輸入正常值進(jìn)行測試進(jìn)入“客戶登錄”界面,分別在“用戶名” 、“密碼”輸入正常值,然后進(jìn)行“登錄”登錄成功,顯示正常信息。功能點(diǎn)對于管理員頁面輸入正常值進(jìn)行測試進(jìn)入“管理員登陸”界面,分別在“用戶名” 、“密碼”輸入正常值,然后進(jìn)行“登錄”登錄成功,顯示正常信息。功能點(diǎn)對“修改密碼”修改進(jìn)行測試在客戶登錄頁面正確輸入用戶名和密碼,進(jìn)入到客戶頁面-密碼修改,輸入“新密碼”和“確認(rèn)密碼”顯示
58、密碼修改成功界面校驗(yàn)對管理員登陸頁面”密碼修改”和”添加管理員”進(jìn)行測試登錄到管理員用戶界面,在“添加管理員”和“密碼修改”中輸入正確數(shù)值成功添加及修改界面校驗(yàn)對管理員登陸頁面新聞管理進(jìn)行測試進(jìn)入管理員登陸界面,對“新聞標(biāo)題”和“文章作者” “文章內(nèi)容”中輸入正確數(shù)據(jù)成功添加信息界面校驗(yàn)對管理員客戶信息管理進(jìn)行測試在“姓名” “帳號(hào)” “密碼”中輸入正確信息顯示成功添加客戶信息關(guān)聯(lián)對管理員信息管理進(jìn)行測試在“管理頁”中輸入正確信息顯示保存成功關(guān)聯(lián)登陸時(shí),不輸入用戶名或者密碼,或者密碼輸入錯(cuò)誤進(jìn)入登陸頁面之前,輸入非法的用戶名或者密碼提示密碼錯(cuò)誤或者用戶名錯(cuò)誤關(guān)聯(lián)密碼修改時(shí),新密碼和確認(rèn)密碼輸入
59、不合法進(jìn)入客戶登錄頁面-密碼修改,密碼輸入兩次不同提示密碼輸入不正確界面校驗(yàn)添加一條管理員信息,但用戶名和密碼輸入不法進(jìn)入“添加管理員”輸入非法信息顯示注冊不成功界面校驗(yàn)添加一條新聞信息,但“文章標(biāo)題”書寫不合法進(jìn)入“新聞添加”-“文章標(biāo)題” ,標(biāo)題內(nèi)信息不填寫系統(tǒng)提示不能為非空界面校驗(yàn)添加一條新聞信息,但“文章內(nèi)容”書寫不合法進(jìn)入“新聞添加”-“文章標(biāo)題” ,標(biāo)題內(nèi)信息不填寫系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶信息,但“姓名”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,姓名輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶信息,但“賬戶”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,
60、賬戶輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶信息,但“出生日期”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,出生日輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶信息,但“聯(lián)系電話”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,聯(lián)系電話輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶信息,但“email”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,email 輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶信息,但“密碼提示問題”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,密碼提示問題輸入為空系統(tǒng)提示不能為空界面校驗(yàn)添加一條客戶信息,但“問題答案”輸入不合法進(jìn)入“客戶信息管理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題八恒定電流實(shí)驗(yàn)九測定電源的電動(dòng)勢和內(nèi)阻練習(xí)含答案
- 草莓購買合同
- 江蘇地區(qū)高一年級(jí)信息技術(shù)一年教案7資源管理器教案
- 江蘇地區(qū)高一年級(jí)信息技術(shù)一年教案26 IF語句教案
- 2024年高中政治 第一單元 公民的政治生活 第二課 我國公民的政治參與 3 民主管理:共創(chuàng)幸福生活教案1 新人教版必修2
- 2024-2025學(xué)年新教材高中物理 第七章 萬有引力與宇宙航行 4 宇宙航行(1)教案 新人教版必修2
- 2024-2025學(xué)年新教材高中地理 第3章 天氣的成因與氣候的形成 第2節(jié) 氣壓帶、風(fēng)帶對氣候的影響教案 中圖版選擇性必修第一冊
- 高考地理一輪復(fù)習(xí)第十二章環(huán)境與發(fā)展第二節(jié)中國國家發(fā)展戰(zhàn)略課件
- 寶寶防疫針委托書
- 人教A版廣東省深圳實(shí)驗(yàn)學(xué)校高中部2023-2024學(xué)年高一上學(xué)期第三階段考試數(shù)學(xué)試題
- 公共安全知識(shí)宣傳
- 醫(yī)院電氣安全知識(shí)培訓(xùn)
- 猴子撈月讀本
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 對話大國工匠 致敬勞動(dòng)模范學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 病理學(xué)實(shí)驗(yàn)2024(臨床 口腔)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 半期評估試卷(1-4單元)-2024-2025學(xué)年四年級(jí)上冊數(shù)學(xué)北師大版
- python程序設(shè)計(jì)-說課
- XX學(xué)校推廣應(yīng)用“國家中小學(xué)智慧教育平臺(tái)”工作實(shí)施方案
- 擬鈣劑在慢性腎臟病患者中應(yīng)用的專家共識(shí)簡介
- 失業(yè)保險(xiǎn)待遇申請表
評論
0/150
提交評論