家庭财务管理系统.docx
- 文档编号:9855482
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:39
- 大小:1.10MB
家庭财务管理系统.docx
《家庭财务管理系统.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统.docx(39页珍藏版)》请在冰豆网上搜索。
家庭财务管理系统
信息职业技术学院
毕业设计论文
作者学号
系部
专业
题目家庭财务管理系统实现
指导教师
评阅教师
完成时间:
2010年月日
毕业设计(论文)中文摘要
(题目):
家庭财务管理系统实现
摘要:
为了适应全球经济的蓬勃发展所带来的金融理财领域的巨大变革和创新,尤其是对现代家庭与个人传统的理财观念有着较大的革新。
因此,提出了给人们提供一种能充分利用计算机优势,快捷、方便、高效、易操作的管理系统来管理家庭财务的收支。
然后按照家庭成员对自身财产的管理要求,根据相关的管理经验,以记录信息、提示信息,提供良好的操作平台为根本目的,并将收入管理、支出管理、借贷管理、银行账户管理等方面有机的组成一个整体。
本论文主要介绍了家庭财务管理系统的开发过程和所涉及到的问题及解决方法。
利用C#语言在MicrosoftVisualStudio2005平台下开发而成,整个系统是一个单机的系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询。
最后经过测试,系统能正常运行,功能完善,性能较高。
总得来说这个系统的开发是比较成功的。
关键词:
家庭财务管理系统;C#;MicrosoftVisualStudio2005
毕业设计(论文)外文摘要
Title:
FamilyFinancialManagementSystemImplementation
Abstract:
Inordertoadapttoglobaleconomicboombringsthehugefinancialfield,especiallythereformandinnovationofmodernfamiliesandindividualstraditionalfinancialmanagementconcepthasgreatinnovations.Therefore,putsforwardprovidepeoplewithacanmakefulluseofcomputeradvantage,quick,convenient,efficientandeasyoperationmanagementsystemtomanagefamilyfinancialreceiptsandexpenditures.Thenaccordingtothefamilymembersoftheirownpropertymanagementrequirements,accordingtorelevantmanagementexperiencetorecordinformation,tipinformation,providegoodoperationplatformforfundamentalpurpose,andwillincomemanagement,expendituremanagement,debtmanagement,bankaccountmanagementetcorganicanintegralunit.Thispapermainlyintroducedfamilyfinancialmanagementsystemdevelopmentprocessandinvolvedproblemsandsolutions.Usingc#languageinMicrosoftVisualStudiolansinto2005,thewholesystemdevelopmentisasinglesystem,theoperatorcanrecordfamilyincome,spending,throughvariouswayscanquery.Finallyaftertesting,thesystemcanrunnormally,perfectfunction,performanceishigher.Overallthissystemdevelopmentisrelativelysuccessful.
keywords:
FamilyFinancialManagementSystem;C#;MicrosoftVisualStudio2005
1绪论1
1.1课题背景及选题意义1
1.2课题简介1
1.3本课题要达到的设计目标1
1.4本论文任务概述2
1.5本论文章节安排2
2系统需求分析3
2.1系统功能模块设计3
2.2建立E-R图4
2.3数据流图7
2.4系统业务流程图9
3系统设计与实现10
3.1开发环境10
3.2数据库设计10
3.3系统结构设计13
3.4系统实现13
4功能测试30
4.1调试分析30
4.2实例测试31
4.3用户手则31
结论33
致33
参考文献34
1绪论
1.1课题背景及选题意义
近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要容。
社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。
现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。
大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。
为此,不少家庭就有中长期财务预算,有基本建设规划。
总的说来,家庭财务必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。
因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。
1.2课题简介
家庭财务管理系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的容对于家庭的管理者来说是至关重要的,所以家庭财务管理系统应该能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大的方便家庭的管理者的合理理财。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。
这些优点能够极提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件。
1.3本课题要达到的设计目标
家庭财务管理系统的用户使用本系统进行管理,能够感到方便,系统操作简单,功能基本符合其管理要求,方便的对日常收入、日常支出、现金的借入及借出进行管理,了解家庭当下的财力状况等。
同时本系统还要求查找方便、可靠性高、存储量大、性好、寿命长、成本低等。
这些优点能够极大的提高管理操作的效率,节省了很大一部分时间,可以让用户做更多别的有意义的事情。
1.4本论文任务概述
这个毕业设计的最终目标是设计、实现一个功能完善的家庭财务管理系统。
这个系统是用C#语言开发。
我负责整个系统的架构设计、编码、测试等。
这篇论文我主要先对课题做简要的介绍,然后介绍了开发本系统所用到的新技术,接着对整个系统进行系统需求分析设计、系统设计与实现、功能测试。
1.5本论文章节安排
第一章:
绪论,第二章:
系统需求分析,第三章:
系统设计与实现,第四章:
功能测试。
最后对本论文进行小结,主要描述了在做本系统的过程中遇到的问题及解决方法以及在本系统中我学到了一些知识,以及对给与我帮助的人表示致。
2系统需求分析
2.1系统功能模块设计
家庭财务管理系统由登录管理、基本数据管理、出入账管理、理财管理、借贷管理和财务详情等模块组成。
具体如下:
1登录管理模块设计
(1)验证用户登陆:
验证即将登陆系统用户的用户名和密码正确性。
(2)密码修改:
实现用户密码的修改。
(3)重新登录:
更换用户重新登录。
(4)退出:
注销退出当前用户登录。
2基本数据管理模块设计
(1)家庭成员管理:
实现家庭成员的添加、删除、修改。
(2)收支项目管理:
实现收支项目的添加、删除、修改。
3出入账管理设计
(1)入账:
实现日常收入的添加、删除、修改。
(2)开销:
实现日常支出的添加、删除、修改。
4理财管理模块设计
(1)活期账户:
对银行活期账户进行管理,实现添加、删除、修改的功能。
(2)定期账户:
对银行定期账户进行管理,实现添加、删除、修改的功能。
5借贷管理模块设计
(1)借出款:
记录家庭成员各项借出款情况。
(2)借入款:
记录家庭成员各项借入款情况。
6财务详情模块设计
(1)明细查询:
按类别查询收支明细。
(2)财务报告:
生成财务分析报告。
家庭财务管理系统的系统功能结构图如图2-1所示:
图2-1系统功能结构图
2.2建立E-R图
以下是各个实体的E-R图
图2-2家庭成员信息实体E-R图
图2-3收入项目信息实体E-R图
图2-4支出项目信息实体E-R图
图2-5收入信息实体E-R图
图2-6支出信息实体E-R图
图2-7借入款信息实体E-R图
图2-8借出款信息实体E-R图
图2-9活期账户信息实体E-R图
图2-10活期存取信息实体E-R图
图2-11定期账户信息实体E-R图
综合以上E-R图模型,得出如图2-12所示的整个系统E-R关系图:
图2-12整个系统E-R关系图
2.3数据流图
1数据流第一层图
图2-13收支管理模块
本流程图解释了用户对收支信息数据库的操作过程,包括用户添加收支信息到数据库;从收支信息数据库中调出收支资料进行修改或删除;对收支信息数据进行查询操作。
图2-14日常操作
此流程图解释了用户的日常操作过程,包括支出信息和收入信息的过程,在此过程中都要对财务信息数据库进行操作,并要求系统对此信息做好记录。
2数据流第二层图
继续细化,得到各个模块的数据流第二层图。
下图表示的是收支管理模块的几个子模块的数据流第二层图。
只是数据流的组成有所差异(名字、项目、数值),在此不再赘述。
所有模块的数据流第二层图中包括了详细的数据流组成要素以及具体流向等,具有很好的自明性,在此不再进行解释和说明。
图2-15第二次数据流图
3系统总数据流图
本系统数据流图概括如下,整个系统包括了登陆管理、基本数据管理、出入账管理、理财管理、借贷管理和财务详情共六个加工部分,每个部分包含了各个业务部门以及与之相关的外部项、数据库之间的业务数据来源和去处。
图2-16系统总数据流图
2.4系统业务流程图
在大多数家庭里,收入和支出的流程大体是这样的,具体收入到支出,收入又去银行储蓄,银行储蓄又分为定期储蓄和活期储蓄,收入还可以再借出,但是相对于借款一般就不会进行储蓄和外借了。
所以,流程图可以为:
图2-17系统业务流程图
3系统设计与实现
3.1开发环境
硬件配置:
机器:
戴尔
CPU:
Core2T55501.8GHz
存:
DDR22G
硬盘:
160G
操作系统:
MicrosoftWindowsXP
开发工具:
MicrosoftVisualStudio2005数据库:
Access2003
开发语言:
C#
3.2数据库设计
本系统采用Access数据库。
针对家庭用户,管理日常收支Access数据库完全可以满足其需求,使得家庭成员操作更加便捷。
表3-1家庭成员信息表(family)的数据结构
表3-2收入项目信息表(inItem)的数据结构
表3-3支出项目信息表(OutItem)的数据结构
表3-4收入信息表(inInfo)的数据结构
表3-5支出信息表(outInfo)的数据结构
表3-6活期账户信息表(liveAccount)的数据结构
表3-7活期存取信息表(liveInfo)的数据结构
表3-8定期账户信息表(fixAccount)的数据结构
表3-9借出信息表(lend)的数据结构
表3-10借入信息表(borrow)的数据结构
3.3系统结构设计
1将全局E-R转换成逻辑结构
家庭成员表(role(主键),Name,uName,PWD,birthday)
收入项目表(inItem(主键),inID)
支出项目表(outItem(主键),outID)
收入信息表(inInfoID(主键),inDate,inType,inMoney,inItem,infrom,role,inRemark)
支出信息表(outInfoID(主键),outdate,outType,outMoney,outItem,outTo,role,outRemark)
活期账户表(liveID(主键),liveName,liveAddress,liveDate,liveMoney,role)
活期存款表(infoID(主键),liveID,info,infoMoney,infoDate,leave,role)
定期账户表(fixID(主键),fixName,fixAddress,fixDate,fixMoney,role,limit,take)
借出款信息表(lendID(主键),toName,role,lendDate,lendMoney,lendReason,lend)
借入款信息表(borrowID(),fromName,role,borrowDate,borrowMoney,borrowReason,borrow)
2使用C/S模式
C/S模式的优点
1.由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
2.操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
3.C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。
本系统的使用方向是面向家庭,直接是客户端操作,因此使用C/S模式更加便捷,也减少了系统的冗余。
3.4系统实现
1数据库连接
数据库文件放置的目录是d:
\我的文档\桌面\家财务管理系统\FamilyWealthMS\FamilyWealthMS\database\FamilyWealthMS.mdb。
在程序中专门设计了连接字符串模块database\dbConnection.cs。
代码如下所示。
publicstaticstringconnection
{
get{return"DataSource=d:
\\我的文档\\桌面\\家庭财务管理系统\\FamilyWealthMS\\FamilyWealthMS\\database\\FamilyWealthMS.mdb;JetOLEDB:
EngineType=5;Provider=Microsoft.Jet.OLEDB.4.0;";}
2登录界面
运行程序,出现登录界面,如图3-1所示,选择用户名,输入正确用户密码,即可登录到系统主界面。
图3-1登录界面
确定功能:
其算法如下:
1.键盘输入用户名和密码,点击“确定”;
2.连接数据库,创建cmd命令,执行sql语句,搜索该用户;
3.读取数据库family表中的记录,若无此用户则显示“无此用户,请重试”,并关闭数据源,返回初始状态;
4.若密码输入错误,则显示“密码错误,请重试”并关闭数据源,返回初始状态;
5.若用户名和密码输入正确,窗体系统菜单将通过for循环显示主菜单中的6个管理模式,关闭数据源,登录界面关闭,显示为主菜单。
关键代码如下:
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("无此用户,请重试!
","提示");
dr.Close();
cmd.Dispose();
return;
}
else
{
if(!
dr.GetString
(1).Equals(this.password.Text.ToString()))
{
MessageBox.Show("\n密码错误,请重试!
","提示");
dr.Close();
cmd.Dispose();
return;
}
MenuStripmainmenu=((MainForm)(this.MdiParent)).getMainMenu();
for(inti=0;i<6;i++)
{
mainmenu.Items[i].Visible=true;
}
StatusStripstatusBar=((MainForm)(this.MdiParent)).getStatusBar();
statusBar.Items[0].Text="当前登录用户";
statusBar.Items[1].Text=boName.Text.Trim();
statusBar.Items[2].Text=DateTime.Now.ToString();
statusBar.Items[3].Text="欢迎使用家庭财务管理系统";
dr.Close();
cmd.Dispose();
this.Close();
}
}
3系统主界面
用户登录成功后所显示界面,分为以下六种功能:
【登录管理】、【基本数据管理】、【出入账管理】、【理财管理】、【借贷管理】以及【财务详情】,如图3-2所示。
图3-2系统主界面
系统管理功能:
在系统主界面中添加mainMenu1控件,在其属性Items项中添如6个menuItem,将menuItem1设为系统管理。
具体属性如图3-3所示。
图3-3系统管理属性
4登录管理模块
在主界面中选择【登录管理】|【修改密码】命令菜单,即可进入修改密码界面,如图3-4所示。
图3-4修改密码
确定功能:
单击【确定】按钮,如果密码正确并且新密码与确认密码相同,则修改成功,否则修改失败。
其算法如下:
1.键盘输入密码,新密码以及确认密码,点击“确定”;
2.如有未填写的,则提示“请输入完整信息”;
3.连接数据库,创建cmd命令,执行sql语句,搜索该用户所有信息;
4.若两次密码不相同,则警告“两次密码输入不一致!
”并释放所占资源;
5.若用户名和两次密码输入正确,执行sql更新语句更新family表中的密码,返回所受影响的行数,提示“密码锁修改成功”,并关闭当前窗体。
6.若原密码输入错误,则提示“原密码错误”,并释放资源对象cmd。
关键代码如下:
if(textName.Text.Trim()==""||textPWD.Text.Trim()==""||textPWDNew.Text.Trim()==""||textPWDNew2.Text.Trim()=="")
MessageBox.Show("请填写完整信息!
","提示");
else
{
if(oleConnection1==null)
oleConnection1=MainForm.getConnection();
OleDbCommandcmd=oleConnection1.CreateCommand();
stringsql="select*fromfamilywhereuName='"+textName.Text.Trim()+"'andPWD='"+textPWD.Text.Trim()+"'";
cmd.CommandText=sql;
if(null!
=cmd.ExecuteScalar())
{
if(textPWDNew.Text.Trim()!
=textPWDNew2.Text.Trim())
MessageBox.Show("两次密码输入不一致!
","警告");
else
{
sql="updatefamilysetPWD='"+textPWDNew.Text.Trim()+"'whereuName='"+textName.Text.Trim()+"'";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
MessageBox.Show("密码修改成功!
","提示");
this.Close();
}
}
else
MessageBox.Show("原密码错误!
","提示");
cmd.Dispose();
}
5基本数据管理模块
在主界面中选择【基本数据管理】|【家庭成员管理】命令菜单,即可进入家庭成员管理界面,如图3-5所示。
用户可以在这里添加、修改和删除家庭成员。
输入需要添加的容,其中带*号的容为必填项,单击【确定】按钮则添加成功;选择一条数据信息后,单击【修改】按钮,同时【添加】、【删除】和【退出】3个按钮变为不可见状态,然后输入要修改的容,再单击【修改】按钮,就修改成功。
图3-5家庭成员管理界面
记录显示功能:
stringstrSql;
DataSetds;
stringdataName="dataName";
privatevoidFamily_Load(objectsender,EventArgse)
{
strSql="selectNameas,roleas称呼,birthdayas生日,uNameas用户名,PWDas密码fromfamily";
ds=MainForm.FillDataGrid(strSql,dataName,dataGrid1);
dataGrid1.CaptionText="共有"+ds.Tables[dataName].Rows.Count+"条记录";
this.btModify2.Visible=false;
this.btCancel.Visible=false;
}
添加功能:
其算法如下:
1.键盘输入,称呼
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭 财务管理 系统