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

上傳人:good****022 文檔編號(hào):116791711 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):21 大?。?80.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc_第1頁(yè)
第1頁(yè) / 共21頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc_第2頁(yè)
第2頁(yè) / 共21頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc_第3頁(yè)
第3頁(yè) / 共21頁(yè)

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

20 積分

下載資源

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

資源描述:

《畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文)-基于JAVA的建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì).doc(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、建設(shè)銀行賬目管理系統(tǒng)的設(shè)計(jì)摘 要隨著我國(guó)信息產(chǎn)業(yè)發(fā)展迅速以及中國(guó)加入世界貿(mào)易組織,國(guó)內(nèi)銀行之間以及與外國(guó)銀行之間的競(jìng)爭(zhēng)也越來(lái)越激烈,怎樣發(fā)展業(yè)務(wù)以吸引更多顧客是各銀行面隊(duì)的當(dāng)務(wù)之急。而帳目管理是銀行業(yè)務(wù)流程過(guò)程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè)務(wù)流程當(dāng)中起著相當(dāng)重要的作用?,F(xiàn)在銀行的業(yè)務(wù)越來(lái)越多,吸引的客戶也越來(lái)越多,銀行帳目的管理就越顯重要。銀行帳目管理系統(tǒng)是針對(duì)銀行帳目的日常管理而設(shè)計(jì)。銀行帳目管理系統(tǒng)不僅要求操作方便而且要求界面簡(jiǎn)潔,它還需要實(shí)現(xiàn)帳目管理,用戶查詢和查詢統(tǒng)計(jì)功能。針對(duì)上述情況和要求,采用軟件工程的開(kāi)發(fā)原理,依據(jù)軟件流程過(guò)程規(guī)范,按照需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、程序編碼

2、、測(cè)試等過(guò)程開(kāi)發(fā)了一個(gè)銀行賬目管理系統(tǒng)。采用JAVA作為編程語(yǔ)言,使用工具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 com

3、pete 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 bu

4、siness 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 opera

5、tes 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 softwar

6、e 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, searc

7、h statistics, customer search etc. function.Key words: Customer search; Account management; Search statistics; JAVA; Eclipse3.1 591論文網(wǎng) www.591LW.com目 錄論文總頁(yè)數(shù):23頁(yè)1引言11.1開(kāi)發(fā)背景11.2開(kāi)發(fā)意義12系統(tǒng)需求分析22.1銀行帳目管理系統(tǒng)的需求22.2用戶對(duì)系統(tǒng)的期望22.3編程語(yǔ)言和運(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功能界

8、面的設(shè)計(jì)94.3.1顯示全部的功能實(shí)現(xiàn)94.3.2開(kāi)戶窗口的設(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測(cè)試196.1測(cè)試環(huán)境196.2測(cè)試結(jié)果19結(jié) 論20參考文獻(xiàn)211 引言隨著社會(huì)經(jīng)濟(jì)的發(fā)展,信息化程度的不斷深入,銀行的傳統(tǒng)業(yè)務(wù)己愈來(lái)愈不能滿足銀行客戶的需要。同時(shí),隨著我國(guó)加入世貿(mào)組織,我國(guó)的銀行業(yè)面臨更加激烈的同業(yè)競(jìng)爭(zhēng),如何提供更多的金融產(chǎn)品和更優(yōu)質(zhì)的服務(wù),如何吸引更多的客戶,如何利用計(jì)算機(jī)技術(shù)加強(qiáng)銀行帳戶信

9、息管理,提高銀行的工作效率和業(yè)務(wù)竟?fàn)幠芰κ菙[在各家銀行面前的一個(gè)迫切需要解訣的問(wèn)題。1.1 開(kāi)發(fā)背景隨著科技發(fā)展和社會(huì)進(jìn)步,尤其是計(jì)算機(jī)大范圍的普及,計(jì)算機(jī)應(yīng)用逐漸由大規(guī)模科學(xué)計(jì)算的海量數(shù)據(jù)處理轉(zhuǎn)向大規(guī)模的事務(wù)處理和對(duì)工作流的管理,這就產(chǎn)生了以臺(tái)式計(jì)算機(jī)為核心的管理信息系統(tǒng)在大規(guī)模的事務(wù)處理和對(duì)工作流的管理等方面的應(yīng)用,在銀行帳目管理之中的應(yīng)用日益增加。近年來(lái)我國(guó)信息產(chǎn)業(yè)發(fā)展迅速,手工管理方式在銀行帳目管理等需要大量事務(wù)處理的應(yīng)用中已顯得不相適應(yīng),采用IT技術(shù)提高服務(wù)質(zhì)量和管理水平勢(shì)在必行。目前,對(duì)外開(kāi)放必然趨勢(shì)使銀行業(yè)直面外國(guó)銀行巨頭的直接挑戰(zhàn),因此,銀行必須提高其工作效率,改善其工作環(huán)境。

10、這樣,帳戶管理的信息化勢(shì)在必行。在傳統(tǒng)的銀行帳戶管理中,其過(guò)程往往是很復(fù)雜的,繁瑣的,帳戶管理以入帳和出帳兩項(xiàng)內(nèi)容為核心,在此過(guò)程中又需要經(jīng)過(guò)若干道手續(xù),因?yàn)檎麄€(gè)過(guò)程都需要手工操作,效率十分低下,且由于他們之間關(guān)聯(lián)復(fù)雜,統(tǒng)計(jì)和查詢的方式各不相同;且會(huì)出現(xiàn)信息的重復(fù)傳遞問(wèn)題,因此該過(guò)程需要進(jìn)行信息化,以利用計(jì)算機(jī)進(jìn)行帳目管理。系統(tǒng)開(kāi)發(fā)的整體任務(wù)是實(shí)現(xiàn)銀行帳戶管理的系統(tǒng)化、規(guī)范化、自動(dòng)化和智能化,從而達(dá)到提高企業(yè)管理效率的目的。1.2 開(kāi)發(fā)意義隨著社會(huì)的進(jìn)步和計(jì)算機(jī)技術(shù)的發(fā)展,尤其是網(wǎng)絡(luò)技術(shù)的飛速進(jìn)步,信息觀念已經(jīng)深入人心。信息科學(xué)作為當(dāng)代社會(huì)中的重要一環(huán)在國(guó)民經(jīng)濟(jì)中起著舉足輕重的作用。在中國(guó)經(jīng)濟(jì)

11、蓬勃發(fā)展的今天,越來(lái)越龐大的儲(chǔ)蓄用戶數(shù)目和資金流通量對(duì)銀行帳目管理的可靠性每天都在進(jìn)行苛刻的考驗(yàn)。建立和發(fā)展功能較完善的銀行帳目管理系統(tǒng),不僅可以服務(wù)客戶、聯(lián)系客戶、吸引客戶、穩(wěn)定客戶,鞏固銀行業(yè)務(wù)經(jīng)營(yíng)基礎(chǔ),而且通過(guò)服務(wù)社會(huì),可以塑造銀行自身的市場(chǎng)形象,體現(xiàn)銀行的綜合實(shí)力還能夠提高銀行的存款總量;通過(guò)提供高效,優(yōu)質(zhì)的業(yè)務(wù),吸引更多的客戶來(lái)銀行辦理業(yè)務(wù),從而擴(kuò)大了銀行的客戶群,加強(qiáng)了銀行和客戶的業(yè)務(wù)聯(lián)系,也會(huì)帶動(dòng)其他業(yè)務(wù)的發(fā)展。總之,現(xiàn)代商業(yè)銀行的競(jìng)爭(zhēng)和發(fā)展,已突破傳統(tǒng)業(yè)務(wù)的框架,為了提高銀行的業(yè)務(wù)競(jìng)爭(zhēng)能力,擴(kuò)大客戶群,培育新的利潤(rùn)增長(zhǎng)點(diǎn),務(wù)必大力改良其帳目管理系統(tǒng),因此建立一個(gè)功能齊全可靠的帳

12、目管理系統(tǒng)成為銀行當(dāng)前業(yè)務(wù)發(fā)展的迫切之需。2 系統(tǒng)需求分析2.1 銀行帳目管理系統(tǒng)的需求通過(guò)與銀行工作人員交流了解:隨著銀行業(yè)務(wù)的推陳出新以及這些業(yè)務(wù)為客戶帶來(lái)的便利,使銀行吸引了越來(lái)越多的客戶,一切都使銀行帳目的管理越來(lái)越重要。銀行帳目管理系統(tǒng)是針對(duì)銀行帳目的日常管理而設(shè)計(jì)。銀行操作系統(tǒng)不僅要求操作方便而且要求界面簡(jiǎn)潔,它需要實(shí)現(xiàn)帳目管理,用戶查詢和查詢統(tǒng)計(jì)等幾個(gè)功能。其中帳目管理又包含了開(kāi)戶、銷戶、存款、取款和修改信息的功能。用戶可以通過(guò)不同的方式來(lái)查詢需要的信息。通過(guò)該系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn),使銀行部門更好地進(jìn)行業(yè)務(wù)管理,為客戶提供更佳優(yōu)質(zhì)的服務(wù)。2.2 用戶對(duì)系統(tǒng)的期望銀行對(duì)帳目管理系統(tǒng)的要求

13、主要有以下幾個(gè)方面:1. 系統(tǒng)能夠完成銀行帳目管理系統(tǒng)的主要功能;2. 系統(tǒng)界面簡(jiǎn)潔,容易操作;3. 具有一定的穩(wěn)定性,安全性;4. 訪問(wèn)速度快。2.3 編程語(yǔ)言和運(yùn)行環(huán)境介紹銀行帳目管理系統(tǒng)采用Java語(yǔ)言進(jìn)行編程。Java語(yǔ)言是一種很優(yōu)秀的語(yǔ)言,是目前軟件設(shè)計(jì)中極為壯健的編程語(yǔ)言,只要提供了Java解釋器,Java編寫的軟件在執(zhí)行碼上兼容。Java作為一種程序設(shè)計(jì)語(yǔ)言,它簡(jiǎn)單、面向?qū)ο?、不依賴于機(jī)器的結(jié)構(gòu)、具有可移植性、安全性、并且提供了并發(fā)的機(jī)制,具有很高的性能。其次,它最大限度地利用了網(wǎng)絡(luò),Java的小應(yīng)用程序(applet)可在網(wǎng)絡(luò)上運(yùn)行而不受CPU和環(huán)境的限制。另外,Java還提供

14、了豐富的類庫(kù),使程序設(shè)計(jì)者可以很方便地建立自己的系統(tǒng)。通過(guò)分析Java的特點(diǎn),進(jìn)一步指出它所具有的優(yōu)點(diǎn)。Java語(yǔ)言有下面一些特點(diǎn):簡(jiǎn)單、面向?qū)ο蟆⑴c平臺(tái)無(wú)關(guān)、解釋執(zhí)行、多線程、安全、動(dòng)態(tài)性。1) 簡(jiǎn)單:Java語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,它通過(guò)提供最基本的方法來(lái)完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念,并且通過(guò)實(shí)現(xiàn)自動(dòng)垃圾回收,大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。2) 面向?qū)ο螅篔ava語(yǔ)言的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝了它的狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化

15、和信息隱藏;而類則提供了一類對(duì)象的原型,并且通過(guò)繼承機(jī)制,子類可以使用父類所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。3) 與平臺(tái)無(wú)關(guān):Java解釋器生成與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。這些字節(jié)碼指令對(duì)應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后,對(duì)它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺(tái)運(yùn)行。4) 解釋型:Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時(shí)信息,使得連接過(guò)程更加簡(jiǎn)單。5) 多線程:Java還有一特點(diǎn)就是內(nèi)置對(duì)多線程的支持。多線程支持完成多個(gè)任務(wù)。6) 安全:用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病

16、毒的入侵。Java不支持指針,一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止程序員使用“特洛伊”木馬等欺騙手段訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。7) 動(dòng)態(tài):Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類庫(kù)中可以自由地加入新的方法和實(shí)例變量而不會(huì)影響用戶程序的執(zhí)行。并且Java通過(guò)接口來(lái)支持多重繼承,使之比嚴(yán)格的類繼承具有更靈活的方式和擴(kuò)展性。Eclipse是一個(gè)開(kāi)放源碼的、可擴(kuò)展的應(yīng)用開(kāi)發(fā)平臺(tái),該平臺(tái)為編程人員提供了一流的Java集成開(kāi)發(fā)環(huán)境。作為一套開(kāi)源工具,可用于構(gòu)建Web Services J2EE等各種類型的應(yīng)用,其所提供的功能不亞于、甚至超過(guò)由專

17、業(yè)的集成環(huán)境供應(yīng)商所提供的商業(yè)化產(chǎn)品,如JBuilder。在JAVA的程序開(kāi)發(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ì)、用戶查詢和幫助。其中帳目管理還包含了開(kāi)戶、銷戶、存款、取款和修改信息功能。用戶查詢包含了姓名查詢、地址查詢、帳號(hào)查詢和電話查詢。功能模塊圖如圖1所示。銀行帳目管理系統(tǒng)查詢統(tǒng)計(jì)用戶查詢帳目管理系統(tǒng)管理幫助電話查詢地址查詢帳號(hào)查詢姓名查詢?nèi)】钚薷男畔N戶存款開(kāi)戶圖1銀行帳目管理系統(tǒng)模塊圖3.2 功能模塊介紹銀行帳目管理系統(tǒng)包括五個(gè)模塊,

18、分別為系統(tǒng)管理、帳目管理、查詢統(tǒng)計(jì)、用戶查詢和幫助。其具體的功能如下:帳目管理模塊:主要處理用戶的日常操作。(1)開(kāi)戶:新建一個(gè)帳戶,為其指定一個(gè)唯一的帳號(hào)來(lái)標(biāo)志該用戶(2)銷戶:將指定用戶的帳號(hào)刪除。用戶輸入密碼經(jīng)過(guò)驗(yàn)證成功后,把帳戶的余額全部取出,最后刪除該帳戶。(3)存款:向指定的帳戶中存入一筆錢,經(jīng)用戶輸入密碼確認(rèn)后,方可存入。(4)取款:從指定的帳戶中取出一筆錢。取款前用戶需要輸入密碼確認(rèn),取款后帳戶余額不得少于帳戶的最低存款額,否則不予處理。(5)修改信息:選擇一個(gè)存在的帳戶,然后輸入密碼經(jīng)確認(rèn)后進(jìn)入用戶信息窗口,可對(duì)里面的密碼、聯(lián)系電話和家庭住址進(jìn)行修改,而帳號(hào)和帳戶上的金額不能

19、被用戶修改。查詢模塊:按照指定方式進(jìn)行查找?guī)粜畔?,包括按姓名、帳?hào)和聯(lián)系電話進(jìn)行查找,也可以按照地址進(jìn)行模糊查找。統(tǒng)計(jì)模塊:對(duì)銀行的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),如對(duì)帳戶數(shù)量的統(tǒng)計(jì)。4 系統(tǒng)的實(shí)現(xiàn)4.1 登錄界面的設(shè)計(jì)在登錄界面輸入管理員姓名和密碼,點(diǎn)擊“確定”按鈕,通過(guò)if(username.equals(getUsername()&password.equals(getPassword()語(yǔ)句進(jìn)行比較; 判斷是否通過(guò)驗(yàn)證,如果通過(guò)則釋放,顯示主窗體,進(jìn)入操作主界面,如圖2所示。圖2 登錄界面示意圖當(dāng)管理員打開(kāi)登錄界面后,如果不想登錄,點(diǎn)擊“退出”按鈕退出系統(tǒng),其代碼如下:private void doE

20、xit() System.exit(0);在登錄時(shí)如果管理員輸入錯(cuò)誤的帳號(hào)或密碼,通過(guò)JOptionPane.showMessageDialog(this,錯(cuò)誤的用戶名或密碼!);提示管理員操作。為防止暴力破解,設(shè)計(jì)三次輸入錯(cuò)誤密碼,則自動(dòng)退出系統(tǒng)的機(jī)制.其代碼如下: else if(count = 3) JOptionPane.showMessageDialog(this,連續(xù)三次輸入錯(cuò)誤,退出系統(tǒng)!); doExit();為了防止下個(gè)用戶看到上個(gè)用戶的信息,利用setUsername();和setPassword();來(lái)清空用戶名和密碼輸入框中的內(nèi)容。在設(shè)計(jì)登錄界面的框架時(shí),通過(guò)publi

21、c 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(管理員帳號(hào):);labelPassword= new JLabel(管理員密碼:);txtUsername= new

22、JTextField();txtPassword= new JPasswordField();btnConfirm= new JButton(確定);btnCancel= new JButton(退出); 4.2 操作主界面的設(shè)計(jì)在操作主界面,可以進(jìn)行各種操作,包括存款、取款、開(kāi)戶、銷戶、修改信息、顯示全部和查找,而且界面簡(jiǎn)潔易于操作,如圖3所示。圖3 操作主界面示意圖在設(shè)計(jì)銀行帳目管理系統(tǒng)的操作主界面時(shí),先利用public class MainWindow extends JFrame implements ActionListener 來(lái)定義一個(gè)主窗口類MainWindow,然后在里面定義

23、所需要的全部變量,變量定義為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ì)過(guò)

24、程如下:菜單欄的設(shè)計(jì)是先創(chuàng)建好菜單項(xiàng),然后把菜單項(xiàng)添加到對(duì)應(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)聽(tīng)器,監(jiān)聽(tīng)菜單項(xiàng)的單擊事件queryCountMI.addActionListener(this);

25、/菜單項(xiàng)添加到菜單里面queryCountMenu.add(queryCountMI);setJMenuBar(menuBar);操作主界面的表格如圖5所示。表格主要包含了姓名、帳號(hào)、卡上余額、家庭住址和電話,主要是方便查看信息。圖5 表格示意圖表格部分的設(shè)計(jì)主要代碼如下:/設(shè)置表格的列標(biāo)題final String strColName = 姓名, 帳號(hào), 卡上余額, 家庭住址, 電話;/獲得表格的所顯示數(shù)據(jù)的TableModeldm = (DefaultTableModel) table.getModel();/把列標(biāo)題添加到表格中for ( int i = 0;i strCOLName.l

26、ength; i+ )dm.addColumn(strCOLNamei);窗體下面部分的控件的設(shè)計(jì)主要就先將控件創(chuàng)建出來(lái),再將不同功能的控件分組放置,便于操作。面板被只能創(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è)面板通過(guò)程序中的三個(gè)方法 getBottomLeftPanel(), getBottomMiddleP

27、anel()以及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();bottom

28、Panel.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í)候,顯示的信息會(huì)發(fā)生變化,這主要是隨著操作的進(jìn)行,系統(tǒng)會(huì)清除以前的數(shù)據(jù)。實(shí)現(xiàn)的代碼如下:private void doShowAll() Account account = new Accountdata.getCount();data.getAc

29、countList().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 開(kāi)戶窗口的設(shè)計(jì)與實(shí)現(xiàn)4.3.3 銷戶窗口的設(shè)計(jì)與實(shí)現(xiàn)

30、4.3.4 存款和取款窗口的設(shè)計(jì)與實(shí)現(xiàn)存款和取款的操作方法都是一樣的,都是首先在如圖3所示的操作主界面里選中一個(gè)需要存款(取款)的帳戶,如圖9所示,然后點(diǎn)擊按鈕(存款或取款按鈕),彈出輸入密碼的信息框,帳戶輸入密碼經(jīng)驗(yàn)證后。圖9帳戶被選中示意圖(藍(lán)色標(biāo)志)在沒(méi)有選中帳戶的時(shí)候點(diǎn)擊存款按鈕,系統(tǒng)會(huì)提示帳戶,實(shí)現(xiàn)的代碼為:if(row = -1) /如果沒(méi)有選中記錄,提示先選中記錄才能存款JOptionPane.showMessageDialog(this,請(qǐng)先選擇要存款的帳戶!); 選中要存款的帳戶后,點(diǎn)擊存款按鈕,彈出輸入密碼框,帳戶要輸入密碼驗(yàn)證后才能存款操作,當(dāng)沒(méi)有輸入的密碼或者輸錯(cuò)3次,

31、會(huì)自動(dòng)退出系統(tǒng),實(shí)現(xiàn)的代碼如下:else/根據(jù)選擇的行獲得標(biāo)識(shí)該帳戶的唯一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 =

32、JOptionPane.showInputDialog(this,請(qǐng)輸入密碼:); if(strPassword = null) return; else if (account.getPassword().equals(strPassword) break; else if(+number) 3) JOptionPane.showMessageDialog(this,密碼錯(cuò)誤!請(qǐng)重新輸入!); continue; JOptionPane.showMessageDialog(this,密碼輸錯(cuò)三次,帳號(hào)被鎖定!);return;驗(yàn)證密碼通過(guò)后,在輸入框中輸入存款金額,金額必須為數(shù)字,如果輸入其

33、他信息,系統(tǒng)會(huì)報(bào)錯(cuò),如圖10所示。圖10操作錯(cuò)誤提示框?qū)崿F(xiàn)的代碼如下:/存款數(shù)目只能是數(shù)字String strNumber = null;while (true) strNumber = JOptionPane.showInputDialog(this, 請(qǐng)輸入存款金額:);if(strNumber = null) return; else if (strNumber.matches(1-90-9*) break; JOptionPane.showMessageDialog(this, 輸入錯(cuò)誤!請(qǐng)輸入數(shù)字!);通過(guò)account.setMoney(account.getMoney() + I

34、nteger.parseInt(strNumber);來(lái)實(shí)現(xiàn)存款操作。存款完后顯示一張存取信息表,如圖11所示。產(chǎn)生的存取清單會(huì)存儲(chǔ)到存取清單鏈表中去,點(diǎn)擊“顯示全部”按鈕,顯示新的信息,此時(shí)的卡上余額信息已經(jīng)發(fā)生變化,通過(guò)圖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.

35、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)修改信息的窗口和開(kāi)戶窗口是一樣的,他們繼承于同一個(gè)類,但是他們完成的功能不一樣。點(diǎn)擊如圖3所示操作主界面的“修改密碼”按鈕,彈出輸入密碼提示框,驗(yàn)證后可以修改用戶名、密

36、碼、聯(lián)系電話和家庭住址,點(diǎn)擊“確定”按鈕后顯示修改信息成功。但是帳戶沒(méi)有權(quán)力利修改帳號(hào)和存款金額。修改窗口如圖12所示: 圖12 修改信息窗口主要功能實(shí)現(xiàn)代碼與開(kāi)戶的功能代碼相似,不同的地方是最后只對(duì)帳戶信息進(jìn)行更新,而不是新添加帳戶,如下:/保存此帳戶信息的更新account.setName(getAccountName();/更改帳戶的姓名account.setPassword(getPassword();/更改帳戶的密碼account.setPhone(getPhone();/更改帳戶的電話號(hào)碼account.setAddress(getAddress();/更改帳戶的住址/在鏈表中更新

37、該帳戶的信息data.getAccountList().set(pos,account);/保存帳戶信息到文件4.3.6 查詢功能的實(shí)現(xiàn)在圖3所示的操作主界面,點(diǎn)擊“用戶查詢”或“查找”都能進(jìn)行查找操作,查找的時(shí)候必須選中一個(gè)查詢方式,并且必須輸入查找的關(guān)鍵字,否則會(huì)產(chǎn)生如圖13的提示框。圖13提示信息框代碼如下:if(getInput().trim().length() = 0) JOptionPane.showMessageDialog(this,請(qǐng)輸入查詢關(guān)鍵字!);return;帳戶可以通過(guò)四種方式來(lái)查詢,分別是查詢姓名,查詢帳號(hào),查詢電話號(hào)碼和查詢家庭住址。當(dāng)查詢結(jié)束為,為保證信息的

38、安全,會(huì)清除表格中以前的數(shù)據(jù),代碼如下:while(table.getRowCount() != 0) dm.removeRow(0);根據(jù)查詢方式進(jìn)行查詢,并在表格中顯示出來(lái),當(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.getMon

39、ey()+,accounti.getAddress(), accounti.getPhone(); dm.addRow(strRow);4.3.7 查詢統(tǒng)計(jì)的實(shí)現(xiàn)在如圖3所示的操作主界面單擊菜單上的“查詢統(tǒng)計(jì)”,可以完成對(duì)帳戶數(shù)的統(tǒng)計(jì),代碼如下:private void doCount() JOptionPane.showMessageDialog(this,共有+AccountData.getInstance().getCount()+個(gè)帳戶!);5 數(shù)據(jù)保存機(jī)制-采用鏈表和輸入輸出流銀行帳目管理系統(tǒng)采用輸入輸出流對(duì)數(shù)據(jù)進(jìn)行存取。I/O流提供一條通道程序,可以使用這條通道把與源中的字符序列送

40、到目的地。把輸入流的指向稱做源,程序從指向源的輸入流中讀取源中的數(shù)據(jù)。而輸出流的指向是字節(jié)要去的目的地,程序通過(guò)向輸出流中寫入數(shù)據(jù)把信息傳遞到目的地。程序中用到的是I/O流中的對(duì)象流,即對(duì)象輸入流(ObjectInputStream)和對(duì)象輸出流(ObjectOutputStream)。當(dāng)使用對(duì)象流寫入和讀出數(shù)據(jù)時(shí),要保證對(duì)象是序列化的,一個(gè)類如果實(shí)現(xiàn)了Serializable接口,則這個(gè)類創(chuàng)建的對(duì)象就是序列化的對(duì)象。對(duì)象輸出流使用writeObject(Object obj)方法將一個(gè)對(duì)象obj寫入到一個(gè)文件,對(duì)象輸入流使用readObject(Object obj)方法讀取一個(gè)對(duì)象到程序中

41、。 在程序中對(duì)數(shù)據(jù)的操作是使用鏈表來(lái)實(shí)現(xiàn)的,所有對(duì)數(shù)據(jù)的操作都能在鏈表中表現(xiàn)出來(lái),如數(shù)據(jù)的增加、刪除、修改等。程序中有兩張鏈表存儲(chǔ)帳戶數(shù)據(jù)的鏈表(listAccount)和存儲(chǔ)所有存取清單的帳單鏈表(BillList),鏈表是通過(guò)Java.util包中的LinkedList類來(lái)創(chuàng)建。用戶的所有操作都被記錄在這兩張鏈表中,當(dāng)鏈表中的內(nèi)容發(fā)生改變時(shí),程序會(huì)調(diào)用對(duì)象輸出流的writeObject(Object obj)方法將文件中的內(nèi)容更新,從而實(shí)現(xiàn)數(shù)據(jù)的一致性。在存款,取款,修改信息還有銷戶的時(shí)候首先要在存取帳戶信息的鏈表中找到這個(gè)相對(duì)應(yīng)的帳號(hào),然后在進(jìn)行操作。借助Iterator類實(shí)現(xiàn)遍歷鏈表,

42、一個(gè)鏈表對(duì)象可以使用iterator()方法獲取一個(gè)Iterator對(duì)象,使用next()方法遍歷鏈表。帳戶數(shù)據(jù)的鏈表listAccount建立的代碼如下:/存儲(chǔ)帳戶數(shù)據(jù)的鏈表,且只能存儲(chǔ)Account類private LinkedList listAccount = new LinkedList();在鏈表中查詢帳戶的代碼為:以銷戶為例Iterator iterator = data.getAccountList().iterator();/根據(jù)選擇的行獲得標(biāo)志該帳戶的唯一IDString delId = (String)dm.getValueAt(table.getSelectedRow(

43、),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 o

44、is = new ObjectInputStream (fis);listAccount = (LinkedList)ois.readObject();ois.close();6 測(cè)試6.1 測(cè)試環(huán)境銀行帳目管理系統(tǒng)測(cè)試的環(huán)境是:內(nèi)存512M,硬盤80G,JDK1.5.0_04以及eclipse漢化版,操作系統(tǒng)為Microsoft Windows XP professional上正常運(yùn)行。6.2 測(cè)試結(jié)果銀行帳目管理系統(tǒng)能夠按照用戶的需求實(shí)現(xiàn)各種功能,在登錄以前運(yùn)行整個(gè)系統(tǒng),運(yùn)行通過(guò)后彈出管理員登錄框,輸入姓名和密碼,然后點(diǎn)擊“確定”按鈕,當(dāng)驗(yàn)證通過(guò)后,進(jìn)入操作主界面??蛇M(jìn)行存款、取款、開(kāi)戶、

45、銷戶、修改信息、查詢和統(tǒng)計(jì)功能。在進(jìn)行存款、取款、銷戶和修改信息時(shí)首先都必須選中一個(gè)帳戶,然后再進(jìn)行操作,通過(guò)點(diǎn)擊“修改信息”按鈕來(lái)查看具體的變化。在存款時(shí)當(dāng)用戶沒(méi)有設(shè)置密碼時(shí),默認(rèn)密碼是000000,用戶可以通過(guò)點(diǎn)擊“修改信息”按鈕來(lái)修改自己的密碼。在輸入密碼時(shí)設(shè)置了輸入次數(shù),當(dāng)超過(guò)輸入次數(shù)后,帳戶被鎖定。進(jìn)行查找操作時(shí),可以通過(guò)兩種方式,一是通過(guò)查找?guī)ぬ?hào)、姓名和聯(lián)系電話來(lái)查找?guī)簦峭ㄟ^(guò)查找住址來(lái)進(jìn)行模糊查詢,找到一些相匹配的帳戶系統(tǒng)在上述軟硬件環(huán)境下對(duì)系統(tǒng)的五個(gè)模塊系統(tǒng)管理、帳目管理、用戶查詢、統(tǒng)計(jì)和幫助進(jìn)行測(cè)試和運(yùn)行,結(jié)果能達(dá)到預(yù)期目標(biāo)。結(jié) 論到現(xiàn)在,銀行帳目管理系統(tǒng)能夠完成用戶所要

46、求實(shí)現(xiàn)的功能,能夠進(jìn)行系統(tǒng)管理操作來(lái)退出系統(tǒng);實(shí)現(xiàn)帳目管理從而對(duì)開(kāi)戶、銷戶、存款、取款還有修改信息進(jìn)行操作,除了開(kāi)戶功能在進(jìn)行銷戶等操作時(shí)必須先選擇一個(gè)帳戶然后輸入密碼進(jìn)行驗(yàn)證后才能進(jìn)行下一步的操作;實(shí)現(xiàn)了用戶查詢,可以通過(guò)四種方式:姓名查詢、地址查詢、電話查詢還有帳戶查詢,在查詢的時(shí)候先選擇查詢方式然后必須輸入關(guān)鍵字才能進(jìn)行查詢。最后實(shí)現(xiàn)了查詢統(tǒng)計(jì)功能,通過(guò)這個(gè)功能能夠查詢到當(dāng)前的帳戶數(shù)量。在設(shè)計(jì)銀行帳目管理系統(tǒng)時(shí),多次用到繼承,很多功能實(shí)現(xiàn)的代碼是相似的,對(duì)數(shù)據(jù)的操作是使用鏈表來(lái)實(shí)現(xiàn)的,所有對(duì)數(shù)據(jù)的操作都能在鏈表中表現(xiàn)出來(lái),如數(shù)據(jù)的增加、刪除、修改等。但是在開(kāi)發(fā)實(shí)現(xiàn)時(shí)還是遇到了很多料想不到

47、的問(wèn)題,在這里很感謝指導(dǎo)老師的指導(dǎo)和幫助,讓我能夠及時(shí)改正錯(cuò)誤,最終完成系統(tǒng)所能展示的功能。但是還是存在一些不足,幫助模塊里面涉及到的關(guān)于功能還沒(méi)有出來(lái)。在設(shè)計(jì)完整個(gè)系統(tǒng)后,不僅加深了以前所學(xué)的理論知識(shí),也學(xué)到了很多新的知識(shí),提高自己全面思考和實(shí)踐能力。為了鞏固和提高自身的能力,復(fù)習(xí)和常做項(xiàng)目是必不可少的,同時(shí)要虛心學(xué)習(xí),不驕傲自滿,認(rèn)真聽(tīng)取他人的建議。參考文獻(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)目開(kāi)發(fā)實(shí)踐M.中國(guó)鐵道出版社,2004。5 張懷慶.Java案例精釋150例M.冶金工業(yè)出版社,2005。6 陳剛.Eclipse從入門到精通M.清華大學(xué)出版社,2005。7 張?jiān)茲?龔玲.Eclipse精要與高級(jí)開(kāi)發(fā)技術(shù)M.電子工業(yè)出版社,2005。8 周競(jìng)濤.Eclipse完全手冊(cè)M.電子工業(yè)出版社,2006。9 耿祥義,張躍平,王克宏.JAVA 2 實(shí)用教程M.清華大學(xué)出版社,2004。第18頁(yè) 共23頁(yè)

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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