版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)上銀行畢業(yè)論文網(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.2 use case建模 .62.2.1 定義活動者.62.2.2 use case 圖.63 系統(tǒng)架構(gòu)設(shè)計 .93.1 架構(gòu)設(shè)計目標(biāo).93.2 系統(tǒng)架構(gòu)設(shè)計 .93.3 系統(tǒng)架構(gòu)類圖 .134 系統(tǒng)詳細(xì)設(shè)計 .154.1 業(yè)務(wù)邏輯對象類設(shè)計 .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 活動者與模
2、塊間的交互 .164.2.3 系統(tǒng)協(xié)作圖 .194.2.4 系統(tǒng)狀態(tài)圖 .194.2.5 系統(tǒng)活動圖 .204.3 系統(tǒng)模塊設(shè)計 .214.3.1 登陸 .214.3.2 注冊用戶 .224.4 數(shù)據(jù)庫設(shè)計 .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 項目概述項目概述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個,同時在新加坡、香港設(shè)有分行,在倫敦、東京、紐約設(shè)有代表
4、處,擁有員工 447519人。作為一家城鄉(xiāng)并舉、聯(lián)通國際、功能齊備的大型國有商業(yè)銀行,中國農(nóng)業(yè)銀行一貫秉承以客戶為中心的經(jīng)營理念,堅持審慎穩(wěn)健經(jīng)營、可持續(xù)發(fā)展,立足縣域和城市兩大市場,實(shí)施差異化競爭策略,著力打造“伴你成長”服務(wù)品牌,依托覆蓋全國的分支機(jī)構(gòu)、龐大的電子化網(wǎng)絡(luò)和多元化的金融產(chǎn)品,致力為廣大客戶提供優(yōu)質(zhì)的金融服務(wù),與廣大客戶共創(chuàng)價值、共同成長。截至 2007 年末,全行總資產(chǎn)達(dá)到 60501.27 億元人民幣,各項存款 52833.14 億元人民幣,各項貸款 34801.05 億元人民幣。由于現(xiàn)在各大銀行的全國聯(lián)網(wǎng),異地存款,取款,存錢,在全國任何地方可以及時查詢自己帳戶等,甚至在
5、家里,打開電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)現(xiàn)足不出戶,了解自己帳戶信息,給人們的生活和社會的經(jīng)濟(jì)帶來了空前的變化。在這樣的一個背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會發(fā)展的需要,本次我利用畢業(yè)之際,設(shè)計和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的安全性等因素的考慮,一個系統(tǒng)設(shè)計之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計的系統(tǒng)主要是模擬中國農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣大的客戶提供查詢余額、取款、轉(zhuǎn)賬等功能。 隨著計算機(jī)技術(shù)的不斷發(fā)展,計算機(jī)作為知識經(jīng)濟(jì)時代的產(chǎn)物,已被廣泛應(yīng)用于社會各個行業(yè)和領(lǐng)域。目前我國國企改革的深入和社會主義市場經(jīng)濟(jì)的日趨繁榮,金融體系的規(guī)
6、模更是日益龐大,客戶對銀行的服務(wù)要求也在不斷提高,模擬一個快捷方便安全智能的網(wǎng)上銀行轉(zhuǎn)系統(tǒng)有很高的實(shí)用價值。本系統(tǒng)模擬銀行帳戶的管理,開發(fā)一個農(nóng)行網(wǎng)上銀行系統(tǒng),設(shè)計主要實(shí)現(xiàn)用戶在銀行正常交易的一些功能而且作為一個實(shí)用的管理系統(tǒng),要有良好的容錯性,在出現(xiàn)誤操作能盡量地給出警告,以便用戶及時地更正,計算機(jī)地資源是受到限制的,因此要充分利用 jsp 的功能,設(shè)計出功能強(qiáng)大的軟件,同時要盡可能的減少對系統(tǒng)的資源的占用,簽于本系統(tǒng)的特殊性,還需要本程序有良好的保密性。由于現(xiàn)在各大銀行的全國聯(lián)網(wǎng),異地存款,取款,存錢,在全國任何地方可以及時查詢自己帳戶等,甚至在家里,打開電腦,登錄自己的網(wǎng)上銀行,還可以實(shí)
7、現(xiàn)足不出戶,了解自己帳戶信息,給人們的生活和社會的經(jīng)濟(jì)帶來了空前的變化。在這樣的一個背景下,為了適應(yīng)網(wǎng)絡(luò)的普及以及當(dāng)今社會發(fā)展的需要,本次我利用畢業(yè)之際,設(shè)計和模擬網(wǎng)上銀行,以備以后作技術(shù)上的參考。出于系統(tǒng)的安全性等因素的考慮,一個系統(tǒng)設(shè)計之前,需要進(jìn)行方案和技術(shù)論證。所以不是一朝一夕能解決的。所以本次設(shè)計的系統(tǒng)主要是模擬中國農(nóng)業(yè)銀行的網(wǎng)上銀行電子交易,為廣大的客戶提供查詢余額、取款、轉(zhuǎn)賬等功能。 我利用自己所學(xué)的計算機(jī)專業(yè)知識,模擬設(shè)計一個類似與農(nóng)業(yè)銀行的網(wǎng)上銀行系統(tǒng),使自己進(jìn)一步掌握運(yùn)用 jsp 語言編程的能力,并更深一步的了解有關(guān)網(wǎng)上銀行電子交易的相關(guān)知識。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ù)部門、人事部門和財務(wù)部門之間相互合作。整個系統(tǒng)將上述部門連接成一體,共同協(xié)作完成整個銀行的運(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è)銀行財務(wù)科人事科宣傳科辦公室工會分行技術(shù)科1.31.3 系統(tǒng)業(yè)務(wù)流程系統(tǒng)業(yè)務(wù)流程經(jīng)過前期調(diào)研分析和綜合其它各方面相關(guān)理論知識,給出整個系統(tǒng)的業(yè)務(wù)流程圖如下圖 1-2 所示:整個系統(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ù)流程,整個系統(tǒng)抽象出以下幾個功能模塊,如圖 1-3 所示。下面模塊劃分只是抽象意義上的劃分,各模塊之間需要共享數(shù)據(jù),相互協(xié)作,完成整個系統(tǒng)流程,單一事物功能模塊間是相互獨(dú)立的。票據(jù)圖像業(yè)務(wù)數(shù)據(jù)總結(jié)日報明細(xì)帳數(shù)據(jù)報表票證查詢刻制光盤審核(重點(diǎn)監(jiān)督)對帳(自動對帳,手工補(bǔ)充)票證帳主機(jī)流水帳票證圖像銀行主機(jī)業(yè)務(wù)流水業(yè)務(wù)規(guī)則票證省分行會計、儲蓄、信用卡務(wù)系統(tǒng)數(shù)圖 1-2 系統(tǒng)流程fig 1-2 the workflow of system農(nóng)業(yè)銀行網(wǎng)上銀行系統(tǒng)
10、管理員用戶會員管理系統(tǒng)維護(hù)查詢用戶余額賬號管理查詢余額及轉(zhuǎn)賬注冊會員交易明細(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è)計策略施加過多的約束,也不要描述系統(tǒng)的內(nèi)部結(jié)構(gòu),因為這樣做將限制實(shí)現(xiàn)的靈活性。對系統(tǒng)性能及系統(tǒng)與外界環(huán)境交互協(xié)議的描述,是合適的需求。此外,
11、對采用的軟件工程標(biāo)準(zhǔn)、模塊構(gòu)造準(zhǔn)則、將來可能做的擴(kuò)充以及可維護(hù)性要求等方面的描述,也都是適當(dāng)?shù)男枨蟆O旅嬉赞r(nóng)業(yè)銀行網(wǎng)上銀行中的電子交易模塊為例說明如何進(jìn)行系統(tǒng)需求陳述。本系統(tǒng)需要具有以下功能:(1)由于一項新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機(jī)界面。(2)能夠?qū)崿F(xiàn)轉(zhuǎn)賬功能,能成功的對各種信息進(jìn)行查詢及管理。(3)查詢數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。系統(tǒng)采用 b/s 模式。整個系統(tǒng)最關(guān)鍵的就是數(shù)據(jù)庫系統(tǒng),一個強(qiáng)大的數(shù)據(jù)庫可以支持完善一個優(yōu)秀的軟件設(shè)計,通過軟件系統(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ā)的一項基本工作,是項目開發(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通過建立域模型以識別類與對象,從而識別系統(tǒng)中的各種對象。3確定
13、對象的內(nèi)部特征,從而定義出各個屬性與服務(wù),以進(jìn)一步細(xì)化類的結(jié)構(gòu)。4識別對象之間的關(guān)系并使用設(shè)計模式對類的結(jié)構(gòu)進(jìn)行優(yōu)化和改造。5獲得對象之間的行為關(guān)系,繪制出各種動態(tài)圖形(順序圖、協(xié)作圖、狀態(tài)圖等) 。2.22.2 useuse casecase建模建模2.2.12.2.1 定義活動者定義活動者根據(jù)電子交易模塊的需求可以確定 2 個活動者,即客戶及系統(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)活動者的定義分析,得到系統(tǒng)電子交易模塊的用例如下:管理員信息用例客戶信息用例轉(zhuǎn)帳用例用戶和用例電子交易模塊的用例圖圖 2-1 如下: 圖 2-1 電子交易 use case 圖fig3-1 use case for sales management1用例:管理員信息參與者:管理員說明:管理員啟動客戶信息功能。系統(tǒng)顯示客戶信息一覽表管理員添加客戶信息系統(tǒng)顯示添加成功畫面客戶信息添加成功2用例:客戶信息參與者:管理員說明:管理員啟動客戶信息功能。系統(tǒng)顯示客戶信息一覽表管理員添加客戶信息系統(tǒng)顯示添加成功畫面客戶信息添加成功3用例:轉(zhuǎn)帳參與者:客戶說明:客戶啟動轉(zhuǎn)帳功能。系統(tǒng)顯示轉(zhuǎn)帳信息管理員添加
15、轉(zhuǎn)帳信息系統(tǒng)顯示添加成功畫面轉(zhuǎn)帳信息添加成功3 3 系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計3.13.1架構(gòu)設(shè)計目標(biāo)架構(gòu)設(shè)計目標(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.及時查看存款余額信息,并通過網(wǎng)站對收入、支出信息進(jìn)行管理。3.及時了解客戶的交易信息,客戶的余額信息,并以圖表形式對數(shù)據(jù)進(jìn)行分析。實(shí)現(xiàn)信息查詢功能。4.實(shí)現(xiàn)了直接通過網(wǎng)絡(luò)撥打用戶電話及發(fā)送 e-mail。5.管理員和客戶可以隨時修改自己的密碼。6.數(shù)據(jù)保密性強(qiáng),為每個用戶設(shè)置相應(yīng)的權(quán)限。7.系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。3.23.2
16、 系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計下面我們將根據(jù)架構(gòu)設(shè)計原則和信息系統(tǒng)原理來建立系統(tǒng)的架構(gòu)設(shè)計模型。將信息系統(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ù)校驗,過濾非法數(shù)據(jù)。(3)向業(yè)務(wù)處理對象發(fā)送處理請求。用戶界面包圖展開如圖3-3所示:用用戶戶界界面面輸入輸出數(shù)據(jù)驗證發(fā)送轉(zhuǎn)帳處理請求圖3-3 用戶界面包展開圖fig3-3 package diagram of users interface用戶界面包包含的類見圖
18、3-4:+數(shù)據(jù)驗證()+業(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)驗證請求者的權(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ù)驗證向數(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對于每一個業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多個數(shù)據(jù)庫訪問對象來進(jìn)行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個事務(wù)中,這時需要用同一個數(shù)據(jù)庫連接對象來進(jìn)行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫連接類的創(chuàng)建用到了單件(sin
21、gleton)模式,保證一個類僅有一個實(shí)例,一個客戶在同一時刻只能用一個數(shù)據(jù)庫連接對象。5.權(quán)限管理包權(quán)限管理的主要職責(zé)是:(1)驗證請求者的請求權(quán)限。(2)提供請求者的權(quán)限列表。權(quán)限管理包圖展開如圖3-10所示:權(quán)權(quán)限限管管理理驗證請求者的請求權(quán)限提供請求者的權(quán)限列表圖 3-10 權(quán)限管理包圖展開fig3-10 package diagram of access authorization權(quán)限管理包包含的類見圖 3-11:+驗證業(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á)了各個類之間的靜態(tài)聯(lián)系。銀行網(wǎng)站的系統(tǒng)架構(gòu)類圖如下圖 3-12 所示。+數(shù)據(jù)驗證()+業(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è)務(wù)()+獲取業(yè)務(wù)列表()-操作對象管管理理類類+登
23、錄()+退出()-管理員代碼-管理員名稱管管理理員員類類圖 3-12 系統(tǒng)架構(gòu)類圖fig3-12 class diagram of system architecture4 系統(tǒng)詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計4.14.1 業(yè)務(wù)邏輯對象類設(shè)計業(yè)務(wù)邏輯對象類設(shè)計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è)計,由系統(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 所示。+管理員編號get()+管理員編號set()+管理員名get()+管理員名名set()+管理員密碼get()+管理員密碼set()-編號-用戶名-密碼管管理理員員+用戶編號get()+用戶編號set()+用戶名get()+用戶名set()+用戶密碼get()+用戶密碼set()+類型get()+類型set()-用戶編號-用戶名-用戶密碼-類型用用戶戶+編號get()+編號set()+范圍get()+范圍set()+名稱get()+名稱set()+卡號get()+卡號set()-編號-范圍-名稱-卡號銀銀行行卡卡+編碼get()+編碼set()+管理名get()+管理名set(
25、)+密碼get()+密碼set()-編碼-管理名-密碼管管理理日日志志+編號get()+編號set()+真實(shí)姓名get()+真實(shí)姓名set()+性別get()+性別set()+出生日期get()+出生日期set()+問題get()+問題set()-編號-真實(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ā)送驗證權(quán)限請求。3.權(quán)限管理對象驗證權(quán)限后將驗證結(jié)果返回給業(yè)務(wù)代理對象。4.業(yè)務(wù)代理對象根據(jù)驗證結(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 活動者與模塊間的交互活動者與模塊間的交互與電子交易模塊進(jìn)行交互的活動者(角色)主要包括客戶和銀行管理者。客
27、戶和銀行管理者與電子交易模塊的交互圖如下圖 4-3 和圖 4-4 所示:用戶界面類業(yè)務(wù)代理類權(quán)限管理類業(yè)務(wù)邏輯類數(shù)據(jù)訪問類處理結(jié)果顯示處理結(jié)果顯示請求業(yè)務(wù)處理類驗證權(quá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下面對客戶、客戶與客戶之間活動的情況進(jìn)行動態(tài)建模,由于篇幅限制,在此僅以客戶與電子交易模塊中的轉(zhuǎn)帳管
28、理進(jìn)行時序圖、協(xié)作圖、狀態(tài)圖和活動圖的建模。轉(zhuǎn)帳管理主要涉及:1根據(jù)客戶進(jìn)行轉(zhuǎn)帳生成轉(zhuǎn)帳信息,在轉(zhuǎn)帳之前可以修改轉(zhuǎn)帳金額,轉(zhuǎn)帳狀態(tài)為未完成。在轉(zhuǎn)出金額之后,轉(zhuǎn)帳完成。2提供金額的查詢功能(按帳號、轉(zhuǎn)帳時間、客戶名稱、等查詢) 。客戶進(jìn)行轉(zhuǎn)帳的時序圖如下圖 4-4 所示??蛻艮D(zhuǎn)帳轉(zhuǎn)帳帳號輸入用戶和密碼提交轉(zhuǎn)帳信息生成轉(zhuǎn)帳命令提交轉(zhuǎn)帳信息驗證結(jié)果提示驗證結(jié)果提示轉(zhuǎn)帳成功登錄圖 4-4 客戶進(jìn)行轉(zhuǎn)帳的時序圖fig 4-4 customers transfer timing diagram4.2.34.2.3 系統(tǒng)協(xié)作圖系統(tǒng)協(xié)作圖交互圖用來說明系統(tǒng)如何實(shí)現(xiàn)一個用例或用例中的一個特殊場景。uml 提供兩
29、類交互圖:時序圖和協(xié)作圖。時序圖按時間順序描述系統(tǒng)元素之間的交互;協(xié)作圖則按照時間和空間順序來描述系統(tǒng)元素之間的交互。根據(jù)上節(jié)描述的客戶創(chuàng)建轉(zhuǎn)帳的時序圖,給出客戶創(chuàng)建轉(zhuǎn)帳協(xié)作圖如下圖 4-5 所示。4.2.44.2.4 系統(tǒng)狀態(tài)圖系統(tǒng)狀態(tài)圖狀態(tài)圖是通過類對對象的生命周期建立模型來描述對象隨時間變化的動態(tài)行為。狀態(tài)圖顯示了一個狀態(tài)機(jī),它基本上是一個狀態(tài)機(jī)中的元素的一個投影,也就意味著狀態(tài)圖包括狀態(tài)機(jī)的所有特性。在電子交易模塊中,主要有創(chuàng)建轉(zhuǎn)帳金額、修改金額、查詢余額同 3 種狀態(tài),這三種狀態(tài)完成過程非常相似,所以下面僅給出客戶創(chuàng)建轉(zhuǎn)帳金額的狀態(tài)圖如下圖 4-6 所示。登錄轉(zhuǎ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)入帳號狀態(tài)數(shù)據(jù)更新用戶和密碼錯誤輸入用戶和密碼正確提交客戶轉(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)活動圖系統(tǒng)活動圖活動圖是描述活動是如何協(xié)同工作的。當(dāng)一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時,活動圖可以更清晰地描述這些事情。在電子交易模塊中,主要涉及客戶的活動。客
31、戶首先登錄系統(tǒng),然后查看客戶賬戶信息,根據(jù)需要生成轉(zhuǎn)賬;還可以對轉(zhuǎn)帳的金額進(jìn)行修改;同時可以查詢當(dāng)前金額等活動。完成活動后退出系統(tǒng),下面給客戶的活動圖,如下圖 4-7 所示。登錄系統(tǒng)查看金額轉(zhuǎn)帳金額生成余額查詢轉(zhuǎn)帳金額修改轉(zhuǎn)帳余額修改金額退出電子交易否否是是轉(zhuǎn)帳金額是否正是否轉(zhuǎn)帳圖 4-7 客戶在電子交易模塊的活動圖fig 4-7customers in the electronic trading module activity diagram4.34.3 系統(tǒng)模塊設(shè)計系統(tǒng)模塊設(shè)計4.3.14.3.1 登陸登陸在用戶登錄界面,在用戶名對應(yīng)的文本框中輸入用戶名,在密碼對應(yīng)的文本框中輸入密碼,如
32、果用戶名和密碼同時與數(shù)據(jù)庫中的用戶名和密碼相對應(yīng),點(diǎn)擊“確定”后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。輸入:用戶名和密碼。處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗用戶是否滿足輸入的要求,即檢驗用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶的系統(tǒng)使用資源頁面,不成功則顯示錯誤信息頁面。流程圖如圖 4-8 所示:用戶登陸輸入用戶名和密碼驗證密碼是否正確返回首頁登陸成功圖 4-8 登陸流程圖fig 4-8landing flow
33、chart4.3.24.3.2 注冊用戶注冊用戶輸入:用戶的用戶名、姓名,密碼、身份證、性別、年齡、生日。處理:添加會員信息。在這里可以添加會員。添加信息有:用戶的戶名、姓名,密碼、身份證、性別、年齡、生日。輸出:添加成功,提示成功信息,不成功則顯示錯誤的信息頁面。流程圖如圖 4-9 所示:圖 4-9 注冊用戶流程圖fig 4-9 flow chart of registered users4.44.4 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計關(guān)系型數(shù)據(jù)庫是目前應(yīng)用最廣泛的數(shù)據(jù)庫。既然是面向?qū)ο笙到y(tǒng)設(shè)計,數(shù)據(jù)庫設(shè)計當(dāng)然也要是面向?qū)ο蟮摹,F(xiàn)在要考慮如何對類進(jìn)行持久化操作,即如何將對象類映射到關(guān)系數(shù)據(jù)庫的二維表。目前
34、可以采用數(shù)據(jù)庫建模工具來實(shí)現(xiàn),象powerdesigner、rose 等。帳號卡號密碼開戶時間用戶編號密碼性別聯(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è)計表“admin” (管理員表)表 4-1(table 4-1)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號usernamenvarchar50否用戶名passwordnvarchar50否密碼creattimedatetime8否創(chuàng)建時間flagint4否標(biāo)記logintimesint4否登錄時間quanxiannvar
36、char1000否權(quán)限設(shè)計表“system” (系統(tǒng)表)表 4-2(table 4-2)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號sitenamenvarchar100否地址名keywordnvarchar500否關(guān)鍵字descriptionnvarchar500否種類emailnvarchar100否郵箱upint4否返回設(shè)計表“member” (成員表)表 4-3(table 4-3)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號usernamenvarchar50否用戶名passwordnvarchar100否密碼typenvarchar50否類型logintimesint4否注冊時
37、間lasttimedatetime8否最終時間lastipnvarchar50否最終地址設(shè)計表“card”(銀行卡表)表 4-4(table4-4)列名數(shù)據(jù)類型長度允許空描述idint4是編號typevarchar50否范圍titlevarchar50否名稱numfloat8否卡號addtimedatetime8否添加時間uidint4否用戶編碼設(shè)計表“bank” (銀行表)表 4-5(table4-5)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號uidint4否用戶編碼cunvarchar50否存入addtimedatatime8否添加時間設(shè)計表“pemember” (注冊信息表)表 4-
38、6(table4-6)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編號realnamenvarchar100否真實(shí)姓名sexnvarchar50否性別birnvarchar50否出生日期shengnvarchar50否省份citynvarchar50否城市telphonenvarchar50否電話emailnvarchar50否郵箱questionnvarchar50否問題answernvarchar100否答案設(shè)計表“adminlog” (管理日志表)表 4-7(table4-7)列名數(shù)據(jù)類型長度是否主鍵描述idint4是編碼usernamenvarchar50否管理名passwordnvar
39、char50否密碼logintimedatetime8否登錄時間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 平臺應(yīng)用程序開發(fā)環(huán)境。使用 visual studio 2005, 專業(yè)開發(fā)人員能夠:使用改進(jìn)后的可視化設(shè)計工具、編程語言和代碼編輯器,享受高效率的開發(fā)環(huán)境 ,在統(tǒng)一的開發(fā)環(huán)境中開發(fā)并調(diào)試多層次的服務(wù)器應(yīng)用程序 使用集成的可視化數(shù)據(jù)庫設(shè)計和報告工具,創(chuàng)建
40、 sql server 2005 解決方案4.5.24.5.2 數(shù)據(jù)庫的選擇數(shù)據(jù)庫的選擇sql server2000 是一個具備完全 web 支持的數(shù)據(jù)庫產(chǎn)品,其特點(diǎn)如下:真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。1圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計提供了更大的選擇余地2sql server 與 windows nt 完全集成,利用了 nt 的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server 也可以很好地與 microsoft backoffice 產(chǎn)品集成。3很好的伸縮性,可跨越從運(yùn)行 windows 95/98 的膝上型電腦
41、windows 2000 的大型多處理器等多種平臺使用。4對 web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到 web 頁面上。 5sql server 提供數(shù)據(jù)倉庫功能,這個功能只在 oracle 和其他更昂貴的 dbms 中才有。5 編碼編碼5.15.1 概述開發(fā)工具及編程腳本概述開發(fā)工具及編程腳本5.1.15.1.1 jspjsp 技術(shù)技術(shù)jsp 是由 sun 微系統(tǒng)公司于 1999 年 6 月推出的一項技術(shù),是基于 javaservlet 以及整個 java 體系的 web 開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺的動態(tài)網(wǎng)站。jsp 技術(shù)在多個方面加速了動態(tài) web
42、 頁面的開發(fā)。與微軟公司的 asp 技術(shù)相比,jsp 具有如下優(yōu)點(diǎn):(1) 開放的技術(shù):jsp 技術(shù)基于平臺和服務(wù)器的相互獨(dú)立,技術(shù)支持來自廣泛的、專門的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商提供。相比之下,asp 技術(shù)主要依賴 microsoft 支持。(2) 平臺和服務(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ù)能夠為開發(fā)者擴(kuò)展 jsp 標(biāo)記,充分利用與 xml 兼容的標(biāo)記技術(shù)強(qiáng)大的功能,大大減少對腳本語言的依賴。(5)jsp 跨平臺的可重用性:jsp 組件(ejb,javabean 或定制的 jsp 標(biāo)記)都是跨平臺可重用的。5.1.25.1.2 javabeanjavabean 技術(shù)技術(shù)jsp 作為一個很好的動態(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í)行,具有平臺無關(guān)性。一個 javabean 有三個部分組成:1) 屬性(property)bean 的屬性就是對象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個時鐘bean 可以有時區(qū)和鎮(zhèn)鈴屬性,日歷 bean 可以有年份和月份屬性。每個屬性通常遵守
45、簡單的方法命名規(guī)則。這樣可以很方便的找出 bean 提供的屬性,然后查詢屬性值或改變屬性值,對 bean 進(jìn)行操作。2) 方法(method)由于 bean 本身是 java 對象,調(diào)用這個對象的方法是與其交互作用的唯一途徑。javabean 嚴(yán)格遵守面向?qū)ο蟮念愒O(shè)計邏輯,不讓外界訪問其任何實(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ù)邏輯和前臺程序(如 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 系列平臺應(yīng)用程序中的作用類似。jdbc
47、有一個非常獨(dú)特的動態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用 jdbc 來完成對數(shù)據(jù)庫的訪問包括以下四個主要組件:java 的應(yīng)用程序、jdbc 驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。簡單地說,jdbc 能完成下列三件事: (1)同一個數(shù)據(jù)庫建立連接; (2)向數(shù)據(jù)庫發(fā)送 sql 語句; (3)處理數(shù)據(jù)庫返回的結(jié)果。jdbc 是一種可用于執(zhí)行 sql 語句的 javaapi(applicationprogramminginterface,應(yīng)用程序設(shè)計接口) 。它由一些 java 語言寫的類、界面組成。jdbc 給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純 j
48、ava 語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 通過使用 jdbc,開發(fā)人員可以很方便地將 sql 語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個程序訪問 sybase,寫另一個程序訪問 oracle,再寫一個程序訪問 microsoft 的 sqlserver。用 jdbc 寫的程序能夠自動地將 sql 語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(dbms) 。不但如此,使用 java 編寫的應(yīng)用程序可以在任何支持java 的平臺上運(yùn)行,不必在不同的平臺上編寫不同的應(yīng)用。java 和 jdbc 的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時真正實(shí)現(xiàn)“writeonce,runeverywhere!” j
49、ava 具有健壯、安全、易用等特性,而且支持自動網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫線連接而使用的編程語言。它所需要的是 java 應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,jdbc 正是實(shí)現(xiàn)這種連接的關(guān)鍵。 jdbc 擴(kuò)展了 java 的能力,如使用 java 和 jdbcapi 就可以公布一個 web 頁,頁中帶有能訪問遠(yuǎn)端數(shù)據(jù)庫的 applet?;蛘咂髽I(yè)可以通過 jdbc 讓全部的職工(他們可以使用不同的操作系統(tǒng),如 windwos,machintosh 或 unix)在 intranet 上連接到幾個全球數(shù)據(jù)庫上,而這幾個全球數(shù)據(jù)庫可以是不相同的。5.1.45.1.4 用用 jdbcjdbc 訪問數(shù)據(jù)
50、庫訪問數(shù)據(jù)庫所有的數(shù)據(jù)庫的對象和方法都在 java.sql.* 里面,所以首先要 import java.sql.*,要想連接數(shù)據(jù)庫,首先要將驅(qū)動程序調(diào)入。class.forname(sun.jdbc.odbc.jdbcodbcdriver);這是 jdbc-odbc 的驅(qū)動程序。 要想連接一個指定的數(shù)據(jù)庫,必須創(chuàng)建 connection 類的一個實(shí)例。 string url = jdbc:odbc:grocery prices; connection con = drivermanager.getconnection(url); 注意在此用到的數(shù)據(jù)庫名稱是在 odbc 設(shè)置控制面板中輸入的數(shù)
51、據(jù)資源名。url 語法對于不同類型的數(shù)據(jù)庫會很不一樣。 語法是這樣的: jdbc:subprotocol:subname 開頭都是 jdbc,后面是子協(xié)議,然后是 odbc 名稱。 若要使用純 jdbc 驅(qū)動程序,必須安裝第三方軟件提供的驅(qū)動程序,一般在數(shù)據(jù)庫的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用 jdbc-odbc 的驅(qū)動程序連接數(shù)據(jù)庫,并使用 javabean 組件,有效的避免了代碼的重復(fù),具體過程如下:package exam; import java.sql.*; public class exambean string strdbdriver=sun.jdbc.odbc.jdb
52、codbcdriver;/jdbc-odbc 驅(qū)動程序 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),在一定 的階段,它們的某些版本都會出現(xiàn)給系統(tǒng)帶來危險的安全隱患,即使 jsp 開發(fā)者遵從了安全編程慣例也無濟(jì)于事。例如,在 allai re 的jrun 的一個版本中,如果請求 url 包含字符串“.js p%00”作為 jsp 腳本擴(kuò)展名的一部分,服務(wù)器不會忽略 nul l 字節(jié),它會把頁面視為一個靜態(tài)
56、的非 jsp 頁面之類的東西。這樣 ,服務(wù)器會請求操作系統(tǒng)打開該頁面,而這時 null 字節(jié)卻被忽略 ,結(jié)果提供給用戶的是 jsp 頁面的源代碼而不是頁面的執(zhí)行結(jié)果。 這里的騙局在于,%25 是 url 編碼的“%” ,而 70 是“p”的十 六進(jìn)制值。web 服務(wù)器不會調(diào)用 jsp 處理器(因為 url 沒有以 “.jsp”結(jié)尾) ,但靜態(tài)文件處理器會設(shè)法把url 映射到正確 的文件名字(再一次解碼 url) 。 另外,許多 web 服務(wù)器和 jsp 實(shí)現(xiàn)都帶有示 范腳本,這些示范腳本常常包含安全隱患。在把服務(wù)器部署到一個不 無惡意的環(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、密碼修改成功界面校驗對管理員登陸頁面”密碼修改”和”添加管理員”進(jìn)行測試登錄到管理員用戶界面,在“添加管理員”和“密碼修改”中輸入正確數(shù)值成功添加及修改界面校驗對管理員登陸頁面新聞管理進(jìn)行測試進(jìn)入管理員登陸界面,對“新聞標(biāo)題”和“文章作者” “文章內(nèi)容”中輸入正確數(shù)據(jù)成功添加信息界面校驗對管理員客戶信息管理進(jìn)行測試在“姓名” “帳號” “密碼”中輸入正確信息顯示成功添加客戶信息關(guān)聯(lián)對管理員信息管理進(jìn)行測試在“管理頁”中輸入正確信息顯示保存成功關(guān)聯(lián)登陸時,不輸入用戶名或者密碼,或者密碼輸入錯誤進(jìn)入登陸頁面之前,輸入非法的用戶名或者密碼提示密碼錯誤或者用戶名錯誤關(guān)聯(lián)密碼修改時,新密碼和確認(rèn)密碼輸入
59、不合法進(jìn)入客戶登錄頁面-密碼修改,密碼輸入兩次不同提示密碼輸入不正確界面校驗添加一條管理員信息,但用戶名和密碼輸入不法進(jìn)入“添加管理員”輸入非法信息顯示注冊不成功界面校驗添加一條新聞信息,但“文章標(biāo)題”書寫不合法進(jìn)入“新聞添加”-“文章標(biāo)題” ,標(biāo)題內(nèi)信息不填寫系統(tǒng)提示不能為非空界面校驗添加一條新聞信息,但“文章內(nèi)容”書寫不合法進(jìn)入“新聞添加”-“文章標(biāo)題” ,標(biāo)題內(nèi)信息不填寫系統(tǒng)提示不能為空界面校驗添加一條客戶信息,但“姓名”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,姓名輸入為空系統(tǒng)提示不能為空界面校驗添加一條客戶信息,但“賬戶”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,
60、賬戶輸入為空系統(tǒng)提示不能為空界面校驗添加一條客戶信息,但“出生日期”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,出生日輸入為空系統(tǒng)提示不能為空界面校驗添加一條客戶信息,但“聯(lián)系電話”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,聯(lián)系電話輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶信息,但“email”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,email 輸入為空系統(tǒng)提示不能為空功能點(diǎn)添加一條客戶信息,但“密碼提示問題”輸入不合法進(jìn)入“客戶信息管理”-“客戶信息添加” ,密碼提示問題輸入為空系統(tǒng)提示不能為空界面校驗添加一條客戶信息,但“問題答案”輸入不合法進(jìn)入“客戶信息管理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水稻種植與農(nóng)業(yè)無人機(jī)應(yīng)用合同3篇
- 二零二五年度抗滑樁施工新型技術(shù)研發(fā)與應(yīng)用合同3篇
- 2025年度環(huán)衛(wèi)設(shè)施改造升級協(xié)議2篇
- 2025年度農(nóng)業(yè)科技園彩鋼大棚科研試驗基地承包合同3篇
- 2024版模具買賣合同模板3篇
- 2024股權(quán)轉(zhuǎn)讓代持協(xié)議
- 家庭教育塑造孩子未來的科學(xué)路徑
- 二零二五年度材料代購及綠色施工流程合同范本3篇
- 河北軌道運(yùn)輸職業(yè)技術(shù)學(xué)院《組成原理與匯編語言》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)語文課堂中的口才訓(xùn)練實(shí)踐
- 廣東省深圳市寶安區(qū)2024-2025學(xué)年八年級英語上學(xué)期1月期末英語試卷(含答案)
- 《招標(biāo)投標(biāo)法》考試題庫200題(含答案)
- 《交通運(yùn)輸行業(yè)安全生產(chǎn)監(jiān)督檢查工作指南 第2部分:道路運(yùn)輸》
- 初二生物期末質(zhì)量分析及整改措施
- 公交車站臺服務(wù)規(guī)范與安全意識
- 云南省楚雄彝族自治州2024屆高三上學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 《安防攝像機(jī)智能化指標(biāo)要求和評估方法》
- 慢阻肺護(hù)理個案病例范文
- 遼寧省工程咨詢集團(tuán)有限責(zé)任公司 筆試 題庫
- 山東省臨沂市2023-2024學(xué)年高二上學(xué)期期末考試英語試題 含答案
- 2024年海南省環(huán)境科學(xué)研究院院聘專業(yè)技術(shù)人員管理單位遴選500模擬題附帶答案詳解
評論
0/150
提交評論