财务知识家庭财政收支系统.docx

上传人:b****5 文档编号:5108362 上传时间:2022-12-13 格式:DOCX 页数:17 大小:308.01KB
下载 相关 举报
财务知识家庭财政收支系统.docx_第1页
第1页 / 共17页
财务知识家庭财政收支系统.docx_第2页
第2页 / 共17页
财务知识家庭财政收支系统.docx_第3页
第3页 / 共17页
财务知识家庭财政收支系统.docx_第4页
第4页 / 共17页
财务知识家庭财政收支系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

财务知识家庭财政收支系统.docx

《财务知识家庭财政收支系统.docx》由会员分享,可在线阅读,更多相关《财务知识家庭财政收支系统.docx(17页珍藏版)》请在冰豆网上搜索。

财务知识家庭财政收支系统.docx

财务知识家庭财政收支系统

一、设计目的

随着社会经济的发展,人们生活水平的提高,经济收入的提高,利用计算机对家庭的收支管理势在必行!

过去,人们的收入还没有达到要用计算机来计算,但是今非夕比,不可能就单单靠一个头脑或一支笔就可以实现对家庭收支的管理

在这个高度发达的社会,家庭财政收支管理系统的建立,实现了家庭财务的信息化管理,可以为整个家庭带来很大的经济效益。

科学、高明的理财手段可以给一个家庭带来丰厚的回报。

而现代社会可以提供给家庭的理财项目也是五花八门,如果没有一个功能强大的理财软件来管理这些信息,光靠手写脑记是远远不能满足要求的,所以在家庭管理信息系统中开发家庭财务模块也是势在必行的

本系统是针对个人家庭用户为主进行开发的,所以考虑最多的就是在保障安全的前提下,最大限度的满足个人用户的使用需求。

开发的系统不但可以实现从微观角度的数据录入、删除、查找等基本功能,而且从宏观角度对于整个财务状况进行分析。

家庭管理信息系统的家庭管理可以对收支信息进行统计。

家庭财政收支管理系统可以实现对用户的管理,实现了添加、修改、删除用户,设置用户权限,是否启用。

家庭财政收支管理系统中可以实现对个人信息的管理,可以修改登录用户的个人信息,修改密码。

二、设计任务

可行性分析

技术可行性分析

家庭财政收支管理系统的发展虽然还处于初级阶段,但是它的发展的前途是无限光明的。

它的开发平台有很多,可以采用各种技术来开发,本系统的实现是采用VB开发语言,数据库采用Access。

经济可行性分析

家庭对信息化的要求目前还不是很高,但这终究是一种趋势,从目前的技术发展分析,从目前的技术发展分析,采用vb作为开发平台是较为理想的平台,并且有不少关于管理信息系统的成功的案例,而且开发的成本较低,因此采用此平台在实际开发中具有很高的可行性。

因此开发家庭财政收支管理系统在经济上也是可行的。

操作可行性分析

目前家用电脑的操作系统大多数为Windows,故本系统在操作上是可行的。

开发工具:

1.设计语言VB:

VisualBasic6.0是一种32位的系统开发的开发环境,是一种现代化的编程语言,提供了完善的指令控制语句、类与对象的支持及丰富的数据类型,能方便编程人员设计出高内聚,低耦合的程序出来。

2.Access数据库:

一种有结构的数据集合,是不同于一般数据文件的一串文字或数字流,数据中的对象可以是文字,图像,声音,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。

它由六种对象组成:

表,查询,窗体,报表,宏,模块。

表(Table)——是数据库的基本对象,是创建其他5种对象的基础。

表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。

 查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

  窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。

还可以创建子窗体显示相关联的表的内容。

窗体也称表单。

  报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。

  宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。

  

模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。

模块使用VisualBasic编程。

数据库需求分析

在需求分析中,首先要理解需求。

理解需求是在问题及其最终解决方案之间架设桥梁的第一步。

开发者只有和客户沟通充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须进行大量的返工。

需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块。

1.收支记录表信息,包括的数据项有:

自动编号,收支分类(如收入类型有:

工资、补贴、股票收入等,反映经济来源的详细情况。

如支出类型有:

电话费、伙食、购物、水电费等,详细反映资金的花费去向,花费时间,发生金额等。

姓名,日期,金额,备注,创建人用户名,创建日期。

2.用户表信息,包括的数据项有:

自动编号,称呼,姓名,出生日期,创建日期,备注(用户管理:

即使用者资料管理,主要功能为登录系统用户名和密码的修改,用户基本资料的设置。

3.对于银行账务的统计,包括存款、提款、贷款和银行账户信息。

4.在汇总的方面可以进行功能更加强大的设计,比如说对于总财产的统计功能,以及按照时间进行查询。

5.在程序中能够自动修改界面的显示和输入的显示。

6.查询功数能:

该功能根据标签当有显示的是收支明细还是转账明细判断查询功能。

查询条件可根据收入/支出、收支类型、转入/转出、发生金额、发生日期、录入日期查询。

查询结果显示在标签的相应数据表格中,以便对其进行操作维护。

其中发生日期和录入日期以及发生金额可根据区间查询。

三、设计内容

系统概要设计:

通过以上的分析,家庭财政收支管理系统的架构也就一目了然,如图则为系统的结构层次图,通过该图我们可以清楚的看到系统各个模块及其相互之间的关系。

系统结构层次图:

具体功能模块如下:

用户信息模块——(基本信息+增加用户)

登录模块——(正常登录+登录错误处理)

借款模块——(借入款+结出款)

存取款模块——(定期存款+活期存款)

收入模块——(具体的收支情况,包括时间,地点,金额,人员,来源,方式)

支出模块——(具体的收支情况,包括时间,地点,金额,人员,用途,方式)

查询模块——(可以以多种方式查询具体的收/支情况)

其他模块——(密码的修改)

汇总模块——(饼图的形象化体现,)

数据流程图

通过该图可以了解系统的整个运行的过程。

ER图

该ER图实体类型为:

家庭成员(称呼,姓名,生日,格言)

收支记录(日期,方式,金额,项目,来源,人员,备注)

借/出款人(姓名,电话,住址)

数据库结构设计

要将上述的数据库概念结构转化为Access数据库系统所支持的实际数据模型,即数据库的逻辑结构。

家庭财政收支管理系统数据库中的各个表的设计结构如所示。

(1)表1是用来说明本系统的用户和密码的存储情况,,用户不能为空

字段名称

数据类型

长度

是否为空

用户

文本

可变长

密码

文本

可变长

表1用户密码

(2)表2是用户信息图,用来说明本系统用户信息情况。

字段名称

数据类型

长度

是否为空

称呼

文本

可变长

姓名

文本

可变长

生日

文本

可变长

格言

文本

可变长

表2收支信息

(3)表3是用来说明存储款信息。

字段名称

数据类型

长度

是否为空

开户日期

文本

可变长

银行名称

文本

可变长

银行地址

文本

可变长

款额

货币

可变长

开户人

文本

可变长

得款人

文本

可变长

已取

文本

可变长

表3存取款信息

(4)表4是说明用户信息

字段名称

数据类型

长度

是否为空

称呼

文本

可变长

姓名

文本

可变长

生日

文本

可变长

格言

文本

可变长

表4用户信息

(5)表5是说明系统借还款的基本信息

字段名称

数据类型

长度

是否为空

得款人

文本

可变长

金额

货币

可变长

出借人

文本

可变长

日期

文本

可变长

借款原因

文本

可变长

以还

文本

可变长

表5借还款信息

四、测试与评价

家庭财政收支管理系统的实现

用户可以在其输入用户名,密码即可登入系统到该系统。

家庭财政收支管理系统的家庭管理是对家庭中所有信息的统计。

(1)在进入系统之前,必须要有符合本系统的用户以及每个用户对应的密码。

如果没输入用户名,点击登入将会提示请输入用户名。

如果用户名错误和用户的密码不符合也将会有错误提示。

具体界面如图所示。

用户名和初始密码都是vb,当用户连续输入错误三次的时候,系统将关闭。

登录界面

(2)用户和密码正确后,将进入系统的主界面。

在这个界面里将实现本系统所有的功能,用户一看便会使用,如图所示

本系统的主界面

(3)进入主界面以后,点击菜单中基础数据管理中的家庭成员管理,会出现如图所示可以对家庭成员进行管理。

家庭成员信息

(4)点击基础数据库管理中的项目的管理,出现如图所示,即可对支入支出项目进行管理,可对其进行添加,删除操作。

(5)点击菜单栏中的借还钱管理可以对借还钱进行管理,如图所示,可对其进行添加,删除操作

借入借出款模块

(6)这里提供了添加资金收入的类型,分为现金和信用卡两种,还有日期、金额、方式和备注等,方便用户详细记录资金的收入情况。

添加完以后,就会在查询记录里面找到用户想要找的收入记录。

日常收入支出模块

(7)点击菜单中的银行存储管理,可以看到活期账户,定期存储两种类型的存储方式,可以对银行账户进行管理,当中有账户信息,取款记录,可对其进行操作哦。

存取款信息

(8)通过这个模块用户可以轻松查询到自己想要的信息。

查询的方式有四种,分别是按日期,按方式,按金额,按项目。

查询模块

(9)点击菜单栏中的理财分析中理财报告,可以看到当月收入支出情况,通过运用饼图查看当月的具体收支情况。

汇总模块

五、结论

整个应用程序调试通过,编译生成可执行文件了。

VisualBasic一般生成的是单个的可执行文件,可以使用任何一种在Windows下执行常规可执行文件的方法来执行它。

可执行文件的运用不再需要工程文件与各个模块文件,但是需要有VisualBasic运行时动态链接库(.dll)的支持。

一台安装了VisualBasic的计算机中会有所需的动态链接库文件。

如果要在没有安装过VisualBasic的计算机上运行,最好使用VisualBasic的安装盘生成程序来制作安装盘。

在这次毕业设计过程中我查找了大量的资料,同时对自己的专业知识进行了融汇贯通,使自己的实践能力有了很大的提高,这对以后的工作做了准备。

由于时间比较仓促,再加上本人的能力有限,目前的好管家家庭管理信息系统只能对家庭的图书和家庭的收支进行基本管理。

故系统的功能还比较单一。

如果能对其进行扩充,加上各个方面的功能实现,使家庭的各个事务都可以使用自动化和无纸化的方式进行信息管理,这样才可以更好的使用于各个家庭中。

随着科技的发展,经过扩展后的家庭管理信息系统可以通过各种方式服务于各个家庭。

相信这只是一个开始,我以后肯定会努力做出更好的作品来。

六、致谢

本次的设计彭三城老师的精心指导下,终于如期完成。

在整个设计过程和撰写设计说明书的过程中,彭三城老师定时定点对我的进度进行了了解并尽力帮助我们决问题,并严格督促我们完成任务,任何人不得例外。

在这种高压下,我们最终完成了任务。

附录

源代码清单:

主界面代码

PrivateSubmnu_bg_yue_Click()

frm_list.Show0,frm_main'参数,让frm_main为主窗体打开多个子窗体

EndSub

PrivateSubmnu_cx_shouru_Click()

frm_query.Show0,frm_main

EndSub

PrivateSubmnu_bz_zt_Click()

EndSub

PrivateSubmnu_cx_Click()

frm_query.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_dq_Click()

frm_fix.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_hq_Click()

frm_live.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_jc_Click()

frm_borrowgo.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_jr_Click()

frm_borrowin.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_sr_Click()

frm_intake.Show0,frm_main

EndSub

PrivateSubmnu_rcgl_zc_Click()

frm_expend.Show0,frm_main

EndSub

PrivateSubmnu_xt_shz_Click()

frm_login.Show

UnloadMe

EndSub

PrivateSubmnu_xt_xg_Click()

frm_password.Show0,frm_main

EndSub

PrivateSubmnu_xt_xu_Click()

frm_project.Show0,frm_main

EndSub

PrivateSubmnu_xy_family_Click()

frm_family.Show0,frm_main

EndSub

PrivateSubmnuexit_Click()

UnloadMe

EndSub

PrivateSubmnuinput_Click()

CallFileIn

EndSub

PrivateSubmnuout_Click()

CallFileGo

EndSub

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Index

Case1

Callmnu_xt_xu_Click

Case2

Callmnu_xy_family_Click

Case3

Callmnu_xt_xg_Click

Case5

CallFileGo

Case6

CallFileIn

Case8

Callmnu_rcgl_sr_Click

Case9

Callmnu_rcgl_zc_Click

Case10

Callmnu_rcgl_hq_Click

Case11

mnu_bg_yue_Click

Case13

Callmnu_cx_Click

Case15

UnloadMe

EndSelect

EndSub

PrivateFunctionFileGo()

OnErrorGoTo1

DimA,BAsString

CommonDialog1.ShowSave

A=CommonDialog1.FileName

B=App.Path&"\"&"database\MoneyMIS.mdb"

Setfs=CreateObject("Scripting.FileSystemObject")

fs.CopyFileB,A

MsgBox"数据库导出成功!

",vbOKOnly+64,"成功"

ExitFunction

1:

MsgBox"数据库导出失败!

",vbOKOnly+64,"失败"

EndFunction

PrivateFunctionFileIn()

OnErrorGoTo1

DimA,B,C,DAsString

C=MsgBox("是否真的导入数据库,导入新数据库后,将覆盖原来的所有录?

",vbYesNo+48+256,"警告")

IfC=vbYesThen

CommonDialog1.ShowOpen

A=CommonDialog1.FileName

B=App.Path&"\"&"database\MoneyMIS.mdb"

'D=CurDir()&"\"&"MoneyMIS.mdb"

SetFs1=CreateObject("Sfcripting.FileSystemObject")

'Fs1.DeleteFileD,True

Fs1.CopyFileA,B

MsgBox"数据库导入成功!

",vbOKOnly+64,"成功"

Else

MsgBox"数据库导入失败!

",vbOKOnly+64,"失败"

EndIf

ExitFunction

1:

MsgBox"数据库导入失败!

",vbOKOnly+64,"失败"

EndFunction

家庭成员信息模块

DimMydbAsNewADODB.Recordset

DimMydb1AsNewADODB.Recordset

DimCount1AsNewADODB.Recordset

DimStr_textAsString

PrivateSubcmd_add_Click()

OnErrorResumeNext

DimA,B

B=1

SetCount1=ExeCutesql("select*from成员",Str_text)

Count1.MoveLast

B=Count1.Fields(4)+1

A=MsgBox("是否添加前记录?

",vbYesNo+32,"修改记录")

IfA=vbYesThen

ExeCutesql"insertinto成员values('"&Text1.Text&"','"&Text2.Text&"','"&Format(DTPicker1.Value,"yyyy-mm-dd")&"','"&Text3.Text&"',"&B&")",Str_text

CallDb

Mydb.MoveLast

MsgBox"数据已经保存!

",vbOKOnly+64,"成功"

EndIf

EndSub

PrivateSubcmd_close_Click()

UnloadMe

EndSub

PrivateSubcmd_del_Click()

OnErrorResumeNext

DimA

A=MsgBox("是否删除当前记录",vbYesNo+32+256,"删除记录")

IfA=vbYesThen

ExeCutesql"DELETEfrom成员wherekey="&txt_key.Text&"",Str_text

'Mydb.Requery

'IfMydb.EOFThenMydb.MoveLast

'CallDb

SetMydb=ExeCutesql("select*from成员",Str_text)

SetMSHFlexGrid1.DataSource=Mydb

EndIf

EndSub

PrivateSubcmd_edit_Click()

OnErrorResumeNext

DimA

A=MsgBox("是否修改前记录?

",vbYesNo+32,"修改记录")

IfA=vbYesThen

ExeCutesql"Update成员set称呼='"&Text1.Text&"',姓名='"&Text2.Text_

&"',生日='"&DTPicker1.Value&"',格言='"&Text3.Text&"'wherekey="&txt_key.Text&"",Str_text

MsgBox"数据已经修改成功!

",vbOKOnly+64,"成功"

CallDb

EndIf

EndSub

PrivateSubForm_Load()

CallDb

DTPicker1.Value=Date

EndSub

PrivateFunctionDb()

SetMydb=ExeCutesql("select*from成员",Str_text)

SetMSHFlexGrid1.DataSource=Mydb

EndFunction

PrivateSubMSHFlexGrid1_Click()

OnErrorResumeNext

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)

EndSub

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

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1