版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大連科技學院java程序設計課程設計(B)題目 銀行取款管理系統(tǒng) 學生姓名XXX專業(yè)班級計算機(Z13-1指導教師XXX職稱講師所在單位 信息科學系軟件工程教研室 教學部主 完成日期2016年9月30日
課程設計報告單學號XXX 姓名 XXX專業(yè)班級計算機(Z)13-1考核項目評分備注1平時工作態(tài)度及遵守紀律情況(10分)2掌握基本理論、關鍵知識、基本技能的程度和閱讀參考資料的水平(10分)3獨立工作能力、綜合運用所學知識分析和解決冋題能力及實際工作能力提咼的程度(20分)4完成課程設計說明書及軟件的情況與水平(小組分工情況、規(guī)范性、整潔清楚、敘述完整性、思路清晰程度、工作量及實際運行情況和創(chuàng)新性)(60分)總評成績(優(yōu)、良、中、及格、不及格)指導教師簽字:綜合評定:(優(yōu)、良、中、及格、不及格)指導教師簽字:2016年9月30日java程序設計課程設計(B)》任務書一、課程設計任務及要求:任務:針對小型信息管理系統(tǒng)或若干綜合性設計題目,選擇一種軟件開發(fā)模型,完成從需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn),軟件測試的全過程。要求:(1) 根據(jù)軟件系統(tǒng)開發(fā)的一般原則,完成相應系統(tǒng)的功能設計,完成主要功能模塊的程序實現(xiàn)并進行測試訓練,給出代碼運行結果和相應的設計文檔??梢苑纸M進行,但所有學生必須經歷整個系統(tǒng)的開發(fā)全過程,以便加深對系統(tǒng)開發(fā)全過程的認識。(2)提交課程設計報告。(3)指標:要求完成課程設計報告3000字以上(約二十頁);完成所設計的題目,設計題目的語句行數(shù)的和在200行語句以上。二、工作量2周(10個工作日)時間三、計劃安排第1個工作日:查找相關資料、書籍,閱讀示例文檔,選擇題目。第2個工作日-第4個工作日:設計程序結構、模塊圖。第5個工作日-第9個工作日:完成程序的編碼,并且自己調試、測試。穿插進行課程設計報告的撰寫。第10個工作日:上交課程設計報告,由教師檢查軟件測試效果、檢查課程設計報告,給出學生成績。指導教師簽字:2016年9月19日目錄TOC\o"1-5"\h\z題目: 1需求分析 1...概要設計 1...詳細設計 2...編碼 3...調試分析 1..1.測試結果及運行效果 1..1系統(tǒng)開發(fā)所用到的技術 1..3課程設計總結 1..4.參考文獻 514附錄全部代碼 16題目:銀行取款管理系統(tǒng)的設計與實現(xiàn)需求分析在傳統(tǒng)的銀行帳戶管理中,其過程往往是很復雜的,繁瑣的,帳戶管理以入帳和出帳兩項內容為核心,在此過程中又需要經過若干道手續(xù),因為整個過程都需要手工操作,效率十分低下,且由于他們之間關聯(lián)復雜,統(tǒng)計和查詢的方式各不相同;且會出現(xiàn)信息的重復傳遞問題,因此該過程需要進行信息化,以利用計算機進行帳目管理。為了提高銀行的辦事效率,減低銀行工作人員的辦事效率,降低傳統(tǒng)銀行的出入賬計算方式,因此急需開發(fā)一套信息化的方式,開發(fā)合適的系統(tǒng)就成為了解決這一問題的核心。概要設計根據(jù)以上所說的功能,銀行取款管理系統(tǒng)應該有以下的功能:定、活期存款操作:在定期,活期的存款操作上,根據(jù)自己需要存放的金額進行存放,并填寫需要存儲的年限,點擊確認,進行存款,在設計定、活期存款上,首先判斷輸入的現(xiàn)金數(shù)是否為負數(shù),不為負繼續(xù)存入,為負不存入,主要是 actionPerformed。函數(shù)實現(xiàn),存款按鈕與內層界面的確定按鈕。取款操作:在取款操作上,根據(jù)自己所需要的金額進行取款,若銀行里面的金額滿足自己所取款的金額,則系統(tǒng)顯示取款的金額,并顯示剩余的金額,若銀行里面的金額不滿足自己所需的金額,則系統(tǒng)顯示金額不足,不能取出相應的金額。該模塊主要實現(xiàn):賬戶中現(xiàn)金的取出,余額的扣除。借助函數(shù)get()函數(shù)實現(xiàn)。查詢賬戶余額:在查詢賬戶余額操作上,根據(jù)自己的存款,取款的操作,進行計算后,顯示出銀行賬戶的余額,該模塊主要實現(xiàn):當前賬戶現(xiàn)金加利息的查詢以及輸出,借助函數(shù)balance()實現(xiàn)。(4)計算當前利息:在計算當前利息操作上,根據(jù)在定、活期存款的選擇的基礎上,根據(jù)個人的選擇,系統(tǒng)會自動算出利息。該模塊只要實現(xiàn):當前賬戶利息的查詢機輸出。借助函數(shù)lixid()與lixih()實現(xiàn)。
詳細設計系統(tǒng)模塊結構設計如圖1-1所示:通過上圖的功能分析,把整個系統(tǒng)劃分為 6個模塊:⑴存款操作。該模塊主要實現(xiàn):現(xiàn)金的存放,余額的累加。借助內外層兩個actionPeformed()函數(shù)實現(xiàn);取款操作。該模塊主要實現(xiàn):賬戶中現(xiàn)金的取出,余額的扣除。借助函數(shù) get()函數(shù)實現(xiàn);當前余額查詢操作。該模塊主要實現(xiàn):當前賬戶現(xiàn)金加利息的查詢以及輸出, 借助函數(shù)balance()實現(xiàn);當前利息查詢操作。該模塊只要實現(xiàn):當前賬戶利息的查詢機輸出。借助函數(shù)lixid()與lixih()實現(xiàn);定活期的設置。該模塊主要實現(xiàn):定期與活期存款的設定;利息的計算。借助界面以及里層的actionPeformed()函數(shù)實現(xiàn)。編碼(一)存款操作:分析:首先判斷輸入的現(xiàn)金數(shù)是否為負數(shù),不為負繼續(xù)存入,為負不存入,主要是actionPeformed()函數(shù)實現(xiàn),存款按鈕與內層界面的確定按鈕;該模塊的具體代碼如下所示。if(e.getSource()==button_queding)/單擊確定按鈕{doublecunkuanzhi=lnteger.parseInt(text_cunkuanshu.getText());存款數(shù)文本框字符串強制轉換雙精度型if(cunkuanzhi>0)〃存款操作{balance+=cunkuanzhi;//存款操作使余額值增加}JOptionPane.showMessageDialog(this,存款"+cunkuanzhi+"成功!");if(radio_dingqi.isSelected())〃定、活期單選框利息計算傳送rlixi=dlixi();if(radio_huoqi.isSelected())rlixi=hlixi();}if(e.getSource()==button_cunkuan)/單擊存款按鈕{Stringdingqis[]={"0.25","0.5","1","2","3","5"};//組合框內容數(shù)組newMessageJDialog(dingqis);/新建MessageJDialog類對象}(二)取款操作:get()分析:先輸入取款數(shù),如果取款數(shù)大于余額,則取出賬戶中全部余額,否則繼續(xù)取款,余額減少。該模塊的具體代碼如下所示。publicdoubleget() //取款操作,參數(shù)為取款金額,返回實際取到金額Stringpassword=JOptionPane.showlnputDialog(this,情輸入取款數(shù)");doublequkuanzhi=Integer.parseInt(password);if(qukuanzhi>0){if(qukuanzhi<=this.balance)this.balance-=qukuanzhi; //取款操作使余額值減少else//賬戶余額不夠所取時{qukuanzhi=this.balance+rlixi;//取走全部余額this.balance=0;JOptionPane.showMessageDialog(this您的余額不足,已為您取出全部余額!");}returnqukuanzhi; //返回實際取款額}return0;}查詢余額:balance()分析涂額變量為成員變量balanee,直接返回balanca該模塊的具體代碼如下所示。publicdoublebalance() //查看賬戶余額{returnbalance+rlixi;}查詢利息:lixid();lixih()分析;該模塊主要實現(xiàn)利息的查詢及輸出。點擊查詢當前利息按鈕,顯示當前利息。主要方法是給出當前利息率,按訂活期的不同選擇不同的函數(shù),用switch語句實現(xiàn)利息的選擇計算。該模塊的具體代碼如下所示。publicdoubledlixi()//成員方法:計算定期利息{doublea=balance;doublec=dnianfeng;switch((int)(c*4))case1:return(a*0.0248*c);case2:return(a*0.0264*c);case4:return(a*0.028*c);case8:return(a*0.0352*c);case12:return(a*0.04*c);case20:return(a*0.044*c);default:return0;}}publicdoublehlixi()//成員方法:計算活期利息方法{doublehnianfeng=Double.parseDouble((text_huoqi.getText()));doublea=balance;doublec=hnianfeng;doubles=a*0.004*c;returns;}主界面的建立:bankJFame分析:該模塊主要是整個系統(tǒng)的主界面。實現(xiàn)圖形用戶界面的輸出,使用戶更直觀地去操作本系統(tǒng)。主要的組件有:三塊面板;文本框;標簽;按鈕;該模塊的具體代碼如下所示。importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;importjava.awt.FlowLayout;publicclassbankJFrameextendsJFrameimplementsActionListener{privateJTextFieldtext_zhanghao,text_kahao;定義賬號,卡號文本行privateJButtonbutton_cunkuan,button_qukuan,button_yue,button_lixi;/定義存款,取款,查詢余額按鈕privatedoublebalanee;/成員變量--查看余額privatedoublerlixi;publicbankJFrame()super("銀行存取款管理系統(tǒng)");//主窗口標題this.setBounds(300,240,400,150);/窗/口初彈出坐標及大小this.setResizable(false);/窗口大小不能改變this.setBackground(Color.lightGray);//顏色設置this.setLayout(newjava.awt.FlowLayout(FlowLayout.CENTER));//面板布局為居中this.setDefaultCloseOperation(EXIT_ON_CLOSE);JPanelpanel仁newJPanel();新建第一個面板this.getContentPane().add(panel1,"North");panel1.add(newJLabel(賬戶"));text_zhanghao=newJTextField("zj",6);text_zhanghao.setEditable(false);文本行不可編輯panel1.add(text_zhanghao);panel1.add(newJLabel(咔號"));//用戶卡號標簽及文本行text_kahao=newJTextField(,15);text_kahao.setEditable(false);/文本行不可編輯panel1.add(text_kahao);this.setVisible(true);//窗口可見JPanelpanel2=newJPanel();this.getContentPane().add(panel2,"South");面板布局及添加面板至主面板button_cunkuan=newJButton(存款");//存款按鈕panel2.add(button_cunkuan);button_cunkuan.addActionListener(this);button_qukuan=newJButton("取款");//取款按鈕panel2.add(button_qukuan);button_qukuan.addActionListener(this);button_yue=newJButton("查詢當前余額");//查詢當前余額按鈕panel2.add(button_yue);button_yue.addActionListener(this);button」ixi=newJButton(”當前利息");//當前利息按鈕panel2.add(button_lixi);button_lixi.addActionListener(this);this.setVisible(true);}publicvoidactionPerformed(ActionEvente)〃單擊事件處理方法{if(e.getSource()==button_cunkuan)/單擊存款按鈕{Stringdingqis[]={"0.25","0.5","1","2","3","5"};//組合框內容數(shù)組newMessageJDialog(dingqis);/新建MessageJDialog類對象}if(e.getSource()==button_yue)/單擊查詢余額按鈕{doublerelixi=balance();JOptionPane.showMessageDialog(this尊敬的zj先生,您的當前賬戶余額為:"+(relixi)+"元");}if(e.getSource()==button_qukuan)/單擊取款按鈕{doubleqk=get();JOptionPane.showMessageDialog(this取款"+qk+"元成功!");}if(e.getSource()==button_lixi)〃單擊計算利息按鈕{JOptionPane.showMessageDialog(this尊敬的zj先生,您的當前賬戶利息為:"+rlixi+"元");}}(五)內層界面的建立:MessageJDialog分析:該模塊主要是為主界面而服務的一個子框架。在此框架中,可以是新的功能有:定期、活期的選擇;定期,活期利息的計算,存款操作的實現(xiàn);主要用到的組件及成員方法有:標簽;文本框;單選框;組合框;按鈕;該模塊的具體代碼如下所示。publicclassMessageJDialogextendsJFrameimplementsActionListener{JTextFieldtext_cunkuanshu,text_huoqi;/存款數(shù)與活期存款年份的輸入JLabeljlabel_huoqi,jlabel_dingqi;//活期期限標簽,定期期限標簽JButtonbutton_queding;/確定按鈕JRadioButtonradio_dingqi,radio_huoqi;//活、定期單選框JComboBoxbox_dingqi;//定期年份組合框doublednianfeng;〃內部成員變量定期年份的聲明MessageJDialog(Stringdingqis[]){super("提示");this.setBounds(350,290,300,220);JPanelpanel1=newJPanel();panel1.add(newJLabel(請輸入存款數(shù)(元):"));panel1.add(text_cunkuanshu=newJTextField("100",6));text_cunkuanshu.addActionListener(this);this.getContentPane().add(panel1);JPanelpanel_rb=newJPanel(newGridLayout(1,2));panel1.add(panel_rb);this.setVisible(true);ButtonGroupbgroup=newButtonGroup();radio_dingqi=newJRadioButton(”定期存款");bgroup.add(radio_dingqi);panel_rb.add(radio_dingqi);radio_dingqi.addActionListener(this);radio_huoqi=newJRadioButton("活期存款");bgroup.add(radio_huoqi);panel_rb.add(radio_huoqi);this.setVisible(true);radio_huoqi.addActionListener(this);JPanelpanel_rm=newJPanel();panel1.add(panel_rm);panel_rm.add(jlabel_dingqi=newJLabel("請選擇定期期限(年)"));box_dingqi=newJComboBox(dingqis);box_dingqi.setEditable(true);box_dingqi.addActionListener(this);panel_rm.add(box_dingqi);this.setVisible(true);JPanelpanel_rn=newJPanel();panel1.add(panel_rn);panel_rn.add(jlabel_huoqi=newJLabel("請輸入活期期限(年):"));panel_rn.add(text_huoqi=newJTextField("1",7));button_queding=newJButton('確定");panel1.add(button_queding);this.setVisible(true);button_queding.addActionListener(this);//注冊文本編輯事件監(jiān)聽器}publicStringstr()//成員方法:獲取文本框輸入存款數(shù)字符串{Stringstr=text_cunkuanshu.getText();returnstr;}publicdoubledlixi()//成員方法:計算定期利息{doublea=balance;doublec=dnianfeng;switch((int)(c*4)){case1:return(a*0.0248*c);case2:return(a*0.0264*c);case4:return(a*0.028*c);case8:return(a*0.0352*c);case12:return(a*0.04*c);case20:return(a*0.044*c);default:return0;}}publicdoublehlixi()//成員方法:計算活期利息方法{doublehnianfeng=Double.parseDouble((text_huoqi.getText()));doublea=balance;doublec=hnianfeng;doubles=a*0.004*c;returns;}publicvoidactionPeformed(ActionEvente)//內部對話框類單擊事件處理方法{if(radio_dingqi.isSelected())〃定期單選框選中{text_huoqi.setVisible(false);jlabel_huoqi.setVisible(false);jlabel_dingqi.setVisible(true);box_dingqi.setVisible(true);rlixi=dlixi();}elseif(radio_huoqi.isSelected())/活期單選框選中{jlabel_dingqi.setVisible(false);box_dingqi.setVisible(false);text_huoqi.setVisible(true);jlabel_huoqi.setVisible(true);rlixi=hlixi();}if(e.getSource()==button_queding)/單擊確定按鈕{doublecunkuanzhi=lnteger.parseInt(text_cunkuanshu.getText());存款數(shù)文本框字符串強制轉換雙精度型if(cunkuanzhi>0)〃存款操作{balance+=cunkuanzhi;//存款操作使余額值增加}JOptionPane.showMessageDialog(this存款"+cunkuanzhi+"成功!");if(radio_dingqi.isSelected())〃定、活期單選框利息計算傳送rlixi=dlixi();if(radio_huoqi.isSelected())rlixi=hlixi();}if(e.getSource()==box_dingqi)//定期組合框的選擇{Stringnianfeng=(String)box_dingqi.getSelectedItem();dnianfeng=Double.parseDouble(nianfeng);
調試分析在取款的過程中,若銀行里面剩余的金額不足自己所取的金額,則應該顯示余額不足,如圖1-2所示:在進行編碼的過程中,對于取款的金額方面,判斷剩余的金額是否滿足顧客索取的
金額時,判斷的地方出了些小的額問題,但在最后和同學溝通之后,把問題解決了測試結果及運行效果程序運行時,則主界面顯示如圖1-3所示:當選擇進行存款的按鈕時,并選擇定期存款時顯示如圖 1-4所示:請輸入存軟數(shù)C元》二訕?定期存款0話期存款請謎擇走期期眼(年)1 ▼確克圖1-4存款的界面當點擊確定的按鈕時,顯示如圖1-5所示:當取款的時候,當輸入100元時,顯示界面如圖1-6所示:當取出100元時,顯示的界面如圖1-7所示:① K^100.0元欣功2確定圖1-7取款成功的界面當取款100元后點擊查詢余額時,顯示結果如圖 1-8所示:當點擊當前利息的按鈕時,顯示如圖1-9所示:系統(tǒng)開發(fā)所用到的技術jdk-1_5_0-windows-i586版本課程設計總結通過這次課程設計,使我靈活應用所學數(shù)據(jù)結構知識,獨立完成問題分析,結合數(shù)據(jù)結構理論知識,編寫程序求解指定問題。初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能;提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力;并用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),鞏固、深化學生的理論知識,提高編程水平,并在此過程中培養(yǎng)我們嚴謹?shù)目茖W態(tài)度和良好的工作作風。熟練掌握數(shù)據(jù)的存儲表示和基本操作的實現(xiàn),能夠利用存儲設計算法解決簡單的航空訂票問題。同時在這學期的實驗中,培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。在實驗課上,我學會了很多學習的方法。而這是日后最實用的。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我的將來也有很大的幫助。以后,不管有多苦,我想我都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我都可以在實驗結束之后變的更加成熟,會面對需要面對的事情,以及學會遇到問題,不急不慌,慢慢解決它。這次課程設計本人主要參與了系統(tǒng)實現(xiàn)以及系統(tǒng)測試,還有參與小組共同完成的編寫代碼、實現(xiàn)功能模塊。歷時兩個星期終于在大家的一起努力下順利完成了。雖然過程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學會了寬容,學會了理解,也學會了做人與處世。課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程。實驗過程中,也十分感謝實驗指導老師馬駿老師的指點與教導。這次課程設計不僅是對這學期所學知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強了自己實踐能力。通過這次課程設計使我明白了自己知識還比較欠缺,只是學習書本知識還是遠遠不夠的,自己不會的東西還有太多,學習需要自己長期的積累,在以后的學習、工作中都應該不斷的學習,將課本的理論知識與生活中的實踐知識相結合,不斷提高自己文化知識和實踐能力。參考文獻Eric.Java編程思想[M].第4版.機械工業(yè)出版社,機械工業(yè)出版社?張峋,楊三成.關鍵技術:JSP與JDBC應用詳解[M].中國鐵道出版社,2010年11月.Weiss,MA.數(shù)據(jù)結構與算法分析:Java語言描述[M].第2版.機械工業(yè)薩師煊,王珊.《數(shù)據(jù)庫系統(tǒng)概論》高等教育出版社,2002年2月⑸耿祥義,張躍平?!秊ava2實用教程》第四版清華大學出版社2012年8月第4版附錄全部代碼importjava
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 節(jié)能減排法律宣傳資助合同
- 車輛服務合同的修改
- 定制商品采購合同
- 電力分包合同的法律風險與防范
- 養(yǎng)老機構服務合同問答
- 個人購車貸款資金額度借款合同
- 農村養(yǎng)牛合作合同樣本
- 坯布訂購合同送貨詳情
- 中介服務合同中的合同修改與補充
- 公司擔保保證金協(xié)議
- DB45T 2760-2023 電子政務外網(wǎng)網(wǎng)絡技術規(guī)范
- 2025版中考物理復習課件 09 專題五 類型3 電學綜合應用題(不含效率)(10年6考)
- 2024年度承包合同:石灰石生產線承包2篇
- 國家開放大學《心理學》形考任務1-4參考答案
- 關于家長與學生評議教師制度
- 改進維持性血液透析患者貧血狀況PDCA
- 《大學生職業(yè)生涯規(guī)劃與就業(yè)指導》教學教案
- 青島供電公司北部局客服中心辦公樓單位工程施工組織設計
- 最新版入團志愿書填寫模板
- DesignBuilder操作手冊(完結
- 人大副主任任前表態(tài)發(fā)言
評論
0/150
提交評論