《毕业设计(论文)家庭财务管理系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)家庭财务管理系统设计与实现.doc(42页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)中文摘要(题目):家庭财务管理系统设计与实现摘要 :全球经济的蓬勃发展带来了金融理财领域的巨大变革和创新,尤其对现代家庭与个人传统的理财观念有着较大的革新。改革开放以来,我国社会经济的发展和居民收入水平得到了很大的提高,家庭财务管理活动已成为居民生活的重要内容。因此,人们迫切需要一个能充分利用计算机优势,快捷、方便、高效、易操作的管理系统来管理家庭财务的收支。按照家庭成员对自身财产的管理要求,根据相关的管理经验,以记录信息、提示信息,提供良好的操作平台为根本目的,并将收入管理、支出管理、借贷管理、银行账户管理等方面有机的组成一个整体。本论文主要介绍了家庭财务管理系统的开发过程和
2、所涉及到的问题及解决方法。本家庭财务管理系统采用C#语言在Microsoft Visual Studio 2005平台下开发而成,整个系统是一个单机的系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询。最后经过测试,系统能正常运行,功能完善,性能较高。总得来说这个系统的开发是比较成功的。关键词:家庭财务管理系统 C# Microsoft Visual Studio 2005毕业设计(论文)外文摘要Title : Family Financial Management System Design and ImplementationAbstract: Booming global eco
3、nomy has brought great changes in the field of financial planning and innovation, especially in traditional modern family and personal financial management concepts with greater innovation. Since reform and opening, Chinas social economic development and peoples income level has been greatly improve
4、d, family financial management activities have become an important part of living. Therefore, there is an urgent need for a computer to take full advantage of the use, fast, convenient, efficient, easy management system to manage the family finances and expenditure Family members own property in acc
5、ordance with regulatory requirements, in accordance with relevant management experience, to record information, tips, provide a good platform for the fundamental purpose, and revenue management, expenditure management, loan management, bank account management, organic Form a whole. This paper introd
6、uces a family financial management system development process and the issues involved and their solutions. The family financial management system using C # language in Microsoft Visual Studio 2005 development platform is made, the entire system is a stand-alone system, the operator can record the ho
7、usehold income, expenditure, etc., can be queried in various ways. Finally, after testing, the system will operate, fully functional, high performance. Generally speaking the development of this system is more successful.keywords: Family Financial Management System C # Microsoft Visual Studio 2005目
8、录1 绪论11.1课题背景及选题意义11.2 课题简介11.3 本课题要达到的设计目标11.4 本论文任务概述21.5 本论文章节安排22 系统需求分析32.1可行性分析32.2系统功能需求分析32.3系统设计思想43 系统概要设计53.1系统功能模块设计53.2建立E-R图63.3将全局E-R转换成逻辑结构93.4将关系模式形成关系表104 系统详细设计134.1数据流图134.2系统业务流程图154.3 数据库连接164.4 登录界面164.5 系统主界面184.6 系统管理模块设计194.7基础数据管理模块设计204.8收支管理模块设计244.9 储蓄管理模块设计264.10 借还钱管理
9、模块设计294.11 理财分析模块设计315 综合测试365.1 调试分析365.2测试方法365.3实例测试37结论38致谢39参考文献391 绪论1.1课题背景及选题意义近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容。社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。为此,不少家庭就有中长期财务预算,有基本建设
10、规划。总的说来,家庭财务必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。1.2 课题简介家庭财务管理系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭财务管理系统应该能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大的方便家庭的管理者的合理理财。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对家庭财务进行
11、管理,具有手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件。1.3 本课题要达到的设计目标家庭财务管理系统的用户使用本系统进行管理,能够感到方便,系统操作简单,功能基本符合其管理要求,方便的对日常收入、日常支出、现金的借入及借出进行管理,了解家庭当下的财力状况等。同时本系统还要求查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高管理操作的效率,节省了很大一部分时间,可以让用户做更多别的有意义的事情。1.4 本论文
12、任务概述这个毕业设计的最终目标是设计、实现一个功能完善的家庭财务管理系统。这个系统是用C#语言开发。我负责整个系统的架构设计、编码、测试等。这篇论文我主要先对课题做简要的介绍,然后介绍了开发本系统所用到的新技术,接着对整个系统进行系统需求分析设计、系统概要设计、系统详细设计、综合测试,最后演示完整的系统。1.5 本论文章节安排第一章:绪论,第二章:系统需求分析,第三章:系统概要设计,第四章:系统详细设计,第五章:综合测试。最后对本论文进行小结,主要描述了在做本系统的过程中遇到的问题及解决方法以及在本系统中我学到了一些知识,以及对给与我帮助的人表示致谢。2 系统需求分析2.1可行性分析1技术可行
13、性硬件配置:l机器:戴尔lCPU: Core 2 T5550 1.8GHzl内存:DDR2 2Gl硬盘:160G操作系统:Microsoft Windows XP 开发工具:Microsoft Visual Studio 2005 数据库:Access 2003开发语言:C#2操作可行性本系统操作简单、方便,是图形化的可视界面。综上所述,本课题是完全可行的,能够开发出一个功能齐全、操作简单的家庭财务管理系统。2.2系统功能需求分析收支管理是一个家庭和个人日常生活中不可或缺的一部分,也是家庭财务管理系统重要的组成部分。它的内容对于家庭财务管理者来说至关重要,所以家庭理财管理系统应该能够为用户提供
14、完整、正确、灵活的理财信息和快捷的分析手段。但一直以来人们使用传统人工方式的文件、纸质记账管理模式,这种管理模式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这给查找、更新和维护带来了很多困难。鉴于当前计算机技术在日常管理中的应用,结合家庭财务管理的功能需求,开发一个小型的管理系统来对家庭财务进行行之有效的管理,本系统具备收支管理、借入款管理、查询、修改、删除等功能,符合家庭用户对操作简单、界面友好、灵活、实用和安全的要求。2.3系统设计思想家庭财务管理系统是典型的信息系统,其设计主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。对于前者要求建立安全性
15、好的数据库,而对于后者则要求建立程序功能完备,易使用等特点。在对当前社会家庭财务情况进行了详细分析的基础上,家庭财务管理系统应具备浏览、查询、添加、删除、修改、报表等功能。3 系统概要设计3.1系统功能模块设计家庭财务管理系统由系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理和理财分析等模块组成。具体如下:1系统管理模块(1)验证用户登陆:验证即将登陆系统用户的用户名和密码正确性。(2)密码修改:实现用户密码的修改。(3)重新登录:更换用户重新登录。(4)退出:注销退出当前用户登录。2基础数据管理模块(1)家庭成员管理:实现家庭成员的添加、删除、修改。(2)收支项目管理:实现收支
16、项目的添加、删除、修改。3日常收支管理(1)日常收入:实现日常收入的添加、删除、修改。(2)日常支出:实现日常支出的添加、删除、修改。4银行储蓄管理模块(1)活期账户:对银行活期账户进行管理,实现添加、删除、修改的功能。(2)定期账户:对银行定期账户进行管理,实现添加、删除、修改的功能。5借还钱管理模块(1)借出款:记录家庭成员各项借出款情况。(2)借入款:记录家庭成员各项借入款情况。6理财分析模块(1)查询明细:按类别查询收支明细。(2)理财报告:生成理财分析报告。家庭财务管理系统的系统功能结构图如图3- 1 所示:Error! Reference source not found.系统功能
17、结构图3.2建立E-R图家庭成员信息实体称呼姓名用户名密码生日图3- 2家庭成员信息实体E-R图项目编号收入项目收入项目信息实体图3- 3收入项目信息实体E-R图项目编号支出项目支出项目信息实体图3- 4 支出项目信息实体E-R图收入信息实体收入日期备注收入方式收入人员收入金额项目编号来源收入项目图3- 5 收入信息实体E-R图支出信息实体支出日期备注支出方式支出人员支出金额项目编号去处支出项目图3- 6 支出信息实体E-R图借入款信息实体借入日期借入金额借入原因是否已还借出人借入编号借入人图3- 7 借入款信息实体E-R图借出款信息实体借出日期借出金额借出原因是否已还借出人借出编号得款人图3
18、- 8 借出款信息实体E-R图活期账户信息实体银行名称开户日期银行地址开户金额银行账号开户人图3- 9 活期账户信息实体E-R图活期存款信息实体银行账号存取数目存取存取日期存取编号号取款人剩余金额图3- 10 活期存取信息实体E-R图定期账户信息实体银行名称开户日期银行地址开户金额银行账号开户人是否已取出期限图3- 11 定期账户信息实体E-R图综合以上E-R图模型,得出如图3- 12所示的整个系统E-R关系图:收入项目信息实体支出项目信息实体收入信息实体支出信息实体用户信息实体借入款信息实体借出款信息实体查询查询管理管理管理管理管理管理活期账户信息实体管理活期存取款信息实体定期账户信息实体图
19、Error! Reference source not found. 整个系统E-R关系图3.3将全局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)活期账户表(liveI
20、D(主键),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,bo
21、rrowReason,borrow)3.4将关系模式形成关系表表3- 1 家庭成员信息表(family)的数据结构表3- 2 收入项目信息表(inItem)的数据结构表3- 3 支出项目信息表(inItem)的数据结构表3- 4 收入信息表(inInfo)的数据结构表3- 5 支出信息表(outInfo)的数据结构表3- 6 活期账户信息表(liveAccount)的数据结构表3- 7 活期存取信息表(liveInfo)的数据结构表3- 8 定期账户信息表(fixAccount)的数据结构表3- 9 借出信息表(lend)的数据结构表3- 10 借入信息表(borrow)的数据结构4 系统详细
22、设计4.1数据流图1数据流第一层图用户添加收入信息添加支出信息删除信息查询信息收支信息数据库图4- 1收支管理模块 本流程图解释了用户对收支信息数据库的操作过程,包括用户添加收支信息到数据库;从收支信息数据库中调出收支资料进行修改或删除;对收支信息数据进行查询操作。用户收入信息支出信息收入表支出表图4- 2 日常操作 此流程图解释了用户的日常操作过程,包括支出信息和收入信息的过程,在此过程中都要对财务信息数据库进行操作,并要求系统对此信息做好记录。2 数据流第二层图继续细化,得到各个模块的数据流第二层图。下图表示的是收支管理模块的几个子模块的数据流第二层图。只是数据流的组成有所差异(名字、项目
23、、数值),在此不再赘述。所有模块的数据流第二层图中包括了详细的数据流组成要素以及具体流向等,具有很好的自明性,在此不再进行解释和说明。收入信息表添加收入信息修改收入信息家庭成员信息表添加成员信息修改成员信息对收入信息表进行操作 第二层图对成员信息表进行操作 第二层图图4- 3 第二次数据流图3系统总数据流图本系统数据流图概括如下,整个系统包括了系统管理、基础数据管理、日常收支管理、账户与储蓄管理、查询和理财报告分析共六个加工部分,每个部分包含了各个业务部门以及与之相关的外部项、数据库之间的业务数据来源和去处。用户输入密码密码验证FY1.系统管理模块 5.借还钱管理模块2.基础数据管理模块 6.
24、理财分析模块3.日常收支管理模块4.银行储蓄管理模块选择相应得功能完成操作退出系统图4- 4 系统总数据流图4.2系统业务流程图 在大多数家庭里,收入和支出的流程大体是这样的,具体收入到支出,收入又去银行储蓄,银行储蓄又分为定期储蓄和活期储蓄,收入还可以再借出,但是相对于借款一般就不会进行储蓄和外借了。所以,流程图可以为:图4- 5 系统业务流程图4.3 数据库连接本系统采用Access数据库。数据库文件放置的目录是d:我的文档桌面家财务管理系统FamilyWealthMSFamilyWealthMSdatabase FamilyWealthMS.mdb。在程序中专门设计了连接字符串模块dat
25、abasedbConnection.cs。代码如下所示。public static string connection get return Data Source=d:我的文档桌面家庭财务管理系统FamilyWealthMSFamilyWealthMSdatabaseFamilyWealthMS.mdb;Jet OLEDB:Engine Type=5;Provider=Microsoft.Jet.OLEDB.4.0; 4.4 登录界面运行程序,出现登录界面,如图4- 6所示,选择用户名,输入正确用户密码,即可登录到系统主界面。图4- 6 登录界面确定功能:private void btSur
26、e_Click(object sender, EventArgs e) try string sql = select uName,PWD from family where uName= + boName.Text + ; if (oleConnection1 = null) oleConnection1 = MainForm.getConnection(); OleDbCommand cmd = oleConnection1.CreateCommand(); cmd.CommandText = sql; OleDbDataReader dr = cmd.ExecuteReader(); i
27、f (!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; MenuStrip mainmenu = (MainForm)(this.MdiParent).getMainMenu(); for (int i = 0; i 6; i+)
28、mainmenu.Itemsi.Visible = true; StatusStrip statusBar = (MainForm)(this.MdiParent).getStatusBar(); statusBar.Items0.Text = 当前登录用户; statusBar.Items1.Text= boName.Text.Trim(); statusBar.Items2.Text = DateTime.Now.ToString(); statusBar.Items3.Text = 欢迎使用家庭财务管理系统; dr.Close(); cmd.Dispose(); this.Close()
29、; catch (Exception ee) MessageBox.Show(n + ee.ToString(); 4.5 系统主界面用户登录成功后所显示界面,分为以下六种功能:【系统管理】、【基础数据管理】、【日常收支管理】、【银行储蓄管理】、【借还钱管理】以及【理财分析】,如图4- 7所示。图4- 7 系统主界面系统管理功能:在系统主界面中添加mainMenu1控件,在其属性Items项中添如6个menuItem,将menuItem1设为系统管理。具体属性如图4- 8所示。图4- 8 系统管理属性4.6 系统管理模块设计在主界面中选择【系统管理】|【修改密码】命令菜单,即可进入修改密码界面
30、,如图4- 9所示。图4- 9 修改密码确定功能:单击【确定】按钮,如果密码正确并且新密码与确认密码相同,则修改成功,否则修改失败。代码如下:private void btSave_Click(object sender, EventArgs e) if (textName.Text.Trim() = | textPWD.Text.Trim() = | textPWDNew.Text.Trim() = | textPWDNew2.Text.Trim() = ) MessageBox.Show(请填写完整信息!, 提示); else if (oleConnection1 = null) oleC
31、onnection1 = MainForm.getConnection(); OleDbCommand cmd = oleConnection1.CreateCommand(); string sql = select * from family where uName= + textName.Text.Trim() + and PWD= + textPWD.Text.Trim() + ; cmd.CommandText = sql; if (null != cmd.ExecuteScalar() if (textPWDNew.Text.Trim() != textPWDNew2.Text.T
32、rim() MessageBox.Show(两次密码输入不一致!, 警告); else sql = update family set PWD= + textPWDNew.Text.Trim() + where uName= + textName.Text.Trim() + ; cmd.CommandText = sql; cmd.ExecuteNonQuery(); MessageBox.Show(密码修改成功!, 提示); this.Close(); else MessageBox.Show(原密码错误!, 提示); cmd.Dispose(); 4.7基础数据管理模块设计在主界面中选择【
33、基础数据管理设计】|【家庭成员管理】命令菜单,即可进入家庭成员管理界面,如图4- 10所示。用户可以在这里添加、修改和删除家庭成员。输入需要添加的内容,其中带*号的内容为必填项,单击【确定】按钮则添加成功;选择一条数据信息后,单击【修改】按钮,同时【添加】、【删除】和【退出】3个按钮变为不可见状态,然后输入要修改的内容,再单击【修改】按钮,就修改成功。图4- 10家庭成员管理界面记录显示功能: string strSql; DataSet ds; string dataName = dataName; private void Family_Load(object sender, EventA
34、rgs e) strSql = select Name as 姓名,role as 称呼,birthday as 生日,uName as 用户名,PWD as 密码 from family; ds = MainForm.FillDataGrid(strSql, dataName, dataGrid1); dataGrid1.CaptionText = 共有 + ds.TablesdataName.Rows.Count + 条记录; this.btModify2.Visible = false; this.btCancel.Visible = false; 添加功能:private void b
35、tAdd_Click(object sender, EventArgs e) if (textName.Text.Trim() = | textUser.Text.Trim() = | textPWD.Text.Trim() = | textRole.Text.Trim() = ) MessageBox.Show(请填写完整信息, 提示); else if (oleConnection1 = null) oleConnection1 = MainForm.getConnection(); string sql = insert into family values ( + textName.T
36、ext.Trim() + , + textUser.Text.Trim() + , + textPWD.Text.Trim() + , + + textRole.Text.Trim() + , + dateTimePicker1.Text.Trim() + ); OleDbCommand cmd = new OleDbCommand(, oleConnection1); cmd.CommandText = sql; try cmd.ExecuteNonQuery(); MessageBox.Show(添加成功, 提示); MainForm.FillDataGrid(strSql, dataNa
37、me, dataGrid1); catch (System.Exception E) Console.WriteLine(E.ToString(); finally cmd.Dispose(); 选择【基础数据管理设计】|【收支项目管理】命令菜单,即可进入收支项目管理界面,此界面分为两个部分:收入项目管理和支出项目管理,分别如图4- 11所示和图4- 12所示。用户可以在这里添加、修改和删除收支项目。输入需要添加的内容,单击【确定】按钮则添加成功;选择一条数据信息后,单击【修改】按钮,同时【添加】、【删除】和【退出】3个按钮变为不可见状态,然后输入要修改的内容,单击【修改】按钮,就修改成功。图
38、4- 11 收入项目界面修改功能:private void btModify2_Click(object sender, EventArgs e) if (textIn.Text.Trim() = ) MessageBox.Show(请填写收入项目, 提示); else if (oleConnection1 = null) oleConnection1 = MainForm.getConnection(); string sql = update inItem set inItem= + textIn.Text.Trim() + where inID= + ds1.TablesdataName1.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim() + ; OleDbCommand cmd = oleConnection1.CreateCommand(); cmd.CommandText = sql; try cmd.ExecuteNonQuery