版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个人账本管理系统设计报告个人账本管理系统设计报告1/181/18个人账本管理系统设计报告个人账本管理系统设计报告1/181/18TOC\o"1-5"\h\z\o"CurrentDocument"摘要 1\o"CurrentDocument"第1章开发的背景 2\o"CurrentDocument"第2章系统设计 3\o"CurrentDocument"2.1系统需求分析 3\o"CurrentDocument"2.2系统功能模块 3\o"CurrentDocument"2.3系统功能设计 4\o"CurrentDocument"2.4数据库设计 42.4.1数据库需求分析 42.4.2数据库逻辑结构设计 5\o"CurrentDocument"第3章系统的设计与实现 6\o"CurrentDocument"启动界面(JSplashWindow) 6\o"CurrentDocument"3.2用户选择界面(main) 7\o"CurrentDocument"3.3登录界面(Login) 8\o"CurrentDocument"3.4 主界面(Index) 8\o"CurrentDocument"3.5支出明细界面(payInfo) 10\o"CurrentDocument"3.6支出添加界面(payAdd) 11\o"CurrentDocument"支出修改界面(paymodify) 11\o"CurrentDocument"支出删除界面(paydelete1) 13\o"CurrentDocument"3.9支出查询界面(paySearch) 13\o"CurrentDocument"3.10数据库配置 14\o"CurrentDocument"第4章 开发工具简介 15\o"CurrentDocument"JCreatorPro 15\o"CurrentDocument"MicrosoftAccess2003 15\o"CurrentDocument"第5章 设计总结与体会 16\o"CurrentDocument"参考文献 17个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告摘要针对现在高校很多学生都进行记账的现状,采用Java和SQLSERVER2000工具,设计并开发了个人帐本管理系统,该系统能帮助用户进行日常理财。用户通过使用该系统,可以方便的进行日常的收入支出统计和查询。该系统界面友好,功能完善,简单实用。关键字:信息系统,学生管理,个人帐本,J2SE。第1章开发的背景一个有经济头脑的人,在日常生活和投资中,都会对自己的支出和开销做到心里有数,以便于制定出自己的一套理财计划,达到合理的经济统筹,有理财习惯的人可以从以往的统计中看到自己主要消费方向,看出自己的消费是否合理。之所谓巧妇难为无米之炊,如果自己想要理财,先决条件得要有财”才行。如何才能有财呢?开源节流呀!有计划的用钱,再将节流下来的钱去用于理财,这样不就行了吗?那又怎么样来“开源”呢?记账是个好办法[4],它有针对性地罗列、统计计算资源信息[3]。从查阅资料来看,一些比较发达国家人的生活中对理财有着很严格的计划,因此国外的理财系统总体来说比较普遍,做的也比较完善.国内的理财系统主要偏重于办公财务软件,而个人理财和家庭理财方面的比较少,因此需要开发相关的系统软件,从而达到引导理性消费,合理安排收支[5]。进行账目的统计,如果是手动统计的话,首先,如果每天统计的话,用于统计的账本和记录会越来越多,不利于保管,容易造成丢失;其次,随着纪录的增多,如果要查找以前的记录,会变的越来越困难。因此,需要一个功能比较完善的记账系统来代替传统的手工统计。第2章系统设计2.1系统需求分析本系统具有如下功能模块:系统管理模块:支出信息和收入信息查询。支出信息以表格的形式展示,输入要查询的时间段,表内就会展示该时间段内的支出信息。收入信息查询与支出信息查询类似。基本信息管理模块:对支出、收入信息进行管理,可以进行添加、修改和删除基本信息。收支统计模块:对收支信息进行管理,可以结算所求时间段的收入和支出总额,同时可以计算出余额。密码维护模块:可以对密码进行修改。2.2系统功能模块本系统分为以下四大模块:系统管理模块、基本信息管理模块、收支统计模块、密码维护模块。功能模块划分图如图2-1所示:个人帐本管理系统支出信息查询收入信息查询支出信息添加支出信息删除支出信息修改收入信息添加收入信息修改
收入信息删除收入总额支持总额收支余额密码修改支出信息查询收入信息查询支出信息添加支出信息删除支出信息修改收入信息添加收入信息修改
收入信息删除收入总额支持总额收支余额密码修改基本信息管理收支统计 密码维护图2-1功能模块划分图个人账本管理系统设计报告个人账本管理系统设计报告2.3系统功能设计各模块功能设计如下:系统管理模块:支出查询功能通过表格展现某时间段内支出的物品及其类型、价格和备注,并同时可以结算出总额。收入查询功能通过表格展现某时间段内收入的金额及其来源和备注并同时可以结算出总额。基本信息管理模块:支出信息添加功能:输入支出信息,可以实现添加此信息到相应的数据库支出单表里。支出信息修改功能:输入编号,可以显示此支出信息的明细,然后作修改操作,并保存修改后的信息到相应的数据库表里。支出信息删除功能:输入编号,可以显示该支出信息的明细,然后作删除操作,可以把数据库表中对应的该支出的记录全部删除。收支统计模块:收入统计功能:输入某个时间段,可以实现把该时间段内的信息从相应数据库调出来显示在表格内,同时结算总额。支出统计功能:输入某个时间段,可以实现把该时间段内的信息从相应数据库调出来显示在表格内,同时结算总额。收支余额功能:输入某个时间段,可以实现把该时间段内的收入和支出信息从相应数据库调出来显示在两个表格内,同时结算收入总额和支出总额,同时结算出余额。密码维护模块:密码修改功能:在该用户名下,输入新的密码,并把新密码保存到相应数据库内。2.4数据库设计2.4.1数据库需求分析根据本系统的需求分析,需要3张表:个人账本管理系统设计报告用户表:存放用户名及其密码信息。支出表:存放支出的信息。收入表:存放收入的信息。2.4.2数据库逻辑结构设计下面是本系统设计的表及其作用:表2-1数据表说明表名表的作用用户表存放用户名及其密码信息支出单存放支出的信息收入单存放收入的信息下面是各个表的详细结构:1.用户信息列表,见表2-2:表2-2用户信息列表字段名称是否为空是否主键用户名文本否是密码文本否否2.支出信息列表,见表2-3:表2-3支出信息列表字段名称数据类型是否为空是否主键编号文本日期编号文本日期日期/时间物品文本类型文本金额文本备注文本否否否否否否否否否否否否2.2.收入信息列表,见表2-4:表2-4收入信息列表字段名称数据类型是否为空是否主键编号文本日期编号文本日期日期/时间来源文本金额文本备注文本否否否否否否否否否否第3章系统的设计与实现对于本系统各个功能块的实现,是通过JAVA语言在JDK6.0环境下完成的,界面是用JAVASWING编写的,用SQLSERVER2000实现JAVA语言与数据库的连接,最后完成整个系统的开发。主要的程序界面如下:3.1启动界面(JSplashWindow)本系统建立一个启动界面程序,运行效果如图3T所示。当程序运行时,启动界面显示一幅图片,进度条开始走动,关闭该窗口,进入登录界面。Progressisnowloading...图3-1启动界面启动界面没有标题栏,可以通过继承JWindow来实现。窗口上用JLabel来显示图像;用JProgressBar建立进度条,实现进度条的走动。代码:progress=newJProgressBar(1,100);progress.setStringPainted(true);progress.setBorderPainted(false);个人账本管理系统设计报告progress.setString("Progressisnowloading...");publicvoidrun(){show();try{for(inti=0;ivl00;i++){Thread.sleep(lOO);progress.setValue(progress.getValue()+1);}}catch(Exceptionex){ex.printStackTrace。;}dispose();}3.2用户选择界面(main)本系统共有3个用户权限,通过这个用户选择程序,选择相应用户,进入各自的登陆界面,运行界面如图3-2所示:图3-2启动界面本用户选择窗口在对话框上使用卡式布局,使用JTabbedPane,点击图片按钮,进入登陆界面个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告3.3登录界面(Login)登录窗口是很多应用系统中不可缺少的组成部分。通过验证用户输入的用户名和密码,决定是否允许用户进入系统,在一定程度上保证系统的安全。本系统建立一个登录窗口,运行界面如图3-3所示:图3-3启动界面本登录窗口在对话框上使用JTextField接收用户名,使用JPasswordField接收密码。在按钮动作事件中对用户名和密码进行校验。按确定键进入主界面,按退出键退出系统。3.4主界面(Index)主界面是负责应用程序的,由它调用其他模块。因此应该具有操作性好、界面清晰的特点,使用户能够很方便地找到所需功能。根据功能需求和总体设计的结果,主界面包括查询,记录,收入明细,支出明细,收支统计,密码修改,帮助和系统退出。可以通过点击菜单项和按钮进入相应的功能模块,此窗口的类名为“Index”,窗体布局设置为默认面板BorderLayouto在此窗体上添加菜单栏menubar,和两个面板pl,p2。在面板pl上添加圆形按钮bl,b2,b3,b4,b9,在面板p2上添加图标按钮b5,b6,b7,b8。主界面如图3-4所示:图3-4主界面菜单栏menubar的内容如表3-5所示:表3-5菜单栏组成列表称类型文本MenulJMenu查询itemlJMenuItem收入Item2JMenuItem支出Menu2JMenu记录Item3JMenuItem支出明细Item4JMenuItem收入明细Menu3JMenu帮助Item5JMenuItem帮助面板p1的内容如表3-6所示:表3-6面板pl组成列表名称类型文本b1RoundButton收入明细b2RoundButton支出明细b9RoundButton收支统计b3RoundButton密码修改b4RoundButton系统退出面板p2的内容如表3-7所示:
表3-7面板p2组成列表名称类型文本b5JButton支出查询imagelImageicon无b6JButton支出添加image2Imageicon无b7JButton支出修改image3Imageicon无b8JButton支出删除image5Imageicon无通过主界面来进入其他界面的方法为:调用其他类里的方法。因为跟数据库连接的缘故,所以所调用的类的构造函数必须设置成带rs(结果返回集)参数的。3.5支出明细界面(payinfo)此界面可以进行添加、删除、修改和刷新操作,通过点击相应按钮进入各个模块。此窗口的类名为"payinfo”,窗体布局设置为默认面板BorderLayout。在此窗体上添加两个面板p1,p2。面板pl使用盒式布局,在面板pl上添加圆形按钮b1,b2,b3,b4,b8,在面板p2上添加JTable,显示支出信息,运行界面如图3-8所示:夷噩♦鄭 ,回M骗号曰期类型骗号曰期类型金額备注▲200956-12009-D5-0...冋芯冋一法200953-52009-05-0..计划过户学HI类54B=2009530-12009-D5-3...棍嗎曰烏用品美好几胃晅后河ESI2009-D30与会不尝45过后200855-22008-D5-0...好几-I•3好几T2orr:723-i2006-D7-2..35200895-12UO0-D9-U...師剧学习室21健康200921-12009-02h学K蜷2123好几个20UJ65-32O09-DG-U...邙们几个吧曰学用品H32好几个守正出匸用图3-8支出明细界面个人账本管理系统设计报告3.6支出添加界面(payAdd)输入要录入的支出信息,添加该支出信息到数据库的支出单里,运行界面如图3-9所示:图3-9支出明细界面实现添加信息的SQL语句如下:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection("jdbc:odbc:money");Statementstat=conn.createStatement();stat.executeUpdate("insert into 支 出 单values("'+tl.getText()+""+t2.getText()+""+t3.getText()+"-"+t5.getText()+"',"'+tl.getText()+"-"+t2.getText()+"-"+t3.getText()+"',"'+t4.getText()+"',"'+cb.getSelectedItem()+"',"'+t6.getText()+"',"'+t7.getText()+"')");3.7支出修改界面(paymodify)按修改键,输入编号可以在支出修改界面里显示出该编号的信息,此刻对应的编号和日期这二个文本框变灰,但可以修改其他任何信息,在确认无误后按确定键将修改后信息保存到数据库的支出单;按退出键可以退出该界面。运行界面如图3T0所示:个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告图3-10支出修改界面根据用户输入的编号先从支出单选出所要显示的信息,SQL语句如下:rs.beforeFirstQ;while(rs.next()){if(rs.getString("编号").equals(tl.getTextQ)){payModifyb=newpayModify("支出修改”);
b.t5.setText(tl.getText());b.tl.setText(rs.getString("日期"));b.t4.setText(rs.getString("物品"));b.cb.setSelectedItem(rs.getString("类型”));b.t6.setText(rs.getString("金额"));b.t7.setText(rs.getString("备注”));}if(rs.getString("编号").equals(tl.getText())~false){al=false;}if(a1==false){JOptionPane.showMessageDialog(null,"无相关信息!");}rs.close。;stat.close();}catch(Exceptione1){}this.setVisible(false);}以下是将修改支出信息并保存到支出单里的SQL语句:stat.executeUpdate("UPDATE支出单set物品="'+t4.getText()+"'where编号=E+t5.getText()+"”‘);stat.executeUpdate("UPDATE支出单set类型="'+cb.getSelectedItem()+"'where编号='n+t5.getText()+"'n);stat.executeUpdate("UPDATE支出单set金额="'+t6.getText()+"'where编号='n+t5.getText()+"'n);stat.executeUpdate("UPDATE支出单set备注="'+t7.getText()+"'where编号='n+t5.getText()+"'n);3.8支出删除界面(paydelete1)在支出明细界面选择要删除的行,点击删除按钮,成功删除该信息删除记录的SQL语句如下:stat.executeUpdate("deletefrom支出单where编号='n+body[row][0]+n'n);3.9支出查询界面(paySearch)此界面可以进行查询和计算功能。此窗口的类名为“paySearch”,窗体布局设置为默认面板BorderLayout。在此窗体上添加标签JLabel,3个文本框。添加JTable。在t1,t2中输入日期,按确定按钮,在表中显示该时间段内的信息。按总支出按钮,显示总额。实现输入日期显示相关信息的SQL语句如下:个人账本管理系统设计报告rs=stat.executeQuery("SELECT*FROM支出单where日期betweendatevalue('n+t1.getText()+n,)anddatevalue('n+t2.getText()+n')n);for(inti=0;iv=rs.getRow();i++){if(rs.next()){body[i][0]=rs.getString("编号");body[i][1]=rs.getString("日期");body[i][2]=rs.getString("物品");body[i][3]=rs.getString("类型");body[i][4]=rs.getString("金额");body[i][5]=rs.getString("备注");}}rs.last();计算总额的SQL语句如下:for(inti=0;iva;i++){sum=sum+Double.parseDouble(body[i][4].toString());}3.10数据库配置本系统的数据库用SQLSERVER2000,建立了一个名为money的数据库,通过jdbcodbc桥实现数据库与JAVA的连接。数据库的连接方法如下:加载驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");连接数据库Connectionconn;conn=DriverManager.getConnection("jdbc:odbc:money");个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告个人账本管理系统设计报告第4章开发工具简介JCreatorProJCreator专业版是一款适合于各个Java语言编程开发人员的IDE工具。她为使用者提供了大量强劲的功能,例如:项目管理、工程模板、代码完成、调试接口、高亮语法编辑、使用向导以及完全可自定义的用户界面。特点:1、 可无限撤销、代码缩进、自动类库方法提示、按所选智能定位查阅JavaAPI文档等功能。2、 新版采用仿VS2005界面设计,体验感觉更快更好更易用。3、 支持JSP、Ant、CVS。4、 小巧、易用、美观,是Java初级程序员的理想IDE。MicrosoftAccess2003MicrosoftOfficeAccess2003是一种数据库管理程序,可赋予更佳的用户体验,并且新增了导入、导出和处理XML数据文件等功能。由于该程序可以识别和标记常见错误,同时提供更正错误的选项,因此在Access2003中工作变得更加轻松自如。另外,Access2003的新功能还可以帮助数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某省重点项目门窗工程质量通病防治施工方案-施工方案
- 2026年麻醉药品、精神药品管理考核试题(附答案)
- 急诊急救护理不良事件管理护理查房
- 钢结构高空作业工程安全专项施工方案
- 泡沫灭火系统安装专项施工方案
- 安全生产风险应急责任制管理规定
- 2026年全员安全培训考试试题及答案解析
- 地面大理石铺贴记录
- 第三单元核心素养测试评价卷-2025-2026学年三年级上册语文(人教版)
- 关务水平测试关务基础知识-关务基本技能参考题库含答案解析
- 《凝血因子检查》课件
- 老年高血压特点及临床诊治流程专家共识(2024)解读
- 服装厂生产车间员工劳务合同书(34篇)
- 会计从业会计基础
- 2024办公桌椅购销合同范本
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 装配工人培训产品装配与质量控制
- JGJ114-2014 钢筋焊接网混凝土结构技术规程
- 2023滚动轴承汽车变速箱用滚子轴承
- 建筑工地三级安全教育卡
- JJG 176-2022声校准器
评论
0/150
提交评论