個人賬本管理系統(tǒng)設(shè)計報告_第1頁
個人賬本管理系統(tǒng)設(shè)計報告_第2頁
個人賬本管理系統(tǒng)設(shè)計報告_第3頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、目錄摘要0第1章開發(fā)的背景1第2章系統(tǒng)設(shè)計22.1系統(tǒng)需求分析222系統(tǒng)功能模塊22.3系統(tǒng)功能設(shè)計32.4數(shù)據(jù)庫設(shè)計32.4.1數(shù)據(jù)庫需求分析32.4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 4第3章系統(tǒng)的設(shè)計與實現(xiàn) 53.1 啟動界面(JSplashWindow)53.2用戶選擇界面(main)63.3登錄界面(Login) 73.4 主界面(Index)73.5支出明細(xì)界面(paylnfo)93.6支出添加界面(payAdd) 103.7 支出修改界面 (paymodify)103.8支出刪除界面(paydelete1)123.9 支出查詢界面 (paySearch)123.10數(shù)據(jù)庫配置13第4章開發(fā)工

2、具簡介144.1 JCreator Pro144.2 Microsoft Access 2003 14第5章設(shè)計總結(jié)與體會 15參考文獻(xiàn)16摘要針對現(xiàn)在高校很多學(xué)生都進(jìn)行記賬的現(xiàn)狀,采用Java和SQLSERVER200工具,設(shè)計并開發(fā)了個人帳本管理系統(tǒng),該系統(tǒng)能幫助用戶進(jìn)行日常理財。用戶通 過使用該系統(tǒng),可以方便的進(jìn)行日常的收入支出統(tǒng)計和查詢。該系統(tǒng)界面友好,功能完善,簡單實用。關(guān)鍵字:信息系統(tǒng),學(xué)生管理,個人帳本,J2SE第1章開發(fā)的背景一個有經(jīng)濟(jì)頭腦的人,在日常生活和投資中,都會對自己的支出和開銷做到 心里有數(shù),以便于制定出自己的一套理財計劃,達(dá)到合理的經(jīng)濟(jì)統(tǒng)籌,有理財習(xí) 慣的人可以從以

3、往的統(tǒng)計中看到自己主要消費方向,看出自己的消費是否合理。 之所謂巧婦難為無米之炊,如果自己想要理財,先決條件得要有 財”才行。如何 才能有財呢?開源節(jié)流呀!有計劃的用錢,再將節(jié)流下來的錢去用于理財,這樣不 就行了嗎?那又怎么樣來“開源”呢?記賬是個好辦法,它有針對性地羅列、統(tǒng) 計計算資源信息。從查閱資料來看,一些比較發(fā)達(dá)國家人的生活中對理財有著很 嚴(yán)格的計劃,因此國外的理財系統(tǒng)總體來說比較普遍,做的也比較完善國內(nèi)的理 財系統(tǒng)主要偏重于辦公財務(wù)軟件,而個人理財和家庭理財方面的比較少,因此需要 開發(fā)相關(guān)的系統(tǒng)軟件,從而達(dá)到引導(dǎo)理性消費,合理安排收支。進(jìn)行賬目的統(tǒng)計,如果是手動統(tǒng)計的話,首先,如果每

4、天統(tǒng)計的話,用于統(tǒng) 計的賬本和記錄會越來越多,不利于保管,容易造成丟失;其次,隨著紀(jì)錄的增 多,如果要查找以前的記錄,會變的越來越困難。因此,需要一個功能比較完善的 記賬系統(tǒng)來代替?zhèn)鹘y(tǒng)的手工統(tǒng)計。第2早系統(tǒng)設(shè)計2.1系統(tǒng)需求分析本系統(tǒng)具有如下功能模塊:1. 系統(tǒng)管理模塊:支出信息和收入信息查詢。支出信息以表格的形式展示, 輸入要查詢的時間段,表內(nèi)就會展示該時間段內(nèi)的支出信息。收入信息查詢與支 出信息查詢類似。2. 基本信息管理模塊:對支出、收入信息進(jìn)行管理,可以進(jìn)行添加、修改 和刪除基本信息。3收支統(tǒng)計模塊:對收支信息進(jìn)行管理,可以結(jié)算所求時間段的收入和支 出總額,同時可以計算出余額。4.密碼

5、維護(hù)模塊:可以對密碼進(jìn)行修改。2.2系統(tǒng)功能模塊本系統(tǒng)分為以下四大模塊:系統(tǒng)管理模塊、基本信息管理模塊、收支統(tǒng)計模 塊、密碼維護(hù)模塊。功能模塊劃分圖如圖2-1所示:個人帳本管理系統(tǒng)支出信息查詢收入信息查詢支出信息添加支出信息刪除支出信息修改收入信息添加收入信息刪除收入信息修改收入總額支持總額收支余額圖2-1功能模塊劃分圖2.3系統(tǒng)功能設(shè)計各模塊功能設(shè)計如下:1. 系統(tǒng)管理模塊:支出查詢功能通過表格展現(xiàn)某時間段內(nèi)支出的物品及其類型、價格和備注, 并同時可以結(jié)算出總額。收入查詢功能通過表格展現(xiàn)某時間段內(nèi)收入的金額及其來源和備注,并同時可以結(jié)算出總額。2. 基本信息管理模塊:支出信息添加功能: 輸入

6、支出信息,可以實現(xiàn)添加此信息到相應(yīng)的數(shù)據(jù)庫 支出單表里。支出信息修改功能:輸入編號,可以顯示此支出信息的明細(xì),然后作修改操 作,并保存修改后的信息到相應(yīng)的數(shù)據(jù)庫表里。支出信息刪除功能:輸入編號,可以顯示該支出信息的明細(xì),然后作刪除操 作,可以把數(shù)據(jù)庫表中對應(yīng)的該支出的記錄全部刪除。3收支統(tǒng)計模塊:收入統(tǒng)計功能:輸入某個時間段,可以實現(xiàn)把該時間段內(nèi)的信息從相應(yīng)數(shù)據(jù) 庫調(diào)出來顯示在表格內(nèi),同時結(jié)算總額。支出統(tǒng)計功能:輸入某個時間段,可以實現(xiàn)把該時間段內(nèi)的信息從相應(yīng)數(shù)據(jù) 庫調(diào)出來顯示在表格內(nèi),同時結(jié)算總額。收支余額功能:輸入某個時間段,可以實現(xiàn)把該時間段內(nèi)的收入和支出信息 從相應(yīng)數(shù)據(jù)庫調(diào)出來顯示在兩

7、個表格內(nèi),同時結(jié)算收入總額和支出總額,同時結(jié) 算出余額。4.密碼維護(hù)模塊:密碼修改功能:在該用戶名下,輸入新的密碼,并把新密碼保存到相應(yīng)數(shù)據(jù) 庫內(nèi)。2.4數(shù)據(jù)庫設(shè)計2.4.1數(shù)據(jù)庫需求分析根據(jù)本系統(tǒng)的需求分析,需要3張表:用戶表:存放用戶名及其密碼信息。支出表:存放支出的信息。收入表:存放收入的信息。242數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計下面是本系統(tǒng)設(shè)計的表及其作用:表2-1數(shù)據(jù)表說明表名表的作用用戶表存放用戶名及其密碼信息支出單存放支出的信息收入單存放收入的信息下面是各個表的詳細(xì)結(jié)構(gòu):1.用戶信息列表,見表2-2 :表2-2用戶信息列表字段名稱數(shù)據(jù)類型是否為空是否主鍵用戶名文本否是密碼文本否否支出信息列表

8、,見表2-3 :表2-3支出信息列表字段名稱數(shù)據(jù)類型是否為空是否主鍵編號文本否否日期日期/時間否否物品文本否否類型文本否否金額文本否否備注文本否否收入信息列表,見表2-4 :表2-4收入信息列表字段名稱數(shù)據(jù)類型是否為空是否主鍵編號文本否否日期日期/時間否否來源文本否否金額文本否否備注文本否否第3章系統(tǒng)的設(shè)計與實現(xiàn)對于本系統(tǒng)各個功能塊的實現(xiàn),是通過 JAVA語言在JDK6.0環(huán)境下完成的,界面是用JAVASWINGS寫的,用SQLSERVER200實現(xiàn)JAVA語言與數(shù)據(jù)庫的連接, 最后完成整個系統(tǒng)的開發(fā)。主要的程序界面如下:3.1 啟動界面(JSplashWindow)本系統(tǒng)建立一個啟動界面程序

9、,運行效果如圖3-1所示。當(dāng)程序運行時,啟動界面顯示一幅圖片,進(jìn)度條開始走動,關(guān)閉該窗口,進(jìn)入登錄界面。圖3-1啟動界面啟動界面沒有標(biāo)題欄,可以通過繼承JWindow來實現(xiàn)。窗口上用JLabel來顯示圖像;用JProgressBar建立進(jìn)度條,實現(xiàn)進(jìn)度條的走動。代碼:progress=new JProgressBar(1,100);progress.setStri ngPai nted(true);progress.setBorderPai nted(false);progress.setStri ng("Progress is now loadi ng.");public

10、 void run()show();tryfor(int i=0;i<100;i+)Thread.sleep(100);progress.setValue(progress.getValue()+1);catch(Excepti on ex)ex.pri ntStackTrace();dispose();3.2用戶選擇界面(main)本系統(tǒng)共有3個用戶權(quán)限,通過這個用戶選擇程序,選擇相應(yīng)用戶,進(jìn)入各 自的登陸界面,運行界面如圖3-2所示:圖3-2啟動界面本用戶選擇窗口在對話框上使用卡式布局,使用JTabbedPa ne ,點擊圖片按鈕,進(jìn)入登陸界面3.3登錄界面(Login)登錄窗口是很

11、多應(yīng)用系統(tǒng)中不可缺少的組成部分。 通過驗證用戶輸入的用戶 名和密碼,決定是否允許用戶進(jìn)入系統(tǒng),在一定程度上保證系統(tǒng)的安全。本系統(tǒng) 建立一個登錄窗口,運行界面如圖 3-3所示:圖3-3啟動界面本登錄窗口在對話框上使用 JTextField接收用戶名,使用JPasswordField 接收密碼。在按鈕動作事件中對用戶名和密碼進(jìn)行校驗。按確定鍵進(jìn)入主界面, 按退出鍵退出系統(tǒng)。3.4 主界面(Index)主界面是負(fù)責(zé)應(yīng)用程序的,由它調(diào)用其他模塊。因此應(yīng)該具有操作性好、界 面清晰的特點,使用戶能夠很方便地找到所需功能。根據(jù)功能需求和總體設(shè)計的結(jié)果,主界面包括查詢,記錄,收入明細(xì),支出 明細(xì),收支統(tǒng)計,密

12、碼修改,幫助和系統(tǒng)退出??梢酝ㄟ^點擊菜單項和按鈕進(jìn)入 相應(yīng)的功能模塊,此窗口的類 名為“Index ”,窗體布局設(shè) 置為默認(rèn)面 板BorderLayout。在此窗體上添加菜單欄 menubar,和兩個面板p1,p2。在面板p1 上添加圓形按鈕b1,b2,b3,b4,b9,在面板p2上添加圖標(biāo)按鈕b5,b6,b7,b8。主界 面如圖3-4所示:圖3-4主界面菜單欄menubar的內(nèi)容如表3-5所示:表3-5菜單欄組成列表名稱類型文本MenulJMe nu查詢itemlJMe nultem收入Item2JMe nultem支出Menu2JMe nu記錄Item3JMe nultem支出明細(xì)Item

13、4JMe nultem收入明細(xì)Menu3JMe nu幫助Item5JMe nultem幫助面板pl的內(nèi)容如表3-6所示:表3-6面板pl組成列表名稱類型文本blRou ndButt on收入明細(xì)b2Rou ndButt on支出明細(xì)b9Rou ndButt on收支統(tǒng)計b3Rou ndButt on密碼修改b4Rou ndButt on系統(tǒng)退出面板p2的內(nèi)容如表3-7所示:表3-7面板p2組成列表名稱類型文本b5JButton支出查詢image1ImageIc on無b6JButton支出添加image2ImageIc on無b7JButton支出修改image3ImageIc on無b8JB

14、utton支出刪除image5ImageIc on無通過主界面來進(jìn)入其他界面的方法為:調(diào)用其他類里的方法。因為跟數(shù)據(jù)庫 連接的緣故,所以所調(diào)用的類的構(gòu)造函數(shù)必須設(shè)置成帶rs (結(jié)果返回集)參數(shù)的。3.5支出明細(xì)界面(paylnfo)此界面可以進(jìn)行添加、刪除、修改和刷新操作,通過點擊相應(yīng)按鈕進(jìn)入各個 模塊。此窗口的類名為“ pay Info ”,窗體布局設(shè)置為默認(rèn)面板 BorderLayout。 在此窗體上添加兩個面板 p1,p2。面板pl使用盒式布局,在面板pl上添加圓形 按鈕b1,b2,b3,b4,b8,在面板p2上添加JTable,顯示支出信息,運行界面如圖 3-8所示:圖3-8支出明細(xì)界

15、面3.6支出添加界面(payAdd)輸入要錄入的支出信息,添加該支出信息到數(shù)據(jù)庫的支出單里, 運行界面如圖3-9所示:圖3-9支出明細(xì)界面實現(xiàn)添加信息的SQL語句如下:Class.forName("s un .jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:money"); Stateme nt stat = conn .createStateme nt();stat.executeUpdate("i nsertinto支出單va

16、lues(”'+t1.getText()+""+t2.getText()+""+t3.getText()+"-"+t5.getText()+"T"+t1.getTe xt()+"-"+t2.getText()+"-"+t3.getText()+"T"+t4.getText()+"T"+cb.getSelectedltem()+"', '"+t6.getText()+"',&#

17、39;"+t7.getText()+"')");3.7支出修改界面(paymodify)按修改鍵,輸入編號可以在支出修改界面里顯示出該編號的信息,此刻對應(yīng)的編號和日期這二個文本框變灰,但可以修改其他任何信息,在確認(rèn)無誤后按確 定鍵將修改后信息保存到數(shù)據(jù)庫的支出單;按退出鍵可以退出該界面。運行界面 如圖3-10所示:圖3-10支出修改界面根據(jù)用戶輸入的編號先從支出單選出所要顯示的信息,SQL語句如下:rs.beforeFirst();while(rs. next()if(rs.getStri ng("編號").equals(t1.getT

18、ext()payModify b=new payModify(” 支出修改");b.t5.setText(t1.getText();b.t1.setText(rs.getStri ng("日期");b.t4.setText(rs.getStri ng(物品");b.cb.setSelectedltem(rs.getStri ng(類型");b.t6.setText(rs.getStri ng('金 額");b.t7.setText(rs.getStri ng('備注");if(rs.getStri ng(&q

19、uot;編號").equals(t1.getText()=false)a仁false;if(a1=false)JOptio nPa ne.showMessageDialog( null,無 相關(guān)信息!");rs.close(); stat.close();catch(Excepti on e1) this.setVisible(false);以下是將修改支出信息并保存到支出單里的SQL語句:stat.executeUpdate("UPDATE 支出單 set 物 品='"+t4.getText()+"' where 編號 =&#

20、39;"+t5.getText()+"”');stat.executeUpdate("UPDATE 支 出 單set 類 型=”'+cb.getSelectedltem()+"' where 編號='"+t5.getText()+"”');stat.executeUpdate("UPDATE 支出單 set 金額=”'+t6.getText()+"' where 編號='"+t5.getText()+"”');stat.ex

21、ecuteUpdate("UPDATE 支出單 set 備注='"+t7.getText()+"' where 編號='"+t5.getText()+"”');3.8支出刪除界面(paydelete1)在支出明細(xì)界面選擇要刪除的行,點擊刪除按鈕,成功刪除該信息 刪除記錄的SQL語句如下:stat.executeUpdate("delete from 支出單 where 編號='"+bodyrow0+"”');3.9支出查詢界面(paySearch)此界面可以進(jìn)行查詢和

22、計算功能。此窗口的類名為“paySearch” ,窗體布局設(shè)置為默認(rèn)面板BorderLayout。在此窗體上添加標(biāo)簽JLabel,3個文本框。添加 JTable。在t1,t2中輸入日期,按確定按鈕,在表中顯示該時間段內(nèi)的信息。按 總支出按鈕,顯示總額。實現(xiàn)輸入日期顯示相關(guān)信息的 SQL語句如下:rs=stat.executeQuery("SELECT* FROM 支出單 where 日期 between datevalue(”'+t1.getText()+"') and datevalue(”'+t2.getText()+"')&q

23、uot;);for(int i=0;i<=rs.getRow();i+)if(rs. next()bodyi0=rs.getString("編號");bodyi1=rs.getString("日期");bodyi2=rs.getString("物品");bodyi3=rs.getString("類型");bodyi4=rs.getString("金額");bodyi5=rs.getString("備注");rsast();計算總額的SQL語句如下:for(int i=0

24、;i<a;i+) sum=sum+Double.parseDouble(bodyi4.toStri ng();3.10數(shù)據(jù)庫配置本系統(tǒng)的數(shù)據(jù)庫用 SQL SERVER2000建立了一個名為 mo ney的數(shù)據(jù)庫,通 過jdbcodbc橋?qū)崿F(xiàn)數(shù)據(jù)庫與JAVA的連接。數(shù)據(jù)庫的連接方法如下:1. 加載驅(qū)動程序Class.forName("s un .jdbc.odbc.JdbcOdbcDriver");2. 連接數(shù)據(jù)庫Connection conn;conn=DriverMa nager.getC onnection ("jdbc:odbc:m on ey&quo

25、t;);第4章開發(fā)工具簡介4.1 JCreator ProJCreator專業(yè)版是一款適合于各個Java語言編程開發(fā)人員的IDE工具。 她為使用者提供了大量強(qiáng)勁的功能,例如:項目管理、工程模板、代碼完成、調(diào) 試接口、高亮語法編輯、使用向?qū)б约巴耆勺远x的用戶界面。特點:1、可無限撤銷、代碼縮進(jìn)、自動類庫方法提示、按所選智能定位查閱JavaAPI 文檔等功能。2、新版采用仿VS2005界面設(shè)計,體驗感覺更快更好更易用。3、支持 JSP、Ant、CVS4、小巧、易用、美觀,是 Java初級程序員的理想IDE。4.2 Microsoft Access 2003Microsoft Office Access 2003是一種數(shù)據(jù)庫管理程序,可賦予更佳的用戶體驗,并且新增了導(dǎo)入、導(dǎo)出和處理XML數(shù)據(jù)文件等功能。由于該程序可以識 別和標(biāo)記常見錯誤,同時提供更正錯誤的選項,因此在 Access 2003中工作變得 更加輕松自如。另外,Access 2003的新功能還可以幫助數(shù)據(jù)庫開發(fā)人員查看有 關(guān)數(shù)據(jù)庫對象之間相關(guān)性的信息。第5章設(shè)計總結(jié)與體會之前因為缺少對編程的熱愛,平日里從不

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論