版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> ******************</p><p><b> 實踐教學(xué)</b></p><p> ******************</p><p><b> 計算機(jī)與通信學(xué)院</b></p><p><b> 2012年秋季學(xué)期</b><
2、;/p><p><b> Java課程設(shè)計</b></p><p> 題 目: ATM柜員機(jī)模擬 </p><p> 專業(yè)班級: 10級軟件工程 </p><p> 姓 名: </p><p> 學(xué) 號: &
3、lt;/p><p> 指導(dǎo)教師: </p><p> 成 績: </p><p><b> 摘要</b></p><p> 通過設(shè)計ATM柜員模擬程序,加深自己對Java編程尤其是對Java圖形用戶界面編程的 了解,將自己學(xué)到的編程知識融會貫通,同
4、時培養(yǎng)自身面向?qū)ο筌浖_發(fā)的思維,初步了解軟件開發(fā)的一般流程,提高用Java實際動手能力并增強(qiáng)自己對面向?qū)ο蟮牧私狻Mㄟ^這次編程設(shè)計,加深了對Java圖形界面編程中各個模塊和組件的應(yīng)用了解,以及類和類之間的關(guān)系,界面排版的處理等。</p><p> 本程序采用Java編寫,模擬ATM柜員機(jī)的基本功能,比如存款、取款、修改密碼等。該程序與Mysql數(shù)據(jù)庫相連接,可以方便的實現(xiàn)對賬戶的管理,并且界面為AWT組件構(gòu)建
5、的圖形用戶界面,更好的實現(xiàn)了人機(jī)交互的功能。本系統(tǒng)默認(rèn)的賬戶為123456,密碼為123456,初始化金額為10000。</p><p> 關(guān)鍵字: 登陸界面 存款 取款 修改密碼 功能界面</p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p&
6、gt;<b> 序言1</b></p><p> 第一章 系統(tǒng)分析與設(shè)計2</p><p> 第二章 詳細(xì)設(shè)計4</p><p> 第三章 系統(tǒng)測試9</p><p> 第四章 軟件使用說明書12</p><p><b> 設(shè)計總結(jié)18</b><
7、/p><p><b> 參考文獻(xiàn)19</b></p><p><b> 致謝20</b></p><p><b> 序言</b></p><p> 隨著市場經(jīng)濟(jì)的繁榮發(fā)展,人們的物質(zhì)生活得到極大的提高,手中的剩余資金也日益增多。受傳統(tǒng)觀念的影響,絕大多數(shù)人喜歡把資金投進(jìn)
8、銀行,而在需要使用現(xiàn)金的時候再到銀行提取現(xiàn)金。這就導(dǎo)致銀行業(yè)務(wù)的的急劇增加。雖然銀行網(wǎng)點越來越多,銀行的工作效率也隨著信息化有較明顯的增長,但是依舊不能滿足廣大用戶的需求。而一味的增加營業(yè)網(wǎng)點,從理論上雖然能稍微的緩解銀行的壓力,但是治標(biāo)不治本,而且每增加一個網(wǎng)點,不僅要付出昂貴的資金成本,還需要長期投入人力資本,成本非常昂貴。于是ATM機(jī)系統(tǒng)就應(yīng)運而生了,它的出現(xiàn)大大地減輕了銀行的業(yè)務(wù)負(fù)擔(dān),同時也方便了人民大眾。</p>
9、<p> 本文正是通過設(shè)計一個ATM模擬程序來實現(xiàn)ATM機(jī)系統(tǒng)的基本功能,充分運用自己所學(xué)的Java知識進(jìn)行設(shè)計編程。</p><p> 第一章 系統(tǒng)分析與設(shè)計</p><p> 該系統(tǒng)實現(xiàn)的主要功能如下所述:</p><p> 要求使用圖形用戶界面,當(dāng)輸入給定的卡號和密碼(初始卡號和密碼)時,系統(tǒng)能登陸到ATM柜員機(jī)模擬系統(tǒng),用戶可以按照以下規(guī)
10、則進(jìn)行操作:</p><p> 查詢余額:初始余額為10000元。</p><p> ATM取款:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。</p><p> ATM存款:不能出現(xiàn)負(fù)存款。</p><p> 修改密碼:新密碼長度為6位,不允許出現(xiàn)6位萬全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入
11、相同的情況下才可以成功修改密碼</p><p> 因此該程序總共設(shè)計了8個類,其中ATM為主類,剩余的類分別實現(xiàn)不同的功能,buttonNumber類實現(xiàn)不同情況下按鍵的響應(yīng),queryButton類實現(xiàn)查詢余額功能的入口,changeButtonAction類實現(xiàn)修改密碼功能的入口,inputButtonAction類實現(xiàn)存款的功能入口,withdrawButtonAction類實現(xiàn)取款功能的入口,enter
12、ButtonAction類實現(xiàn)不同情況下確定的相應(yīng)功能,exitButtonAction類實現(xiàn)退出功能。</p><p> 成員變量enterState在全局中起決定性作用,根據(jù)enterState的值的變換,程序?qū)崿F(xiàn)相應(yīng)的功能。</p><p> ATM取款機(jī)的流程圖如圖1-1所示:</p><p><b> 圖1-1</b></
13、p><p><b> 第二章 詳細(xì)設(shè)計</b></p><p> ATM主類的詳細(xì)設(shè)計</p><p> 在該類中定義了所有的成員變量(也包括了AWT的各個組件的定義)和在其中的內(nèi)部類,并且在主類的構(gòu)造函數(shù)中加入了與數(shù)據(jù)庫連接、測試的相關(guān)代碼。同時通過定義函數(shù)CreateUI( )來實現(xiàn)各個成員變量的初始化。</p><p
14、><b> 其中成員變量有:</b></p><p> private JTextArea messageArea;</p><p> private JPanel buttonPanel;</p><p> private JButton buttonName[]={"1","2",&
15、quot;3","4","5","6","7","8","9","0"};</p><p> private JButton queryButton;</p><p> private JButton inputButton;</p
16、><p> private JButton changeButton;</p><p> private JButton withdrawButton;</p><p> private JButton enterButton;</p><p> private JButton exitButton;</p><p&g
17、t; private double balance;</p><p> private double accountAmount;</p><p> private String accountNumber="",accountPin="";</p><p> private int enterState=0;<
18、/p><p> private String s="";</p><p> private String s1="";</p><p> private Connection myCon;</p><p> private Statement myStatement;</p><
19、p> private ResultSet myResultSet;</p><p> buttonNumber類的詳細(xì)設(shè)計</p><p> 以enterState的不同值為入口,當(dāng)對0—9這十個數(shù)字進(jìn)行按鍵操作時,buttonNumber類就會在其內(nèi)部以if分支結(jié)構(gòu)來做出不同的響應(yīng)。實現(xiàn)的效果如圖2-1所示:</p><p><b> 圖2
20、-1</b></p><p> queryButtonAction類的詳細(xì)設(shè)計</p><p> 該類只是通過與數(shù)據(jù)庫的連接實現(xiàn)查詢余額功能,比較簡單。</p><p> class queryButtonAction implements ActionListener</p><p><b> {</b&
21、gt;</p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> messageArea.setText("當(dāng)前余額為:"+accountAmount);</p><p> messageAr
22、ea.append("\n需要繼續(xù)服務(wù)請按確定,否則請按退出!");</p><p> enterState=3;</p><p><b> } }</b></p><p> changeButtonAction類的詳細(xì)設(shè)計</p><p> 該類的實現(xiàn)比其他的類稍微復(fù)雜些,通過與確定功能的e
23、nterButtonAction類和buttonNumber類共同協(xié)作,可以達(dá)到修改密碼時的要求:新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。</p><p> class changeButtonAction implements ActionListener{</p><p> public void
24、 actionPerformed(ActionEvent e){</p><p> messageArea.setText("請輸入舊密碼\n");</p><p> enterState = -1;</p><p><b> }</b></p><p><b> }</b&g
25、t;</p><p> inputButtonAction類的詳細(xì)設(shè)計</p><p> 該類實現(xiàn)存錢的功能,通過與確定功能的enterButtonAction類和buttonNumber類共同協(xié)作,可以達(dá)到存款時的要求:不能出現(xiàn)負(fù)存款。</p><p> class inputButtonAction implements ActionListener<
26、;/p><p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> messageArea.setText("請輸入存款金額:\n");</
27、p><p> enterState = 4;</p><p><b> s="";</b></p><p><b> }</b></p><p><b> }</b></p><p> WithdrawaButtonAction
28、類的詳細(xì)設(shè)計</p><p> 該類實現(xiàn)取款的功能通過與確定功能的enterButtonAction類和buttonNumber類共同協(xié)作,可以達(dá)到取款時的要求:每次取款金額為100的倍數(shù),總額不超過5000元,支取金額不允許透支。</p><p> class withdrawButtonAction implements ActionListener</p><
29、p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> messageArea.setText("請輸入取款金額:\n");</p><p&
30、gt; enterState=2;</p><p><b> s=""; </b></p><p><b> }</b></p><p><b> }</b></p><p> exitButtonAction類的詳細(xì)設(shè)計</p>
31、<p> 該類實現(xiàn)返回初始界面的功能由enterState的具體值來選擇返回。</p><p> class exitButtonAction implements ActionListener</p><p><b> {</b></p><p> public void actionPerformed(ActionEve
32、nt e)</p><p><b> {</b></p><p> enterState=0;</p><p><b> s="";</b></p><p> accountAmount=0;</p><p> accountNumber=&qu
33、ot;";</p><p> accountPin="";</p><p> messageArea.setText("歡迎使用ATM,請輸入帳號:\n");</p><p><b> }</b></p><p><b> }</b><
34、/p><p> enterButtonAction類的詳細(xì)設(shè)計</p><p> 該類實現(xiàn)各種情況下點擊確定后發(fā)出的響應(yīng),通過判斷enterState的值,使用if-else分支結(jié)構(gòu)進(jìn)行選擇,最終實現(xiàn)各個模塊的功能。</p><p> class enterButtonAction implements ActionListener</p><
35、p><b> {</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> enterState++;</p><p> if(enterState==0)</p&
36、gt;<p><b> {</b></p><p><b> 進(jìn)入修改密碼模塊</b></p><p><b> }</b></p><p> if(enterState==2)</p><p><b> {</b></p&g
37、t;<p><b> 進(jìn)入輸入舊密碼模塊</b></p><p><b> }</b></p><p> if(enterState==3)</p><p><b> {</b></p><p><b> 進(jìn)入取款功能模塊</b>&
38、lt;/p><p><b> }</b></p><p> if(enterState==5)</p><p><b> {</b></p><p><b> 進(jìn)入存款功能模塊</b></p><p><b> }</b>&l
39、t;/p><p> if(enterState==4 || enterState== 6)</p><p><b> {</b></p><p><b> 回到主界面</b></p><p><b> }</b></p><p><b>
40、 }</b></p><p><b> 第三章 系統(tǒng)測試</b></p><p><b> 測試目標(biāo)</b></p><p> 測試ATM模擬系統(tǒng)的用戶登錄、修改密碼、取款、存款、查詢余額等功能,保證系統(tǒng)能正確模擬實現(xiàn)ATM柜員機(jī)的日常功能,用戶能夠在該系統(tǒng)上完成這幾種ATM柜員機(jī)的模擬操作,界面操作逼
41、真,使用方便。</p><p><b> 測試環(huán)境</b></p><p> 確保項目測試環(huán)境符合測試要求,減少嚴(yán)重影響測試結(jié)果的真實性和正確性的風(fēng)險。要求:</p><p><b> 硬件環(huán)境:</b></p><p> 普通PC機(jī)CPU:Pentium-4以上內(nèi)存:256M以上
42、硬盤:30G以上</p><p><b> 軟件環(huán)境:</b></p><p> 操作系統(tǒng):Windows 2000/XP/7</p><p> 軟件運行環(huán)境: Eclipse Mysql</p><p><b> 測試方案</b></p><p> 第四章 軟件
43、使用說明書</p><p> 1.登陸界面如圖4-1</p><p><b> 圖4-1</b></p><p> 2.輸入卡號初始值為123456,點擊確定進(jìn)入輸入密碼界面如圖 4-2、4-3</p><p><b> 圖4-2</b></p><p><b&
44、gt; 圖4-3</b></p><p> 3.進(jìn)入功能界面,單擊相應(yīng)的功能按鈕分別進(jìn)入不同的功能界面(初始金額為10000)。查詢功能如圖4-4所示</p><p><b> 圖4-4</b></p><p> 4.取款功能如圖4-5、4-6所示(若取款金額超過5000系統(tǒng)后會提示錯誤)</p><p&
45、gt;<b> 圖4-5</b></p><p><b> 圖4-6</b></p><p> 5.存款功能如圖4-7、4-8所示:</p><p><b> 圖4-7</b></p><p><b> 圖4-8</b></p>&
46、lt;p> 6.修改密碼功能如圖4-8所示:</p><p><b> 圖4-8</b></p><p><b> 圖4-9</b></p><p><b> 圖4-10</b></p><p><b> 圖4-11</b></p&g
47、t;<p><b> 設(shè)計總結(jié)</b></p><p> 在課程設(shè)計之前,我自己感覺Java學(xué)的挺不錯的,所以心里暗暗認(rèn)為這次課程設(shè)計的任務(wù)不會很難,但是現(xiàn)實往往是殘酷的,這次課設(shè)把我狠狠地打擊了一把,不過也收獲了很多。在這兩個星期的Java課程設(shè)計中,我通過查閱書籍、查詢網(wǎng)絡(luò)等方法,終于完成了這次的課設(shè)任務(wù),對此我感觸頗深。</p><p> 剛
48、開始的時候,做可視化界面時遇到了不少問題,總是想得很好,但自己親自動手寫代碼的時候就犯難了,要么寫不出來,要么寫出來不對,反正亂的是一塌糊涂?,F(xiàn)在我總覺得沒有學(xué)好Java課程,后來經(jīng)過一星期的惡補(bǔ)和細(xì)心琢磨,終于完成了這一個模塊。</p><p> 再后來,遇上了與數(shù)據(jù)庫的連接問題,我又是一番苦苦掙扎,不過最后在老師的指導(dǎo)下都一一克服了,從這個過程中,我明白了自己的知識是非常有限的,有一些后悔自己沒有把課余時間
49、利用好,沒有好好地充實自己,不過現(xiàn)在還不太晚,</p><p> 在距離畢業(yè)的這一年半里,我要好好加油、毫不松懈,同時要培養(yǎng)自己的動手能力,為今后的就業(yè)做好萬全的準(zhǔn)備!</p><p><b> 參考文獻(xiàn)</b></p><p> [1]王萌,劉婧,來賓著JAVA程序設(shè)計[M]北京冶金:工業(yè)出版社,2004</p><
50、p> [2]黃聰明精通 JAVA程序設(shè)計[M]北京:清華大學(xué)出版社,2004.4</p><p> [3]王文濤,袁海燕 JAVA實用程序設(shè)計100例[M]北京:人民郵電出版社,2005.5</p><p> [4]雍俊海 JAVA程序設(shè)計[M]北京:清華大學(xué)出版社,2006.8</p><p> [5]劉寶林JAVA程序設(shè)計與案例[M]北
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計---atm柜臺模擬說明書
- ava課程設(shè)計---atm柜臺模擬說明書
- ava課程設(shè)計---ATM柜臺模擬說明書.docx
- java課程設(shè)計--atm機(jī)模擬系統(tǒng)
- java課程設(shè)計atm機(jī)
- java課程設(shè)計--- atm柜員機(jī)
- java課程設(shè)計-atm柜員機(jī)模擬程序資料
- java課程設(shè)計報告-- 學(xué)籍管理系統(tǒng)說明書
- atm自動取款機(jī)系統(tǒng)課程設(shè)計說明書
- java課程設(shè)計報告---atm柜員機(jī)
- java課程設(shè)計報告--銀行atm機(jī)系統(tǒng)
- 漢諾塔java課程設(shè)計說明書
- java網(wǎng)絡(luò)課程設(shè)計---網(wǎng)絡(luò)斗地主說明書
- java課程設(shè)計說明書---連連看
- 人事管理系統(tǒng)_java課程設(shè)計說明書
- 圖書銷售管理系統(tǒng)-java課程設(shè)計說明書
- java餐廳點餐系統(tǒng)課程設(shè)計說明書
- java課程設(shè)計報告--atm存取款系統(tǒng)
- atm網(wǎng)絡(luò)編程cs課程設(shè)計--模擬atm機(jī)網(wǎng)絡(luò)編程
- 萬年歷java課程設(shè)計說明書
評論
0/150
提交評論