家庭财政收支系统.docx

上传人:小飞机 文档编号:1649833 上传时间:2022-12-12 格式:DOCX 页数:14 大小:309.38KB
返回 下载 相关 举报
家庭财政收支系统.docx_第1页
第1页 / 共14页
家庭财政收支系统.docx_第2页
第2页 / 共14页
家庭财政收支系统.docx_第3页
第3页 / 共14页
家庭财政收支系统.docx_第4页
第4页 / 共14页
家庭财政收支系统.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《家庭财政收支系统.docx》由会员分享,可在线阅读,更多相关《家庭财政收支系统.docx(14页珍藏版)》请在三一办公上搜索。

1、一、设计目的 随着社会经济的发展,人们生活水平的提高,经济收入的提高,利用计算机对家庭的收支管理势在必行!过去,人们的收入还没有达到要用计算机来计算,但是今非夕比,不可能就单单靠一个头脑或一支笔就可以实现对家庭收支的管理在这个高度发达的社会,家庭财政收支管理系统的建立,实现了家庭财务的信息化管理,可以为整个家庭带来很大的经济效益。科学、高明的理财手段可以给一个家庭带来丰厚的回报。而现代社会可以提供给家庭的理财项目也是五花八门,如果没有一个功能强大的理财软件来管理这些信息,光靠手写脑记是远远不能满足要求的,所以在家庭管理信息系统中开发家庭财务模块也是势在必行的本系统是针对个人家庭用户为主进行开发

2、的,所以考虑最多的就是在保障安全的前提下,最大限度的满足个人用户的使用需求。开发的系统不但可以实现从微观角度的数据录入、删除、查找等基本功能,而且从宏观角度对于整个财务状况进行分析。家庭管理信息系统的家庭管理可以对收支信息进行统计。家庭财政收支管理系统可以实现对用户的管理,实现了添加、修改、删除用户,设置用户权限,是否启用。家庭财政收支管理系统中可以实现对个人信息的管理,可以修改登录用户的个人信息,修改密码。二、设计任务可行性分析技术可行性分析家庭财政收支管理系统的发展虽然还处于初级阶段,但是它的发展的前途是无限光明的。它的开发平台有很多,可以采用各种技术来开发,本系统的实现是采用VB开发语言

3、,数据库采用Access。经济可行性分析家庭对信息化的要求目前还不是很高,但这终究是一种趋势,从目前的技术发展分析,从目前的技术发展分析,采用vb作为开发平台是较为理想的平台,并且有不少关于管理信息系统的成功的案例,而且开发的成本较低,因此采用此平台在实际开发中具有很高的可行性。因此开发家庭财政收支管理系统在经济上也是可行的。操作可行性分析目前家用电脑的操作系统大多数为Windows,故本系统在操作上是可行的。开发工具:1设计语言VB:Visual Basic 6.0 是一种32位的系统开发的开发环境,是一种现代化的编程语言,提供了完善的指令控制语句、类与对象的支持及丰富的数据类型,能方便编程

4、人员设计出高内聚,低耦合的程序出来。2.Access数据库:一种有结构的数据集合,是不同于一般数据文件的一串文字或数字流,数据中的对象可以是文字,图像,声音,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。它由六种对象组成:表,查询,窗体,报表,宏,模块。表(Table) 是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。 窗体(Form)窗体

5、提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。 报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。 宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。数据库需求分析 在需求分析中,首先要理解需求。理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户沟通充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须进行大量的返

6、工。需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块。1收支记录表信息,包括的数据项有:自动编号,收支分类(如收入类型有:工资、补贴、股票收入等,反映经济来源的详细情况。如支出类型有:电话费、伙食、购物、水电费等,详细反映资金的花费去向,花费时间,发生金额等。)姓名,日期,金额,备注,创建人用户名,创建日期。2用户表信息,包括的数据项有:自动编号,称呼,姓名,出生日期,创建日期,备注(用户管理:即使用者资料管理,主要功能为登录系统用户名和密码的修改,用户基本资料的设置。)3.对于银行账务的统计,包括存款、提款、贷款和银行账户信息。

7、4.在汇总的方面可以进行功能更加强大的设计,比如说对于总财产的统计功能,以及按照时间进行查询。5在程序中能够自动修改界面的显示和输入的显示。6.查询功数能:该功能根据标签当有显示的是收支明细还是转账明细判断查询功能。查询条件可根据收入/支出、收支类型、转入/转出、发生金额、发生日期、录入日期查询。查询结果显示在标签的相应数据表格中,以便对其进行操作维护。其中发生日期和录入日期以及发生金额可根据区间查询。 三 、设计内容系统概要设计:通过以上的分析,家庭财政收支管理系统的架构也就一目了然,如图则为系统的结构层次图,通过该图我们可以清楚的看到系统各个模块及其相互之间的关系。系统结构层次图:具体功能

8、模块如下:用户信息模块(基本信息+增加用户)登录模块(正常登录+登录错误处理)借款模块(借入款+结出款)存取款模块(定期存款+活期存款)收入模块(具体的收支情况,包括时间,地点,金额,人员,来源,方式)支出模块(具体的收支情况,包括时间,地点,金额,人员,用途,方式)查询模块(可以以多种方式查询具体的收/支情况)其他模块(密码的修改)汇总模块(饼图的形象化体现,)数据流程图通过该图可以了解系统的整个运行的过程。ER图该ER图实体类型为:家庭成员(称呼,姓名,生日,格言)收支记录(日期,方式,金额,项目,来源,人员,备注)借出款人(姓名,电话,住址)数据库结构设计要将上述的数据库概念结构转化为A

9、ccess 数据库系统所支持的实际数据模型,即数据库的逻辑结构。家庭财政收支管理系统数据库中的各个表的设计结构如所示。(1) 表1是用来说明本系统的用户和密码的存储情况,用户不能为空字段名称数据类型长度是否为空用户文本可变长否密码文本可变长是表1 用户密码(2)表2是用户信息图,用来说明本系统用户信息情况。字段名称数据类型长度是否为空称呼文本可变长否姓名文本可变长否生日文本可变长否格言文本可变长否表2 收支信息(3)表3是用来说明存储款信息。字段名称数据类型长度是否为空开户日期文本可变长是银行名称文本可变长否银行地址文本可变长后款额货币可变长否开户人文本可变长是得款人文本可变长否已取文本可变长

10、否表3 存取款信息(4)表4是说明用户信息字段名称数据类型长度是否为空称呼文本可变长是姓名文本可变长否生日文本可变长是格言文本可变长是表4 用户信息(5)表5是说明系统借还款的基本信息字段名称数据类型长度是否为空得款人文本可变长否金额货币可变长否出借人文本可变长否日期文本可变长否借款原因文本可变长否以还文本可变长否表5 借还款信息四、测试与评价家庭财政收支管理系统的实现用户可以在其输入用户名,密码即可登入系统到该系统。家庭财政收支管理系统的家庭管理是对家庭中所有信息的统计。 (1) 在进入系统之前,必须要有符合本系统的用户以及每个用户对应的密码。如果没输入用户名,点击登入将会提示请输入用户名。

11、如果用户名错误和用户的密码不符合也将会有错误提示。具体界面如图所示。用户名和初始密码都是vb,当用户连续输入错误三次的时候,系统将关闭。登录界面(2) 用户和密码正确后,将进入系统的主界面。在这个界面里将实现本系统所有的功能,用户一看便会使用,如图所示本系统的主界面(3) 进入主界面以后,点击菜单中基础数据管理中的家庭成员管理,会出现如图所示可以对家庭成员进行管理。家庭成员信息(4)点击基础数据库管理中的项目的管理,出现如图所示,即可对支入支出项目进行管理,可对其进行添加,删除操作。(5)点击菜单栏中的借还钱管理可以对借还钱进行管理,如图所示,可对其进行添加,删除操作。借入借出款模块(6) 这

12、里提供了添加资金收入的类型,分为现金和信用卡两种,还有日期、金额、方式和备注等,方便用户详细记录资金的收入情况。添加完以后,就会在查询记录里面找到用户想要找的收入记录。日常收入支出模块(7)点击菜单中的银行存储管理,可以看到活期账户,定期存储两种类型的存储方式,可以对银行账户进行管理,当中有账户信息,取款记录,可对其进行操作哦。存取款信息(8)通过这个模块用户可以轻松查询到自己想要的信息。查询的方式有四种,分别是按日期,按方式,按金额,按项目。查询模块(9)点击菜单栏中的理财分析中理财报告,可以看到当月收入支出情况,通过运用饼图查看当月的具体收支情况。汇总模块五、结论整个应用程序调试通过 ,编

13、译生成可执行文件了。Visual Basic一般生成的是单个的可执行文件,可以使用任何一种在Windows下执行常规可执行文件的方法来执行它。可执行文件的运用不再需要工程文件与各个模块文件,但是需要有Visual Basic运行时动态链接库(.dll)的支持。一台安装了Visual Basic的计算机中会有所需的动态链接库文件。如果要在没有安装过Visual Basic的计算机上运行,最好使用Visual Basic的安装盘生成程序来制作安装盘。在这次毕业设计过程中我查找了大量的资料,同时对自己的专业知识进行了融汇贯通,使自己的实践能力有了很大的提高,这对以后的工作做了准备。由于时间比较仓促,

14、再加上本人的能力有限,目前的好管家家庭管理信息系统只能对家庭的图书和家庭的收支进行基本管理。故系统的功能还比较单一。如果能对其进行扩充,加上各个方面的功能实现,使家庭的各个事务都可以使用自动化和无纸化的方式进行信息管理,这样才可以更好的使用于各个家庭中。随着科技的发展,经过扩展后的家庭管理信息系统可以通过各种方式服务于各个家庭。相信这只是一个开始,我以后肯定会努力做出更好的作品来。六、致谢本次的设计彭三城老师的精心指导下,终于如期完成。在整个设计过程和撰写设计说明书的过程中,彭三城老师定时定点对我的进度进行了了解并尽力帮助我们决问题,并严格督促我们完成任务,任何人不得例外。在这种高压下,我们最

15、终完成了任务。附录源代码清单:主界面代码Private Sub mnu_bg_yue_Click() frm_list.Show 0, frm_main 参数,让frm_main为主窗体打开多个子窗体End SubPrivate Sub mnu_cx_shouru_Click() frm_query.Show 0, frm_mainEnd SubPrivate Sub mnu_bz_zt_Click()End SubPrivate Sub mnu_cx_Click() frm_query.Show 0, frm_mainEnd SubPrivate Sub mnu_rcgl_dq_Click(

16、) frm_fix.Show 0, frm_mainEnd SubPrivate Sub mnu_rcgl_hq_Click() frm_live.Show 0, frm_mainEnd SubPrivate Sub mnu_rcgl_jc_Click() frm_borrowgo.Show 0, frm_mainEnd SubPrivate Sub mnu_rcgl_jr_Click() frm_borrowin.Show 0, frm_mainEnd SubPrivate Sub mnu_rcgl_sr_Click() frm_intake.Show 0, frm_mainEnd SubP

17、rivate Sub mnu_rcgl_zc_Click() frm_expend.Show 0, frm_mainEnd SubPrivate Sub mnu_xt_shz_Click() frm_login.Show Unload MeEnd SubPrivate Sub mnu_xt_xg_Click() frm_password.Show 0, frm_mainEnd SubPrivate Sub mnu_xt_xu_Click() frm_project.Show 0, frm_mainEnd SubPrivate Sub mnu_xy_family_Click() frm_fami

18、ly.Show 0, frm_mainEnd SubPrivate Sub mnuexit_Click()Unload MeEnd SubPrivate Sub mnuinput_Click()Call FileInEnd SubPrivate Sub mnuout_Click()Call FileGoEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Call mnu_xt_xu_Click Case 2 Call mnu_xy_

19、family_Click Case 3 Call mnu_xt_xg_Click Case 5 Call FileGo Case 6 Call FileIn Case 8 Call mnu_rcgl_sr_Click Case 9 Call mnu_rcgl_zc_Click Case 10 Call mnu_rcgl_hq_Click Case 11 mnu_bg_yue_Click Case 13 Call mnu_cx_Click Case 15 Unload Me End SelectEnd SubPrivate Function FileGo() On Error GoTo 1 Di

20、m A, B As StringCommonDialog1.ShowSave A = CommonDialog1.FileName B = App.Path & & databaseMoneyMIS.mdb Set fs = CreateObject(Scripting.FileSystemObject) fs.CopyFile B, A MsgBox 数据库导出成功!, vbOKOnly + 64, 成功 Exit Function 1: MsgBox 数据库导出失败!, vbOKOnly + 64, 失败End FunctionPrivate Function FileIn() On Er

21、ror GoTo 1 Dim A, B, C, D As String C = MsgBox(是否真的导入数据库,导入新数据库后,将覆盖原来的所有录?, vbYesNo + 48 + 256, 警告) If C = vbYes Then CommonDialog1.ShowOpen A = CommonDialog1.FileName B = App.Path & & databaseMoneyMIS.mdb D = CurDir() & & MoneyMIS.mdb Set Fs1 = CreateObject(Sfcripting.FileSystemObject) Fs1.DeleteF

22、ile D, True Fs1.CopyFile A, B MsgBox 数据库导入成功!, vbOKOnly + 64, 成功 Else MsgBox 数据库导入失败!, vbOKOnly + 64, 失败 End If Exit Function1: MsgBox 数据库导入失败!, vbOKOnly + 64, 失败End Function家庭成员信息模块Dim Mydb As New ADODB.RecordsetDim Mydb1 As New ADODB.RecordsetDim Count1 As New ADODB.RecordsetDim Str_text As String

23、Private Sub cmd_add_Click() On Error Resume Next Dim A, B B = 1 Set Count1 = ExeCutesql(select * from 成员 , Str_text) Count1.MoveLast B = Count1.Fields(4) + 1 A = MsgBox(是否添加前记录?, vbYesNo + 32, 修改记录) If A = vbYes Then ExeCutesql insert into 成员 values( & Text1.Text & , & Text2.Text & , & Format(DTPick

24、er1.Value, yyyy-mm-dd) & , & Text3.Text & , & B & ) , Str_text Call Db Mydb.MoveLast MsgBox 数据已经保存!, vbOKOnly + 64, 成功 End IfEnd SubPrivate Sub cmd_close_Click() Unload MeEnd SubPrivate Sub cmd_del_Click() On Error Resume Next Dim A A = MsgBox(是否删除当前记录, vbYesNo + 32 + 256, 删除记录) If A = vbYes Then Ex

25、eCutesql DELETE from 成员 where key= & txt_key.Text & , Str_text Mydb.Requery If Mydb.EOF Then Mydb.MoveLast Call Db Set Mydb = ExeCutesql(select * from 成员, Str_text) Set MSHFlexGrid1.DataSource = Mydb End IfEnd SubPrivate Sub cmd_edit_Click() On Error Resume Next Dim A A = MsgBox(是否修改前记录?, vbYesNo +

26、32, 修改记录) If A = vbYes Then ExeCutesql Update 成员 set 称呼= & Text1.Text & ,姓名= & Text2.Text _ & ,生日= & DTPicker1.Value & ,格言= & Text3.Text & where key= & txt_key.Text & , Str_text MsgBox 数据已经修改成功!, vbOKOnly + 64, 成功 Call Db End IfEnd SubPrivate Sub Form_Load() Call Db DTPicker1.Value = DateEnd SubPriv

27、ate Function Db() Set Mydb = ExeCutesql(select * from 成员, Str_text) Set MSHFlexGrid1.DataSource = MydbEnd FunctionPrivate Sub MSHFlexGrid1_Click() On Error Resume Next Text1.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) Text2.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 2) DTPicker1.Value = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 3) Text3.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 4) txt_key.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 5)End Sub14

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号