軟件工程銀行卡管理系統(tǒng)課程設(shè)計(jì)[共57頁(yè)]
《軟件工程銀行卡管理系統(tǒng)課程設(shè)計(jì)[共57頁(yè)]》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《軟件工程銀行卡管理系統(tǒng)課程設(shè)計(jì)[共57頁(yè)](57頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 重慶師范大學(xué) 課程名稱(chēng):軟件工程課程設(shè)計(jì) 試題題目:銀行卡管理測(cè)試系統(tǒng) 姓 名:*** 學(xué) 號(hào):20090512196 專(zhuān) 業(yè):2009級(jí)計(jì)算機(jī)科學(xué)與技術(shù)(非師范) 學(xué) 院:計(jì)算機(jī)與信息科學(xué)學(xué)院 時(shí) 間:2012年1月4號(hào) 目錄 一、開(kāi)發(fā)背景與目標(biāo) 5 1.1開(kāi)發(fā)背景 5 1.2開(kāi)發(fā)目標(biāo)與思想 5 二、需求分析說(shuō)明 5 2.1系統(tǒng)介紹 6 2.2系統(tǒng)面向的用戶(hù)群體 6 2.3系統(tǒng)的功能需求 7 2.4 系統(tǒng)非功能性需求 7 2.4.1軟硬件環(huán)境需求 7 2.4.2軟件質(zhì)量需求 7 2.4.3
2、用戶(hù)界面需求 7 三、可行性分析報(bào)告 8 3.1 經(jīng)濟(jì)可行性分析 8 3.2操作可行性分析 8 3.3技術(shù)可行性分析 8 3.4時(shí)間、設(shè)備可能性 8 四、開(kāi)發(fā)環(huán)境與項(xiàng)目規(guī)劃 9 4.1開(kāi)發(fā)環(huán)境 9 4.2項(xiàng)目規(guī)劃與管理 9 4.2.1開(kāi)發(fā)人員安排 9 4.2.2開(kāi)發(fā)進(jìn)度安排 9 五、結(jié)構(gòu)化分析與設(shè)計(jì) 10 5.1結(jié)構(gòu)化分析 10 5.2結(jié)構(gòu)化設(shè)計(jì) 14 六、面向?qū)ο蠓治雠c設(shè)計(jì) 18 七、數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 24 7.1數(shù)據(jù)庫(kù)環(huán)境說(shuō)明 25 7.2數(shù)據(jù)庫(kù)命名標(biāo)準(zhǔn)與規(guī)范 25 7.3數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 26 7.3.1邏輯設(shè)計(jì)步驟 26 7.4數(shù)據(jù)庫(kù)物理設(shè)計(jì) 2
3、6 7.4.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)步驟 26 7.4.2表、視圖匯總 26 7.4.3各表、視圖設(shè)計(jì)詳解 27 八、人機(jī)界面設(shè)計(jì) 27 8.1界面設(shè)計(jì)原則 27 8.2系統(tǒng)窗口匯總 28 8.3主界面設(shè)計(jì) 33 8.4子界面設(shè)計(jì) 34 九、項(xiàng)目系統(tǒng)實(shí)現(xiàn) 35 9.1實(shí)現(xiàn)環(huán)境與技術(shù) 35 9.2核心模塊實(shí)現(xiàn)技術(shù)代碼 35 十、軟件測(cè)試信息報(bào)告 36 10.1測(cè)試范圍與主要內(nèi)容 36 10.2測(cè)試方法 37 10.3系統(tǒng)測(cè)試步驟 37 10.4系統(tǒng)優(yōu)點(diǎn) 37 十一、軟件使用說(shuō)明書(shū) 38 11.1軟件概述 38 11.2使用說(shuō)明 38 十二、系統(tǒng)開(kāi)發(fā)評(píng)價(jià) 38 附
4、:參考資料和源代碼部分 39 一、開(kāi)發(fā)背景與目標(biāo) 1.1開(kāi)發(fā)背景 本系統(tǒng)選題為銀行卡管理測(cè)試系統(tǒng),是模擬銀行卡管理開(kāi)發(fā)的。隨著計(jì)算機(jī)的飛速發(fā)展及應(yīng)用領(lǐng)域的擴(kuò)大,特別是計(jì)算機(jī)網(wǎng)絡(luò)和電子商務(wù)的發(fā)展,極大的改變了商業(yè)銀行傳統(tǒng)的經(jīng)營(yíng)模式。能夠?yàn)榭蛻?hù)提供方便、快捷、安全的服務(wù),也能夠有效的降低銀行的營(yíng)運(yùn)成本,這是銀行卡管理系統(tǒng)追求的目標(biāo)。目前,對(duì)于現(xiàn)代化銀行運(yùn)營(yíng)的要求是客戶(hù)可以實(shí)現(xiàn)隨時(shí)隨地的業(yè)務(wù)交易,銀行職員可以進(jìn)行高效合理的工作管理,實(shí)現(xiàn)銀行業(yè)務(wù)電子化。 1.2開(kāi)發(fā)目標(biāo)與思想 本系統(tǒng)的設(shè)計(jì)指導(dǎo)思想是一切為使用者著想,利用JAVA語(yǔ)言在Eclipse下設(shè)計(jì)了這么一個(gè)系統(tǒng),界
5、面美觀(guān),使得用戶(hù)可以安全的進(jìn)行操作,便捷,快速的進(jìn)行取款以及完成一些商業(yè)上的交易,大大提高辦公效率,能夠及時(shí)、準(zhǔn)確、有效的幫用戶(hù)辦理各種繁瑣的手續(xù),也減緩了銀行工作人員的壓力。 具體表現(xiàn)為: (1)系統(tǒng)應(yīng)該符合銀行卡管理的規(guī)定,滿(mǎn)足相關(guān)人員使用系統(tǒng)的基本需要并要求達(dá)到操作過(guò)程中,直觀(guān)、方便、實(shí)用、安全等需求; (2)系統(tǒng)采用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改,又便于未參加開(kāi)發(fā)的程序人員補(bǔ)充、維護(hù); (3)系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶(hù)需要進(jìn)行數(shù)據(jù)添加、刪除等操作; (4)采用軟硬件環(huán)境及先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,利用現(xiàn)有資源,提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果的目的。 二
6、、需求分析說(shuō)明 需求分析說(shuō)明是管理系統(tǒng)開(kāi)發(fā)的起始階段,也是MIS開(kāi)發(fā)工作中最重要的一環(huán)。需求分析的目標(biāo)是明確系統(tǒng)開(kāi)發(fā)的目標(biāo)和用戶(hù)信息需求,提出系統(tǒng)的邏輯方案。為系統(tǒng)設(shè)計(jì)做好準(zhǔn)備。 2.1系統(tǒng)介紹 銀行卡管理系統(tǒng)是由計(jì)算機(jī)控制的持卡人自我服務(wù)型的金融業(yè)專(zhuān)用設(shè)備。是最普遍的自助銀行設(shè)備,可以提供最基本的銀行服務(wù)之一,即取錢(qián)交易,有些功能全的設(shè)備還可以提供自助存、款業(yè)務(wù)。由銀行卡管理系統(tǒng)應(yīng)用的ATM自動(dòng)取款機(jī)上還可以進(jìn)行賬戶(hù)查詢(xún)、修改密碼和轉(zhuǎn)賬等簡(jiǎn)便業(yè)務(wù)。 同時(shí)在制作這個(gè)系統(tǒng)的過(guò)程中也應(yīng)用了數(shù)據(jù)庫(kù)的知識(shí),數(shù)據(jù)庫(kù)鏈接是本系統(tǒng)的設(shè)計(jì)的重點(diǎn)。銀行卡管理系統(tǒng)可以分為管理員管理系統(tǒng)與用戶(hù)操作系
7、統(tǒng),管理員管理系統(tǒng)負(fù)責(zé)用戶(hù)數(shù)據(jù)的創(chuàng)建、修改與管理;用戶(hù)操作系統(tǒng)接受用戶(hù)操作命令以后,執(zhí)行并上報(bào)給管理員管理系統(tǒng),。由管理員管理系統(tǒng)修改用戶(hù)數(shù)據(jù)庫(kù),用戶(hù)操作系統(tǒng)只能執(zhí)行用戶(hù)命令,不能修改用戶(hù)數(shù)據(jù)。 銀行卡管理測(cè)試系統(tǒng)結(jié)構(gòu)如圖: 2.2系統(tǒng)面向的用戶(hù)群體 金融業(yè)中應(yīng)用銀行儲(chǔ)蓄卡的廣大用戶(hù),簡(jiǎn)單的操作,比如:取款(2000以?xún)?nèi))、存款(少量金額)、轉(zhuǎn)賬、修改密碼等簡(jiǎn)易的銀行卡操作。 2.3系統(tǒng)的功能需求 通過(guò)銀行卡管理系統(tǒng)一方面加快了客戶(hù)的服務(wù),提高的服務(wù)質(zhì)量,另一方面減輕了員工的工作復(fù)雜度,提高了工作效益,實(shí)現(xiàn)了銀行卡賬戶(hù)管理的的系統(tǒng)化、規(guī)范化、自動(dòng)化、和智能化。系統(tǒng)具體實(shí)現(xiàn)
8、如下: (1) 鍵盤(pán)操作,快速響應(yīng) (2) 對(duì)用戶(hù)輸入的數(shù)據(jù),系統(tǒng)會(huì)進(jìn)行嚴(yán)格的檢驗(yàn),盡量避免人為錯(cuò)誤 (3) 實(shí)現(xiàn)銀行開(kāi)戶(hù)、取款、存款、查詢(xún)、轉(zhuǎn)賬、修改密碼等功能 (4) 系統(tǒng)運(yùn)行穩(wěn)定,可靠 (5) 系統(tǒng)人性化,符合用戶(hù)操作習(xí)慣 (6) 使用控制臺(tái)進(jìn)行操作 2.4 系統(tǒng)非功能性需求 2.4.1軟硬件環(huán)境需求 (1)軟件環(huán)境: Win7、Window XP等32位操作系統(tǒng) (2)硬件環(huán)境:1)Pentium(R) Dual-Core CPU T4300 @2.10GHz 2.10GHz 安裝內(nèi)存(RAM):3.00GB
9、 2)AMD A6-3400M APU with Radeon(tm)HD Graphics?1.4GHz 安裝內(nèi)存(RAM):2.00GB 3)Celeron(R) Dual-Core CPU T3100 @ 1.90GHz1.90GHz 安裝內(nèi)存(RAM):2.00GB 2.4.2軟件質(zhì)量需求 軟件開(kāi)發(fā)所用的系統(tǒng)要能夠應(yīng)用Oracle和運(yùn)行java 的軟件Eclipse 2.4.3用戶(hù)界面需求 用戶(hù)界面需求就是陳述所需要的用戶(hù)界面的軟件組件。描述每個(gè)用戶(hù)界面的邏輯特征。以下是可能要包括
10、的一些特征。 (1)將要采用的圖形用戶(hù)界面(GUI)標(biāo)準(zhǔn)或產(chǎn)品系列的風(fēng)格 (2)屏幕布局或解決方案的限制 (3)將出現(xiàn)在每個(gè)屏幕的按鈕、功能或?qū)Ш芥溄Y(jié)(例如一個(gè)幫助按鈕)。 (4)快捷鍵 (5)錯(cuò)誤信息顯示標(biāo)準(zhǔn)(按照ATM自動(dòng)取款機(jī)的應(yīng)用界面為標(biāo)準(zhǔn)) 以Windows窗口形式顯示,標(biāo)題欄為銀行卡管理測(cè)試系統(tǒng)名稱(chēng),右上角有最小按鈕、最大化按鈕、關(guān)閉按鈕,不同窗口中有不同的按鈕盒選擇菜單。 三、可行性分析報(bào)告 可行性研究的目的就是用最小的代價(jià)在最短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。實(shí)質(zhì)上就是進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過(guò)程。可從三個(gè)方面分析研
11、究每種解決問(wèn)題的可行性 3.1 經(jīng)濟(jì)可行性分析 經(jīng)濟(jì)可行性:進(jìn)行開(kāi)發(fā)成本的估算以及了解得到效益的評(píng)估,確定要開(kāi)發(fā)項(xiàng)目是否值得投資開(kāi)發(fā)。對(duì)銀行業(yè)來(lái)說(shuō),是依靠存款、貸款之間的差額來(lái)生存的,所以要盡可能的拉攏更多的客戶(hù)使用本行,銀行卡管理系統(tǒng)是為了能讓為客戶(hù)更便捷的服務(wù),從而更具有吸引力。從銀行角度出發(fā)還是非常愿意把一部分資金投入到這方面研究當(dāng)中的。 3.2操作可行性分析 開(kāi)發(fā)的銀行卡管理測(cè)試系統(tǒng)需要根據(jù)銀行卡管理規(guī)定操作,不得有侵害他人隱私盜取金額為目的。銀行卡管理測(cè)試系統(tǒng)方便運(yùn)行操作,組內(nèi)人員有著良好的道德修養(yǎng)。會(huì)根據(jù)用戶(hù)的實(shí)際需要來(lái)開(kāi)發(fā)此程序,操作快捷,易于掌握。 3.3技術(shù)可行性
12、分析 技術(shù)可行性:對(duì)項(xiàng)目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源和技術(shù)件下系統(tǒng)是否能實(shí)現(xiàn)。(開(kāi)發(fā)的風(fēng)險(xiǎn)、資源的有效性、技術(shù))通過(guò)對(duì)開(kāi)發(fā)風(fēng)險(xiǎn)、資源有效性和技術(shù)分析后,認(rèn)為開(kāi)發(fā)銀行卡管理系統(tǒng)風(fēng)險(xiǎn)小,資源充足,技術(shù)可以應(yīng)付,但是一定要以生活中的銀行卡管理過(guò)程中的信息為基礎(chǔ)。 3.4時(shí)間、設(shè)備可能性 開(kāi)發(fā)人員可以根據(jù)自己時(shí)間充分發(fā)揮編譯操作,也可以在上機(jī)時(shí)進(jìn)行研究,時(shí)間充足,每個(gè)開(kāi)發(fā)人員都有可以操作的電腦,可以查閱資料在圖書(shū)館。 四、開(kāi)發(fā)環(huán)境與項(xiàng)目規(guī)劃 4.1開(kāi)發(fā)環(huán)境 利用Java語(yǔ)言強(qiáng)大功能,并具有面向?qū)ο箝_(kāi)發(fā)等的特點(diǎn),聯(lián)系實(shí)際銀行卡管理系統(tǒng)的應(yīng)用界面,采用Eclip
13、se開(kāi)發(fā)工具,以Win7、Window XP等32位操作系統(tǒng)、Oracle為后臺(tái)開(kāi)發(fā)出了一套銀行卡管理測(cè)試系統(tǒng),基本上實(shí)現(xiàn)了賬戶(hù)查詢(xún)、修改密碼、轉(zhuǎn)賬、充值和取款等業(yè)務(wù)。 4.2項(xiàng)目規(guī)劃與管理 4.2.1開(kāi)發(fā)人員安排 開(kāi)發(fā)人員主要是經(jīng)過(guò)大家興趣一致、自愿組合的一個(gè)小組,由于本系統(tǒng)設(shè)計(jì)面廣,操作復(fù)雜,信息要求強(qiáng),所以我們選擇三個(gè)人為一個(gè)小組,采取分工合作、共同探討的原則,努力編輯并且完善系統(tǒng)應(yīng)用。組內(nèi)成員有***、***和***。 4.2.2開(kāi)發(fā)進(jìn)度安排 10月13日 開(kāi)始討論(給予兩周時(shí)間進(jìn)行調(diào)查分析探討,確保進(jìn)行項(xiàng)目研究據(jù)充足) 討論內(nèi)容:1)系統(tǒng)
14、名的確定 2)運(yùn)行環(huán)境 3)系統(tǒng)應(yīng)用價(jià)值 4)用戶(hù)群體 5) 需求分析說(shuō)明 6)可行性分析 7)項(xiàng)目規(guī)劃 8)編譯語(yǔ)言 11月3日 經(jīng)過(guò)小組成員查閱資料并做出討論,最終做出決定,我們組將要開(kāi)發(fā)銀行卡管理測(cè)試系統(tǒng),其具有強(qiáng)大的市場(chǎng),應(yīng)用價(jià)值廣泛,應(yīng)用知識(shí)廣泛能夠充分利用教材所學(xué)知識(shí),由于Java語(yǔ)言具有面向?qū)ο箝_(kāi)發(fā)等特點(diǎn),所以選擇J
15、ava語(yǔ)言進(jìn)行編譯。分工如下,***負(fù)責(zé)整體編譯模塊連接分出編譯模塊和用戶(hù)注冊(cè)模塊,***負(fù)責(zé)轉(zhuǎn)賬、充值、取款模塊和數(shù)據(jù)庫(kù)設(shè)計(jì),***負(fù)責(zé)賬戶(hù)查詢(xún)、修改密碼和文檔編輯。(每周四上課時(shí)間進(jìn)行進(jìn)度匯報(bào),組長(zhǎng)并根據(jù)進(jìn)度進(jìn)行調(diào)整和規(guī)劃) 五、結(jié)構(gòu)化分析與設(shè)計(jì) 結(jié)構(gòu)化分析與設(shè)計(jì)方法是一種面向數(shù)據(jù)流的傳統(tǒng)軟件開(kāi)發(fā)方法,它以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型和設(shè)計(jì)模型。結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)成了完整的結(jié)構(gòu)化方法。 早期的結(jié)構(gòu)化分析方法的分析結(jié)果包括:一套分層的數(shù)據(jù)流圖、一本數(shù)據(jù)字典(包括E-R圖)、一組加工規(guī)約以及其他補(bǔ)充資料(如非功能性需求等)。 5.1結(jié)構(gòu)化分析 數(shù)據(jù)流圖是描
16、述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工),用于對(duì)系統(tǒng)的功能建模。銀行卡管理測(cè)試系統(tǒng)的流程圖如下: 流程圖: 銀行卡測(cè)試系統(tǒng)0層圖: 銀行卡管理測(cè)試系統(tǒng)頂層圖: 銀行卡管理測(cè)試系統(tǒng)加工1子圖: 銀行卡管理系統(tǒng)加工2: 從前面的描述中可以看出數(shù)據(jù)流和數(shù)據(jù)字典是密不可分的,兩者結(jié)合起來(lái)構(gòu)成軟件的邏輯模型(分析模型)。 通過(guò)仔細(xì)調(diào)查得出E-R圖 數(shù)據(jù)字典為下圖: 卡號(hào)的數(shù)據(jù)字典 名稱(chēng):卡號(hào) 別名:user 簡(jiǎn)述:唯一標(biāo)識(shí)用戶(hù)清單里的一個(gè)特定
17、的唯一的一個(gè)編號(hào) 數(shù)據(jù)類(lèi)型:int 取值范圍:000000……999999 處理的數(shù)據(jù)字典 名稱(chēng):處理 別名:dealway 簡(jiǎn)述:對(duì)卡內(nèi)信息進(jìn)行處理的方法 數(shù)據(jù)流組成:取款+存款+轉(zhuǎn)賬+修改密碼+余額查詢(xún)+退出 數(shù)據(jù)流來(lái)源:卡號(hào)處理命令庫(kù) 數(shù)據(jù)流去向:打印憑條 數(shù)據(jù)量:但系統(tǒng)內(nèi)余額為0時(shí) 卡號(hào)信息的數(shù)據(jù)字典 名稱(chēng):卡號(hào)信息 別名:card-message 簡(jiǎn)述:對(duì)用戶(hù)的信息進(jìn)行管理 文件組成:卡號(hào)+身份證號(hào)+卡內(nèi)余額+電話(huà)號(hào)碼 5.2結(jié)構(gòu)化設(shè)計(jì) 結(jié)構(gòu)化設(shè)計(jì)是將結(jié)構(gòu)化分析數(shù)據(jù)流圖映射成軟件體系結(jié)構(gòu)的一種設(shè)計(jì)方法,SD強(qiáng)調(diào)模
18、塊化、自頂向下逐步求精、信息隱藏、高內(nèi)聚低耦合等設(shè)計(jì)準(zhǔn)則。 在結(jié)構(gòu)化設(shè)計(jì)中用結(jié)構(gòu)圖來(lái)描述軟件系統(tǒng)的體系結(jié)構(gòu),指出一個(gè)軟件系統(tǒng)由那些模塊組成以及模塊之間的調(diào)用關(guān)系,如下圖所示: 結(jié)構(gòu)圖第一分解圖: 卡號(hào)注冊(cè)第一級(jí)分解圖: 卡號(hào)注冊(cè)第二級(jí)分解圖: 卡號(hào)處理第一分解圖: 卡號(hào)處理第二級(jí)分解圖: 該系統(tǒng)主要實(shí)現(xiàn)銀行卡用戶(hù)的存款、取款,以及進(jìn)行一些簡(jiǎn)單的查詢(xún)和轉(zhuǎn)賬業(yè)務(wù),同時(shí)能夠在系統(tǒng)里面進(jìn)行客戶(hù)密碼的修改,實(shí)現(xiàn)簡(jiǎn)單的機(jī)器與客戶(hù)交互。 六、面向?qū)ο蠓治雠c設(shè)計(jì) 面向?qū)ο蠓椒ㄊ且环N把面向?qū)ο蟮乃枷霊?yīng)用于軟件開(kāi)發(fā)過(guò)程中,指導(dǎo)開(kāi)發(fā)活動(dòng)的
19、系統(tǒng)方法,是建立在對(duì)象概念(對(duì)象、類(lèi)和繼承)基礎(chǔ)上的方法,簡(jiǎn)稱(chēng)OO方法。 面向?qū)ο蠓治龅哪繕?biāo)是完成對(duì)所解問(wèn)題的分析,確定待建的系統(tǒng)要做什么,并建立系統(tǒng)模型。 用況視圖是列出系統(tǒng)中的用況和執(zhí)行者,并顯示了哪個(gè)執(zhí)行者參與了哪個(gè)用況的執(zhí)行,此系統(tǒng)的用況圖如下: 下面給出部分用況的詳細(xì)描述。 (1)開(kāi)戶(hù)用況描述 用況名稱(chēng):開(kāi)戶(hù) 參與的執(zhí)行者:銀行職員(客戶(hù)代理),客戶(hù) 前置條件:一個(gè)合法的銀行職員(客戶(hù)代理)已登錄到該系統(tǒng) 事件流: 1.當(dāng)選擇開(kāi)戶(hù)功能時(shí)用況開(kāi)始 2.輸入客戶(hù)信息(姓名、地址、身份證號(hào)等) 3.從賬戶(hù)管理系統(tǒng)獲取新的賬號(hào) 4.請(qǐng)客戶(hù)輸入密碼
20、 5.請(qǐng)客戶(hù)再次輸入密碼 6.如果兩次密碼不一致則回到第4步,否則繼續(xù) 7.在賬戶(hù)庫(kù)中增加新客戶(hù) 8.打印存折,用況結(jié)束 后置條件:在賬戶(hù)庫(kù)中增加了一個(gè)新賬戶(hù),得到一張新銀行卡 (2)取款用況描述 用況名稱(chēng):取款 參與的執(zhí)行者:銀行職員(客戶(hù)代理) 前置條件:一個(gè)合法的銀行職員(客戶(hù)代理)已登錄到該系統(tǒng) 事件流: 基本路勁: 1、當(dāng)選擇取款功能時(shí),用況開(kāi)始 2、當(dāng)輸入客戶(hù)信息時(shí)(姓名、賬號(hào)等)后 (a)如果客戶(hù)信息與賬戶(hù)不一致,顯示錯(cuò)誤信息,可以重新輸入或結(jié)束用況 (b)如果該賬戶(hù)被凍結(jié)(如因掛失而凍結(jié)),顯示凍結(jié)信息
21、并結(jié)束用況 3、輸入并校驗(yàn)密碼 4、輸入取款金額,如果該賬戶(hù)的余額小于取款金額,顯示錯(cuò)誤信息,要求重新輸入 5、打印取款單 6、建立取款事件記錄,更新賬戶(hù)信息 7、用況結(jié)束 可選路勁: 第3步校驗(yàn)密碼時(shí),如果發(fā)現(xiàn)密碼不一致,則重新輸入密碼,或用況結(jié)束 后置條件:如果取款成功,客戶(hù)賬戶(hù)的余額被更新(減少、增加),否則余額不變 活動(dòng)圖描述用況 可以用活動(dòng)圖描寫(xiě)用況的活動(dòng)順序。系統(tǒng)活動(dòng)圖如下: 取款用況的活動(dòng)圖: 存款用況的活動(dòng)圖: 注冊(cè)用況的活動(dòng)圖: 七、數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)
22、計(jì)指對(duì)系統(tǒng)所采用的數(shù)據(jù)模式、子模式、應(yīng)用程序、數(shù)據(jù)庫(kù)等根據(jù)用戶(hù)的具體要求進(jìn)行分析和設(shè)計(jì)。它也是管理信息系統(tǒng)設(shè)計(jì)的重要組成部分。數(shù)據(jù)庫(kù)設(shè)計(jì)的基本原則是盡可能提高數(shù)據(jù)組織的相對(duì)獨(dú)立性,簡(jiǎn)化其結(jié)構(gòu),即用規(guī)范化方法設(shè)施數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),提高數(shù)據(jù)的可維護(hù)性、完整性、一致性。通過(guò)收集和分析用戶(hù)需求,確定了數(shù)據(jù)庫(kù)要保存的信息,我將此次數(shù)據(jù)庫(kù)設(shè)計(jì)為二個(gè)如下所示表的設(shè)計(jì)如下: 用戶(hù)信息設(shè)計(jì)表 1、客戶(hù)表(user) CardID 字段信息 字段名稱(chēng) 類(lèi)型 寬度 小數(shù)位數(shù) 空特性 用戶(hù)名 uname varchar 18 身份證號(hào) uid int 18 N 卡號(hào)
23、 ucno int 18 N 賬戶(hù)信息設(shè)計(jì)表 2、賬戶(hù)表(card) CardID 字段信息 字段名稱(chēng) 類(lèi)型 寬度 小數(shù)位數(shù) 空特性 卡號(hào) cno int 18 N 賬戶(hù)余額 cjine int 18 N 密碼 cnima int 18 N 7.1數(shù)據(jù)庫(kù)環(huán)境說(shuō)明 Oracle 數(shù)據(jù)庫(kù),運(yùn)行環(huán)境是Windows x p.。 7.2數(shù)據(jù)庫(kù)命名標(biāo)準(zhǔn)與規(guī)范 數(shù)據(jù)庫(kù)命名為system,密碼為beyond。 規(guī)范與標(biāo)準(zhǔn): 1. 其中表明盡量避免中文拼音和特殊字符。盡多使用英文。 2. 不能使用毫無(wú)意
24、義的單詞??s寫(xiě)要基本能表達(dá)單詞的意思。 3. 當(dāng)出現(xiàn)對(duì)象命名重名時(shí),是不同類(lèi)型是,應(yīng)該加前綴加以表示。 4. 名稱(chēng)一律大寫(xiě),放表數(shù)據(jù)轉(zhuǎn)移。 其中有兩張表。 注冊(cè)表存儲(chǔ)本卡之內(nèi)的相關(guān)信息。如取款,余下金額,修改密碼等! 其他表存儲(chǔ)本卡之外所有卡的相關(guān)信息。 數(shù)據(jù)庫(kù)登陸界面: 7.3數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 7.3.1邏輯設(shè)計(jì)步驟 1.需求分析:了解用戶(hù)的數(shù)據(jù)需求、處理需求、安全性及完整性要求; 2.概念設(shè)計(jì):通過(guò)數(shù)據(jù)抽象,設(shè)計(jì)系統(tǒng)概念模型,一般為E-R模型; 3.邏輯結(jié)構(gòu)設(shè)計(jì):設(shè)計(jì)系統(tǒng)的模式和外模式,對(duì)于關(guān)系模型主要是基本表和視圖; 7.4數(shù)據(jù)庫(kù)物理設(shè)計(jì) 7.4.1數(shù)據(jù)
25、庫(kù)物理設(shè)計(jì)步驟 1.物理結(jié)構(gòu)設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法,如索引的設(shè)計(jì); 2.系統(tǒng)實(shí)施:組織數(shù)據(jù)入庫(kù)、編制應(yīng)用程序、試運(yùn)行; 3.運(yùn)行維護(hù):系統(tǒng)投入運(yùn)行,長(zhǎng)期的維護(hù)工作。 7.4.2表、視圖匯總 創(chuàng)建表的語(yǔ)句,和圖。 表和視圖的視圖: 注冊(cè)表視圖: 其他表視圖: 7.4.3各表、視圖設(shè)計(jì)詳解 創(chuàng)建注冊(cè)表的語(yǔ)句為: Create table qita1 ( Y h m varchar2(20), S f z varchar2(20), M I ma varchar2(20), Q r mm varchar2(20), Ye v
26、archar2(20)); Create table qita1 ( Y h m varchar2(20), S f z varchar2(20), M I ma varchar2(20), Q r mm varchar2(20), Ye varchar2(20)); 表中用戶(hù)名,密碼等考慮到有復(fù)雜字符,所以都是設(shè)計(jì)成varchar2型的。而余下金額整形不夠大所以也是設(shè)計(jì)成字符型。后來(lái)根據(jù)需要改成了number型,這更實(shí)用。 八、人機(jī)界面設(shè)計(jì) 8.1界面設(shè)計(jì)原則 (1)遵循一致原則,確立標(biāo)準(zhǔn)并遵循 (2)(Color)顏色使用恰當(dāng),遵循對(duì)比原則 (
27、3)(Resource)資源 (4)(Font)字體 (5)(Text)文字表達(dá) (6)(Style)控件風(fēng)格,不要使用錯(cuò)誤控件,控件功能要專(zhuān)一 (7)(Align)控件布局,窗口不擁擠,按功能組合控件 (8)Tab順序 (9)快捷鍵、加速鍵和彈出菜單 (10)用戶(hù)交互 (11)聯(lián)機(jī)幫助 (12)發(fā)行時(shí)闡明規(guī)則 8.2系統(tǒng)窗口匯總 用戶(hù)界面設(shè)計(jì)目前已成為評(píng)價(jià)軟件質(zhì)量的一條重要指標(biāo),所謂用戶(hù)界面是指軟件系統(tǒng)與用戶(hù)交互的接口,通常包括輸入、輸出設(shè)計(jì)、人機(jī)對(duì)話(huà)的界面設(shè)計(jì)。 一般登陸模塊只輸入賬號(hào)、密碼,當(dāng)然在實(shí)際應(yīng)用中沒(méi)有要求用戶(hù)輸入賬號(hào),這是因?yàn)樵诖趴ㄉ嫌袀€(gè)感應(yīng)區(qū),所以在編
28、程序時(shí)加上了請(qǐng)輸入賬號(hào)。 登陸模塊輸入界面 登錄模塊依然采用的是密碼輸入的方式,需要用戶(hù)輸入卡號(hào)、密碼然后點(diǎn)擊確認(rèn),程序?qū)⒏鶕?jù)輸入卡號(hào)查找密碼,程序系統(tǒng)將根據(jù)卡號(hào)調(diào)用后臺(tái)數(shù)據(jù)庫(kù)查找與卡號(hào)對(duì)應(yīng)的密碼并與用戶(hù)輸入的密碼相對(duì)比。密碼正確繼續(xù),否則當(dāng)輸入的次數(shù)達(dá)到三次時(shí),系統(tǒng)將提示你與前臺(tái)服務(wù)員取得聯(lián)系。 登陸錯(cuò)誤界面 登陸成功界面 余額查詢(xún)界面 在此模塊中,將通過(guò)用戶(hù)所使用的賬戶(hù)編號(hào)來(lái)進(jìn)行余額的查詢(xún),將顯示賬戶(hù)的實(shí)際余額,點(diǎn)擊“查詢(xún)”按鈕,通過(guò)按鈕的Action方法進(jìn)行方法調(diào)用,就可以實(shí)現(xiàn)查詢(xún)的功能并把查詢(xún)到的賬戶(hù)余額顯示到界面上。當(dāng)用戶(hù)點(diǎn)擊“返回
29、”時(shí),程序返回到初始程序主界面。 取款界面 取款模塊是一個(gè)相對(duì)比較重要的模塊,因?yàn)锳TM機(jī)就要的功能就是取款業(yè)務(wù),用戶(hù)選擇賬戶(hù)名點(diǎn)擊取款金額然后點(diǎn)擊取款進(jìn)行取款操作,所以幾個(gè)數(shù)字按鈕的設(shè)計(jì)比較大,方便用戶(hù)操作,其中一些提示信息也相應(yīng)地給出,以防用戶(hù)誤操作。由于此模塊不需要用戶(hù)輸入,所以沒(méi)有對(duì)輸入的異常處理。根據(jù)所查資料我所采用的Oracle語(yǔ)句調(diào)用方法是預(yù)處理指令方法,這種方法對(duì)于處理此程序具有很大的益處,而且可以防止非法Oracle注入。當(dāng)用戶(hù)點(diǎn)擊數(shù)組按鈕后系統(tǒng)將根據(jù)輸入的卡號(hào)查找卡號(hào)余額并與按鈕的數(shù)字相對(duì)比,如果選擇的金額大于本卡余額將提示(不允許透支)。 充值界面
30、 用戶(hù)輸入將要存入的金額,經(jīng)后臺(tái)分析,要求放入存款數(shù)目,識(shí)別后把金額存入賬戶(hù),賬戶(hù)余額被更新(增加)。 轉(zhuǎn)賬界面 在此模塊,用戶(hù)根據(jù)需要自己輸入卡號(hào)及欲轉(zhuǎn)金額,這里的設(shè)計(jì)其實(shí)最終歸結(jié)于具體的Oracle語(yǔ)句而言,系統(tǒng)將根據(jù)輸入的卡號(hào)查找與只對(duì)應(yīng)的用戶(hù)數(shù)據(jù)表,從而修改金額。第一,系統(tǒng)首先根據(jù)本卡號(hào),查找本卡金額與輸入的金額對(duì)比,如果找到,且金額允許就提示轉(zhuǎn)賬成功。第二,如果,沒(méi)有找到輸入的卡號(hào),提示沒(méi)有該用戶(hù),重新輸入欲轉(zhuǎn)賬號(hào)。 更改密碼界面 此模塊需要用戶(hù)輸入舊密碼后,兩次輸入新密碼進(jìn)行確認(rèn),然后,點(diǎn)擊確定,修改密碼,成功后給出提示信息,其中考慮到一些用
31、戶(hù)的輸入錯(cuò)誤問(wèn)題,我做出了一些異常的判斷和處理,空輸入,輸入兩次新密碼不匹配和原密碼不正確等問(wèn)題。修改更新密碼的完成仍然依靠按鈕控件的Action事件完成。 退卡模塊相對(duì)簡(jiǎn)單多了,沒(méi)有什么具體的界面設(shè)計(jì),只是一個(gè)消息的提示,也是一種友好的處理方式,以防止用戶(hù)誤操作的方法 數(shù)據(jù)庫(kù)查詢(xún) 8.3主界面設(shè)計(jì) 界面設(shè)計(jì)是幫助程序員提前了解要開(kāi)發(fā)的系統(tǒng)的界面操作怎么樣的,可以更好的幫助程序員在編寫(xiě)程序時(shí)理清思路,所以在每次項(xiàng)目之前做好界面設(shè)計(jì)的工作是必需的。 首頁(yè)設(shè)計(jì)界面 首頁(yè)的設(shè)計(jì)主要是設(shè)計(jì)了查詢(xún)余額、取款、轉(zhuǎn)賬、密碼更改及退出按鈕等銀行卡管理的一些標(biāo)準(zhǔn)操作界面。
32、 8.4子界面設(shè)計(jì) 九、項(xiàng)目系統(tǒng)實(shí)現(xiàn) 9.1實(shí)現(xiàn)環(huán)境與技術(shù) 本系統(tǒng)采用Java作為編程語(yǔ)言,采用Eclipse軟件開(kāi)發(fā)環(huán)境,Eclipse對(duì)數(shù)據(jù)庫(kù)應(yīng)用的強(qiáng)大支持,使數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)功能更強(qiáng)大,控制更靈活,編譯后的程序運(yùn)行速度更快。 9.2核心模塊實(shí)現(xiàn)技術(shù)代碼 此系統(tǒng)的功能實(shí)現(xiàn)主要取決于是否鏈接數(shù)據(jù)庫(kù)。充值中 int a=stmt.executeUpdate(" update zc set ye=ye+'"+str1+"' where yhm='"+登陸界面.username+"' ");為核心代碼; 登陸: ResultSet rs = stmt.executeQ
33、uery("select * from zc where yhm='"+str1+"' and mm='"+str2+"'"); 更改密碼: ResultSet rs = stmt.executeQuery("select * from zc where mm='"+str1+"'"); if(rs.next()) { if(str2!=str3) { int b=stmt.executeUpdate(" update zc set mm='"+str2+"' where yhm='"+登陸界面.username+"' "); 取款: in
34、t a=stmt.executeUpdate(" update zc set ye=ye-'"+str1+"' where yhm='"+登陸界面.username+"' "); 查詢(xún): ResultSet rs = stmt.executeQuery("select ye from zc where yhm= '"+登陸界面.username+"'"); 注冊(cè): int a= stmt.executeUpdate("insert into zc values('"+str1+"','"+str2+"','"+str3+"','"+str4+"','"+0+"')"); 轉(zhuǎn)賬:
35、 int a=stmt.executeUpdate(" update zc set ye=ye+'"+str3+"' where yhm='"+str1+"' "); int b=stmt.executeUpdate(" update zc set ye=ye-'"+str3+"' where yhm='"+登陸界面.username+"' "); 十、軟件測(cè)試信息報(bào)告 測(cè)試軟件前,需要測(cè)試若干個(gè)測(cè)試用例,每個(gè)測(cè)試用例由測(cè)試輸入數(shù)據(jù)和預(yù)期結(jié)果組成,測(cè)試時(shí)通過(guò)輸入數(shù)據(jù),運(yùn)行被測(cè)程序,如果運(yùn)行的實(shí)際輸出與預(yù)期結(jié)果不一致,則表明發(fā)現(xiàn)了程序中的錯(cuò)誤。 10.1測(cè)試
36、范圍與主要內(nèi)容 程序設(shè)計(jì)語(yǔ)言的選擇通??紤]到項(xiàng)目的應(yīng)用領(lǐng)域、軟件開(kāi)發(fā)方法、軟件執(zhí)行環(huán)境、算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性、和軟件開(kāi)發(fā)人員的知識(shí)。程序設(shè)計(jì)是指使用選定的程序設(shè)計(jì)語(yǔ)言,把經(jīng)過(guò)概要設(shè)計(jì)各詳細(xì)設(shè)計(jì)所得到的信息處理過(guò)程,轉(zhuǎn)換成能在計(jì)算機(jī)上運(yùn)行的程序源代碼。 本系統(tǒng)中用Eclipse編程工具,采用結(jié)構(gòu)化的編程方法對(duì)模塊進(jìn)行程序編寫(xiě)。具體源程序見(jiàn)附頁(yè)。 10.2測(cè)試方法 軟件測(cè)試的目的是盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,而調(diào)試則是在進(jìn)行了成功的測(cè)試之后才開(kāi)始的工作。程序調(diào)試是指在系統(tǒng)測(cè)試的基礎(chǔ)上,將發(fā)現(xiàn)的問(wèn)題進(jìn)行改正,使之符合設(shè)計(jì)標(biāo)準(zhǔn)。本系統(tǒng)采用的主要方法如下: (1) 單元測(cè)試:是指原程序
37、中每個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。采用白盒法對(duì)各模塊進(jìn)行邏輯錯(cuò)誤排查,用黑盒法錄入一些有特征的數(shù)據(jù)從不同角度驗(yàn)證結(jié)果。 (2) 集成測(cè)試:在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成一個(gè)完整的系統(tǒng)進(jìn)行測(cè)試。 (3) 確認(rèn)測(cè)試(有效性測(cè)試):它的任務(wù)是檢查軟件的功能與性能是否與需求規(guī)格說(shuō)明書(shū)中確定的指標(biāo)相符合。一般分為用黑盒進(jìn)行確認(rèn)測(cè)試,再檢查軟件所有文檔的完整性、正確性——軟件配置審查。 10.3系統(tǒng)測(cè)試步驟 測(cè)試過(guò)程一般分為4個(gè)步驟,即單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試及發(fā)版測(cè)試。 開(kāi)始是單元測(cè)試,集中對(duì)用源代碼
38、實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確實(shí)現(xiàn)規(guī)定的功能。 集成測(cè)試把已測(cè)試過(guò)的模塊組裝起來(lái),主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。 確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿(mǎn)足了需求規(guī)格說(shuō)明中的確定了的各種需求,以及軟件配置是否完全、正確。 系統(tǒng)測(cè)試把已經(jīng)經(jīng)過(guò)確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其他系統(tǒng)成分組合在一起進(jìn)行測(cè)試。 10.4系統(tǒng)優(yōu)點(diǎn) 界面美觀(guān)簡(jiǎn)約,易于用戶(hù)操作,可以減輕銀行管理人員的工作量。程序可讀性強(qiáng),易懂易維護(hù)用戶(hù)界面簡(jiǎn)潔,方便了用戶(hù)使用,安全性好,系統(tǒng)仍然使用輸入密碼方式,保證了系統(tǒng)的安全,系統(tǒng)穩(wěn)定,基本達(dá)到預(yù)期的功能要求。 十一、軟件使用說(shuō)明書(shū) 1
39、1.1軟件概述 ATM自動(dòng)取款機(jī)是由計(jì)算機(jī)控制的持卡人自我服務(wù)型的金融專(zhuān)用設(shè)備。銀行卡管理測(cè)試系統(tǒng)是最普遍的自助銀行設(shè)備,可以提供最基本的銀行服務(wù)之一,即取款功能,有些全功能的產(chǎn)品還可以提供信封存款業(yè)務(wù)。在A(yíng)TM自動(dòng)取款機(jī)上也可以進(jìn)行賬戶(hù)查詢(xún)、修改密碼和轉(zhuǎn)賬的業(yè)務(wù)。 同時(shí)在制作這個(gè)系統(tǒng)的過(guò)程中也應(yīng)用了數(shù)據(jù)庫(kù)的知識(shí),這個(gè)相對(duì)于我們專(zhuān)業(yè)來(lái)說(shuō)是比較重要的內(nèi)容,這個(gè)也是這個(gè)學(xué)期學(xué)習(xí)的重點(diǎn)知識(shí),同時(shí)數(shù)據(jù)庫(kù)鏈接是必須要學(xué)會(huì)的,因?yàn)檫@個(gè)是最核心的內(nèi)容,培養(yǎng)自己堅(jiān)實(shí)的邏輯表達(dá)能力和溝通能力,和培養(yǎng)自己良好的文案能力。掌握ATM取款機(jī)的具體工作原理以及java簡(jiǎn)單系統(tǒng)的設(shè)計(jì)方法。 11.2使用說(shuō)明
40、windows 平臺(tái)以其全新的界面簡(jiǎn)單快捷的操作方式而成為軟件開(kāi)發(fā)的趨勢(shì)。根據(jù)本系統(tǒng)的運(yùn)行環(huán)境和實(shí)際情況,選擇Win7作為開(kāi)發(fā)測(cè)試和運(yùn)行的平臺(tái)。 按照界面提示完成即可。 十二、系統(tǒng)開(kāi)發(fā)評(píng)價(jià) 系統(tǒng)評(píng)價(jià)應(yīng)是貫穿系統(tǒng)整個(gè)生命周期各個(gè)階段的重要決策手段和工作環(huán)節(jié)。狹義上的系統(tǒng)評(píng)價(jià)是指系統(tǒng)投入運(yùn)行后從功能性能、經(jīng)濟(jì)效益、社會(huì)效益上的評(píng)價(jià) 本系統(tǒng)基本實(shí)現(xiàn)了取款、查詢(xún)余額、轉(zhuǎn)賬、修改密碼等功能,但由于時(shí)間短、知識(shí)水平有限,經(jīng)驗(yàn)不足,系統(tǒng)仍存在不足,該系統(tǒng)主要有以下特點(diǎn): 1、程序可讀性強(qiáng),易懂易維護(hù) 2、用戶(hù)界面簡(jiǎn)潔,方便了用戶(hù)使用。 3、安全性好,系統(tǒng)仍然使用輸入密碼方式,保證了
41、系統(tǒng)的安全。 4、系統(tǒng)穩(wěn)定,基本達(dá)到預(yù)期的功能要求。 5、系統(tǒng)還存在著許多不足,特別是在數(shù)據(jù)庫(kù)的鏈接上,在代碼的編寫(xiě)上也存在著很多的不足,代碼存在著很多的缺陷。 6、在系統(tǒng)的的界面效果上也存在不足,系統(tǒng)界面顯示應(yīng)在屏中間。 總的來(lái)說(shuō),本次設(shè)計(jì)當(dāng)中存有許多的不足之處,基本上設(shè)計(jì)出了和自己預(yù)想中的效果,但同時(shí)在設(shè)計(jì)上也還存在著很多的,很多事沒(méi)有什么用的代碼,我想是因?yàn)闀r(shí)間和經(jīng)驗(yàn)的問(wèn)題,以后多練習(xí)就肯定能提高,UI設(shè)計(jì)方面,仔細(xì)地看,還有一些小問(wèn)題,系統(tǒng)運(yùn)行時(shí)的警告就多達(dá)36處,但不會(huì)影響程序的運(yùn)行,只會(huì)在美觀(guān)方面有一定的影響,今后一定改善。 附:參考資料和源代碼部分
42、 參考資料: 參考文獻(xiàn) [1]Java 程序設(shè)計(jì)精講 主編 許煥新 丁宏偉 清華大學(xué)出版社 [2]Sql Server 實(shí)用教程 主編 鄭阿奇 電子工業(yè)出版社 [3]數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)案例精選 主編 楊湖 李鳳蕾 人民郵電出版社 參考網(wǎng)絡(luò)資源 [1] 豆丁網(wǎng) .html [2] 百度知道 [3] 百度文庫(kù) 源代碼: // 充值 package rjgc; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.Dri
43、verManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.*; public class 充值 extends JFrame implements ActionListener{ JTextField tf1; JButton bt1; public 充值(){ JLabel l1=new JLabel ("充值"); JLabel l2=new JLabel("充 值:"); tf1 = new JTextFie
44、ld("0",18); bt1=new JButton("確定"); bt1.addActionListener(this); JPanel p1=new JPanel(); l1.setFont(new Font("隸書(shū)",Font.BOLD+Font.ITALIC,30)); p1.add(l1); JPanel p2=new JPanel(); p2.add(l2); p2.add(tf1); p2.setLayout(new FlowLayout(FlowLayout.LEFT,25,30)); p2.add(bt1);
45、 add(p1,"North"); add(p2,"Center"); setSize(360, 200); setVisible(true); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); this.setResizable(false); this.setLocation(430, 220); } public void actionPerformed(ActionEvent e) { String str1
46、; if(e.getSource()==bt1) { str1=tf1.getText(); try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn =DriverManager.getCo
47、nnection(url,"system","beyond"); Statement stmt=conn.createStatement();//// int a=stmt.executeUpdate(" update zc set ye=ye+'"+str1+"' where yhm='"+登陸界面.username+"' "); if(a==1) { this.dispose(); JOptionPane.showMessageDialo
48、g(null,"恭喜你充值成功!"); } stmt.close(); conn.close(); } catch (Exception ex) { ex.printStackTrace(); } } } } // 登錄代碼 package rjgc; import java.awt.*; import java.awt.event.*; i
49、mport javax.swing.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.*; import java.sql.*; public class 登陸界面 extends JFrame implements ActionListener { JButton bt1; JButton bt2; JTextField tf1; JP
50、asswordField pwf1; public static String username=null; public 登陸界面() { bt1 = new JButton("登陸"); bt2= new JButton("注冊(cè)"); tf1 = new JTextField("請(qǐng)輸入您的賬號(hào)或名稱(chēng)",16); pwf1 = new JPasswordField("",16); JLabel l1 = new JLabel("銀行卡管理測(cè)試系統(tǒng)"); JLabel l2 = new JLabel("用戶(hù)名:"); JLabel l3 =
51、new JLabel("密 碼:"); JLabel l4 = new JLabel("版權(quán)所有@2011 corporation"); JPanel p2 = new JPanel();// center p2.setLayout(new FlowLayout(FlowLayout.LEFT,25,30)); p2.add(l2); p2.add(tf1); p2.add(bt1); p2.add(l3); p2.add(pwf1); p2.add(bt2); p2.setBackground( new Colo
52、r(254,254,254)); JPanel p3=new JPanel();////north l1.setFont(new Font("隸書(shū)",Font.BOLD+Font.ITALIC,30));//italic斜體 p3.setLayout(new FlowLayout(FlowLayout.CENTER,10,5)); p3.add(l1); p3.setBackground( new Color(244,244,245)); JPanel p1=new JPanel
53、(); l4.setFont(new Font("宋體",Font.BOLD,15)); p1.add(l4);/////south p1.setBackground( new Color(244,244,245)); bt2.addActionListener(this); bt1.addActionListener(this); add(p3,"North"); add(p1,"South"); add(p2,"Center"); setSize(400, 270); setVisible
54、(true); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); this.setResizable(false); this.setLocation(430, 220); } public static void main(String[] args) { 登陸界面 f = new 登陸界面(); } public void actionPerformed(ActionEvent e) { if (e.getSource()== bt2) { new 注冊(cè)界面();
55、 this.dispose(); } if(e.getSource()== bt1){ { String str1=tf1.getText(); username=tf1.getText(); String str2=pwf1.getText(); try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl
56、"; Connection conn =DriverManager.getConnection(url,"system","beyond"); Statement stmt=conn.createStatement();//// ResultSet rs = stmt.executeQuery("select * from zc where yhm='"+str1+"' and mm='"+str2+"'"); if(rs.next())
57、 { this.dispose(); JOptionPane.showMessageDialog(null,"恭喜你登入成功!"); new 登陸成功主界面(); } else { JOptionPane.showMessageDialog(null,"你輸入有錯(cuò),請(qǐng)重新輸入!"); } rs.close(); stmt.clos
58、e(); conn.close(); } catch (Exception ex) { ex.printStackTrace(); } } } } } // 更改密碼 package rjgc; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
59、 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField
60、; public class 更改密碼 extends JFrame implements ActionListener { JPasswordField pwf1; JPasswordField pwf2; JPasswordField pwf3; JButton bt1; public 更改密碼(){ JLabel l1= new JLabel("當(dāng)前密碼:"); JLabel l2= new JLabel("新 密 碼:"); JLabel l3= new JLabel("確認(rèn)密碼:"); pwf1 = new JPasswordF
61、ield("",16); pwf2 = new JPasswordField("",16); pwf3 = new JPasswordField("",16); bt1 = new JButton("確認(rèn)"); JPanel p1 = new JPanel(); p1.setLayout(new FlowLayout(FlowLayout.LEFT,25,30)); p1.add(l1);p1.add(pwf1); p1.add(l2);p1.add(pwf2); p1.add(l3);p1.add(pwf3); p1.add(bt
62、1); bt1.addActionListener(this); add(p1,"Center"); setSize(330, 300); setVisible(true); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); this.setResizable(false); this.setLocation(430, 220); } public void actionPerformed(ActionEvent e){ if(e.get
63、Source()==bt1){ String str1=pwf1.getText(); String str2=pwf2.getText(); String str3=pwf3.getText(); try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn =DriverManager.getCon
64、nection(url,"system","beyond"); Statement stmt=conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from zc where mm='"+str1+"'"); if(rs.next()) { if(str2!=str3) { int b=stmt.executeUpdate(" update zc set mm='"+str
65、2+"' where yhm='"+登陸界面.username+"' "); if(b==1) { this.dispose(); JOptionPane.showMessageDialog(null,"修改密碼成功!"); } }/// if(str2==str3) else{ JOptionPane.showMessageDialog(null,"兩次輸入的密碼不一致!"); }
66、}// if(b==1) else { JOptionPane.showMessageDialog(null,"當(dāng)前密碼輸入錯(cuò)誤!請(qǐng)重新輸入"); } stmt.close(); conn.close(); } catch (Exception ex) { ex.printStackTrace(); } // this.dispose(); } } } // 取款 package rjgc; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import ja
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案