计算机系本科毕业(设计)论文
家庭财务管理系统的
课题名称
设计与实现
专业计算机科学与技术
姓名
学号
指导教师
二零壹零年六月
目录
1引言 (2)
1.1选题意义及背景 (2)
1.2开发环境简介 (3)
2系统分析 (4)
2.1需求分析 (4)
2.2可行性分析 (4)
3系统设计 (6)
3.1系统功能模块设计 (6)
3.2数据库设计 (7)
4系统实现 (11)
4.1数据库连接实现 (11)
4.2系统的登录模块实现 (12)
4.3查询模块功能的实现 (12)
4.4理材模块功能的实现 (13)
4.5定期储蓄模块功能的实现 (15)
5系统测试 (17)
5.1测试内容及步骤 (17)
5.2测试结果 (17)
6结束语 (19)
致谢 (20)
参考文献 (21)
I
家庭财务管理系统的设计与实现
家庭财务管理系统的设计与实现
摘要:经济全球化和居民生活需求的变化以及计算机技术不断发展的今天,人们生活水平越来越高,财务管理也变得越来越重要,理财直接影响着人们的生活。本研究课题的主要目的是提供财务数据统一管理和做出合理的财务决策,其界面友好,操作简单,除具备基本的财务信息管理外,还提供了数据统计,数据查询,图表自动统计等功能。系统以饼图形式说明收入、支出、节余三者之间的相互关系,为家庭财产的有效管理和合理分配提供帮助。
关键词:家庭财务管理VB A ccess
Abstract:With the economic globalization and the change of the demand of residen ts’living today as well as the continuous development of computer technology, the people’s living standard is getting higher and higher, the financial control becomes more and more important, and managing finances directly influence people's life. The main purpose of this research is to provide a system which support the universal administration of financial data and help make the reasonable financial decision, whose contact surface is friendly and operation is simple. Besides the basic finance information management, the system also has the function of data statistics, data inquiry and automatic graph statistics. The system explains the reciprocity among income, disbursement and surplus in cake diagram form, providing the help to family asset's effective management and the rational distribution.
Key words: family financial management VB A ccess
1引言
1.1选题意义及背景
随着计算机技术的飞速发展,计算机在日常管理中应用迅速得到了普及,利用计算机进行家庭日常财务的管理无疑是一条行之有效且高效的办法。本课题是基于家庭理财的现状,模拟家庭对财务方面进行管理,开发一个家庭财务管理系统,使之具有实用价值。通过家庭财务管理系统,使家庭财务方面管理的工作系统化、规范化、自动化,从而达到提高家庭财务管理效率的目的,有效地记录和管理家庭的的收支情况,成为家庭财务管理的好帮手。家庭财务管理系统是一个家庭未来不可缺少的部分,它的内容对于家庭管理者来说都至关重要,它可以大大地节省我们的时间。
2
忻州师院计算机系本科学士学位论文
在此基础上设计出来的家庭财务管理系统可以满足家庭,个人从事财务管理方面的需要。
1.2 开发环境简介
1.2.1Visual Basic6.0
VB是面向对象的程序设计语言,它采用事件驱动进行编写。传统编程使用的是面向过程、按顺序进行的机制,这种编程方式的缺点是写程序的人总是要关心什么时候发生什么事情。而在事件驱动编程中,程序员只要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。
1.2.2Access
Access是一个可视化工具,是风格和Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,轻易使用和把握。
3
家庭财务管理系统的设计与实现
2系统分析
2.1需求分析
1.用户需求分析:
通过调查,要求系统需要有以下功能:
(1)由于操作人员的计算机知识普遍较差,那么就要求有良好的人机界面。
(2)方便的数据查询,支持多条件查询关生成相应的统计图。
(3)家庭成员信息的基本录入管理。
(4)家庭成员的银行卡管理。
(5)家庭日常的收入和支出管理。
2.系统功能分析:
系统作为普通家庭使用的家庭财务管理系统,主要包括系统设置、日常管理、查询、每月明细四大模块。
(1)系统设置;主要是对家庭成员的录入、删除、修改,对密码的修改,支出项目和收入项目的管理,更改用户的功能。
(2)日常管理:对家庭日常收入支出、借入借出、定活期存款进行管理。
(3)查询:按不同的方式分别进行查询,结果一致。可以按日期、方式、金额、数目分别进行查询。
(4)理材报告:查询每月节余并生成相应的统计图,统计图可以按人员进行统计也可以按收入来源进行统计。
通过对系统的用户需求和功能的分析得到系统的顶级DFD,如图2.1所示。
图2.1 系统顶级DFD图
2.2可行性分析
经济可行性:家庭财务管理系统的开发、运行、维护费用包括:购买和安装设
4
忻州师院计算机系本科学士学位论文
备的费用、人员费用、消耗品费用,但这些费用相对而言是比较低的。另外,本系统开发成本低,仅需要一台电脑,一个人,花费一个月的时间足能完成该系统的开发。开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
技术可行性:从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB和Access的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库窗口,所以技术实行起来会相对容易。
5
家庭财务管理系统的设计与实现
3系统设计
3.1系统功能模块设计
家庭财务管理系主要完成对日常收入和支出、查询、修改、删除等,系统设置包括项目管理、添加成员、修改密码、更改用户、数据备份和退出系统。日常管理包括日常收入、日常支出、活期账户、定期储蓄、借入款项、借出款项。查询主要是对日常收入和日常支出进行不同方式的查询。理材报告根据每月节余生成统计
6
忻州师院计算机系本科学士学位论文
3.1图系统功能模块图
3.2数据库设计
3.2.1系统的设计目标
1.系统运行稳定,安全可靠。
2.界面设计美观,人机交互界面友好。
3.采用多种方式查询数据。
4.信息查询灵活、方便、快捷、准确,数据存储安全可靠。
5.具有统计图表分析功能。
3.2.2数据库概念结构设计
根据数据项和数据结构设计出系统的E—R图如下所示;
3.2图系统设计E—R图
活期存款表包括账号、存取、日期、数目、姓名和余额字段,设计的E—R图如下所示:
7
家庭财务管理系统的设计与实现
8
忻州师院计算机系本科学士学位论文
9
3.2.3数据库的逻辑结构设计 将上面的数据库概念结构模型转化为Access 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构模型。家庭财务管理系统中包括多个表,这里只列举其中的3个表,分别是:日常收入表、借出表、活期存取表。
收入表:存放家庭成员的收入信息,包括名称、数据类型、长度、允许为空、索引,表的数据字段和属性如下图所示:
图3.7 收入表
名称
数据类型 长度 允许为空 索引 日期
文本 50 是 无 方式
文本 50 是 无 金额
文本 50 是 无 项目
文本 50 是 无 来源
文本 50 是 无 人员
文本 50 是 无 备注
备注 是 无
表3.8 借出表
名称
数据类型 长度 允许为空 索引 得款人
文本 50 是 无 金额
货币 自动 无 出借人
文本 50 是 无 日期
文本 50 是 无 出借原因
文本 50 是 无 已还
文本 50 是 无
家庭财务管理系统的设计与实现
表3.9 活期存取表
名称数据类型长度允许为空索引账号文本50 是无存取文本50 是无数目货币自动是无日期文本50 是无姓名文本50 是无余额货币自动是无Key 自动编号 4 否有
10
忻州师院计算机系本科学士学位论文
4系统实现
4.1数据库连接实现
系统用VB和Access 的连接,用ADO编程模型连接数据库,具体语句如下:Public Str_path As String
Public Cname As String'登陆时传用户名
Public Cdate1 As String '传日期(收入情况列表)
Public Cdate2 As String '传日期
Public aa As Boolean '判断是否选择月份
'ADO编程模型连接数据库
Public Function Connectstring() As String
Dim Str_path As String
Str_path = CurDir() & "\" & "MISER.MDB"
Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Str_path & "';Persist Security Info=False"
End Function
'ADO编程模型连接数据库
Public Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Stokens() As String '数组
On Error GoTo executesql_error
Stokens = Split(Sql) '将sql语句按关键字保存在数组中
Set Cnn = New ADODB.Connection
Cnn.Open Connectstring
If InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute Sql
Msgstring = Stokens(0) & "查询成功"
Else
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic '重服务器中提取符
合要求的记录集
Set ExeCutesql = Rst
Msgstring = "查询到" & Rst.RecordCount & "条记录"
End If
executesql_exit:
Set Rst = Nothing '释放记录集
Set Cnn = Nothing '释放连接语句
Exit Function
executesql_error:
Msgstring = "查询错误:" & Err.Description
Resume executesql_exit
End Function
11
家庭财务管理系统的设计与实现
12
4.2系统的登录模块实现
对用户输入的用户名和密码进行验证,正确则进入系统,否则显示相应的提示信息,若用户名或密码连续输入三次后出现错误,则退出系统。系统的登录界面如图4.1所示:
4.1图 系统登录
登录界面实现所需的代码如下所示:
If Str_name = "1" And Str_password = "2" Then
frm_main.Show
Unload Me
Else
Set Mydb = ExeCutesql("select user from user1 where user='" & Str_name & "'", Str_text) If Mydb.EOF Then
MsgBox "你输入的用户名不存在,请重新输入!", vbOKOnly + 32, "注意" L = L + 1
txt_name.SetFocus
If L = 5 Then
MsgBox "你已经多次输入错误的用户名,请查证后重新登陆!", vbOKOnly +
48, "注意"
End If
End If
End If
4.3查询模块功能的实现
查询是系统最基本的功能,用户可以随时对家庭的收入和支出进行查询,根据不同的方式查询显示的结果相同。查询设计如图4.2所示:
忻州师院计算机系本科学士学位论文
4
4
4.2图系统查询
模块实现代码如下所示:
Private Function Mode1()
Set Mydb1 = ExeCutesql("select * from 支出where 方式='" & Combo3.Text & "'", Str_text) Set MSHFlexGrid2.DataSource = Mydb1
End Function
Private Function Money1()
On Error Resume Next
Dim B
B = CInt(txt_money1.Text)
Set Mydb11 = ExeCutesql("select * from 支出where 金额=" & B & " ", Str_text)
Set MSHFlexGrid2.DataSource = Mydb11
End Function
Private Function Project1()
Set Mydb12 = ExeCutesql("select * from 支出where 项目='" & Combo4.Text & "'", Str_text) Set MSHFlexGrid2.DataSource = Mydb12
End Function
4.4理材模块功能的实现
开发系统的目的只要是对财务进行管理,理材就是重要的一部分。它是在查询的基础上进行进一步的分析显示,并根据查询结果生成相应的统计图。理材设计如图4.3所示:
13
家庭财务管理系统的设计与实现
14
图4.3 理材实现图
理材模块所需代码如下:
Private Sub Form_Load()
Dim A, B, C, D As Integer
Command4.Enabled = False
Command2.Enabled = False
Set Mydb1 = ExeCutesql("select sum(金额) from 收入", "")
A = Mydb1.Fields(0)
Set Mydb = ExeCutesql("select 项目,sum(金额) as 金额,str(cint(sum(金额)/'" & A & "'*100))
& '%' as 百分比 from 收入 group by 项目 ", Str_text)
Set MSHFlexGrid1.DataSource = Mydb
Set Mydb4 = ExeCutesql("select sum(金额) from 支出", "")
B = Mydb4.Fields(0)
Set Mydb3 = ExeCutesql("select 项目,sum(金额) as 金额,str(cint(sum(金额)/'" & B &
"'*100)) & '%' as 百分比 from 支出 group by 项目 ", Str_text)
Set MSHFlexGrid2.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
If C > 0 Then
MSChart1.ColumnCount = C
MSChart1.ColumnLabel = Mydb.Fields(0)
忻州师院计算机系本科学士学位论文
15
End If
If D > 0 Then
MSChart2.ColumnCount = D
MSChart2.ColumnLabel = Mydb3.Fields(0)
End If
End Sub
4.5定期储蓄模块功能的实现
用户对储蓄的存款方式包括活期和定期两种,活期储蓄模块和定期类似,定期储蓄模块实现如下所示:
图4.4定期储蓄
模块所需的代码如下所示:
Private Sub cmd_add_Click()
On Error Resume Next
Dim A, B
B = 1
Set Count1 = ExeCutesql("select key from 定期存款 ", Str_text)
Count1.MoveLast
B = Count1.Fields(0) + 1
A = MsgBox("是否添加前记录?", vbYesNo + 32, "修改记录")
If A = vbYes Then
ExeCutesql "insert into 定期存款 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
Call Bangding
End If
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 Bangding
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 日期= '" & DTPicker1.Value & "',银行名称
='" & txt_name.Text _& "',银行地址=" & txt_address.Text & ", 银行账号='" &
txt_size.Text & "',金额='" & txt_money.Text _& "',期限='" & txt_time.Text & "',存款
人='" & Combo1.Text & "',取否='" & Check1.Value & "' Where key = " &
txt_key.Text & " ", Str_text'
Mydb.Requery
Call Bangding
MsgBox "数据修改成功!", vbOKOnly + 64, "成功"
End If
End Sub
16
忻州师院计算机系本科学士学位论文
17
5系统测试
5.1 测试内容及步骤
系统测试是为了发现程序中的错误。系统测试的过程亦是程序运行的过程。系统测试主要是测试功能是否完全实现。实现测试的步骤如下:
1. 在登录界面输入相应的用户名和密码,如果输入错误就进不入系统,若输入次数超过三次,系统关闭,输入成功,则进入系统。
2. 测试查询收入支出模块时,要分别按照不同的方式进行查询,若一个方式都不点的话,则无法进行查询,显示不出查询结果。
3. 测试生成统计图模块功能时,每月明细界面正常显示的话可以点击饼图出现统计图的界面,然后分别进行按人员统计和按项目统计,分别显示出正确的结果,则说明测试成功。
图5.1 饼图测试结果显示图
5.2测试结果
在进行调试完后,系统能够实现简单的收入支出,查询,存取,自动生成统计
图等功能,测试结果如下:
家庭财务管理系统的设计与实现
图5.2 测试结果
测试模块测试内容测试结果
用户登录用户名和密码是否正确正确则进入下一模块,错误则退出查询收入支出按方式进行操作不同方式查询结果相同
生成统计图统计图显示是否正确正确显示统计图内容
18
软件项目实训报告 项目名称个人财务管理系统设计与实现姓名志欣 学号1212210139 班级13计本1 指导教师峰 报告日期2016 年 7 月 1 日
目录 目录 1 个人财务管理系统需求分析 (1) 1.1 系统需求分析的任务与步骤 (1) 1.2 可行性分析 (2) 1.2.1 技术可行性 (2) 1.2.2 操作可行性 (3) 1.3 功能需求分析 (3) 1.3.1.前台页面模块 (3) 1.3.2.后台界面模块 (3) 1.4 数据流分析 (4) 1.5 数据字典 (5) 2 个人财务管理系统的总体设计与实现 (8) 2.1 系统功能设计 (8) 2.1.1 系统功能模块设计 (8) 2.1.2 功能模块简介 (8) 2.2 数据库设计 (10) 2.2.1 数据库概念结构设计 (10) 2.2.2 数据库逻辑结构设计 (12) 2.2.3 数据库物理结构设计 (12) 2.3 系统实现 (14) 2.3.1 账户管理模块 (16) 2.3.2 收支管理模块 (17) 2.3.3 卡管理模块 (19) 2.3.4 留言管理模块 (20) 3 系统测试 (23) 3.1 测试环境及方法 (23) 3.1.1 测试环境 (23) 3.1.2 测试方法 (23) 3.2 系统测试结果 (24) 3.2.1 注册测试 (24) 3.2.2 登录测试 (25) 3.2.3 密码修改测试 (25) 总结 (27)
1 个人财务管理系统需求分析 1.1 系统需求分析的任务与步骤 任务:调查用户需求,该“用户”主要指系统的后台管理员以及前台用户,分析用户对系统功能、性能、硬件等的具体要求,然后以文本形式作成报告。本阶段主要是利用图表与文字来表示系统的逻辑模型,旨在从逻辑上描述系统的功能和性能。 步骤:1.利用图表和文字全面描述系统。 2.根据用户提出的新需求,适当地对系统模型进行改进。 3.编写系统分析文档。 1.2 可行性分析 可行性分析是一个系统开发的初始阶段,其意义在于:在尽可能短的时间里,花费尽量小的代价确定问题是否可以解决。因此,我们就必须探究清楚原定的各种可能的方案是否可行,以及完成的该系统之后系统所能带来的效益是否足够大于投资的成本。所以,可行性研究是必要的,它的主要作用是简化系统分析与设计的过程,从而以更合理的方式来进行系统分析与设计,以保证系统的开发成功。 所以说,开发本系统的成本少,开发周期短,从经济方面看开发此系统是可行的。1.2.1 技术可行性 本系统开发采用的是B/S模式[1]。系统包括客户端和服务器端,对应前台和后台。在服务器端采用的是SQL Server 2005数据库,该数据库具有数据的完整行、一致行以及安全性的特点,并提供了相当安全可靠的存储功能,因而比较适合处理中小型系统。它在处理大量数据的同时,也能够保证系统的完整管理功能。 开发过程中所使用的开发软件为MyEclipse,MyEclipse是在Eclipse的基础上加入了许多功能强大的插件,它继承了Eclipse独特图形API,美化了Java界面,并且提高了界面的响应速度。因此,它比Eclipse更具有实用性。 在硬件方面,用户计算机的硬件配置只需满足以下条件即可:计算机处理器P4 2.0G 及以上,计算机RAM满足512M或以上,硬盘存储满足40G或以上,该硬件环境要求明显低于市面上的普通电脑配置。 所以,从技术方面来看开发此系统是可行的。
财务管理系统毕业论文开题报
学院: 专业: 级别:级 1 ? 选题的理论、实际意义 我国作为发展中国家, 中小型企业在我国经济中起着至关重要的作用, 同时 提供了众多就业岗位,中小型企业的经济发展关系着我国本土企业的 发展。我国中小企业是在农村乡镇集体企业,城市集体企业和城乡个体私 营企业等新兴非国有经济基础上发展起来的,与大型企业相比,中小企业 财务管理活动涉及的范围狭窄,资金流量和存量不大。 而财务是企业经 营的核心, 财务管理是企业管理的基础,是企业 内部管理的中枢。 对于中小企业而言,如果能将 In ternet 网络技术与现代管理观念相融 合,使 得企业得以逐步提高决策透明度、服务效率。实现财务管理的网上 化,可以使财务管理,更加高效、规范、安全和简便。财务信息管理对企 业的财务计划,财务控制财务监督,财务运用方面都起着重大的作用,以 现代信息技术将企业内部信息梳理, 整合,以达到企业财务运作的高效性。 充分发挥企业财务管理部门对财务管理的职能,减轻企业财务工作人员的 手工工作,提高企业的财务管理水平和资源利用率;针对中小型企业设计 的财务系统具有一定的使用价值。 2、研究动态、见解 当前中小型企业财务管理中存在的问题: 1. 很多企业将财务管理游离于企业的生产经营管理之外,对建立内部 制度不 够重视,内部财务制度残缺不全或有关内容不够合理。没有将财务 管理列入公司管理的机制中,使得财务管理失去了它在现代企业管理中应 有的地位和作用。 2. 内部控制制度缺失,财务控制薄弱,造成信息失真,当前财务对 没有实现 公开化和透明性。由于公司内部人为影响,会计核算不 准,报表失真,账 实不符,人为制造信息孤岛。对财务,和业务 信息监控不力不够,无法短 时间内形成有效数据以供审核。公司 在指定决策时,得不到及时的信息支 持。 3. 会计基础工作薄弱。中小企业普遍存在着会计机构设置不健全, 会计人员 配备不合理。甚至部分企业由于资金少,社会保障制度 不健全,硬件环境 较差,没有聘请专业财务人员,长此以往就造 成资金混乱。对吸纳资金造 成阻碍。 4. 管理的技术手段和方式的落后, 对新技术,新经验的学习不够。 多数企业对财务管理型软件的信息系统缺乏了解,没有掌握企 课题名称 基于web 的中小型企业财务管理系统 学生姓 名 学 号 导 师 名 指教姓 称学位
软件学院 课程设计报告书 课程名称JavaEE 课程设计______________________ 设计题目个人财务系统____________________ 专业班级软件工程 _______________________ 学号xxxxxxxxx07 __________________________ 姓名XXXXX_______________________________ 指导教师姜彦吉 ________________________
2011年12 月
4.1.4系统构造关系 图一2 (jsp页面构造)
4.2 Jsp 页面设计 421登录界面 图一4 (登录界面) 代码如下: vform action= "servlet/LoginServlet" method= "post" >
图一5 (登录成功查询界面) 代码如下: <% String username=(String)session.getAttribute (”name"); if (username!= null ){%>