家庭财务管理系统的设计与实现讲解.docx
- 文档编号:9110144
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:29
- 大小:908.54KB
家庭财务管理系统的设计与实现讲解.docx
《家庭财务管理系统的设计与实现讲解.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统的设计与实现讲解.docx(29页珍藏版)》请在冰点文库上搜索。
家庭财务管理系统的设计与实现讲解
苏州大学高等教育自学考试“专接本”
毕业论文(设计)
题目家庭财务管理系统的设计与实现
专科学校无锡科技职业学院
专业计算机信息管理
班级信管1201
考生姓名徐祥
准考证号024512201006
指导教师高振栋
2014年3月15日
摘要
近些年来,随着社会的发展进步,人们的生活水平也在不断地提升,不光在吃喝住行方面的提升,在个人一些素质培养,职业养成方面也有较大的投入,而在这些投入中,资金必是不可或缺的一环,投入资金的多与少,资金分配是否合理,恰当都是年轻人头疼的问题。
此时,财手段应运而生,理财意识逐渐进入到生活中,影响着人们的生活,因此我们需要一个高效、方便的管理财务的系统。
管理财务最简单最直接的单位既是家庭,才家庭出发,我们建立起了一个“家庭财务管理系统”。
该系统采用VS2005作为开发工具、SQLServer2005建立后台数据库、VISIO2003画图工具和Photoshop图像处理等工具,对家庭财务管理系统进行需求分析、概要设计、详细设计和对各功能模块进行单元测试和综合测试,主要包括后台数据库的建立和维护及前台应用程序的开发。
通过该系统,可以方便地对日常收入、日常支出、现金的借入及借出进行管理,该系统具备浏览、查询、添加、删除、修改和报表等功能,界面友好且操作简单,能够很好的满足家庭从事财务管理方面的需要。
关键词:
家庭理财,Java,MySQL
前言
21世纪,中国经济飞速的发展,人们家庭收入也与日俱增,随着房产热、私家车、出国游等走入寻常百姓家,如何规划财富,如何让财富增值,如何享受财富也日渐成为每个家庭关注的话题。
《中国统计年鉴》的资料表明,近13年来,中国物价上涨率平均达到了6.5%,这一数字意味着,如果不用于投资理财,我们手头的现金每年就会减少6.5%。
从20世纪90年代国内第一家银行推出个人理财产品,到目前几乎所有的银行都拥有了个人理财部,有些甚至引进了更高层次的贵宾理财。
这就要求有更好的家庭理财软件。
我国居民的储蓄存款超过十万亿人民币。
特别是像北京、上海、深圳等发达城市,居民的可支配收入正在逐步达到中等发达国家水平,许多居民除了购房、购车外有大量的金融资产,如何分配、管理金融资产是居民最大的需求。
大多数个人对金融方面的需求从储蓄、保管金融资产向金融资产的保值、增值转变。
家庭如何管理金融资产呢?
如何安排自己的富余的现金流,如何筹集自己所需的资金,就成为了一个现实的问题。
家庭财务管理系统以家庭理财的概念、理论、本质为基础,剖析了家庭的经济结构,并对理财市场和理财产品进行了分析,在此基础上提出了家庭理财的模式及如何进行家庭理财规划。
家庭理财系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭理财系统应该能够为一个家庭的管理者提供充足的信息和快捷的查询手段,方便家庭的管理者的合理理财。
随着科学技术的不断提高,计算机科学日渐成熟,网上银行的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有着手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件。
第一章系统的可行性分析
1.1可行性分析概述
可行性分析是指在现有的技术、经济、法律和社会效益等方面的条件下分析每一项需求实施的可行性,通过可行性分析,可以对系统的技术、操作和经济方面提出相关要求和设计方案。
可行性分析就是解决一个项目是否有可行解以及是否值得去解的问题。
对于每个管理系统来说,首先都需要对系统有一个合适的设计思想和方法,对系统有个明确的方案,使用现有技术能否实现该系统,该系统的经济效益能否超过它的开发成本,系统的操作方案在用户组织里能否行得通,选择合理的操作系统和开发环境等等,这些都对系统的开发起着很重要的作用。
只有通过对系统进行可行性分析才能构建完善的系统。
本系统的可行性分析将从技术可行性、操作可行性、经济可行性和法律可行性四个方面进行说明。
1.1.1技术可行性
由于该系统所要满足的硬件是计算机,软件方面是采用JDK1.6开发环境、MyEclipse开发工具和MySQL数据库,这些设备和软件易于实现和满足。
采用的语言是Java语言,具有可移植性,功能易于实现,界面比较美观,操作简单,能够移植到其他计算机上运行,与平台无关,能够满足更多的用户,使得该系统能被很多家庭所接受。
所以该系统在技术上是可行的。
1.1.2经济可行性
现代化信息管理和电脑普及的今天,该系统如果开发成功,成本比较低,工作效率比较高,维护费用比较低,能给一个家庭带来很多的方便,该系统采用比较容易学的Java语言编写,由于Java平台的自由和开放性使得开发周期比较短,开发人员成本低。
该系统成本主要是开发和数据库的维护上,所设计的成本都比较低,能给一个家庭带来很大的利润。
因此在经济上是可行的。
1.1.3操作可行性
该系统在操作上是可行的,系统是采用Windows平台开发的,是家庭管理者与系统之间的操作,窗口和界面简单直观,人性化,易用操作和管理,业务逻辑清晰,各模块容易扩充。
因此在操作上是可行的。
1.1.4法律可行性
随着社会主义的发展和人们的生活水平的提高,对于一个家庭来说,所面对的事情都越来越复杂了,特别是对家庭财产的管理。
如何有效的管理和利用当今的计算机技术来达到人们所期望的生活已经在人们心中深入人心了,对于一个家庭财产管理系统的设计与实现对于每个家庭来说都是有必要的,没有任何侵犯法律问题。
因此,在法律上该系统是可行的。
第二章系统的需求分析
2.1系统需求分析
家庭财务管理系统是一个家庭必需的信息管理系统。
通过我们对家庭财务管理的详细调查,大部分家庭对于财务的管理还是局限在使用传统的人工纸质记账管理的方式,这种方式存在许多缺点,如:
效率很低、安全性差、管理难和产生大量纸质文件等。
所以需要一个家庭财务管理系统来为每一个家庭的管理者提供充足的信息和快捷的查询手段。
家庭财务管理系统的信息数据主要是家庭管理员对家庭的收支消费信息的输入,由于一个家庭每天都会有收入和支出的情况,导致数据库时时有更新,因此,能够及时有效的处理数据,就需要建立一个数据库来存储数据。
该家庭财务管理系统的设计与实现,主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。
对于后台的数据库建立需要数据安全性好,对于前端应用程序则需要功能完善和易使用的特点。
2.1.1系统功能需求
本系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等模块组成。
系统管理模块需求:
通过此模块可以验证用户登录、密码修改、重新登录和退出等功能。
基础数据管理模块需求:
通过此模块可以对家庭成员的添加、删除和修改,对收支项目的添加、删除和修改。
日常收支管理模块需求:
通过此模块可以对日常收入进行添加、删除和修改,对日常支出进行添加、删除和修改。
银行储蓄管理模块需求:
通过此模块可以对银行活期账户进行添加、删除和修改,对定期账户进行添加、删除和修改。
借还钱管理模块需求:
通过此模块可以对家庭成员的各项借出款进行添加、删除和修改,对家庭成员的借入款进行添加、删除和修改。
理财分析模块需求:
通过此模块可以查询收支明细和生成理财分析报告。
2.1.2系统性能需求
该系统要求具有良好的灵活性、可扩充性和可移植性,系统采用MySQL数据库,系统的数据都是通过数据库来保存,需要数据库具有很好的稳定性,系统可运行在主流的Windows操作系统平台上,操作系统要求响应速度快,使操作者感觉操作流畅。
2.1.3系统环境需求
该系统采用C/S模式,系统基本环境为windowsxp操作系统,在VS2005平台上开发,根据的运行需求以及系统的调试需求,需要满足下列的软硬件要求:
硬件环境:
CPU:
2.10GHz
内存:
1G以上
硬盘:
300GB以上
VGA显示器或更高
软件环境:
运行环境:
VS2005
数据库:
SOLServer2005
画图软件:
Visio2003
操作系统:
WindowsXP
2.1.4用户界面需求
系统采用人机交互方式,主要通过界面来显示用户需要的信息,界面需要美观友好,信息查询方便灵活,输入输出数据格式友好便捷,并且具备简单的错误提示功能。
2.1系统流程图
该系统中,用户可以通过进入后台数据库对数据进行操作和管理,可以通过登录界面进入主界面管理各个功能模块。
系统流程图如下图所示:
图2-1系统流程图
2.2系统数据流图
图2-2数据流图
图2-3功能级数据流图
第三章系统设计
3.1系统概述
本系统主要管理家庭财务信息的功能,主要是家庭管理员向该系统录入财务收支信息,对家庭成员的消费水平进行管理。
采用C/S模式实现,用户可以通过浏览器向服务器发送请求,进行相关操作,服务器接收浏览器发送来的请求,将响应结果返回给客户端,财务管理信息存放到数据库里。
3.2系统的功能结构图
通过对家庭财务管理系统进行详细设计后,家庭财务管理系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等六个模块组成。
系统功能结构如下图所示:
图3-1系统功能结构图
3.3系统的各功能模块设计
3.3.1系统管理模块功能设计
该模块实现的功能主要是用户登录、密码修改、重新登录和退出等
系统管理模块功能图如下图所示:
图3-2系统管理模块结构图
3.3.2基础数据管理模块功能设计
该模块实现的功能主要是家庭成员添加、删除修改,收支项目添加、删除和修改等。
基础数据管理模块功能图如下图所示:
图3-3基础数据管理模块结构图
3.3.3日常收支管理模块功能设计
该模块实现的功能主要是日常收入和日常支出功能。
日常收支管理模块功能图如下图所示:
图3-4日常收支管理模块结构图
3.3.4银行储蓄管理模块功能设计
该模块实现的功能主要是对银行活期和定期账户进行添加、删除和修改及存取款记录等功能。
银行储蓄管理模块功能图如下所示:
图3-5银行储蓄管理模块结构图
3.3.5借还钱管理模块功能设计
该模块实现功能主要是记录家庭成员各项借出款和借入款等情况。
借还钱管理模块功能图如下图所示:
图3-6借还钱管理模块结构图
3.3.6理财分析模块功能设计
该模块实现功能主要是查询收支明细和生成理财分析报告等
理财分析模块功能图如下图所示:
图3-7理财分析模块结构图
3.4系统的数据库设计
3.4.1E-R图
通常,采用实体-联系图(E-R图)来建立数据模型,包含实体、关系和属性三种成分,它是描述现实世界概念结构模型的有效方法。
是一种数据库设计的概念模型,是描述数据实体与其他数据实体的关联的一种设计模式,实体内部的联系通常是指组成实体的各种属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。
该系统主要有三个实体,分别为用户、银行、收支记录、存取款记录和借入借出记录。
用户可以到银行开户、可以借入借出、可以收入支出、可以存取款,存取款的记录需要存入银行账户里。
家庭财务管理的E-R图如下所示:
图3-8E-R图
3.4.2数据表设计
本系统是实现家庭财务管理系统,主要设计了11张表,分别为fmtable,receivetable,outlaytable,dailyincometable,dailyexpensetable,currentaccounttable,currentaccountimfortable,depositaccounttable,lendtable,borrowtable,record表。
分别用于存储家庭成员信息、收入项目信息、支出项目信息、日常收入信息、日常支出信息、活期账户信息、存取款信息、定期账户信息,借出款信息表,借入款信息表,记录表。
下面给出数据表的详细设计。
(1)家庭成员表用于记录家庭成员的基本信息
表3-1fmtable表
字段名
数据类型
长度
字段约束
描述
fmsno
int
Notnull
成员编号
fmname
varchar
20
Notnull
成员姓名
password
varchar
20
Notnull
密码
sex
enum
0
Notnull
性别
brithday
date
0
Notnull
出生年月
telephone
varchar
20
电话号码
varchar
30
电子邮件
(2)收入项目表用于记录收入项目信息
表3-2receivetable表
字段名
数据类型
长度
字段约束
描述
rsno
int
Notnull
收入项目编号
rname
varchar
50
Notnull
收入项目名称
(3)支出项目表用于记录支出项目信息
表3-3outlaytable表
字段名
数据类型
长度
字段约束
描述
osno
int
Notnull
支出项目编号
oname
varchar
50
Notnull
支出项目名称
(4)日常收入信息表用于记录日常收入的详细信息
表3-4dailyincometable表
字段名
数据类型
长度
字段约束
描述
iid
int
Notnull
收入序号
isname
varchar
50
Notnull
收入项目名称
ibankaccount
varchar
50
Notnull
银行账号
imember
varchar
20
Notnull
收入人员
idate
date
0
Notnull
收入日期
isum
float
0
Notnull
收入金额
remarks
varchar
255
备注
(5)日常支出信息表用于记录日常支出的详细信息
表3-5dailyexpensetable表
字段名
数据类型
长度
字段约束
描述
eid
int
Notnull
支出序号
esname
varchar
50
Notnull
支出项目名称
ebankaccount
varchar
50
Notnull
银行账号
emember
varchar
20
Notnull
支出人员
edate
date
0
Notnull
支出日期
esum
float
0
Notnull
支出金额
remarks
varchar
255
备注
(6)活期账户表用于记录活期账户的信息
表3-6currentaccounttable表
字段名
数据类型
长度
字段约束
描述
casno
varchar
50
Notnull
活期账户号
cabankname
varchar
20
Notnull
活期银行名
caholder
varchar
20
Notnull
活期账户持有者
opendate
date
0
Notnull
开户日期
bankbalance
float
0
Notnull
账户余额
(7)存取款信息表用于记录每次的存取款记录信息
表3-7currentaccountimfortable表
字段名
数据类型
长度
字段约束
描述
caiid
int
Notnull
存取编号
caisno
varchar
50
Notnull
活期银行账户
cabankbalance
float
0
Notnull
账户余额
caitype
enum
0
Notnull
存取类型
caisum
float
0
Notnull
存取金额
ncabankbalance
float
0
Notnull
账户现余额
caidate
date
0
Notnull
存取日期
caimember
varchar
20
Notnull
存取款人
(8)定期账户信息表用于记录定期账户的详细信息
表3-8depositaccounttable表
字段名
数据类型
长度
字段约束
描述
dasno
varchar
50
Notnull
定期账户号
dabankname
varchar
50
Notnull
定期银行名
daholder
varchar
20
Notnull
定期账户持有者
dadate
date
0
Notnull
开户日期
dasum
float
0
Notnull
定期账户金额
istakeout
enum
0
Notnull
是否取出
(9)借出款信息表用于记录借出款的详细信息
表3-9lendtable表
字段名
数据类型
长度
字段约束
描述
lendsno
int
Notnull
借出款编号
getmoneyname
varchar
20
Notnull
得款人
lendmoneyname
varchar
20
Notnull
借出人
lbankaccount
varchar
50
Notnull
银行账号
lendsum
float
0
Notnull
借出金额
lendreason
varchar
255
借出理由
lenddate
date
0
Notnull
借出日期
ispaybacked
enum
0
Notnull
是否归还
remarks
varchar
255
备注
(10)借入款信息表用于记录借入款的详细信息
表3-10borrowtable表
字段名
数据类型
长度
字段约束
描述
borrowsno
int
Notnull
借入款编号
borrowname
varchar
20
Notnull
借入人
lendmoneyname
varchar
20
Notnull
借出人
lbankaccount
varchar
50
Notnull
银行账号
borrowsum
float
Notnull
借入金额
borrowreason
varchar
255
借入理由
borrowdate
date
0
Notnull
借入日期
ispaybacked
enum
0
Notnull
是否归还
remarks
varchar
255
备注
(11)记录表用于记录每次银行账号更新的信息,用于每月总的余额查询。
表3-11recordtable表
字段名
数据类型
长度
字段约束
描述
rid
int
Notnull
编号
rbanksno
varchar
50
Notnull
银行账号
rdate
date
0
Notnull
记录日期
rbankbalance
float
Notnull
银行余额
第4章系统测试
进行软件测试是对系统的性能、完善程度以及安全性进行测试,在现今这个科技发达的时代,软件应用于各个领域,如果一个软件未经过细致的系统测试就投入使用,在使用过程中一旦出现问题后果将不堪设想,这不仅仅是对用户负责,更是对开发人员自身负责,通过系统测试不断地发现问题和解决问题,在以后的工作中就会减小这些漏洞出现的几率,不断地完善每一个软件是每一个软件开发人员共同的愿望。
所以,进行系统测试是十分必要的。
在进行本论文设计的过程中,对于软件的测试一直贯穿始终,对于在开发过程中的代码和文档,以及系统完成后都在进行测试。
测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试。
开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
由于技术上和人员上的缺陷,只进行了简单的测试,但是软件的测试还是带给了我很多的收获,让我切实的认识到软件测试的重要性,在以后的工作和学习中也将更加重视它。
第5章系统主要模块的实现
5.1系统登陆界面的实现
进入登陆界面,将提示用户输入用户名和密码,调用数据库存储的用户信息进行校验,只有当用户名和密码相匹配时,才允许用户使用该系统。
用户登录系统后能够允许使用的系统功能和用户的权限有关。
普通家庭成员只能进行查询和浏览,家长还可以进行增、删、改操作和对普通家庭成员的管理。
权限的设置在家庭成员信息中进行限制,权限的判定在家庭成员登录模块进行。
登陆界面实现过程:
现在VS下创建一个新的Windows窗口,在窗口中添加Tabel表格,用于页面的布局,在Table表格中添加相关的控件,用于具体的功能实现。
登录代码的实现:
首先导入必要的命名空间,然后在page_load单击事件中,利用Session对象判断用户登录的状态,若登录成功则跳转到主页面,最后在双击功能控件编辑具体代码,主要代码如下:
//登录按钮
privatevoidbtSure_Click(objectsender,System.EventArgse)
{
try
{
stringsql="selectuName,PWDfromfamilywhereuName='"+boName.Text+"'";
if(oleConnection1==null)
oleConnection1=MainForm.getConnection();
OleDbCommandcmd=oleConnection1.CreateCommand();
cmd.CommandText=sql;
OleDbDataReaderdr=cmd.ExecuteReader();
if(!
dr.Read())
{
MessageBox.Show("无此用户,请重试!
","提示");
}
else
{
if(!
dr.GetString
(1).Equals(this.password.Text.ToString()))
{
MessageBox.Show("\n密码错误,请重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭 财务管理 系统 设计 实现 讲解