歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc

  • 資源ID:116791711       資源大?。?span id="fswqnek" class="font-tahoma">380.50KB        全文頁數(shù):21頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc

建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì)摘 要隨著我國信息產(chǎn)業(yè)發(fā)展迅速以及中國加入世界貿(mào)易組織,國內(nèi)銀行之間以及與外國銀行之間的競爭也越來越激烈,怎樣發(fā)展業(yè)務(wù)以吸引更多顧客是各銀行面隊(duì)的當(dāng)務(wù)之急。而帳目管理是銀行業(yè)務(wù)流程過程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè)務(wù)流程當(dāng)中起著相當(dāng)重要的作用。現(xiàn)在銀行的業(yè)務(wù)越來越多,吸引的客戶也越來越多,銀行帳目的管理就越顯重要。銀行帳目管理系統(tǒng)是針對銀行帳目的日常管理而設(shè)計(jì)。銀行帳目管理系統(tǒng)不僅要求操作方便而且要求界面簡潔,它還需要實(shí)現(xiàn)帳目管理,用戶查詢和查詢統(tǒng)計(jì)功能。針對上述情況和要求,采用軟件工程的開發(fā)原理,依據(jù)軟件流程過程規(guī)范,按照需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、程序編碼、測試等過程開發(fā)了一個(gè)銀行賬目管理系統(tǒng)。采用JAVA作為編程語言,使用工具eclipse3.1設(shè)計(jì)實(shí)現(xiàn)了銀行帳目管理系統(tǒng),完成系統(tǒng)管理、帳目管理、查詢統(tǒng)計(jì)、用戶查詢等功能。關(guān)鍵詞:用戶查詢;帳目管理;查詢統(tǒng)計(jì);JAVA;eclipse3.1 591論文網(wǎng) www.591LW.comBank Account Management SystemAbstractAlong with our country of information industry is developing quickly and China has acceded to WTO, many banks have to compete against each other for attracting customers. How to develop the business to attract more customers is the urgent matter that each bank confronts.Bank account management is a very most important part of the process of the bank business. It plays a key role in the process of bank business. The business of the bank is more and more at present so that the customers of the bank are more and more too. The management of the bank account is very important for customers.The bank account management system is a usual management to aim at the bank account to design. This operate system not only operates conveniently but also the interface is succinct, and the system needs to achieve some functions such as account management, search statistics, customer search etc. functionAiming at the above circumstance, presents a practical method to implement a bank account management system based on software engineering ,according to the software process such as analyze the need, essentials design, detailed design, program, test, etc. Adopt JAVA programming language and use the tool of eclipse3.1 to design the bank account management system. It can complete system management, account management, search statistics, customer search etc. function.Key words: Customer search; Account management; Search statistics; JAVA; Eclipse3.1 591論文網(wǎng) www.591LW.com目 錄論文總頁數(shù):23頁1引言11.1開發(fā)背景11.2開發(fā)意義12系統(tǒng)需求分析22.1銀行帳目管理系統(tǒng)的需求22.2用戶對系統(tǒng)的期望22.3編程語言和運(yùn)行環(huán)境介紹23功能模塊設(shè)計(jì)33.1銀行帳目管理系統(tǒng)功能模塊33.2功能模塊介紹44系統(tǒng)的實(shí)現(xiàn)54.1登錄界面的設(shè)計(jì)54.2操作主界面的設(shè)計(jì)64.3功能界面的設(shè)計(jì)94.3.1顯示全部的功能實(shí)現(xiàn)94.3.2開戶窗口的設(shè)計(jì)與實(shí)現(xiàn)104.3.3銷戶窗口的設(shè)計(jì)與實(shí)現(xiàn)114.3.4存款和取款窗口的設(shè)計(jì)與實(shí)現(xiàn)134.3.5修改信息窗口的設(shè)計(jì)與實(shí)現(xiàn)164.3.6查詢功能的實(shí)現(xiàn)174.3.7查詢統(tǒng)計(jì)的實(shí)現(xiàn)185數(shù)據(jù)保存機(jī)制-采用鏈表和輸入輸出流186測試196.1測試環(huán)境196.2測試結(jié)果19結(jié) 論20參考文獻(xiàn)211 引言隨著社會經(jīng)濟(jì)的發(fā)展,信息化程度的不斷深入,銀行的傳統(tǒng)業(yè)務(wù)己愈來愈不能滿足銀行客戶的需要。同時(shí),隨著我國加入世貿(mào)組織,我國的銀行業(yè)面臨更加激烈的同業(yè)競爭,如何提供更多的金融產(chǎn)品和更優(yōu)質(zhì)的服務(wù),如何吸引更多的客戶,如何利用計(jì)算機(jī)技術(shù)加強(qiáng)銀行帳戶信息管理,提高銀行的工作效率和業(yè)務(wù)竟?fàn)幠芰κ菙[在各家銀行面前的一個(gè)迫切需要解訣的問題。1.1 開發(fā)背景隨著科技發(fā)展和社會進(jìn)步,尤其是計(jì)算機(jī)大范圍的普及,計(jì)算機(jī)應(yīng)用逐漸由大規(guī)??茖W(xué)計(jì)算的海量數(shù)據(jù)處理轉(zhuǎn)向大規(guī)模的事務(wù)處理和對工作流的管理,這就產(chǎn)生了以臺式計(jì)算機(jī)為核心的管理信息系統(tǒng)在大規(guī)模的事務(wù)處理和對工作流的管理等方面的應(yīng)用,在銀行帳目管理之中的應(yīng)用日益增加。近年來我國信息產(chǎn)業(yè)發(fā)展迅速,手工管理方式在銀行帳目管理等需要大量事務(wù)處理的應(yīng)用中已顯得不相適應(yīng),采用IT技術(shù)提高服務(wù)質(zhì)量和管理水平勢在必行。目前,對外開放必然趨勢使銀行業(yè)直面外國銀行巨頭的直接挑戰(zhàn),因此,銀行必須提高其工作效率,改善其工作環(huán)境。這樣,帳戶管理的信息化勢在必行。在傳統(tǒng)的銀行帳戶管理中,其過程往往是很復(fù)雜的,繁瑣的,帳戶管理以入帳和出帳兩項(xiàng)內(nèi)容為核心,在此過程中又需要經(jīng)過若干道手續(xù),因?yàn)檎麄€(gè)過程都需要手工操作,效率十分低下,且由于他們之間關(guān)聯(lián)復(fù)雜,統(tǒng)計(jì)和查詢的方式各不相同;且會出現(xiàn)信息的重復(fù)傳遞問題,因此該過程需要進(jìn)行信息化,以利用計(jì)算機(jī)進(jìn)行帳目管理。系統(tǒng)開發(fā)的整體任務(wù)是實(shí)現(xiàn)銀行帳戶管理的系統(tǒng)化、規(guī)范化、自動化和智能化,從而達(dá)到提高企業(yè)管理效率的目的。1.2 開發(fā)意義隨著社會的進(jìn)步和計(jì)算機(jī)技術(shù)的發(fā)展,尤其是網(wǎng)絡(luò)技術(shù)的飛速進(jìn)步,信息觀念已經(jīng)深入人心。信息科學(xué)作為當(dāng)代社會中的重要一環(huán)在國民經(jīng)濟(jì)中起著舉足輕重的作用。在中國經(jīng)濟(jì)蓬勃發(fā)展的今天,越來越龐大的儲蓄用戶數(shù)目和資金流通量對銀行帳目管理的可靠性每天都在進(jìn)行苛刻的考驗(yàn)。建立和發(fā)展功能較完善的銀行帳目管理系統(tǒng),不僅可以服務(wù)客戶、聯(lián)系客戶、吸引客戶、穩(wěn)定客戶,鞏固銀行業(yè)務(wù)經(jīng)營基礎(chǔ),而且通過服務(wù)社會,可以塑造銀行自身的市場形象,體現(xiàn)銀行的綜合實(shí)力還能夠提高銀行的存款總量;通過提供高效,優(yōu)質(zhì)的業(yè)務(wù),吸引更多的客戶來銀行辦理業(yè)務(wù),從而擴(kuò)大了銀行的客戶群,加強(qiáng)了銀行和客戶的業(yè)務(wù)聯(lián)系,也會帶動其他業(yè)務(wù)的發(fā)展??傊?,現(xiàn)代商業(yè)銀行的競爭和發(fā)展,已突破傳統(tǒng)業(yè)務(wù)的框架,為了提高銀行的業(yè)務(wù)競爭能力,擴(kuò)大客戶群,培育新的利潤增長點(diǎn),務(wù)必大力改良其帳目管理系統(tǒng),因此建立一個(gè)功能齊全可靠的帳目管理系統(tǒng)成為銀行當(dāng)前業(yè)務(wù)發(fā)展的迫切之需。2 系統(tǒng)需求分析2.1 銀行帳目管理系統(tǒng)的需求通過與銀行工作人員交流了解:隨著銀行業(yè)務(wù)的推陳出新以及這些業(yè)務(wù)為客戶帶來的便利,使銀行吸引了越來越多的客戶,一切都使銀行帳目的管理越來越重要。銀行帳目管理系統(tǒng)是針對銀行帳目的日常管理而設(shè)計(jì)。銀行操作系統(tǒng)不僅要求操作方便而且要求界面簡潔,它需要實(shí)現(xiàn)帳目管理,用戶查詢和查詢統(tǒng)計(jì)等幾個(gè)功能。其中帳目管理又包含了開戶、銷戶、存款、取款和修改信息的功能。用戶可以通過不同的方式來查詢需要的信息。通過該系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn),使銀行部門更好地進(jìn)行業(yè)務(wù)管理,為客戶提供更佳優(yōu)質(zhì)的服務(wù)。2.2 用戶對系統(tǒng)的期望銀行對帳目管理系統(tǒng)的要求主要有以下幾個(gè)方面:1. 系統(tǒng)能夠完成銀行帳目管理系統(tǒng)的主要功能;2. 系統(tǒng)界面簡潔,容易操作;3. 具有一定的穩(wěn)定性,安全性;4. 訪問速度快。2.3 編程語言和運(yùn)行環(huán)境介紹銀行帳目管理系統(tǒng)采用Java語言進(jìn)行編程。Java語言是一種很優(yōu)秀的語言,是目前軟件設(shè)計(jì)中極為壯健的編程語言,只要提供了Java解釋器,Java編寫的軟件在執(zhí)行碼上兼容。Java作為一種程序設(shè)計(jì)語言,它簡單、面向?qū)ο?、不依賴于機(jī)器的結(jié)構(gòu)、具有可移植性、安全性、并且提供了并發(fā)的機(jī)制,具有很高的性能。其次,它最大限度地利用了網(wǎng)絡(luò),Java的小應(yīng)用程序(applet)可在網(wǎng)絡(luò)上運(yùn)行而不受CPU和環(huán)境的限制。另外,Java還提供了豐富的類庫,使程序設(shè)計(jì)者可以很方便地建立自己的系統(tǒng)。通過分析Java的特點(diǎn),進(jìn)一步指出它所具有的優(yōu)點(diǎn)。Java語言有下面一些特點(diǎn):簡單、面向?qū)ο蟆⑴c平臺無關(guān)、解釋執(zhí)行、多線程、安全、動態(tài)性。1) 簡單:Java語言是一種面向?qū)ο蟮恼Z言,它通過提供最基本的方法來完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念,并且通過實(shí)現(xiàn)自動垃圾回收,大大簡化了程序設(shè)計(jì)者的內(nèi)存管理工作。2) 面向?qū)ο螅篔ava語言的設(shè)計(jì)集中于對象及其接口,它提供了簡單的類機(jī)制以及動態(tài)的接口模型。對象中封裝了它的狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對象的原型,并且通過繼承機(jī)制,子類可以使用父類所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。3) 與平臺無關(guān):Java解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。這些字節(jié)碼指令對應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后,對它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺運(yùn)行。4) 解釋型:Java解釋器直接對Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時(shí)信息,使得連接過程更加簡單。5) 多線程:Java還有一特點(diǎn)就是內(nèi)置對多線程的支持。多線程支持完成多個(gè)任務(wù)。6) 安全:用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵。Java不支持指針,一切對內(nèi)存的訪問都必須通過對象的實(shí)例變量來實(shí)現(xiàn),這樣就防止程序員使用“特洛伊”木馬等欺騙手段訪問對象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。7) 動態(tài):Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實(shí)例變量而不會影響用戶程序的執(zhí)行。并且Java通過接口來支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。Eclipse是一個(gè)開放源碼的、可擴(kuò)展的應(yīng)用開發(fā)平臺,該平臺為編程人員提供了一流的Java集成開發(fā)環(huán)境。作為一套開源工具,可用于構(gòu)建Web Services J2EE等各種類型的應(yīng)用,其所提供的功能不亞于、甚至超過由專業(yè)的集成環(huán)境供應(yīng)商所提供的商業(yè)化產(chǎn)品,如JBuilder。在JAVA的程序開發(fā)環(huán)境jdk1.5.0_04下Eclipse不需要安裝,下載后解壓即可使用。3 功能模塊設(shè)計(jì)3.1 銀行帳目管理系統(tǒng)功能模塊銀行帳目管理系統(tǒng)包括五個(gè)模塊,分別為系統(tǒng)選項(xiàng)、帳目管理、查詢統(tǒng)計(jì)、用戶查詢和幫助。其中帳目管理還包含了開戶、銷戶、存款、取款和修改信息功能。用戶查詢包含了姓名查詢、地址查詢、帳號查詢和電話查詢。功能模塊圖如圖1所示。銀行帳目管理系統(tǒng)查詢統(tǒng)計(jì)用戶查詢帳目管理系統(tǒng)管理幫助電話查詢地址查詢帳號查詢姓名查詢?nèi)】钚薷男畔N戶存款開戶圖1銀行帳目管理系統(tǒng)模塊圖3.2 功能模塊介紹銀行帳目管理系統(tǒng)包括五個(gè)模塊,分別為系統(tǒng)管理、帳目管理、查詢統(tǒng)計(jì)、用戶查詢和幫助。其具體的功能如下:帳目管理模塊:主要處理用戶的日常操作。(1)開戶:新建一個(gè)帳戶,為其指定一個(gè)唯一的帳號來標(biāo)志該用戶(2)銷戶:將指定用戶的帳號刪除。用戶輸入密碼經(jīng)過驗(yàn)證成功后,把帳戶的余額全部取出,最后刪除該帳戶。(3)存款:向指定的帳戶中存入一筆錢,經(jīng)用戶輸入密碼確認(rèn)后,方可存入。(4)取款:從指定的帳戶中取出一筆錢。取款前用戶需要輸入密碼確認(rèn),取款后帳戶余額不得少于帳戶的最低存款額,否則不予處理。(5)修改信息:選擇一個(gè)存在的帳戶,然后輸入密碼經(jīng)確認(rèn)后進(jìn)入用戶信息窗口,可對里面的密碼、聯(lián)系電話和家庭住址進(jìn)行修改,而帳號和帳戶上的金額不能被用戶修改。查詢模塊:按照指定方式進(jìn)行查找?guī)粜畔ⅲò葱彰?、帳號和?lián)系電話進(jìn)行查找,也可以按照地址進(jìn)行模糊查找。統(tǒng)計(jì)模塊:對銀行的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),如對帳戶數(shù)量的統(tǒng)計(jì)。4 系統(tǒng)的實(shí)現(xiàn)4.1 登錄界面的設(shè)計(jì)在登錄界面輸入管理員姓名和密碼,點(diǎn)擊“確定”按鈕,通過if(username.equals(getUsername()&password.equals(getPassword()語句進(jìn)行比較; 判斷是否通過驗(yàn)證,如果通過則釋放,顯示主窗體,進(jìn)入操作主界面,如圖2所示。圖2 登錄界面示意圖當(dāng)管理員打開登錄界面后,如果不想登錄,點(diǎn)擊“退出”按鈕退出系統(tǒng),其代碼如下:private void doExit() System.exit(0);在登錄時(shí)如果管理員輸入錯(cuò)誤的帳號或密碼,通過JOptionPane.showMessageDialog(this,錯(cuò)誤的用戶名或密碼!);提示管理員操作。為防止暴力破解,設(shè)計(jì)三次輸入錯(cuò)誤密碼,則自動退出系統(tǒng)的機(jī)制.其代碼如下: else if(count = 3) JOptionPane.showMessageDialog(this,連續(xù)三次輸入錯(cuò)誤,退出系統(tǒng)!); doExit();為了防止下個(gè)用戶看到上個(gè)用戶的信息,利用setUsername();和setPassword();來清空用戶名和密碼輸入框中的內(nèi)容。在設(shè)計(jì)登錄界面的框架時(shí),通過public class LoginWindow extends JFrame implements ActionListener定義一個(gè)登錄窗口類,它繼承于JFrame。在設(shè)計(jì)好登錄界面的框架后,要初始化所有控件,實(shí)現(xiàn)的部分代碼如下:public void initComponent() Container contentPane = this.getContentPane();contentPane.setLayout(null);labelUsername= new JLabel(管理員帳號:);labelPassword= new JLabel(管理員密碼:);txtUsername= new JTextField();txtPassword= new JPasswordField();btnConfirm= new JButton(確定);btnCancel= new JButton(退出); 4.2 操作主界面的設(shè)計(jì)在操作主界面,可以進(jìn)行各種操作,包括存款、取款、開戶、銷戶、修改信息、顯示全部和查找,而且界面簡潔易于操作,如圖3所示。圖3 操作主界面示意圖在設(shè)計(jì)銀行帳目管理系統(tǒng)的操作主界面時(shí),先利用public class MainWindow extends JFrame implements ActionListener 來定義一個(gè)主窗口類MainWindow,然后在里面定義所需要的全部變量,變量定義為private型。在MainWindow類中,功能刻畫的代碼如下:public MainWindow(String title) setTitle(title);setSize(WIDTH,HEIGHT);setResizable(false);setDefaultCloseOperation(EXIT_ON_CLOSE);initMenu();initComponent();center();loadAccountData();loadBillData();操作主界面的設(shè)計(jì)主要包括幾部分:一是菜單欄的設(shè)計(jì),二是中間部分表格的設(shè)計(jì),三是下面部分按鈕的設(shè)計(jì)。主要設(shè)計(jì)過程如下:菜單欄的設(shè)計(jì)是先創(chuàng)建好菜單項(xiàng),然后把菜單項(xiàng)添加到對應(yīng)的菜單中,再將菜單添加至菜單欄中,最后把菜單添加到主窗體中。設(shè)計(jì)好操作主界面后,點(diǎn)擊“查詢統(tǒng)計(jì)”按鈕,出現(xiàn)如圖4所示的下拉菜單。圖4 菜單欄示意圖實(shí)現(xiàn)的主要代碼如下:public void initMenu() menuBar = new JMenuBar();/創(chuàng)建菜單queryCountMenu = new JMenu(查詢統(tǒng)計(jì)); /創(chuàng)建菜單項(xiàng) queryCountMI = new JMenuItem(查詢統(tǒng)計(jì));/給菜單項(xiàng)添加監(jiān)聽器,監(jiān)聽菜單項(xiàng)的單擊事件queryCountMI.addActionListener(this);/菜單項(xiàng)添加到菜單里面queryCountMenu.add(queryCountMI);setJMenuBar(menuBar);操作主界面的表格如圖5所示。表格主要包含了姓名、帳號、卡上余額、家庭住址和電話,主要是方便查看信息。圖5 表格示意圖表格部分的設(shè)計(jì)主要代碼如下:/設(shè)置表格的列標(biāo)題final String strColName = 姓名, 帳號, 卡上余額, 家庭住址, 電話;/獲得表格的所顯示數(shù)據(jù)的TableModeldm = (DefaultTableModel) table.getModel();/把列標(biāo)題添加到表格中for ( int i = 0;i strCOLName.length; i+ )dm.addColumn(strCOLNamei);窗體下面部分的控件的設(shè)計(jì)主要就先將控件創(chuàng)建出來,再將不同功能的控件分組放置,便于操作。面板被只能創(chuàng)建一次,如果已經(jīng)創(chuàng)建了該這塊面板,直接返回創(chuàng)建好了的面板,提高效率。其實(shí)現(xiàn)代碼如下:if(bottomPanel != null)return bottomPanel;該面板的控件分三部分創(chuàng)建,分別放置在三個(gè)面板中,將實(shí)現(xiàn)不同功能的控件放在不同的面板中,達(dá)到界面美觀,操作方便的目的。如圖6所示。圖6操作主界面的面板示意圖三個(gè)面板通過程序中的三個(gè)方法 getBottomLeftPanel(), getBottomMiddlePanel()以及getBottomRightPanel()。這樣的劃分增強(qiáng)了程序的可以讀性,不同的方法實(shí)現(xiàn)不同的功能,一目了然。實(shí)現(xiàn)的主要代碼如下:private JPanel getBottomPanel() if(bottomPanel != null) return bottomPanel;bottomPanel = new JPanel();bottomPanel.setLayout(new GridLayout(1,3);bottomPanel.add(getBottomLeftPanel();bottomPanel.add(getBottomMiddlePanel();bottomPanel.add(getBottomRightPanel();return bottomPanel;4.3 功能界面的設(shè)計(jì)4.3.1 顯示全部的功能實(shí)現(xiàn)在實(shí)現(xiàn)存款、取款、銷戶和修改信息的時(shí)候都需要顯示出表格中的信息,然后選擇一個(gè)帳戶后進(jìn)行操作。點(diǎn)擊如圖3操作主界面的“顯示全部”按鈕,在表格中出現(xiàn)已經(jīng)存在的信息,當(dāng)存款、取款、銷戶和修改信息等操作的時(shí)候,顯示的信息會發(fā)生變化,這主要是隨著操作的進(jìn)行,系統(tǒng)會清除以前的數(shù)據(jù)。實(shí)現(xiàn)的代碼如下:private void doShowAll() Account account = new Accountdata.getCount();data.getAccountList().toArray(account);/清除表格中以前的數(shù)據(jù)while(table.getRowCount() != 0) dm.removeRow(0);/顯示出所有帳戶數(shù)據(jù)for(int i=0; idata.getCount(); i+) String strRow = accounti.getName(), accounti.getId(),accounti.getMoney()+,accounti.getAddress(), accounti.getPhone();dm.addRow(strRow);4.3.2 開戶窗口的設(shè)計(jì)與實(shí)現(xiàn)4.3.3 銷戶窗口的設(shè)計(jì)與實(shí)現(xiàn)4.3.4 存款和取款窗口的設(shè)計(jì)與實(shí)現(xiàn)存款和取款的操作方法都是一樣的,都是首先在如圖3所示的操作主界面里選中一個(gè)需要存款(取款)的帳戶,如圖9所示,然后點(diǎn)擊按鈕(存款或取款按鈕),彈出輸入密碼的信息框,帳戶輸入密碼經(jīng)驗(yàn)證后。圖9帳戶被選中示意圖(藍(lán)色標(biāo)志)在沒有選中帳戶的時(shí)候點(diǎn)擊存款按鈕,系統(tǒng)會提示帳戶,實(shí)現(xiàn)的代碼為:if(row = -1) /如果沒有選中記錄,提示先選中記錄才能存款JOptionPane.showMessageDialog(this,請先選擇要存款的帳戶!); 選中要存款的帳戶后,點(diǎn)擊存款按鈕,彈出輸入密碼框,帳戶要輸入密碼驗(yàn)證后才能存款操作,當(dāng)沒有輸入的密碼或者輸錯(cuò)3次,會自動退出系統(tǒng),實(shí)現(xiàn)的代碼如下:else/根據(jù)選擇的行獲得標(biāo)識該帳戶的唯一IDString delId = (String)dm.getValueAt(table.getSelectedRow(), 1);/根據(jù)ID在帳戶鏈表中找到該帳戶并返回該帳戶的引用while(iterator.hasNext()account = (Account)iterator.next();if(account.getId().equals(delId) break;/找到要存款的帳戶后,要用戶輸入密碼確認(rèn)進(jìn)行存款操作int number = 0;while(true) String strPassword = JOptionPane.showInputDialog(this,請輸入密碼:); if(strPassword = null) return; else if (account.getPassword().equals(strPassword) break; else if(+number) 3) JOptionPane.showMessageDialog(this,密碼錯(cuò)誤!請重新輸入!); continue; JOptionPane.showMessageDialog(this,密碼輸錯(cuò)三次,帳號被鎖定!);return;驗(yàn)證密碼通過后,在輸入框中輸入存款金額,金額必須為數(shù)字,如果輸入其他信息,系統(tǒng)會報(bào)錯(cuò),如圖10所示。圖10操作錯(cuò)誤提示框?qū)崿F(xiàn)的代碼如下:/存款數(shù)目只能是數(shù)字String strNumber = null;while (true) strNumber = JOptionPane.showInputDialog(this, 請輸入存款金額:);if(strNumber = null) return; else if (strNumber.matches(1-90-9*) break; JOptionPane.showMessageDialog(this, 輸入錯(cuò)誤!請輸入數(shù)字!);通過account.setMoney(account.getMoney() + Integer.parseInt(strNumber);來實(shí)現(xiàn)存款操作。存款完后顯示一張存取信息表,如圖11所示。產(chǎn)生的存取清單會存儲到存取清單鏈表中去,點(diǎn)擊“顯示全部”按鈕,顯示新的信息,此時(shí)的卡上余額信息已經(jīng)發(fā)生變化,通過圖11和圖12可以發(fā)現(xiàn)金額的變化。圖11存款后的信息表圖12 卡上余額變化實(shí)現(xiàn)的代碼如下:bill = new Bill();/生成新的存取清單bill.setAccountId(account.getId();bill.setMoney(Integer.parseInt(strNumber);bill.setBalance(account.getMoney();bill.setName(account.getName();bill.setType(存款);/保存帳戶信息到文件FileOutputStream fos = new FileOutputStream(file);ObjectOutputStream oos = new ObjectOutputStream (fos);oos.writeObject(listAccount);oos.close();4.3.5 修改信息窗口的設(shè)計(jì)與實(shí)現(xiàn)修改信息的窗口和開戶窗口是一樣的,他們繼承于同一個(gè)類,但是他們完成的功能不一樣。點(diǎn)擊如圖3所示操作主界面的“修改密碼”按鈕,彈出輸入密碼提示框,驗(yàn)證后可以修改用戶名、密碼、聯(lián)系電話和家庭住址,點(diǎn)擊“確定”按鈕后顯示修改信息成功。但是帳戶沒有權(quán)力利修改帳號和存款金額。修改窗口如圖12所示: 圖12 修改信息窗口主要功能實(shí)現(xiàn)代碼與開戶的功能代碼相似,不同的地方是最后只對帳戶信息進(jìn)行更新,而不是新添加帳戶,如下:/保存此帳戶信息的更新account.setName(getAccountName();/更改帳戶的姓名account.setPassword(getPassword();/更改帳戶的密碼account.setPhone(getPhone();/更改帳戶的電話號碼account.setAddress(getAddress();/更改帳戶的住址/在鏈表中更新該帳戶的信息data.getAccountList().set(pos,account);/保存帳戶信息到文件4.3.6 查詢功能的實(shí)現(xiàn)在圖3所示的操作主界面,點(diǎn)擊“用戶查詢”或“查找”都能進(jìn)行查找操作,查找的時(shí)候必須選中一個(gè)查詢方式,并且必須輸入查找的關(guān)鍵字,否則會產(chǎn)生如圖13的提示框。圖13提示信息框代碼如下:if(getInput().trim().length() = 0) JOptionPane.showMessageDialog(this,請輸入查詢關(guān)鍵字!);return;帳戶可以通過四種方式來查詢,分別是查詢姓名,查詢帳號,查詢電話號碼和查詢家庭住址。當(dāng)查詢結(jié)束為,為保證信息的安全,會清除表格中以前的數(shù)據(jù),代碼如下:while(table.getRowCount() != 0) dm.removeRow(0);根據(jù)查詢方式進(jìn)行查詢,并在表格中顯示出來,當(dāng)查找方式為姓名時(shí)的代碼如下:/根據(jù)用戶選擇的單選按鈕 進(jìn)行查詢,在表格中顯示符合條件的記錄if(rab1.isSelected() for(int i=0; idata.getCount(); i+) if(accounti.getName().equals(getInput() String strRow = accounti.getName(), accounti.getId(), accounti.getMoney()+,accounti.getAddress(), accounti.getPhone(); dm.addRow(strRow);4.3.7 查詢統(tǒng)計(jì)的實(shí)現(xiàn)在如圖3所示的操作主界面單擊菜單上的“查詢統(tǒng)計(jì)”,可以完成對帳戶數(shù)的統(tǒng)計(jì),代碼如下:private void doCount() JOptionPane.showMessageDialog(this,共有+AccountData.getInstance().getCount()+個(gè)帳戶!);5 數(shù)據(jù)保存機(jī)制-采用鏈表和輸入輸出流銀行帳目管理系統(tǒng)采用輸入輸出流對數(shù)據(jù)進(jìn)行存取。I/O流提供一條通道程序,可以使用這條通道把與源中的字符序列送到目的地。把輸入流的指向稱做源,程序從指向源的輸入流中讀取源中的數(shù)據(jù)。而輸出流的指向是字節(jié)要去的目的地,程序通過向輸出流中寫入數(shù)據(jù)把信息傳遞到目的地。程序中用到的是I/O流中的對象流,即對象輸入流(ObjectInputStream)和對象輸出流(ObjectOutputStream)。當(dāng)使用對象流寫入和讀出數(shù)據(jù)時(shí),要保證對象是序列化的,一個(gè)類如果實(shí)現(xiàn)了Serializable接口,則這個(gè)類創(chuàng)建的對象就是序列化的對象。對象輸出流使用writeObject(Object obj)方法將一個(gè)對象obj寫入到一個(gè)文件,對象輸入流使用readObject(Object obj)方法讀取一個(gè)對象到程序中。 在程序中對數(shù)據(jù)的操作是使用鏈表來實(shí)現(xiàn)的,所有對數(shù)據(jù)的操作都能在鏈表中表現(xiàn)出來,如數(shù)據(jù)的增加、刪除、修改等。程序中有兩張鏈表存儲帳戶數(shù)據(jù)的鏈表(listAccount)和存儲所有存取清單的帳單鏈表(BillList),鏈表是通過Java.util包中的LinkedList類來創(chuàng)建。用戶的所有操作都被記錄在這兩張鏈表中,當(dāng)鏈表中的內(nèi)容發(fā)生改變時(shí),程序會調(diào)用對象輸出流的writeObject(Object obj)方法將文件中的內(nèi)容更新,從而實(shí)現(xiàn)數(shù)據(jù)的一致性。在存款,取款,修改信息還有銷戶的時(shí)候首先要在存取帳戶信息的鏈表中找到這個(gè)相對應(yīng)的帳號,然后在進(jìn)行操作。借助Iterator類實(shí)現(xiàn)遍歷鏈表,一個(gè)鏈表對象可以使用iterator()方法獲取一個(gè)Iterator對象,使用next()方法遍歷鏈表。帳戶數(shù)據(jù)的鏈表listAccount建立的代碼如下:/存儲帳戶數(shù)據(jù)的鏈表,且只能存儲Account類private LinkedList listAccount = new LinkedList();在鏈表中查詢帳戶的代碼為:以銷戶為例Iterator iterator = data.getAccountList().iterator();/根據(jù)選擇的行獲得標(biāo)志該帳戶的唯一IDString delId = (String)dm.getValueAt(table.getSelectedRow(),1);/根據(jù)ID在帳戶鏈表中找到該帳戶并返回該帳戶的引用while (iterator.hasNext()account = (Account) iterator. next(); if(account.getId().equals(delId)建立新的帳戶并把它保存在鏈表,實(shí)現(xiàn)的代碼如下:public void addAccount(Account account) listAccount.add(account)讀取帳戶信息并保存到鏈表,實(shí)現(xiàn)的代碼如下:FileInputStream fis = new FileInputStream(file);ObjectInputStream ois = new ObjectInputStream (fis);listAccount = (LinkedList)ois.readObject();ois.close();6 測試6.1 測試環(huán)境銀行帳目管理系統(tǒng)測試的環(huán)境是:內(nèi)存512M,硬盤80G,JDK1.5.0_04以及eclipse漢化版,操作系統(tǒng)為Microsoft Windows XP professional上正常運(yùn)行。6.2 測試結(jié)果銀行帳目管理系統(tǒng)能夠按照用戶的需求實(shí)現(xiàn)各種功能,在登錄以前運(yùn)行整個(gè)系統(tǒng),運(yùn)行通過后彈出管理員登錄框,輸入姓名和密碼,然后點(diǎn)擊“確定”按鈕,當(dāng)驗(yàn)證通過后,進(jìn)入操作主界面??蛇M(jìn)行存款、取款、開戶、銷戶、修改信息、查詢和統(tǒng)計(jì)功能。在進(jìn)行存款、取款、銷戶和修改信息時(shí)首先都必須選中一個(gè)帳戶,然后再進(jìn)行操作,通過點(diǎn)擊“修改信息”按鈕來查看具體的變化。在存款時(shí)當(dāng)用戶沒有設(shè)置密碼時(shí),默認(rèn)密碼是000000,用戶可以通過點(diǎn)擊“修改信息”按鈕來修改自己的密碼。在輸入密碼時(shí)設(shè)置了輸入次數(shù),當(dāng)超過輸入次數(shù)后,帳戶被鎖定。進(jìn)行查找操作時(shí),可以通過兩種方式,一是通過查找?guī)ぬ枴⑿彰吐?lián)系電話來查找?guī)?,二是通過查找住址來進(jìn)行模糊查詢,找到一些相匹配的帳戶系統(tǒng)在上述軟硬件環(huán)境下對系統(tǒng)的五個(gè)模塊系統(tǒng)管理、帳目管理、用戶查詢、統(tǒng)計(jì)和幫助進(jìn)行測試和運(yùn)行,結(jié)果能達(dá)到預(yù)期目標(biāo)。結(jié) 論到現(xiàn)在,銀行帳目管理系統(tǒng)能夠完成用戶所要求實(shí)現(xiàn)的功能,能夠進(jìn)行系統(tǒng)管理操作來退出系統(tǒng);實(shí)現(xiàn)帳目管理從而對開戶、銷戶、存款、取款還有修改信息進(jìn)行操作,除了開戶功能在進(jìn)行銷戶等操作時(shí)必須先選擇一個(gè)帳戶然后輸入密碼進(jìn)行驗(yàn)證后才能進(jìn)行下一步的操作;實(shí)現(xiàn)了用戶查詢,可以通過四種方式:姓名查詢、地址查詢、電話查詢還有帳戶查詢,在查詢的時(shí)候先選擇查詢方式然后必須輸入關(guān)鍵字才能進(jìn)行查詢。最后實(shí)現(xiàn)了查詢統(tǒng)計(jì)功能,通過這個(gè)功能能夠查詢到當(dāng)前的帳戶數(shù)量。在設(shè)計(jì)銀行帳目管理系統(tǒng)時(shí),多次用到繼承,很多功能實(shí)現(xiàn)的代碼是相似的,對數(shù)據(jù)的操作是使用鏈表來實(shí)現(xiàn)的,所有對數(shù)據(jù)的操作都能在鏈表中表現(xiàn)出來,如數(shù)據(jù)的增加、刪除、修改等。但是在開發(fā)實(shí)現(xiàn)時(shí)還是遇到了很多料想不到的問題,在這里很感謝指導(dǎo)老師的指導(dǎo)和幫助,讓我能夠及時(shí)改正錯(cuò)誤,最終完成系統(tǒng)所能展示的功能。但是還是存在一些不足,幫助模塊里面涉及到的關(guān)于功能還沒有出來。在設(shè)計(jì)完整個(gè)系統(tǒng)后,不僅加深了以前所學(xué)的理論知識,也學(xué)到了很多新的知識,提高自己全面思考和實(shí)踐能力。為了鞏固和提高自身的能力,復(fù)習(xí)和常做項(xiàng)目是必不可少的,同時(shí)要虛心學(xué)習(xí),不驕傲自滿,認(rèn)真聽取他人的建議。參考文獻(xiàn)1 汪志達(dá).Java程序設(shè)計(jì)項(xiàng)目化教程M.北方交通大學(xué)出版社,2003。2 吳其慶.JAVA編程思想與實(shí)踐M.冶金工業(yè)出版社,2002。3 孫印杰,劉斌,孫玉強(qiáng)等.Java編程案例精解M.電子工業(yè)出版社,2005。4 陸正五,蔣武等.Java項(xiàng)目開發(fā)實(shí)踐M.中國鐵道出版社,2004。5 張懷慶.Java案例精釋150例M.冶金工業(yè)出版社,2005。6 陳剛.Eclipse從入門到精通M.清華大學(xué)出版社,2005。7 張?jiān)茲?龔玲.Eclipse精要與高級開發(fā)技術(shù)M.電子工業(yè)出版社,2005。8 周競濤.Eclipse完全手冊M.電子工業(yè)出版社,2006。9 耿祥義,張躍平,王克宏.JAVA 2 實(shí)用教程M.清華大學(xué)出版社,2004。第18頁 共23頁

注意事項(xiàng)

本文(畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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