軟件工程銀行卡管理系統(tǒng)課程設計[共57頁]

上傳人:gfy****yf 文檔編號:55689198 上傳時間:2022-02-18 格式:DOC 頁數(shù):57 大小:981.50KB
收藏 版權申訴 舉報 下載
軟件工程銀行卡管理系統(tǒng)課程設計[共57頁]_第1頁
第1頁 / 共57頁
軟件工程銀行卡管理系統(tǒng)課程設計[共57頁]_第2頁
第2頁 / 共57頁
軟件工程銀行卡管理系統(tǒng)課程設計[共57頁]_第3頁
第3頁 / 共57頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件工程銀行卡管理系統(tǒng)課程設計[共57頁]》由會員分享,可在線閱讀,更多相關《軟件工程銀行卡管理系統(tǒng)課程設計[共57頁](57頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 重慶師范大學 課程名稱:軟件工程課程設計 試題題目:銀行卡管理測試系統(tǒng) 姓 名:*** 學 號:20090512196 專 業(yè):2009級計算機科學與技術(非師范) 學 院:計算機與信息科學學院 時 間:2012年1月4號 目錄 一、開發(fā)背景與目標 5 1.1開發(fā)背景 5 1.2開發(fā)目標與思想 5 二、需求分析說明 5 2.1系統(tǒng)介紹 6 2.2系統(tǒng)面向的用戶群體 6 2.3系統(tǒng)的功能需求 7 2.4 系統(tǒng)非功能性需求 7 2.4.1軟硬件環(huán)境需求 7 2.4.2軟件質量需求 7 2.4.3

2、用戶界面需求 7 三、可行性分析報告 8 3.1 經(jīng)濟可行性分析 8 3.2操作可行性分析 8 3.3技術可行性分析 8 3.4時間、設備可能性 8 四、開發(fā)環(huán)境與項目規(guī)劃 9 4.1開發(fā)環(huán)境 9 4.2項目規(guī)劃與管理 9 4.2.1開發(fā)人員安排 9 4.2.2開發(fā)進度安排 9 五、結構化分析與設計 10 5.1結構化分析 10 5.2結構化設計 14 六、面向對象分析與設計 18 七、數(shù)據(jù)庫分析與設計 24 7.1數(shù)據(jù)庫環(huán)境說明 25 7.2數(shù)據(jù)庫命名標準與規(guī)范 25 7.3數(shù)據(jù)庫邏輯設計 26 7.3.1邏輯設計步驟 26 7.4數(shù)據(jù)庫物理設計 2

3、6 7.4.1數(shù)據(jù)庫物理設計步驟 26 7.4.2表、視圖匯總 26 7.4.3各表、視圖設計詳解 27 八、人機界面設計 27 8.1界面設計原則 27 8.2系統(tǒng)窗口匯總 28 8.3主界面設計 33 8.4子界面設計 34 九、項目系統(tǒng)實現(xiàn) 35 9.1實現(xiàn)環(huán)境與技術 35 9.2核心模塊實現(xiàn)技術代碼 35 十、軟件測試信息報告 36 10.1測試范圍與主要內(nèi)容 36 10.2測試方法 37 10.3系統(tǒng)測試步驟 37 10.4系統(tǒng)優(yōu)點 37 十一、軟件使用說明書 38 11.1軟件概述 38 11.2使用說明 38 十二、系統(tǒng)開發(fā)評價 38 附

4、:參考資料和源代碼部分 39 一、開發(fā)背景與目標 1.1開發(fā)背景 本系統(tǒng)選題為銀行卡管理測試系統(tǒng),是模擬銀行卡管理開發(fā)的。隨著計算機的飛速發(fā)展及應用領域的擴大,特別是計算機網(wǎng)絡和電子商務的發(fā)展,極大的改變了商業(yè)銀行傳統(tǒng)的經(jīng)營模式。能夠為客戶提供方便、快捷、安全的服務,也能夠有效的降低銀行的營運成本,這是銀行卡管理系統(tǒng)追求的目標。目前,對于現(xiàn)代化銀行運營的要求是客戶可以實現(xiàn)隨時隨地的業(yè)務交易,銀行職員可以進行高效合理的工作管理,實現(xiàn)銀行業(yè)務電子化。 1.2開發(fā)目標與思想 本系統(tǒng)的設計指導思想是一切為使用者著想,利用JAVA語言在Eclipse下設計了這么一個系統(tǒng),界

5、面美觀,使得用戶可以安全的進行操作,便捷,快速的進行取款以及完成一些商業(yè)上的交易,大大提高辦公效率,能夠及時、準確、有效的幫用戶辦理各種繁瑣的手續(xù),也減緩了銀行工作人員的壓力。 具體表現(xiàn)為: (1)系統(tǒng)應該符合銀行卡管理的規(guī)定,滿足相關人員使用系統(tǒng)的基本需要并要求達到操作過程中,直觀、方便、實用、安全等需求; (2)系統(tǒng)采用模塊化程序設計方法,便于系統(tǒng)功能的各種組合和修改,又便于未參加開發(fā)的程序人員補充、維護; (3)系統(tǒng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需要進行數(shù)據(jù)添加、刪除等操作; (4)采用軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應用效果的目的。 二

6、、需求分析說明 需求分析說明是管理系統(tǒng)開發(fā)的起始階段,也是MIS開發(fā)工作中最重要的一環(huán)。需求分析的目標是明確系統(tǒng)開發(fā)的目標和用戶信息需求,提出系統(tǒng)的邏輯方案。為系統(tǒng)設計做好準備。 2.1系統(tǒng)介紹 銀行卡管理系統(tǒng)是由計算機控制的持卡人自我服務型的金融業(yè)專用設備。是最普遍的自助銀行設備,可以提供最基本的銀行服務之一,即取錢交易,有些功能全的設備還可以提供自助存、款業(yè)務。由銀行卡管理系統(tǒng)應用的ATM自動取款機上還可以進行賬戶查詢、修改密碼和轉賬等簡便業(yè)務。 同時在制作這個系統(tǒng)的過程中也應用了數(shù)據(jù)庫的知識,數(shù)據(jù)庫鏈接是本系統(tǒng)的設計的重點。銀行卡管理系統(tǒng)可以分為管理員管理系統(tǒng)與用戶操作系

7、統(tǒng),管理員管理系統(tǒng)負責用戶數(shù)據(jù)的創(chuàng)建、修改與管理;用戶操作系統(tǒng)接受用戶操作命令以后,執(zhí)行并上報給管理員管理系統(tǒng),。由管理員管理系統(tǒng)修改用戶數(shù)據(jù)庫,用戶操作系統(tǒng)只能執(zhí)行用戶命令,不能修改用戶數(shù)據(jù)。 銀行卡管理測試系統(tǒng)結構如圖: 2.2系統(tǒng)面向的用戶群體 金融業(yè)中應用銀行儲蓄卡的廣大用戶,簡單的操作,比如:取款(2000以內(nèi))、存款(少量金額)、轉賬、修改密碼等簡易的銀行卡操作。 2.3系統(tǒng)的功能需求 通過銀行卡管理系統(tǒng)一方面加快了客戶的服務,提高的服務質量,另一方面減輕了員工的工作復雜度,提高了工作效益,實現(xiàn)了銀行卡賬戶管理的的系統(tǒng)化、規(guī)范化、自動化、和智能化。系統(tǒng)具體實現(xiàn)

8、如下: (1) 鍵盤操作,快速響應 (2) 對用戶輸入的數(shù)據(jù),系統(tǒng)會進行嚴格的檢驗,盡量避免人為錯誤 (3) 實現(xiàn)銀行開戶、取款、存款、查詢、轉賬、修改密碼等功能 (4) 系統(tǒng)運行穩(wěn)定,可靠 (5) 系統(tǒng)人性化,符合用戶操作習慣 (6) 使用控制臺進行操作 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軟件質量需求 軟件開發(fā)所用的系統(tǒng)要能夠應用Oracle和運行java 的軟件Eclipse 2.4.3用戶界面需求 用戶界面需求就是陳述所需要的用戶界面的軟件組件。描述每個用戶界面的邏輯特征。以下是可能要包括

10、的一些特征。 (1)將要采用的圖形用戶界面(GUI)標準或產(chǎn)品系列的風格 (2)屏幕布局或解決方案的限制 (3)將出現(xiàn)在每個屏幕的按鈕、功能或導航鏈結(例如一個幫助按鈕)。 (4)快捷鍵 (5)錯誤信息顯示標準(按照ATM自動取款機的應用界面為標準) 以Windows窗口形式顯示,標題欄為銀行卡管理測試系統(tǒng)名稱,右上角有最小按鈕、最大化按鈕、關閉按鈕,不同窗口中有不同的按鈕盒選擇菜單。 三、可行性分析報告 可行性研究的目的就是用最小的代價在最短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。實質上就是進行一次簡化、壓縮了的需求分析、設計過程??蓮娜齻€方面分析研

11、究每種解決問題的可行性 3.1 經(jīng)濟可行性分析 經(jīng)濟可行性:進行開發(fā)成本的估算以及了解得到效益的評估,確定要開發(fā)項目是否值得投資開發(fā)。對銀行業(yè)來說,是依靠存款、貸款之間的差額來生存的,所以要盡可能的拉攏更多的客戶使用本行,銀行卡管理系統(tǒng)是為了能讓為客戶更便捷的服務,從而更具有吸引力。從銀行角度出發(fā)還是非常愿意把一部分資金投入到這方面研究當中的。 3.2操作可行性分析 開發(fā)的銀行卡管理測試系統(tǒng)需要根據(jù)銀行卡管理規(guī)定操作,不得有侵害他人隱私盜取金額為目的。銀行卡管理測試系統(tǒng)方便運行操作,組內(nèi)人員有著良好的道德修養(yǎng)。會根據(jù)用戶的實際需要來開發(fā)此程序,操作快捷,易于掌握。 3.3技術可行性

12、分析 技術可行性:對項目的功能、性能、限制條件進行分析,確定在現(xiàn)有的資源和技術件下系統(tǒng)是否能實現(xiàn)。(開發(fā)的風險、資源的有效性、技術)通過對開發(fā)風險、資源有效性和技術分析后,認為開發(fā)銀行卡管理系統(tǒng)風險小,資源充足,技術可以應付,但是一定要以生活中的銀行卡管理過程中的信息為基礎。 3.4時間、設備可能性 開發(fā)人員可以根據(jù)自己時間充分發(fā)揮編譯操作,也可以在上機時進行研究,時間充足,每個開發(fā)人員都有可以操作的電腦,可以查閱資料在圖書館。 四、開發(fā)環(huán)境與項目規(guī)劃 4.1開發(fā)環(huán)境 利用Java語言強大功能,并具有面向對象開發(fā)等的特點,聯(lián)系實際銀行卡管理系統(tǒng)的應用界面,采用Eclip

13、se開發(fā)工具,以Win7、Window XP等32位操作系統(tǒng)、Oracle為后臺開發(fā)出了一套銀行卡管理測試系統(tǒng),基本上實現(xiàn)了賬戶查詢、修改密碼、轉賬、充值和取款等業(yè)務。 4.2項目規(guī)劃與管理 4.2.1開發(fā)人員安排 開發(fā)人員主要是經(jīng)過大家興趣一致、自愿組合的一個小組,由于本系統(tǒng)設計面廣,操作復雜,信息要求強,所以我們選擇三個人為一個小組,采取分工合作、共同探討的原則,努力編輯并且完善系統(tǒng)應用。組內(nèi)成員有***、***和***。 4.2.2開發(fā)進度安排 10月13日 開始討論(給予兩周時間進行調(diào)查分析探討,確保進行項目研究據(jù)充足) 討論內(nèi)容:1)系統(tǒng)

14、名的確定 2)運行環(huán)境 3)系統(tǒng)應用價值 4)用戶群體 5) 需求分析說明 6)可行性分析 7)項目規(guī)劃 8)編譯語言 11月3日 經(jīng)過小組成員查閱資料并做出討論,最終做出決定,我們組將要開發(fā)銀行卡管理測試系統(tǒng),其具有強大的市場,應用價值廣泛,應用知識廣泛能夠充分利用教材所學知識,由于Java語言具有面向對象開發(fā)等特點,所以選擇J

15、ava語言進行編譯。分工如下,***負責整體編譯模塊連接分出編譯模塊和用戶注冊模塊,***負責轉賬、充值、取款模塊和數(shù)據(jù)庫設計,***負責賬戶查詢、修改密碼和文檔編輯。(每周四上課時間進行進度匯報,組長并根據(jù)進度進行調(diào)整和規(guī)劃) 五、結構化分析與設計 結構化分析與設計方法是一種面向數(shù)據(jù)流的傳統(tǒng)軟件開發(fā)方法,它以數(shù)據(jù)流為中心構建軟件的分析模型和設計模型。結構化分析、結構化設計和結構化程序設計構成了完整的結構化方法。 早期的結構化分析方法的分析結果包括:一套分層的數(shù)據(jù)流圖、一本數(shù)據(jù)字典(包括E-R圖)、一組加工規(guī)約以及其他補充資料(如非功能性需求等)。 5.1結構化分析 數(shù)據(jù)流圖是描

16、述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工),用于對系統(tǒng)的功能建模。銀行卡管理測試系統(tǒng)的流程圖如下: 流程圖: 銀行卡測試系統(tǒng)0層圖: 銀行卡管理測試系統(tǒng)頂層圖: 銀行卡管理測試系統(tǒng)加工1子圖: 銀行卡管理系統(tǒng)加工2: 從前面的描述中可以看出數(shù)據(jù)流和數(shù)據(jù)字典是密不可分的,兩者結合起來構成軟件的邏輯模型(分析模型)。 通過仔細調(diào)查得出E-R圖 數(shù)據(jù)字典為下圖: 卡號的數(shù)據(jù)字典 名稱:卡號 別名:user 簡述:唯一標識用戶清單里的一個特定

17、的唯一的一個編號 數(shù)據(jù)類型:int 取值范圍:000000……999999 處理的數(shù)據(jù)字典 名稱:處理 別名:dealway 簡述:對卡內(nèi)信息進行處理的方法 數(shù)據(jù)流組成:取款+存款+轉賬+修改密碼+余額查詢+退出 數(shù)據(jù)流來源:卡號處理命令庫 數(shù)據(jù)流去向:打印憑條 數(shù)據(jù)量:但系統(tǒng)內(nèi)余額為0時 卡號信息的數(shù)據(jù)字典 名稱:卡號信息 別名:card-message 簡述:對用戶的信息進行管理 文件組成:卡號+身份證號+卡內(nèi)余額+電話號碼 5.2結構化設計 結構化設計是將結構化分析數(shù)據(jù)流圖映射成軟件體系結構的一種設計方法,SD強調(diào)模

18、塊化、自頂向下逐步求精、信息隱藏、高內(nèi)聚低耦合等設計準則。 在結構化設計中用結構圖來描述軟件系統(tǒng)的體系結構,指出一個軟件系統(tǒng)由那些模塊組成以及模塊之間的調(diào)用關系,如下圖所示: 結構圖第一分解圖: 卡號注冊第一級分解圖: 卡號注冊第二級分解圖: 卡號處理第一分解圖: 卡號處理第二級分解圖: 該系統(tǒng)主要實現(xiàn)銀行卡用戶的存款、取款,以及進行一些簡單的查詢和轉賬業(yè)務,同時能夠在系統(tǒng)里面進行客戶密碼的修改,實現(xiàn)簡單的機器與客戶交互。 六、面向對象分析與設計 面向對象方法是一種把面向對象的思想應用于軟件開發(fā)過程中,指導開發(fā)活動的

19、系統(tǒng)方法,是建立在對象概念(對象、類和繼承)基礎上的方法,簡稱OO方法。 面向對象分析的目標是完成對所解問題的分析,確定待建的系統(tǒng)要做什么,并建立系統(tǒng)模型。 用況視圖是列出系統(tǒng)中的用況和執(zhí)行者,并顯示了哪個執(zhí)行者參與了哪個用況的執(zhí)行,此系統(tǒng)的用況圖如下: 下面給出部分用況的詳細描述。 (1)開戶用況描述 用況名稱:開戶 參與的執(zhí)行者:銀行職員(客戶代理),客戶 前置條件:一個合法的銀行職員(客戶代理)已登錄到該系統(tǒng) 事件流: 1.當選擇開戶功能時用況開始 2.輸入客戶信息(姓名、地址、身份證號等) 3.從賬戶管理系統(tǒng)獲取新的賬號 4.請客戶輸入密碼

20、 5.請客戶再次輸入密碼 6.如果兩次密碼不一致則回到第4步,否則繼續(xù) 7.在賬戶庫中增加新客戶 8.打印存折,用況結束 后置條件:在賬戶庫中增加了一個新賬戶,得到一張新銀行卡 (2)取款用況描述 用況名稱:取款 參與的執(zhí)行者:銀行職員(客戶代理) 前置條件:一個合法的銀行職員(客戶代理)已登錄到該系統(tǒng) 事件流: 基本路勁: 1、當選擇取款功能時,用況開始 2、當輸入客戶信息時(姓名、賬號等)后 (a)如果客戶信息與賬戶不一致,顯示錯誤信息,可以重新輸入或結束用況 (b)如果該賬戶被凍結(如因掛失而凍結),顯示凍結信息

21、并結束用況 3、輸入并校驗密碼 4、輸入取款金額,如果該賬戶的余額小于取款金額,顯示錯誤信息,要求重新輸入 5、打印取款單 6、建立取款事件記錄,更新賬戶信息 7、用況結束 可選路勁: 第3步校驗密碼時,如果發(fā)現(xiàn)密碼不一致,則重新輸入密碼,或用況結束 后置條件:如果取款成功,客戶賬戶的余額被更新(減少、增加),否則余額不變 活動圖描述用況 可以用活動圖描寫用況的活動順序。系統(tǒng)活動圖如下: 取款用況的活動圖: 存款用況的活動圖: 注冊用況的活動圖: 七、數(shù)據(jù)庫分析與設計 數(shù)據(jù)庫設

22、計指對系統(tǒng)所采用的數(shù)據(jù)模式、子模式、應用程序、數(shù)據(jù)庫等根據(jù)用戶的具體要求進行分析和設計。它也是管理信息系統(tǒng)設計的重要組成部分。數(shù)據(jù)庫設計的基本原則是盡可能提高數(shù)據(jù)組織的相對獨立性,簡化其結構,即用規(guī)范化方法設施數(shù)據(jù)存儲的結構,提高數(shù)據(jù)的可維護性、完整性、一致性。通過收集和分析用戶需求,確定了數(shù)據(jù)庫要保存的信息,我將此次數(shù)據(jù)庫設計為二個如下所示表的設計如下: 用戶信息設計表 1、客戶表(user) CardID 字段信息 字段名稱 類型 寬度 小數(shù)位數(shù) 空特性 用戶名 uname varchar 18 身份證號 uid int 18 N 卡號

23、 ucno int 18 N 賬戶信息設計表 2、賬戶表(card) CardID 字段信息 字段名稱 類型 寬度 小數(shù)位數(shù) 空特性 卡號 cno int 18 N 賬戶余額 cjine int 18 N 密碼 cnima int 18 N 7.1數(shù)據(jù)庫環(huán)境說明 Oracle 數(shù)據(jù)庫,運行環(huán)境是Windows x p.。 7.2數(shù)據(jù)庫命名標準與規(guī)范 數(shù)據(jù)庫命名為system,密碼為beyond。 規(guī)范與標準: 1. 其中表明盡量避免中文拼音和特殊字符。盡多使用英文。 2. 不能使用毫無意

24、義的單詞??s寫要基本能表達單詞的意思。 3. 當出現(xiàn)對象命名重名時,是不同類型是,應該加前綴加以表示。 4. 名稱一律大寫,放表數(shù)據(jù)轉移。 其中有兩張表。 注冊表存儲本卡之內(nèi)的相關信息。如取款,余下金額,修改密碼等! 其他表存儲本卡之外所有卡的相關信息。 數(shù)據(jù)庫登陸界面: 7.3數(shù)據(jù)庫邏輯設計 7.3.1邏輯設計步驟 1.需求分析:了解用戶的數(shù)據(jù)需求、處理需求、安全性及完整性要求; 2.概念設計:通過數(shù)據(jù)抽象,設計系統(tǒng)概念模型,一般為E-R模型; 3.邏輯結構設計:設計系統(tǒng)的模式和外模式,對于關系模型主要是基本表和視圖; 7.4數(shù)據(jù)庫物理設計 7.4.1數(shù)據(jù)

25、庫物理設計步驟 1.物理結構設計:設計數(shù)據(jù)的存儲結構和存取方法,如索引的設計; 2.系統(tǒng)實施:組織數(shù)據(jù)入庫、編制應用程序、試運行; 3.運行維護:系統(tǒng)投入運行,長期的維護工作。 7.4.2表、視圖匯總 創(chuàng)建表的語句,和圖。 表和視圖的視圖: 注冊表視圖: 其他表視圖: 7.4.3各表、視圖設計詳解 創(chuàng)建注冊表的語句為: 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)); 表中用戶名,密碼等考慮到有復雜字符,所以都是設計成varchar2型的。而余下金額整形不夠大所以也是設計成字符型。后來根據(jù)需要改成了number型,這更實用。 八、人機界面設計 8.1界面設計原則 (1)遵循一致原則,確立標準并遵循 (2)(Color)顏色使用恰當,遵循對比原則 (

27、3)(Resource)資源 (4)(Font)字體 (5)(Text)文字表達 (6)(Style)控件風格,不要使用錯誤控件,控件功能要專一 (7)(Align)控件布局,窗口不擁擠,按功能組合控件 (8)Tab順序 (9)快捷鍵、加速鍵和彈出菜單 (10)用戶交互 (11)聯(lián)機幫助 (12)發(fā)行時闡明規(guī)則 8.2系統(tǒng)窗口匯總 用戶界面設計目前已成為評價軟件質量的一條重要指標,所謂用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸入、輸出設計、人機對話的界面設計。 一般登陸模塊只輸入賬號、密碼,當然在實際應用中沒有要求用戶輸入賬號,這是因為在磁卡上有個感應區(qū),所以在編

28、程序時加上了請輸入賬號。 登陸模塊輸入界面 登錄模塊依然采用的是密碼輸入的方式,需要用戶輸入卡號、密碼然后點擊確認,程序將根據(jù)輸入卡號查找密碼,程序系統(tǒng)將根據(jù)卡號調(diào)用后臺數(shù)據(jù)庫查找與卡號對應的密碼并與用戶輸入的密碼相對比。密碼正確繼續(xù),否則當輸入的次數(shù)達到三次時,系統(tǒng)將提示你與前臺服務員取得聯(lián)系。 登陸錯誤界面 登陸成功界面 余額查詢界面 在此模塊中,將通過用戶所使用的賬戶編號來進行余額的查詢,將顯示賬戶的實際余額,點擊“查詢”按鈕,通過按鈕的Action方法進行方法調(diào)用,就可以實現(xiàn)查詢的功能并把查詢到的賬戶余額顯示到界面上。當用戶點擊“返回

29、”時,程序返回到初始程序主界面。 取款界面 取款模塊是一個相對比較重要的模塊,因為ATM機就要的功能就是取款業(yè)務,用戶選擇賬戶名點擊取款金額然后點擊取款進行取款操作,所以幾個數(shù)字按鈕的設計比較大,方便用戶操作,其中一些提示信息也相應地給出,以防用戶誤操作。由于此模塊不需要用戶輸入,所以沒有對輸入的異常處理。根據(jù)所查資料我所采用的Oracle語句調(diào)用方法是預處理指令方法,這種方法對于處理此程序具有很大的益處,而且可以防止非法Oracle注入。當用戶點擊數(shù)組按鈕后系統(tǒng)將根據(jù)輸入的卡號查找卡號余額并與按鈕的數(shù)字相對比,如果選擇的金額大于本卡余額將提示(不允許透支)。 充值界面

30、 用戶輸入將要存入的金額,經(jīng)后臺分析,要求放入存款數(shù)目,識別后把金額存入賬戶,賬戶余額被更新(增加)。 轉賬界面 在此模塊,用戶根據(jù)需要自己輸入卡號及欲轉金額,這里的設計其實最終歸結于具體的Oracle語句而言,系統(tǒng)將根據(jù)輸入的卡號查找與只對應的用戶數(shù)據(jù)表,從而修改金額。第一,系統(tǒng)首先根據(jù)本卡號,查找本卡金額與輸入的金額對比,如果找到,且金額允許就提示轉賬成功。第二,如果,沒有找到輸入的卡號,提示沒有該用戶,重新輸入欲轉賬號。 更改密碼界面 此模塊需要用戶輸入舊密碼后,兩次輸入新密碼進行確認,然后,點擊確定,修改密碼,成功后給出提示信息,其中考慮到一些用

31、戶的輸入錯誤問題,我做出了一些異常的判斷和處理,空輸入,輸入兩次新密碼不匹配和原密碼不正確等問題。修改更新密碼的完成仍然依靠按鈕控件的Action事件完成。 退卡模塊相對簡單多了,沒有什么具體的界面設計,只是一個消息的提示,也是一種友好的處理方式,以防止用戶誤操作的方法 數(shù)據(jù)庫查詢 8.3主界面設計 界面設計是幫助程序員提前了解要開發(fā)的系統(tǒng)的界面操作怎么樣的,可以更好的幫助程序員在編寫程序時理清思路,所以在每次項目之前做好界面設計的工作是必需的。 首頁設計界面 首頁的設計主要是設計了查詢余額、取款、轉賬、密碼更改及退出按鈕等銀行卡管理的一些標準操作界面。

32、 8.4子界面設計 九、項目系統(tǒng)實現(xiàn) 9.1實現(xiàn)環(huán)境與技術 本系統(tǒng)采用Java作為編程語言,采用Eclipse軟件開發(fā)環(huán)境,Eclipse對數(shù)據(jù)庫應用的強大支持,使數(shù)據(jù)庫應用開發(fā)功能更強大,控制更靈活,編譯后的程序運行速度更快。 9.2核心模塊實現(xiàn)技術代碼 此系統(tǒng)的功能實現(xiàn)主要取決于是否鏈接數(shù)據(jù)庫。充值中 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+"' "); 查詢: ResultSet rs = stmt.executeQuery("select ye from zc where yhm= '"+登陸界面.username+"'"); 注冊: int a= stmt.executeUpdate("insert into zc values('"+str1+"','"+str2+"','"+str3+"','"+str4+"','"+0+"')"); 轉賬:

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+"' "); 十、軟件測試信息報告 測試軟件前,需要測試若干個測試用例,每個測試用例由測試輸入數(shù)據(jù)和預期結果組成,測試時通過輸入數(shù)據(jù),運行被測程序,如果運行的實際輸出與預期結果不一致,則表明發(fā)現(xiàn)了程序中的錯誤。 10.1測試

36、范圍與主要內(nèi)容 程序設計語言的選擇通??紤]到項目的應用領域、軟件開發(fā)方法、軟件執(zhí)行環(huán)境、算法和數(shù)據(jù)結構的復雜性、和軟件開發(fā)人員的知識。程序設計是指使用選定的程序設計語言,把經(jīng)過概要設計各詳細設計所得到的信息處理過程,轉換成能在計算機上運行的程序源代碼。 本系統(tǒng)中用Eclipse編程工具,采用結構化的編程方法對模塊進行程序編寫。具體源程序見附頁。 10.2測試方法 軟件測試的目的是盡可能多的發(fā)現(xiàn)程序中的錯誤,而調(diào)試則是在進行了成功的測試之后才開始的工作。程序調(diào)試是指在系統(tǒng)測試的基礎上,將發(fā)現(xiàn)的問題進行改正,使之符合設計標準。本系統(tǒng)采用的主要方法如下: (1) 單元測試:是指原程序

37、中每個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。采用白盒法對各模塊進行邏輯錯誤排查,用黑盒法錄入一些有特征的數(shù)據(jù)從不同角度驗證結果。 (2) 集成測試:在單元測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統(tǒng)進行測試。 (3) 確認測試(有效性測試):它的任務是檢查軟件的功能與性能是否與需求規(guī)格說明書中確定的指標相符合。一般分為用黑盒進行確認測試,再檢查軟件所有文檔的完整性、正確性——軟件配置審查。 10.3系統(tǒng)測試步驟 測試過程一般分為4個步驟,即單元測試、集成測試、確認測試和系統(tǒng)測試及發(fā)版測試。 開始是單元測試,集中對用源代碼

38、實現(xiàn)的每一個程序單元進行測試,檢查各個程序模塊是否正確實現(xiàn)規(guī)定的功能。 集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。 確認測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中的確定了的各種需求,以及軟件配置是否完全、正確。 系統(tǒng)測試把已經(jīng)經(jīng)過確認的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成分組合在一起進行測試。 10.4系統(tǒng)優(yōu)點 界面美觀簡約,易于用戶操作,可以減輕銀行管理人員的工作量。程序可讀性強,易懂易維護用戶界面簡潔,方便了用戶使用,安全性好,系統(tǒng)仍然使用輸入密碼方式,保證了系統(tǒng)的安全,系統(tǒng)穩(wěn)定,基本達到預期的功能要求。 十一、軟件使用說明書 1

39、1.1軟件概述 ATM自動取款機是由計算機控制的持卡人自我服務型的金融專用設備。銀行卡管理測試系統(tǒng)是最普遍的自助銀行設備,可以提供最基本的銀行服務之一,即取款功能,有些全功能的產(chǎn)品還可以提供信封存款業(yè)務。在ATM自動取款機上也可以進行賬戶查詢、修改密碼和轉賬的業(yè)務。 同時在制作這個系統(tǒng)的過程中也應用了數(shù)據(jù)庫的知識,這個相對于我們專業(yè)來說是比較重要的內(nèi)容,這個也是這個學期學習的重點知識,同時數(shù)據(jù)庫鏈接是必須要學會的,因為這個是最核心的內(nèi)容,培養(yǎng)自己堅實的邏輯表達能力和溝通能力,和培養(yǎng)自己良好的文案能力。掌握ATM取款機的具體工作原理以及java簡單系統(tǒng)的設計方法。 11.2使用說明

40、windows 平臺以其全新的界面簡單快捷的操作方式而成為軟件開發(fā)的趨勢。根據(jù)本系統(tǒng)的運行環(huán)境和實際情況,選擇Win7作為開發(fā)測試和運行的平臺。 按照界面提示完成即可。 十二、系統(tǒng)開發(fā)評價 系統(tǒng)評價應是貫穿系統(tǒng)整個生命周期各個階段的重要決策手段和工作環(huán)節(jié)。狹義上的系統(tǒng)評價是指系統(tǒng)投入運行后從功能性能、經(jīng)濟效益、社會效益上的評價 本系統(tǒng)基本實現(xiàn)了取款、查詢余額、轉賬、修改密碼等功能,但由于時間短、知識水平有限,經(jīng)驗不足,系統(tǒng)仍存在不足,該系統(tǒng)主要有以下特點: 1、程序可讀性強,易懂易維護 2、用戶界面簡潔,方便了用戶使用。 3、安全性好,系統(tǒng)仍然使用輸入密碼方式,保證了

41、系統(tǒng)的安全。 4、系統(tǒng)穩(wěn)定,基本達到預期的功能要求。 5、系統(tǒng)還存在著許多不足,特別是在數(shù)據(jù)庫的鏈接上,在代碼的編寫上也存在著很多的不足,代碼存在著很多的缺陷。 6、在系統(tǒng)的的界面效果上也存在不足,系統(tǒng)界面顯示應在屏中間。 總的來說,本次設計當中存有許多的不足之處,基本上設計出了和自己預想中的效果,但同時在設計上也還存在著很多的,很多事沒有什么用的代碼,我想是因為時間和經(jīng)驗的問題,以后多練習就肯定能提高,UI設計方面,仔細地看,還有一些小問題,系統(tǒng)運行時的警告就多達36處,但不會影響程序的運行,只會在美觀方面有一定的影響,今后一定改善。 附:參考資料和源代碼部分

42、 參考資料: 參考文獻 [1]Java 程序設計精講 主編 許煥新 丁宏偉 清華大學出版社 [2]Sql Server 實用教程 主編 鄭阿奇 電子工業(yè)出版社 [3]數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選 主編 楊湖 李鳳蕾 人民郵電出版社 參考網(wǎng)絡資源 [1] 豆丁網(wǎng) .html [2] 百度知道 [3] 百度文庫 源代碼: // 充值 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("隸書",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("注冊"); tf1 = new JTextField("請輸入您的賬號或名稱",16); pwf1 = new JPasswordField("",16); JLabel l1 = new JLabel("銀行卡管理測試系統(tǒng)"); JLabel l2 = new JLabel("用戶名:"); JLabel l3 =

51、new JLabel("密 碼:"); JLabel l4 = new JLabel("版權所有@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("隸書",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 注冊界面();

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,"你輸入有錯,請重新輸入!"); } 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("當前密碼:"); JLabel l2= new JLabel("新 密 碼:"); JLabel l3= new JLabel("確認密碼:"); pwf1 = new JPasswordF

61、ield("",16); pwf2 = new JPasswordField("",16); pwf3 = new JPasswordField("",16); bt1 = new JButton("確認"); 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,"當前密碼輸入錯誤!請重新輸入"); } 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: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!