家庭财政收支系统(2021整理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计目的
随着社会经济的开展,人们生活程度的提高,经济收入的提高,操纵计算机对家庭的出入办理势在必行!过去,人们的收入还没有到达要用计算机来计算,但是今非夕比,不成能就单单靠一个头脑或一支笔就可以实现对家庭出入的办理在这个高度兴旺的社会,家庭财政出入办理系统的成立,实现了家庭财政的信息化办理,可以为整个家庭带来很大的经济效益。
科学、高明的理财手段可以给一个家庭带来丰厚的回报。
而现代社会可以提供应家庭的理财工程也是八门五花,如果没有一个功能强大的理财软件来办理这些信息,光靠手写脑记是远远不克不及满足要求的,所以在家庭办理信息系统中开发家庭财政模块也是势在必行的
本系统是针对个人家庭用户为主进行开发的,所以考虑最多的就是在保障平安的前提下,最大限度的满足个人用户的使用需求。
开发的系统不单可以实现从微不雅角度的数据录入、删除、查找等根本功能,而且从宏不雅角度对于整个财政状况进行阐发。
家庭办理信息系统的家庭办理可以对出入信息进行统计。
家庭财政出入办理系统可以实现对用户的办理,实现了添加、点窜、删除用户,设置用户权限,是否启用。
家庭财政出入办理系统中可以实现对个人信息的办理,可以点窜登录用户的个人信息,点窜暗码。
二、设计任务
可行性阐发
技术可行性阐发
家庭财政出入办理系统的开展虽然还处于初级阶段,但是它的开展的前途是无限光明的。
它的开发平台有很多,可以采用各种技术来开发,本系统的实现是采用VB开发语言,数据库采用Access。
经济可行性阐发
家庭对信息化的要求目前还不是很高,但这毕竟是一种趋势,从目前的技术开展阐发,从目前的技术开展阐发,采用vb作为开发平台是较为抱负的平台,而且有不少关于办理信息系统的成功的案例,而且开发的本钱较低,因此采用此平台在实际开发中具有很高的可行性。
因此开发家庭财政出入办理系统在经济上也是可行的。
操作可行性阐发
目前家用电脑的操作系统大大都为Windows,故本系统在操作上是可行的。
开发东西:
1.设计语言VB:Visual Basic 是一种32位的系统开发的开发环境,是一种现代化的编程语言,提供了完善的指令控制语句、类与对象的撑持及丰富的数据类型,能便利编程人员设计出高内聚,低耦合的程序出来。
2.Access数据库:一种有布局的数据调集,是不同于一般数据文件的一串文字或数字流,数据中的对象可以是文字,图像,声音,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个
字段有一个字段名,字段名在一个表中不克不及重复。
它由六种对象组成:表,查询,窗体,报表,宏,模块。
表(Table) ——是数据库的根本对象,是创立其他5种对象的根底。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接假设干个表的字段组成新表。
窗体(Form)——窗体提供了一种便利的浏览、输入及更改数据的窗口。
还可以创立子窗体显示相关联的表的内容。
窗体也称表单。
报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便阐发。
宏(Macro)——宏相当于DOS中的批处置,用来自动执行一系列操作。
模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以按照本身的需要编写程序。
模块使用Visual Basic编程。
数据库需求阐发
在需求阐发中,首先要理解需求。
理解需求是在问题及其最终解决方案之间架设桥梁的第一步。
开发者只有和客户沟通充实理解了需求之后才能开始设计系统,不然,对需求定义的任何改良,在设计上都必需进行大量的返工。
需求阐发是从客户的需求中提取出软件系统能够帮忙用户解决的业务问题,通过对用户业务问题的阐发,规划出系统的功能模块。
1.出入记录表信息,包罗的数据项有:自动编号,出入分类〔如收入类型有:工资、补助、股票收入等,反映经济来源的详细情况。
如支出类型有:费、伙食、购物、水电费等,详细反映资金的花费去向,花费时间,发生金额等。
〕姓名,日期,金额,备注,创立人用户名,创立日期。
2.用户表信息,包罗的数据项有:自动编号,称号,姓名,出生日期,创立日期,备注〔用户办理:即使用者资料办理,主要功能为登录系统用户名和暗码的点窜,用户根本资料的设置。
〕
3.对于银行账务的统计,包罗存款、提款、贷款和银行账户信息。
4.在汇总的方面可以进行功能更加强大的设计,比方说对于总财富的统计功能,以及按照时间进行查询。
5.在程序中能够自动点窜界面的显示和输入的显示。
6.查询功数能:该功能按照标签当有显示的是出入明细还是转账明细判断查询功能。
查询条件可按照收入/支出、出入类型、转入/转出、发生金额、发生日期、录入日期查询。
查询成果显示在标签的相应数据表格中,以便对其进行操作维护。
此中发生日期和录入日期以及发生金额可按照区间查询。
三、设计内容
系统概要设计:通过以上的阐发,家庭财政出入办理系统的架构也就一目了然,如图则为系统的布局层次图,通过该图我们可以清楚的看到系统各个模块及其彼此之间的关系。
系统布局层次图:
具体功能模块如下:
用户信息模块——〔根本信息+增加用户〕
登录模块——〔正常登录+登录错误处置〕
借款模块——〔借入款+结出款〕
存取款模块——〔按期存款+活期存款〕
收入模块——〔具体的出入情况,包罗时间,地址,金额,人员,来源,方式〕支出模块——〔具体的出入情况,包罗时间,地址,金额,人员,用途,方式〕查询模块——(可以以多种方式查询具体的收/支情况)
其他模块——〔暗码的点窜〕
汇总模块——〔饼图的形象化表达,〕
数据流程图
通过该图可以了解系统的整个运行的过程。
ER图
该ER图实体类型为:
家庭成员〔称号,姓名,生日,格言〕
出入记录〔日期,方式,金额,工程,来源,人员,备注〕
借/出款人〔姓名,,住址〕
数据库布局设计
要将上述的数据库概念布局转化为Access 数据库系统所撑持的实际数据模型,即数据库的逻辑布局。
家庭财政出入办理系统数据库中的各个表的设计布局如所示。
(1) 表1是用来说明本系统的用户和暗码的存储情况,,用户不克不及为空
字段名称数据类型长度是否为空用户文本可变长否
暗码文本可变长是
表1用户暗码
字段名称数据类型长度是否为空
称号文本可变长否
姓名文本可变长否
生日文本可变长否
格言文本可变长否
表2出入信息
〔3〕表3是用来说明存储款信息。
表3 存取款信息
表4 用户信息
四、测试与评价
家庭财政出入办理系统的实现
用户可以在其输入用户名,暗码即可登入系统到该系统。
家庭财政出入办理系统的家庭办理是对家庭中所有信息的统计。
(1)在进入系统之前,必需要有符合本系统的用户以及每个用户对应的暗码。
如果没输入用户名,点击登入将会提示请输入用户名。
如果用户名错误和用户的暗码不符合也将会有错误提示。
具体界面如下图。
用户名和初始暗码都是vb,当用户持续输入错误三次的时候,系统将关闭。
登录界面
(2) 用户和暗码正确后,将进入系统的主界面。
在这个界面里将实现本系统所有的功能,用户一看便会使用,如下图
本系统的主界面
(3) 进入主界面以后,点击菜单中根底数据办理中的家庭成员办理,会呈现如下图可以对家庭成员进行办理。
家庭成员信息
〔4〕点击根底数据库办理中的工程的办理,呈现如下图,即可对支入支出工程进行办理,可对其进行添加,删除操作。
〔5〕点击菜单栏中的借还钱办理可以对借还钱进行办理,如下图,可对其进行添加,删除操作。
借入借出款模块
(6) 这里提供了添加资金收入的类型,分为现金和信用卡两种,还有日期、金额、方式和备注等,便操纵户详细记录资金的收入情况。
添加完以后,就会在查询记录里面找到用户想要找的收入记录。
日常收入支出模块
〔7〕点击菜单中的银行存储办理,可以看到活期账户,按期存储两种类型的存储方式,可以对银行账户进行办理,傍边有账户信息,取款记录,可对其进行操作哦。
存取款信息
〔8〕通过这个模块用户可以轻松查询到本身想要的信息。
查询的方式有四种,别离是按日期,按方式,按金额,按工程。
查询模块
〔9〕点击菜单栏中的理财阐发中理财陈述,可以看到当月收入支出情况,通过运用饼图查看当月的具体出入情况。
汇总模块
五、结论
整个应用程序调试通过,编译生成可执行文件了。
Visual Basic一般生成的是单个的可执行文件,可以使用任何一种在Windows下执行常规可执行文件的方法来执行它。
可执行文件的运用不再需要工程文件与各个模块文件,但是需要有Visual Basic运行时动态链接库〔.dll〕的撑持。
一台安装了Visual Basic的计算机中会有所需的动态链接库文件。
如果要在没有安装过Visual Basic的计算机上运行,最好使用Visual Basic的安装盘生成程序来制作安装盘。
在此次毕业设计过程中我查找了大量的资料,同时对本身的专业常识进行了融汇贯穿,使本身的实践能力有了很大的提高,这对以后的工作做了筹办。
由于时间比拟仓皇,再加上本人的能力有限,目前的好管家家庭办理信息系统只能对家庭的图书和家庭的出入进行根本办理。
故系统的功能还比拟单一。
如果能对其进行扩充,加上各个方面的功能实现,使家庭的各个事务都可以使用自动化和无纸化的方式进行信息办理,这样才可以更好的使用于各个家庭中。
随着科技的开展,颠末扩展后的家庭办理信息系统可以通过各种方式效劳于各个家庭。
相信这只是一个开始,我以后必定会努力做出更好的作品来。
六、称谢
本次的设计彭三城老师的精心指导下,终于如期完成。
在整个设计过程和撰写设计说明书的过程中,彭三城老师按时定点对我的进度进行了了解并尽力帮忙我们决问题,并严格催促我们完成任务,任何人不得例外。
在这种高压下,我们最终完成了任务。
附录
源代码清单:
主界面代码
Private Sub mnu_bg_yue_Click()
frm_list.Show 0, frm_main '参数,让frm_main为主窗体翻开多个子窗体
End Sub
Private Sub mnu_cx_shouru_Click()
frm_query.Show 0, frm_main
End Sub
Private Sub mnu_bz_zt_Click()
End Sub
Private Sub mnu_cx_Click()
frm_query.Show 0, frm_main
End Sub
Private Sub mnu_rcgl_dq_Click()
frm_fix.Show 0, frm_main
End Sub
Private Sub mnu_rcgl_hq_Click()
frm_live.Show 0, frm_main
End Sub
Private Sub mnu_rcgl_jc_Click()
frm_borrowgo.Show 0, frm_main End Sub
Private Sub mnu_rcgl_jr_Click()
frm_borrowin.Show 0, frm_main
End Sub
Private Sub mnu_rcgl_sr_Click()
frm_intake.Show 0, frm_main
End Sub
Private Sub mnu_rcgl_zc_Click()
frm_expend.Show 0, frm_main
End Sub
Private Sub mnu_xt_shz_Click()
Unload Me
End Sub
Private Sub mnu_xt_xg_Click()
frm_password.Show 0, frm_main
End Sub
Private Sub mnu_xt_xu_Click()
frm_project.Show 0, frm_main
End Sub
Private Sub mnu_xy_family_Click()
frm_family.Show 0, frm_main
End Sub
Private Sub mnuexit_Click()
Unload Me
End Sub
Private Sub mnuinput_Click()
Call FileIn
End Sub
Private Sub mnuout_Click()
Call FileGo
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Case 1
Call mnu_xt_xu_Click
Case 2
Call mnu_xy_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 Select
End Sub
Private Function FileGo()
On Error GoTo 1
Dim A, B As String
B = App.Path & "\" & "database\MoneyMIS.mdb"
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile B, A
MsgBox "数据库导出成功!", vbOKOnly + 64, "成功"
Exit Function
1:
MsgBox "数据库导出掉败!", vbOKOnly + 64, "掉败"
End Function
Private Function FileIn()
On Error GoTo 1
Dim A, B, C, D As String
C = MsgBox("是否真的导入数据库,导入新数据库后,将覆盖本来的所有录?", vbYesNo + 48 + 256, "警告")
If C = vbYes Then
B = App.Path & "\" & "database\MoneyMIS.mdb"
'D = CurDir() & "\" & "MoneyMIS.mdb"
Set Fs1 = CreateObject("Sfcripting.FileSystemObject") 'Fs1.DeleteFile D, True
Fs1.CopyFile A, B
MsgBox "数据库导入成功!", vbOKOnly + 64, "成功"
Else
MsgBox "数据库导入掉败!", vbOKOnly + 64, "掉败"
End If
Exit Function
1:
MsgBox "数据库导入掉败!", vbOKOnly + 64, "掉败"
End Function
家庭成员信息模块
Dim Str_text As String
Private Sub cmd_add_Click()
On Error Resume Next
Dim A, B
B = 1
Set Count1 = ExeCutesql("select * from 成员 ", Str_text)
B = Count1.Fields(4) + 1
A = MsgBox("是否添加前记录 ", vbYesNo + 32, "点窜记录")
If A = vbYes Then
ExeCutesql "insert into 成员 values('" & Text1.Text & "','" & Text2.Text & "','" & Format(DTPicker1.Value, "yyyy-mm-dd") & "','" & Text3.Text & "'," & B & ") ", Str_text
Call Db
MsgBox "数据已经保留!", vbOKOnly + 64, "成功"
End If
End Sub
Private Sub cmd_close_Click()
Unload Me
End Sub
Private Sub cmd_del_Click()
On Error Resume Next
Dim A
A = MsgBox("是否删除当前记录", vbYesNo + 32 + 256, "删除记录")
If A = vbYes Then
ExeCutesql "DELETE from 成员where key=" & txt_key.Text & "", Str_text
'Call Db
Set Mydb = ExeCutesql("select * from 成员", Str_text) Set MSHFlexGrid1.DataSource = Mydb
End If
End Sub
Private Sub cmd_edit_Click()
On Error Resume Next
Dim A
A = MsgBox("是否点窜前记录 ", vbYesNo + 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 If
End Sub
Private Sub Form_Load()
Call Db
DTPicker1.Value = Date
End Sub
Private Function Db()
Set Mydb = ExeCutesql("select * from 成员", Str_text) Set MSHFlexGrid1.DataSource = Mydb
End Function
Private 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 Sub。