家庭财务管理系统论文.docx
- 文档编号:8453519
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:19
- 大小:300.46KB
家庭财务管理系统论文.docx
《家庭财务管理系统论文.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统论文.docx(19页珍藏版)》请在冰豆网上搜索。
家庭财务管理系统论文
计算机系本科毕业(设计)论文
课题名称
家庭财务管理系统的设计与实现
专业
计算机科学与技术
姓名
学号
指导教师
二零壹零年六月
家庭财务管理系统的设计与实现
摘要:
经济全球化和居民生活需求的变化以及计算机技术不断发展的今天,人们生活水平越来越高,财务管理也变得越来越重要,理财直接影响着人们的生活。
本研究课题的主要目的是提供财务数据统一管理和做出合理的财务决策,其界面友好,操作简单,除具备基本的财务信息管理外,还提供了数据统计,数据查询,图表自动统计等功能。
系统以饼图形式说明收入、支出、节余三者之间的相互关系,为家庭财产的有效管理和合理分配提供帮助。
关键词:
家庭财务管理VBAccess
Abstract:
Withtheeconomicglobalizationandthechangeofthedemandofresidents’livingtodayaswellasthecontinuousdevelopmentofcomputertechnology,thepeople’slivingstandardisgettinghigherandhigher,thefinancialcontrolbecomesmoreandmoreimportant,andmanagingfinancesdirectlyinfluencepeople'slife.Themainpurposeofthisresearchistoprovideasystemwhichsupporttheuniversaladministrationoffinancialdataandhelpmakethereasonablefinancialdecision,whosecontactsurfaceisfriendlyandoperationissimple.Besidesthebasicfinanceinformationmanagement,thesystemalsohasthefunctionofdatastatistics,datainquiryandautomaticgraphstatistics.Thesystemexplainsthereciprocityamongincome,disbursementandsurplusincakediagramform,providingthehelptofamilyasset'seffectivemanagementandtherationaldistribution.
Keywords:
familyfinancialmanagementVB Access
1引言
1.1选题意义及背景
随着计算机技术的飞速发展,计算机在日常管理中应用迅速得到了普及,利用计算机进行家庭日常财务的管理无疑是一条行之有效且高效的办法。
本课题是基于家庭理财的现状,模拟家庭对财务方面进行管理,开发一个家庭财务管理系统,使之具有实用价值。
通过家庭财务管理系统,使家庭财务方面管理的工作系统化、规范化、自动化,从而达到提高家庭财务管理效率的目的,有效地记录和管理家庭的的收支情况,成为家庭财务管理的好帮手。
家庭财务管理系统是一个家庭未来不可缺少的部分,它的内容对于家庭管理者来说都至关重要,它可以大大地节省我们的时间。
在此基础上设计出来的家庭财务管理系统可以满足家庭,个人从事财务管理方面的需要。
1.2开发环境简介
1.2.1VisualBasic6.0
VB是面向对象的程序设计语言,它采用事件驱动进行编写。
传统编程使用的是面向过程、按顺序进行的机制,这种编程方式的缺点是写程序的人总是要关心什么时候发生什么事情。
而在事件驱动编程中,程序员只要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。
1.2.2Access
Access是一个可视化工具,是风格和Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,轻易使用和把握。
2系统分析
2.1需求分析
1.用户需求分析:
通过调查,要求系统需要有以下功能:
(1)由于操作人员的计算机知识普遍较差,那么就要求有良好的人机界面。
(2)方便的数据查询,支持多条件查询关生成相应的统计图。
(3)家庭成员信息的基本录入管理。
(4)家庭成员的银行卡管理。
(5)家庭日常的收入和支出管理。
2.系统功能分析:
系统作为普通家庭使用的家庭财务管理系统,主要包括系统设置、日常管理、
查询、每月明细四大模块。
(1)系统设置;主要是对家庭成员的录入、删除、修改,对密码的修改,支出项目和收入项目的管理,更改用户的功能。
(2)日常管理:
对家庭日常收入支出、借入借出、定活期存款进行管理。
(3)查询:
按不同的方式分别进行查询,结果一致。
可以按日期、方式、金额、数目分别进行查询。
(4)理材报告:
查询每月节余并生成相应的统计图,统计图可以按人员进行统计也可以按收入来源进行统计。
通过对系统的用户需求和功能的分析得到系统的顶级DFD,如图2.1所示。
图2.1系统顶级DFD图
2.2可行性分析
经济可行性:
家庭财务管理系统的开发、运行、维护费用包括:
购买和安装设备的费用、人员费用、消耗品费用,但这些费用相对而言是比较低的。
另外,本系统开发成本低,仅需要一台电脑,一个人,花费一个月的时间足能完成该系统的开发。
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。
因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
技术可行性:
从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB和Access的结合无疑是在实际应用中较为成功的一种解决方案。
为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库窗口,所以技术实行起来会相对容易。
3系统设计
3.1系统功能模块设计
家庭财务管理系主要完成对日常收入和支出、查询、修改、删除等,系统设置包括项目管理、添加成员、修改密码、更改用户、数据备份和退出系统。
日常管理包括日常收入、日常支出、活期账户、定期储蓄、借入款项、借出款项。
查询主要是对日常收入和日常支出进行不同方式的查询。
理材报告根据每月节余生成统计图。
具体的功能模块图如图3.1所示:
3.1图系统功能模块图
3.2数据库设计
3.2.1系统的设计目标
1.系统运行稳定,安全可靠。
2.界面设计美观,人机交互界面友好。
3.采用多种方式查询数据。
4.信息查询灵活、方便、快捷、准确,数据存储安全可靠。
5.具有统计图表分析功能。
3.2.2数据库概念结构设计
根据数据项和数据结构设计出系统的E—R图如下所示;
3.2图系统设计E—R图
活期存款表包括账号、存取、日期、数目、姓名和余额字段,设计的E—R图如下所示:
图3.3活期存款R—R图
收入表包括日期、方式、金额、项目、来源和人员,设计的E—R图如下所示:
图3.4收入表E—R图
借入表得款人、金额、出借人、日期和出借原因,设计的E—R图如下所示:
图3.5借入表E—R图
成员信息表包括称呼、姓名、生日和格言,设计的E—R图如下所示:
图3.6成员信息E—R图
3.2.3数据库的逻辑结构设计
将上面的数据库概念结构模型转化为Access数据库系统所支持的实际数据模型,也就是数据库的逻辑结构模型。
家庭财务管理系统中包括多个表,这里只列举其中的3个表,分别是:
日常收入表、借出表、活期存取表。
收入表:
存放家庭成员的收入信息,包括名称、数据类型、长度、允许为空、索引,表的数据字段和属性如下图所示:
图3.7收入表
名称
数据类型
长度
允许为空
索引
日期
文本
50
是
无
方式
文本
50
是
无
金额
文本
50
是
无
项目
文本
50
是
无
来源
文本
50
是
无
人员
文本
50
是
无
备注
备注
是
无
Key
自动编号
否
有
借出表:
主要记录家庭借出款项,包括名称、数据类型、长度、允许为空、索引,表的数据字段和属性如下图所示:
表3.8借出表
名称
数据类型
长度
允许为空
索引
得款人
文本
50
是
无
金额
货币
自动
无
出借人
文本
50
是
无
日期
文本
50
是
无
出借原因
文本
50
是
无
已还
文本
50
是
无
活期存取表:
家庭的存款方式,主要记录家庭取款的信息,包括名称、数据类型、长度、允许为空、索引,表的数据字段和属性如下图所示:
表3.9活期存取表
名称
数据类型
长度
允许为空
索引
账号
文本
50
是
无
存取
文本
50
是
无
数目
货币
自动
是
无
日期
文本
50
是
无
姓名
文本
50
是
无
余额
货币
自动
是
无
Key
自动编号
4
否
有
4系统实现
4.1数据库连接实现
系统用VB和Access的连接,用ADO编程模型连接数据库,具体语句如下:
PublicStr_pathAsString
PublicCnameAsString'登陆时传用户名
PublicCdate1AsString'传日期(收入情况列表)
PublicCdate2AsString'传日期
PublicaaAsBoolean'判断是否选择月份
'ADO编程模型连接数据库
PublicFunctionConnectstring()AsString
DimStr_pathAsString
Str_path=CurDir()&"\"&"MISER.MDB"
Connectstring="Provider=Microsoft.Jet.OLEDB.4.0;DataSource='"&Str_path&"';PersistSecurityInfo=False"
EndFunction
'ADO编程模型连接数据库
PublicFunctionExeCutesql(ByValSqlAsString,MsgstringAsString)AsADODB.Recordset
DimCnnAsADODB.Connection
DimRstAsADODB.Recordset
DimStokens()AsString'数组
OnErrorGoToexecutesql_error
Stokens=Split(Sql)'将sql语句按关键字保存在数组中
SetCnn=NewADODB.Connection
Cnn.OpenConnectstring
IfInStr("INSERT,DELETE,UPDATE",UCase$(Stokens(0)))Then
Cnn.ExecuteSql
Msgstring=Stokens(0)&"查询成功"
Else
SetRst=NewADODB.Recordset
Rst.OpenTrim$(Sql),Cnn,adOpenKeyset,adLockOptimistic'重服务器中提取符合要求的记录集
SetExeCutesql=Rst
Msgstring="查询到"&Rst.RecordCount&"条记录"
EndIf
executesql_exit:
SetRst=Nothing'释放记录集
SetCnn=Nothing'释放连接语句
ExitFunction
executesql_error:
Msgstring="查询错误:
"&Err.Description
Resumeexecutesql_exit
EndFunction
4.2系统的登录模块实现
对用户输入的用户名和密码进行验证,正确则进入系统,否则显示相应的提示信息,若用户名或密码连续输入三次后出现错误,则退出系统。
系统的登录界面如图4.1所示:
4.1图系统登录
登录界面实现所需的代码如下所示:
IfStr_name="1"AndStr_password="2"Then
frm_main.Show
UnloadMe
Else
SetMydb=ExeCutesql("selectuserfromuser1whereuser='"&Str_name&"'",Str_text)
IfMydb.EOFThen
MsgBox"你输入的用户名不存在,请重新输入!
",vbOKOnly+32,"注意"
L=L+1
txt_name.SetFocus
IfL=5Then
MsgBox"你已经多次输入错误的用户名,请查证后重新登陆!
",vbOKOnly+48,"注意"
EndIf
EndIf
EndIf
4.3查询模块功能的实现
查询是系统最基本的功能,用户可以随时对家庭的收入和支出进行查询,根据不同的方式查询显示的结果相同。
查询设计如图4.2所示:
4
44.2图系统查询
模块实现代码如下所示:
PrivateFunctionMode1()
SetMydb1=ExeCutesql("select*from支出where方式='"&Combo3.Text&"'",Str_text)
SetMSHFlexGrid2.DataSource=Mydb1
EndFunction
PrivateFunctionMoney1()
OnErrorResumeNext
DimB
B=CInt(txt_money1.Text)
SetMydb11=ExeCutesql("select*from支出where金额="&B&"",Str_text)
SetMSHFlexGrid2.DataSource=Mydb11
EndFunction
PrivateFunctionProject1()
SetMydb12=ExeCutesql("select*from支出where项目='"&Combo4.Text&"'",Str_text)
SetMSHFlexGrid2.DataSource=Mydb12
EndFunction
4.4理材模块功能的实现
开发系统的目的只要是对财务进行管理,理材就是重要的一部分。
它是在查询的基础上进行进一步的分析显示,并根据查询结果生成相应的统计图。
理材设计如图4.3所示:
图4.3理材实现图
理材模块所需代码如下:
PrivateSubForm_Load()
DimA,B,C,DAsInteger
Command4.Enabled=False
Command2.Enabled=False
SetMydb1=ExeCutesql("selectsum(金额)from收入","")
A=Mydb1.Fields(0)
SetMydb=ExeCutesql("select项目,sum(金额)as金额,str(cint(sum(金额)/'"&A&"'*100))&'%'as百分比from收入groupby项目",Str_text)
SetMSHFlexGrid1.DataSource=Mydb
SetMydb4=ExeCutesql("selectsum(金额)from支出","")
B=Mydb4.Fields(0)
SetMydb3=ExeCutesql("select项目,sum(金额)as金额,str(cint(sum(金额)/'"&B&"'*100))&'%'as百分比from支出groupby项目",Str_text)
SetMSHFlexGrid2.DataSource=Mydb3
Label1.Caption=Year(Now)&"年"&Month(Now)&"月"&":
"
Label6.Caption=A&"元"
Label7.Caption=B&"元"
MSChart1.RowCount=1
MSChart2.RowCount=1
MSChart1.RowLabel="收入情况"
MSChart2.RowLabel="支出情况"
C=Mydb.RecordCount
D=Mydb3.RecordCount
IfC>0Then
MSChart1.ColumnCount=C
MSChart1.ColumnLabel=Mydb.Fields(0)
EndIf
IfD>0Then
MSChart2.ColumnCount=D
MSChart2.ColumnLabel=Mydb3.Fields(0)
EndIf
EndSub
4.5定期储蓄模块功能的实现
用户对储蓄的存款方式包括活期和定期两种,活期储蓄模块和定期类似,定期储蓄模块实现如下所示:
图4.4定期储蓄
模块所需的代码如下所示:
PrivateSubcmd_add_Click()
OnErrorResumeNext
DimA,B
B=1
SetCount1=ExeCutesql("selectkeyfrom定期存款",Str_text)
Count1.MoveLast
B=Count1.Fields(0)+1
A=MsgBox("是否添加前记录?
",vbYesNo+32,"修改记录")
IfA=vbYesThen
ExeCutesql"insertinto定期存款values('"&Format(DTPicker1.Value,"yyyy-mm-dd")&"','"&txt_name.Text_&"','"&txt_address.Text&"','"&txt_size.Text&"',"&txt_money.Text&",'"&txt_time.Text&"','"&Combo1.Text&"','"&Check1.Value&"',"&B&")",Str_text
CallBangding
EndIf
EndSub
PrivateSubcmd_del_Click()
OnErrorResumeNext
DimA
A=MsgBox("是否删除当前记录?
",vbYesNo+32+256,"添加记录")
IfA=vbYesThen
ExeCutesql"DELETEfrom定期存款wherekey="&txt_key.Text&"",Str_text
CallBangding
EndIf
EndSub
PrivateSubcmd_edit_Click()
OnErrorResumeNext
DimA
A=MsgBox("是否修改前记录?
",vbYesNo+32,"添加记录")
IfA=vbYesThen
ExeCutesql"Update定期存款Set日期='"&DTPicker1.Value&"',银行名称='"&txt_name.Text_&"',银行地址="&txt_address.Text&",银行账号='"&txt_size.Text&"',金额='"&txt_money.Text_&"',期限='"&txt_time.Text&"',存款人='"&Combo1.Text&"',取否='"&Check1.Value&"'Wherekey="&txt_key.Text&"",Str_text'
Mydb.Requery
CallBangding
MsgBox"数据修改成功!
",vbOKOnly+64,"成功"
EndIf
EndSub
5系统测试
5.1测试内容及步骤
系统测试是为了发现程序中的错误。
系统测试的过程亦是程序运行的过程。
系统测试主要是测试功能是否完全实现。
实现测试的步骤如下:
1.在登录界面输入相应的用户名和密码,如果输入错误就进不入系统,若输入次数超过三次,系统关闭,输入成功,则进入系统。
2.测试查询收入支出模块时,要分别按照不同的方式进行查询,若一个方式都不点的话,则无法进行查询,显示不出查询结果。
3.测试生成统计图模块功能时,每月明细界面正常显示的话可以点击饼图出现统计图的界面,然后分别进行按人员统计和按项目统计,分别显示出正确的结果,则说明测试成功。
图5.1饼图测试结果显示图
5.2测试结果
在进行调试完后,系统能够实现简单的收入支出,查询,存取,自动生成统计图等功能,测试结果如下:
图5.2测试结果
测试模块
测试内容
测试结果
用户登录
用户名和密码是否正确
正确则进入下一模块,错误则退出
查询收入支出
按方式进行操作
不同方式查询结果相同
生成统计图
统计图显示是否正确
正确显示统计图内容
6结束语
开发本系统经历了从系统问题的提出—系统可行性分析—系统数据库的设计—总体的功能模块设计—详细设计—最后到程序的实现,就是以这样的一个思路完成的整个系统的开发。
通过这次毕业设计,使我感到高科技、新知识的力量。
这次毕业设计过程中,得到了学校的大力支持,给我提供了舒适的工作学习环境,也得到了广大老师、教授的精心指导,在此表示衷心的感谢!
由于本人第一次完整的设计程序,加之水平有限,设计中难免有不当之处,还请各位老师给予批评和指正。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭 财务管理 系统 论文