《家庭理财管理系统设计与开发1毕业设计.doc》由会员分享,可在线阅读,更多相关《家庭理财管理系统设计与开发1毕业设计.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要为了适应全球经济的蓬勃发展所带来的金融理财领域的巨大变革和创新,尤其是对现代家庭与个人传统的理财观念有着较大的革新。因此,提出了给人们提供一种能充分利用计算机优势,快捷、方便、高效、易操作的管理系统来管理家庭财务的收支。本系统主要实现家庭财务管理的日常,为系统使用者提供一种便捷、安全、迅速的财务管理流程。该系统采用C+语言开发,主要功能包括收入管理、支出管理、用户管理等。利用C+语言在Microsoft Visual Studio 2005平台下开发而成,数据库使用Sql sever 2005,.整个系统是一个单机的系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询。最后经过测试
2、,系统能正常运行,功能完善,性能较高。总得来说这个系统的开发是比较成功的。关键词:家庭财务管理系统 C+ Microsoft Visual Studio 2005 Sql sever 2005The Design And Implementation Of Simple Family Financial Management SystemAbstract: To accommodate the huge change and innovation to flourish in the global economy brought about by the financial planning
3、field , especially for the modern family tradition and personal financial management concepts have a greater innovation. Therefore , it is proposed to provide a full use of the advantages of computers , fast, convenient , efficient, easy to operate management system to manage family finances and exp
4、enditure . The financial management system is mainly for home daily , the system provides users a convenient , safe, rapid financial management processes. The system uses the C + + language development, the main features include revenue management, expense management, user management. The use of C +
5、 + language development in Microsoft Visual Studio 2005 platform from the database using Sql sever 2005,. Entire system is a stand-alone system , the operator can record the family income , expenses , etc., can be queried through a variety of ways . Finally, after testing the system to normal operat
6、ion , fully functional, high performance. Generally speaking the development of this system is more successful .Keywords: family financial management system C + + Microsoft Visual Studio 2005 Sql sever 2005目 录1前 言11.1 系统开发背景11.2 国内外研究现状及发展趋势11.2.1 国外研究现状及发展趋势11.2.2 国内研究现状及发展趋势21.3 研究目的及意义22.系统需求分析32
7、.1 系统功能图32.2 系统主要功能需求以及用例图42.2.1 系统登录42.2.2财务管理42.2.3用户管理52.2.4常用工具52.2.5帮助63.系统设计63.1 数据库设计63.1.1 概念结构设计63.1.2 主要表结构94.系统的实现114.1开发平台及开发工具114.2 系统主要功能的实现114.2.1 用户登录模块114.2.3用户管理模块15参考文献19致 谢201前 言1.1 系统开发背景近年来,计算机技术飞速发展几乎超出了人们的想象,硬件的更新换代速度更是以级数进行。计算机在处理对象、处理方法上都发生了很大的变化。作为计算机科学的重要分支数据库技术,也被越来越多的应用
8、领域采用来存储和处理他们的信息资源。计算机已经不再仅仅是科学研究的工具,它越来越多地影响到了我们生活的诸多方面,更多的应用软件出现在了我们的身边,给人们生活的方方面面都带来了极大的便利。近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常账目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记账的方法,这种管理方法存在很多缺陷,如:效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难。家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支
9、情况查询和录入,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。随着计算机技术的飞速发展,计算机以及计算机控制的自动处理技术已融入人类社会的各个领域并发挥着越来越重要的作用。对于当今的科学信息是一次重大的飞越,为人们的生活、工作、学习带来潜移默化的影响。今天我们使用计算机对家庭财务信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率。面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。1.2 国内外研究现状及发
10、展趋势1.2.1 国外研究现状及发展趋势“目前国外的商品化软件都比较注重内部控制功能。财务软件设计得好,有利于互相牵制、互相监督,就有利于加强管理,堵塞漏洞。许多地方,看似无关紧要,但你对他有了解,就会觉得他富有先进的管理思想。反观我国的财务软件的发展,大多是以财务核算为中心向外围扩展。财务软件的设计最初基本上是从模拟手工开始的,很难谈得上有先进的思想,有的甚至是手工的翻版,以后版本的改进与提高,也很难完全消除这种模拟手工处理的痕迹,只是达到了满足日常核算的要求而已,很难体现先进的管理思想。”1“其次国外的许多软件都能适应现代审计的需要,在这方面对我们有借鉴意义。在会计电算化程度较高的国家,例
11、如美国,软件是否具有充分的保留和审计线索的功能,已成为对财务软件进行评价的最重要标志之一。显而易见,一个理想的财务软件必须具有充分的保留和提供审计线索的功能。例如,国外许多软件提供双向查询的功能,即按原始凭证一一日记账一一总账一一报表的顺序进行双向查询。又如,许多软件对数据的变动处理均留有痕迹:在初始录入凭证是有一条记录记载,在改动、删除时,并不是在原记录上变动,而是另有记录反映。这样,你在查询时,同一笔业务有哪些改动,在什么时间改动的,谁操作的,在哪项功能中变动的,均可查出。每一笔处理都留有痕迹,这就为审计工作提供了线索和方便。”1“国外的企业管理软件,特别是MRP-和ERP软件,一般是以生
12、产为中心,它是以物料需求计划(MRP)为基础,发展到制造资源规划(ERP)的这样一个发展阶段。因而是以生产制造为中心,财务与成本是这个大系统的一个子系统。财务子系统虽然不像我国财务管理软件那样,占有整个系统很大的比例,但它与其他子系统却是高度集成的,真正实现了物流、资金流和信息流的统一。国外的财务软件都作为企业管理系统的一个有机组成部分,软件都是对整个企业而设计的。所用数据都是从生产等业务开始,财务部分与生产、采购、销售、库存等环节紧密相连,一环扣一环,真正做到无缝连接。有的软件不仅做到了无缝连接,而且能够单独运行,组合自如。比如美国Fourth Shift公司的MRP-软件中的财务部分,销售
13、是从订立销售合同开始的,在实际开销售发票和提货出库时,系统都自动进行账务处理,自动生成记账凭证传到财务部分,财务人员可以自动审核、记账,也可以人工干预,但数量等数据必须与销售部门一致。这样就保障了销售与账务处理的一致性。二者同一数据源,不会发生不一致的情况。同时,系统中财务部分与销售部又是相互独立的,可分开运行,从逻辑结构到功能操作都比较清晰。”11.2.2 国内研究现状及发展趋势我国管理软件产业的发展起步于20世纪80年代中期的通用财务软件。20世纪90年代是我国财务软件开发和应用的黄金年代,以用友、金蝶、浪潮国强、安易及新中大为代表,国产财务软件产业得到了快速发展。到90年代末,包括SAP
14、、Oracle等国际知名ERP软件厂商开始将其产品导入中国市场,并引发国内软件企业的产业转型与管理软件市场热点向ERP产品的集中。2001年,CRM转而成为市场追逐的热点,Oracle、SAP等国际软件巨头纷纷把CRM作为市场的重点。1.3 研究目的及意义近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常账目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记账的方法,这种管理方法存在很多缺陷,如:效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困
15、难。家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。2.系统需求分析2.1 系统功能图本系统主要实现家庭财务管理的日常,为系统使用者提供一种便捷、安全、迅速的财务管理流程。该系统采用C+语言开发,主要功能包括收入管理、支出管理、用户管理等。系统总功能图如图2.1:家庭财务管理系统用户登录系统管理财务管理收入管理添加收入删除收入修改收入支出管理添加支出删除支出修改支出支出查询投资明细收入查询用户管理添加用户删除用户修改密码常用工具计算器记事本帮助
16、关于使用帮助图2.1 系统功能图2.2 系统主要功能需求以及用例图2.2.1 系统登录登录系统时,用户输入用户名和密码,系统会访问后台数据库,并在用户表中进行查找,若找到相同的用户名和密码,则允许登录,若没有找到,则拒绝登录,并提示用户:用户名或密码错误,请重新输入。图2.2系统登录用例图2.2.2财务管理该功能是系统的核心功能。用户登录系统后,可以在对家庭的日常财务状况进行管理,该功能又分为以下几个子功能:1)收入管理:用户通过此功能,对家庭日常的收入进行管理,可以对添加收入记录、删除收入记录、修改收入记录。2)支出管理:用户通过此功能,对家庭日常的支出进行管理,可以对添加支出记录、删除支出
17、记录、修改支出记录。3)收入查询:此功能主要提供指定时间段内的收入查询并提供一个汇总后的收入总数,用户通过此功能可以对某一段时间内的收入情况进行查询。4)支出查询:提供指定时间段内的支出查询。5)投资明细:该功能是对家庭投资收入或亏损的一个明细,方便用户对投资状况的管理。图2.3财务管理用例图 2.2.3用户管理 功能主要为用户提供管理账号的一种方法,用户通过该功能可以对自己的密码进行修改,对自己的账号进行删除,同时还能为别人添加新的用户。通过此功能可以很方便的对用户的数量进行管理。图2.4 用户管理用例图2.2.4常用工具 该功能为用户提供了2种常用工具:计算器 和 记事本,使用户在使用该系
18、统时操作更为便捷。图2.5 常用工具用例图2.2.5帮助 该功能为用户提供使用本系统的帮助和系统开发的相关信息。图2.5 帮助用例图3.系统设计3.1 数据库设计3.1.1 概念结构设计数据库在本系统中占有相当重要的位置,数据库结构设计地好坏将直接对应用系统地效率以及实现地效果产生影响。合理地数据库结构设计可以提高数据地存储效率,保证数据地完整和一致。在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体要求,下面,应该首先把它们抽象为信息世界的结构,才能更好的、更准确的用一个DBMS实现这些要求。 系统整体E-R图如下:图3.1 系统用户管理收入支出管理
19、构成构成投资管理整体E-R图1)用户实体:用户实体拥有用户名和密码2个属性,用户使用系统时需要输入正确的用户名和密码才能进入系统。用户用户名密码 图3.2 用户实体图2)收入实体:收入实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的收入情况。收入收入编号日期金额备注记录人 图3.3 收入实体图3)支出实体:收入实体:支出实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的支出情况。支出支出编号日期金额备注记录人图3.4 收入实体图4)投资实体:该实体主要记录家庭的投资明细,方便使用者对投资的盈亏记录进行管理。支出投资编号起止日期投资金额盈亏金额记录人投资项目
20、投资状态图3.4 投资实体图3.1.2 主要表结构 表3.1 custom表:用户列名字段类型主键/外键是否为空默认值用户名nvarchar(50)主键否密码nvarchar(50)否列名字段类型主键/外键能否为空默认值 表3.2 income表:收入表收入编号int主键否日期Datetime否金额int否备注nvarchar(50)是记录人nvarchar(50)是 表3.3 spend表:支出表列名字段类型主键/外键可否为空默认值支出编号int主键否日期Datetime否金额int否备注nvarchar(50)是记录人nvarchar(50)是表3.4 investment表:投资表英文字
21、段名字段类型主键/外键能否为空默认值投资编号int主键否起止日期nvarchar(50)否投资金额int否投资项目nvarchar(50)否投 资状态nvarchar(50)是盈亏金额int是4.系统的实现4.1开发平台及开发工具1)操作系统:windows XP.2)系统开发环境:visual studio 20053)开发语言:C+4)数据库:Sql sever 2005.5)界面开发:MFC4.2 系统主要功能的实现 该系统主要完成家庭中日常的财务管理工作,通过对数据库中表的操作达到对财务录的增、删、查、改,以简单、方便、直观、快捷的形式对家庭财务进行管理。4.2.1 用户登录模块 运行
22、该系统时,先要进行登录。用户输入用户名和密码后,系统将根据用户的输入在后台数据库中进行查找,若找到匹配的用户名和密码则登录,若没有找到与之匹的用户名或密码,则提示用户“用户名或密码错误,请重新输入”。运行界面下:图4.1 系统登录图确定按钮的部分代码如下:ADOConn m_AdoConn;CString sql;sql.Format(select * from custom where 用户名=+_bstr_t(m_username)+and 密码=+_bstr_t(m_psw)+);_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetR
23、ecordset(sql);if(m_AdoConn.m_pRecordset-adoEOF)if(m_username != ) &(m_psw != )AfxMessageBox(_T(用户名或密码不正确!);4.2.2 财务管理模块用户登录后,点击财务管理菜单项,在下拉菜单中就可以对要进行的操作进行选择,下拉菜单中有收入管理、支出管理、收入查询、支出查询、投资明细5个操作项以供选择,运行界面如下:图4.2 财务管理运行图1)点击收入管理,弹出收入管理界面,在此对家庭财务的收入进行管理,运行界面如下:图4.3 收入管理运行图用户在相应的输入框中输入信息后,(1)点击添加按钮,将会执行添加记
24、录到数据库中,具体实现为:点击添加按钮后,系统将会根据用户的输入做出判断,若没有输入收入编号或金额,则不能进行添加操作,并提示用户“收入编号和金额不能为空”,若输入的收入编号已经存在,则不能执行添加操作,并提示用户“收入编号不能为空,请重新输入”(2)若想要修改记录,则现在相应的输入框中输入修改后的信息,然后用鼠标选中记录,点击修改。(3)若想要删除记录,则先选中记录,点击删除即可。部分代码如下,该段代码主要实现添加收入记录的功能:else if (m_AdoConn.m_pRecordset-adoEOF) CString sTime1=m_datetime.Format(_T(%Y-%m-
25、%d);m_pRecordset = m_AdoConn.GetRecordset(sql); m_pRecordset-AddNew(); m_pRecordset-PutCollect(收入编号,(_bstr_t)m_incomeindex );m_pRecordset-PutCollect(日期,(_bstr_t)sTime1); m_pRecordset-PutCollect(金额,(_bstr_t)m_money); m_pRecordset-PutCollect(备注,(_bstr_t)m_explain); m_pRecordset-PutCollect(记录人,(_bstr_t
26、)m_name); m_pRecordset-Update(); 2) 点击投资明细,弹出投资明细操作界面,运行图如下:图4.4 投资明细运行图3)点击收入查询,弹出收入查询对话框,在对话框中,用户通过选择一个日期段,可以对该段时间内的收入情况进行查询。运行图如下:图4.5 投资明细运行图部分代码如下,该段代码主要实现查询时日期格式的转换:ADOConn m_AdoConn;CString sql;CString sTime1=m_date1.Format(_T(%Y-%m-%d);CString sTime2=m_date2.Format(_T(%Y-%m-%d); sql.Format(s
27、elect * from income where 日期between +_bstr_t(sTime1)+ and +_bstr_t(sTime2)+);_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetRecordset(sql);4.2.3用户管理模块用户通用户管理功能,可以完成添加新用户,删除用户以及修改密码的操作。具体实现如下:1)添加用户:执行该操作时,用户输入要添加的用户名,并输入密码和确认密码,点击添加后,系统先判断用户名或密码是否为空,若有一个为空,则不能完成添加操作,并提示用户“用户名或密码不能为空”,其次判断2次密码输
28、入是否一致,若不一致,不能完成添加操作,并提示用户“密码输入不一致,请重新输入”,最后判断用户名是否存在,若用户户名已经存在,则不能完成操作。图4.6添加用户运行图部分代码如下,该段代码实现添加用户的功能:m_pRecordset=m_AdoConn.GetRecordset(sql1);m_pRecordset-AddNew();m_pRecordset-PutCollect(用户名,_bstr_t(m_username);m_pRecordset-PutCollect(密码,_bstr_t(m_psw);m_pRecordset-Update();2)删除用户:执行该操作时,用户输入要删除
29、的用户名和密码,若用户名和密码正确,则完成删除操作,否则不能完成删除。运行图如下:图4.7删除用户运行图部分代码如下,该段代码实现删除用户的功能:sql.Format(select * from custom where 用户名=+_bstr_t(m_username)+and 密码=+_bstr_t(m_psw)+);m_pRecordset=m_AdoConn.GetRecordset(sql);if (m_AdoConn.m_pRecordset-adoEOF)AfxMessageBox(_T(用户名或密码错误,不能执行删除操作!);else m_pRecordset-Delete(ad
30、AffectCurrent); m_pRecordset-Update(); AfxMessageBox(_T(删除成功!);3)修改密码:执行该操作时,用户输入用户名和旧密码,并输入新密码和确认新密码,系统先在数库中对用户名和旧密码进行查找,若找到匹配记录,则核对2次新密码输入是否一致,若一致,则进行修改操作,若没有在数据库中找到匹配记录或2次新密码输入不一致,则不能完成修改操作,并给用户显示错误信息。运行图如下:图4.7修改密码运行图部分代码如下,该段代码用于实现修改用户密码:if (m_AdoConn.m_pRecordset-adoEOF)AfxMessageBox(_T(用户名或密码
31、错误,不能执行修改操作);elseif (m_newpsw=m_newpsw1)m_pRecordset-PutCollect(密码,(_bstr_t)m_newpsw);m_pRecordset-Update(); 结论在这两个月的毕业设计里,本系统在冯永导师的帮助下和自己的努力,经过系统的学习,设计,组织教学内容,开发,基本完成了基于C+的家庭财务管理系统的设计与实现的各项需要,在这段时间我认真的学习了C+、MFC、SQL 2005等开发技术,在这个过程中不断的提高了自身的学习能力,当然在学习的过程中遇到了很多困难,在廖频导师和同学的帮助下基本得到了解决,基本完成了本系统的系统登录、财务管
32、理、用户管理等各个模块,在操作上尽量做到满足用户使用习惯。当然在系统设计和开发的过程中还有很多没有解决的问题。本系统不足之处主要有界面不美观。在今后的使用中难免遇到这样那样的系统错误,有待于在不断的使用和维护中解决。在系统设计过程中,我体会到了在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出系统数据流图,流程图和结构图。这样在进行详细设计时才可以做到有条不紊一步一步地进行.编制一个系统还是有很多可学习的地方,不仅要掌握好相关知识,而且做事要细心、谨慎,这也是将来工作和学习应该注意的地方。通过这次毕业设计,使我受到了一次专
33、业知识,专业技能分析和解决问题的全面、系统的锻炼,使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在网页设计的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下了良好的基础。参考文献1孙鑫. VC+深入详解M. 北京: 电子工业出版社, 2006.2罗斌,刘三满.Visual C+ 2005数据库开发经典案例M.北京: 中国水利水电出版社,2008.3Bruce Eckel.C+编程思想M.北京: 机械工业出版社,2006.4郑莉,董渊,张瑞丰.C+语言程序设计(第3版)M.北京: 清华大学出版社,2004.5姚领田,高守传.MFC窗口程序设计M.北京: 中国水利水电出
34、版社,2007.6严蔚敏. 数据结构(C语言版)M. 北京: 清华大学出版社, 2007.7解志刚,张宁 .我国财务软件发展趋势的探讨 D.中国论文下载中心,2006.8Stanley B.Lippman.C+ PrimerM.北京: 人民邮电出版社,2006.9候俊杰.深入浅出MFCM.武汉: 华中科技大学出版社,2001.10Herb Sutter. Exceptional C+ StyleM.北京:人民邮电出版社,200611Stanley B.深度探索C+对象模型M.武汉: 华中科技大学出版社,2001.12Stven McConnell.代码大全M.北京: 电子工业出版社,2006.
35、致 谢在论文完成、即将答辩、毕业之际,谨向培养我的学校和那些曾给予我关怀、帮助的所有人表示深深的谢意。首先,我要衷心感谢冯频老师。在我进入课题组学习期间,冯老师为我提供了许多具体指导,使我受益匪浅,本文工作更是在廖老师的精心指导下完成的。在论文的选题、开题直至定稿完成的整个过程中,冯老师都付出了大量的心血和无私的劳动。老师对我的关心、帮助和激励,我将永远铭记在心,老师严谨的治学态度、勤勉作风、谦虚为人值得我们尊敬和学习,在此我再一次向他表达深深的敬意和感激。感谢和我相处的同学。他们对我工作提出了很多建设性的意见,与他们的讨论个我很大启发。随着论文的完成,我即将告别这段求学生活,这段宝贵的经历是我一生都难以忘记的。在我求学的这些年里,我的家人一直是我的坚实支柱。在这里我要特别感谢亲人们多年来对我的关爱、理解和勉励。最后,再一次衷心地感谢所有曾经关心和帮助过我的人们,祝愿老师们在今后的日子里,家庭幸福、工作顺利,预祝河北农业大学再创辉煌。