个人账本管理系统设计报告_第1页
个人账本管理系统设计报告_第2页
个人账本管理系统设计报告_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要0第1章开发的背景1第2章系统设计22.1系统需求分析222系统功能模块22.3系统功能设计32.4数据库设计32.4.1数据库需求分析32.4.2数据库逻辑结构设计 4第3章系统的设计与实现 53.1 启动界面(JSplashWindow)53.2用户选择界面(main)63.3登录界面(Login) 73.4 主界面(Index)73.5支出明细界面(paylnfo)93.6支出添加界面(payAdd) 103.7 支出修改界面 (paymodify)103.8支出删除界面(paydelete1)123.9 支出查询界面 (paySearch)123.10数据库配置13第4章开发工

2、具简介144.1 JCreator Pro144.2 Microsoft Access 2003 14第5章设计总结与体会 15参考文献16摘要针对现在高校很多学生都进行记账的现状,采用Java和SQLSERVER200工具,设计并开发了个人帐本管理系统,该系统能帮助用户进行日常理财。用户通 过使用该系统,可以方便的进行日常的收入支出统计和查询。该系统界面友好,功能完善,简单实用。关键字:信息系统,学生管理,个人帐本,J2SE第1章开发的背景一个有经济头脑的人,在日常生活和投资中,都会对自己的支出和开销做到 心里有数,以便于制定出自己的一套理财计划,达到合理的经济统筹,有理财习 惯的人可以从以

3、往的统计中看到自己主要消费方向,看出自己的消费是否合理。 之所谓巧妇难为无米之炊,如果自己想要理财,先决条件得要有 财”才行。如何 才能有财呢?开源节流呀!有计划的用钱,再将节流下来的钱去用于理财,这样不 就行了吗?那又怎么样来“开源”呢?记账是个好办法,它有针对性地罗列、统 计计算资源信息。从查阅资料来看,一些比较发达国家人的生活中对理财有着很 严格的计划,因此国外的理财系统总体来说比较普遍,做的也比较完善国内的理 财系统主要偏重于办公财务软件,而个人理财和家庭理财方面的比较少,因此需要 开发相关的系统软件,从而达到引导理性消费,合理安排收支。进行账目的统计,如果是手动统计的话,首先,如果每

4、天统计的话,用于统 计的账本和记录会越来越多,不利于保管,容易造成丢失;其次,随着纪录的增 多,如果要查找以前的记录,会变的越来越困难。因此,需要一个功能比较完善的 记账系统来代替传统的手工统计。第2早系统设计2.1系统需求分析本系统具有如下功能模块:1. 系统管理模块:支出信息和收入信息查询。支出信息以表格的形式展示, 输入要查询的时间段,表内就会展示该时间段内的支出信息。收入信息查询与支 出信息查询类似。2. 基本信息管理模块:对支出、收入信息进行管理,可以进行添加、修改 和删除基本信息。3收支统计模块:对收支信息进行管理,可以结算所求时间段的收入和支 出总额,同时可以计算出余额。4.密码

5、维护模块:可以对密码进行修改。2.2系统功能模块本系统分为以下四大模块:系统管理模块、基本信息管理模块、收支统计模 块、密码维护模块。功能模块划分图如图2-1所示:个人帐本管理系统支出信息查询收入信息查询支出信息添加支出信息删除支出信息修改收入信息添加收入信息删除收入信息修改收入总额支持总额收支余额图2-1功能模块划分图2.3系统功能设计各模块功能设计如下:1. 系统管理模块:支出查询功能通过表格展现某时间段内支出的物品及其类型、价格和备注, 并同时可以结算出总额。收入查询功能通过表格展现某时间段内收入的金额及其来源和备注,并同时可以结算出总额。2. 基本信息管理模块:支出信息添加功能: 输入

6、支出信息,可以实现添加此信息到相应的数据库 支出单表里。支出信息修改功能:输入编号,可以显示此支出信息的明细,然后作修改操 作,并保存修改后的信息到相应的数据库表里。支出信息删除功能:输入编号,可以显示该支出信息的明细,然后作删除操 作,可以把数据库表中对应的该支出的记录全部删除。3收支统计模块:收入统计功能:输入某个时间段,可以实现把该时间段内的信息从相应数据 库调出来显示在表格内,同时结算总额。支出统计功能:输入某个时间段,可以实现把该时间段内的信息从相应数据 库调出来显示在表格内,同时结算总额。收支余额功能:输入某个时间段,可以实现把该时间段内的收入和支出信息 从相应数据库调出来显示在两

7、个表格内,同时结算收入总额和支出总额,同时结 算出余额。4.密码维护模块:密码修改功能:在该用户名下,输入新的密码,并把新密码保存到相应数据 库内。2.4数据库设计2.4.1数据库需求分析根据本系统的需求分析,需要3张表:用户表:存放用户名及其密码信息。支出表:存放支出的信息。收入表:存放收入的信息。242数据库逻辑结构设计下面是本系统设计的表及其作用:表2-1数据表说明表名表的作用用户表存放用户名及其密码信息支出单存放支出的信息收入单存放收入的信息下面是各个表的详细结构:1.用户信息列表,见表2-2 :表2-2用户信息列表字段名称数据类型是否为空是否主键用户名文本否是密码文本否否支出信息列表

8、,见表2-3 :表2-3支出信息列表字段名称数据类型是否为空是否主键编号文本否否日期日期/时间否否物品文本否否类型文本否否金额文本否否备注文本否否收入信息列表,见表2-4 :表2-4收入信息列表字段名称数据类型是否为空是否主键编号文本否否日期日期/时间否否来源文本否否金额文本否否备注文本否否第3章系统的设计与实现对于本系统各个功能块的实现,是通过 JAVA语言在JDK6.0环境下完成的,界面是用JAVASWINGS写的,用SQLSERVER200实现JAVA语言与数据库的连接, 最后完成整个系统的开发。主要的程序界面如下:3.1 启动界面(JSplashWindow)本系统建立一个启动界面程序

9、,运行效果如图3-1所示。当程序运行时,启动界面显示一幅图片,进度条开始走动,关闭该窗口,进入登录界面。图3-1启动界面启动界面没有标题栏,可以通过继承JWindow来实现。窗口上用JLabel来显示图像;用JProgressBar建立进度条,实现进度条的走动。代码: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)本系统共有3个用户权限,通过这个用户选择程序,选择相应用户,进入各 自的登陆界面,运行界面如图3-2所示:图3-2启动界面本用户选择窗口在对话框上使用卡式布局,使用JTabbedPa ne ,点击图片按钮,进入登陆界面3.3登录界面(Login)登录窗口是很

11、多应用系统中不可缺少的组成部分。 通过验证用户输入的用户 名和密码,决定是否允许用户进入系统,在一定程度上保证系统的安全。本系统 建立一个登录窗口,运行界面如图 3-3所示:图3-3启动界面本登录窗口在对话框上使用 JTextField接收用户名,使用JPasswordField 接收密码。在按钮动作事件中对用户名和密码进行校验。按确定键进入主界面, 按退出键退出系统。3.4 主界面(Index)主界面是负责应用程序的,由它调用其他模块。因此应该具有操作性好、界 面清晰的特点,使用户能够很方便地找到所需功能。根据功能需求和总体设计的结果,主界面包括查询,记录,收入明细,支出 明细,收支统计,密

12、码修改,帮助和系统退出。可以通过点击菜单项和按钮进入 相应的功能模块,此窗口的类 名为“Index ”,窗体布局设 置为默认面 板BorderLayout。在此窗体上添加菜单栏 menubar,和两个面板p1,p2。在面板p1 上添加圆形按钮b1,b2,b3,b4,b9,在面板p2上添加图标按钮b5,b6,b7,b8。主界 面如图3-4所示:图3-4主界面菜单栏menubar的内容如表3-5所示:表3-5菜单栏组成列表名称类型文本MenulJMe nu查询itemlJMe nultem收入Item2JMe nultem支出Menu2JMe nu记录Item3JMe nultem支出明细Item

13、4JMe nultem收入明细Menu3JMe nu帮助Item5JMe nultem帮助面板pl的内容如表3-6所示:表3-6面板pl组成列表名称类型文本blRou ndButt on收入明细b2Rou ndButt on支出明细b9Rou ndButt on收支统计b3Rou ndButt on密码修改b4Rou ndButt on系统退出面板p2的内容如表3-7所示:表3-7面板p2组成列表名称类型文本b5JButton支出查询image1ImageIc on无b6JButton支出添加image2ImageIc on无b7JButton支出修改image3ImageIc on无b8JB

14、utton支出删除image5ImageIc on无通过主界面来进入其他界面的方法为:调用其他类里的方法。因为跟数据库 连接的缘故,所以所调用的类的构造函数必须设置成带rs (结果返回集)参数的。3.5支出明细界面(paylnfo)此界面可以进行添加、删除、修改和刷新操作,通过点击相应按钮进入各个 模块。此窗口的类名为“ pay Info ”,窗体布局设置为默认面板 BorderLayout。 在此窗体上添加两个面板 p1,p2。面板pl使用盒式布局,在面板pl上添加圆形 按钮b1,b2,b3,b4,b8,在面板p2上添加JTable,显示支出信息,运行界面如图 3-8所示:图3-8支出明细界

15、面3.6支出添加界面(payAdd)输入要录入的支出信息,添加该支出信息到数据库的支出单里, 运行界面如图3-9所示:图3-9支出明细界面实现添加信息的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)按修改键,输入编号可以在支出修改界面里显示出该编号的信息,此刻对应的编号和日期这二个文本框变灰,但可以修改其他任何信息,在确认无误后按确 定键将修改后信息保存到数据库的支出单;按退出键可以退出该界面。运行界面 如图3-10所示:图3-10支出修改界面根据用户输入的编号先从支出单选出所要显示的信息,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,无 相关信息!");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)在支出明细界面选择要删除的行,点击删除按钮,成功删除该信息 删除记录的SQL语句如下:stat.executeUpdate("delete from 支出单 where 编号='"+bodyrow0+"”');3.9支出查询界面(paySearch)此界面可以进行查询和

22、计算功能。此窗口的类名为“paySearch” ,窗体布局设置为默认面板BorderLayout。在此窗体上添加标签JLabel,3个文本框。添加 JTable。在t1,t2中输入日期,按确定按钮,在表中显示该时间段内的信息。按 总支出按钮,显示总额。实现输入日期显示相关信息的 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数据库配置本系统的数据库用 SQL SERVER2000建立了一个名为 mo ney的数据库,通 过jdbcodbc桥实现数据库与JAVA的连接。数据库的连接方法如下:1. 加载驱动程序Class.forName("s un .jdbc.odbc.JdbcOdbcDriver");2. 连接数据库Connection conn;conn=DriverMa nager.getC onnection ("jdbc:odbc:m on ey&quo

25、t;);第4章开发工具简介4.1 JCreator ProJCreator专业版是一款适合于各个Java语言编程开发人员的IDE工具。 她为使用者提供了大量强劲的功能,例如:项目管理、工程模板、代码完成、调 试接口、高亮语法编辑、使用向导以及完全可自定义的用户界面。特点:1、可无限撤销、代码缩进、自动类库方法提示、按所选智能定位查阅JavaAPI 文档等功能。2、新版采用仿VS2005界面设计,体验感觉更快更好更易用。3、支持 JSP、Ant、CVS4、小巧、易用、美观,是 Java初级程序员的理想IDE。4.2 Microsoft Access 2003Microsoft Office Access 2003是一种数据库管理程序,可赋予更佳的用户体验,并且新增了导入、导出和处理XML数据文件等功能。由于该程序可以识 别和标记常见错误,同时提供更正错误的选项,因此在 Access 2003中工作变得 更加轻松自如。另外,Access 2003的新功能还可以帮助数据库开发人员查看有 关数据库对象之间相关性的信息。第5章设计总结与体会之前因为缺少对编程的热爱,平日里从不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论