2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論