还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要为了适应全球经济的蓬勃发展所带来的金融理财领域的巨大变革和创新,尤其是对现代家庭与个人传统的理财观念有着较大的革新因此,提出了给人们提供一种能充分利用计算机优势,快捷、方便、高效、易操作的管理系统来管理家庭财务的收支本系统主要实现家庭财务管理的日常,为系统使用者提供一种便捷、安全、迅速的财务管理流程该系统采用C++语言开发,主要功能包括收入管理、支出管理、用户管理等利用C++语言在MicrosoftVisualStudio2005平台下开发而成,数据库使用Sqlsever2005,.整个系统是一个单机的系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询最后经过测试,系统能正常运行,功能完善,性能较高总得来说这个系统的开发是比较成功的关键词家庭财务管理系统C++MicrosoftVisualStudio2005Sqlsever2005TheDesignAndImplementationOfSimpleFamilyFinancialManagementSystemAbstract: Toaccommodatethehugechangeandinnovationtoflourishintheglobaleconomybroughtaboutbythefinancialplanningfieldespeciallyforthemodernfamilytraditionandpersonalfinancialmanagementconceptshaveagreaterinnovation.Thereforeitisproposedtoprovideafulluseoftheadvantagesofcomputersfastconvenientefficienteasytooperatemanagementsystemtomanagefamilyfinancesandexpenditure.Thefinancialmanagementsystemismainlyforhomedailythesystemprovidesusersaconvenientsaferapidfinancialmanagementprocesses.ThesystemusestheC++languagedevelopmentthemainfeaturesincluderevenuemanagementexpensemanagementusermanagement.TheuseofC++languagedevelopmentinMicrosoftVisualStudio2005platformfromthedatabaseusingSqlsever
2005.Entiresystemisastand-alonesystemtheoperatorcanrecordthefamilyincomeexpensesetc.canbequeriedthroughavarietyofways.Finallyaftertestingthesystemtonormaloperationfullyfunctionalhighperformance.Generallyspeakingthedevelopmentofthissystemismoresuccessful.Keywords:familyfinancialmanagementsystemC++MicrosoftVisualStudio2005Sqlsever2005目录TOC\o1-3\h\u1前言
11.1系统开发背景
11.2国内外研究现状及发展趋势
11.
2.1国外研究现状及发展趋势
11.
2.2国内研究现状及发展趋势
21.3研究目的及意义
22.系统需求分析
32.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系统开发背景近年来,计算机技术飞速发展几乎超出了人们的想象,硬件的更新换代速度更是以级数进行计算机在处理对象、处理方法上都发生了很大的变化作为计算机科学的重要分支——数据库技术,也被越来越多的应用领域采用来存储和处理他们的信息资源计算机已经不再仅仅是科学研究的工具,它越来越多地影响到了我们生活的诸多方面,更多的应用软件出现在了我们的身边,给人们生活的方方面面都带来了极大的便利近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常账目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记账的方法,这种管理方法存在很多缺陷,如效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息随着计算机技术的飞速发展计算机以及计算机控制的自动处理技术已融入人类社会的各个领域并发挥着越来越重要的作用对于当今的科学信息是一次重大的飞越为人们的生活、工作、学习带来潜移默化的影响今天我们使用计算机对家庭财务信息进行管理具有手工管理所无法比拟的优点例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高家庭财务管理的效率面对目前的实际状况迫切需要开发一个新系统来适应这一些工作
1.2国内外研究现状及发展趋势
1.
2.1国外研究现状及发展趋势“目前国外的商品化软件都比较注重内部控制功能财务软件设计得好,有利于互相牵制、互相监督,就有利于加强管理,堵塞漏洞许多地方,看似无关紧要,但你对他有了解,就会觉得他富有先进的管理思想反观我国的财务软件的发展,大多是以财务核算为中心向外围扩展财务软件的设计最初基本上是从模拟手工开始的,很难谈得上有先进的思想,有的甚至是手工的翻版,以后版本的改进与提高,也很难完全消除这种模拟手工处理的痕迹,只是达到了满足日常核算的要求而已,很难体现先进的管理思想”
[1]“其次国外的许多软件都能适应现代审计的需要,在这方面对我们有借鉴意义在会计电算化程度较高的国家,例如美国,软件是否具有充分的保留和审计线索的功能,已成为对财务软件进行评价的最重要标志之一显而易见,一个理想的财务软件必须具有充分的保留和提供审计线索的功能例如,国外许多软件提供双向查询的功能,即按原始凭证一一日记账一一总账一一报表的顺序进行双向查询又如,许多软件对数据的变动处理均留有痕迹在初始录入凭证是有一条记录记载,在改动、删除时,并不是在原记录上变动,而是另有记录反映这样,你在查询时,同一笔业务有哪些改动,在什么时间改动的,谁操作的,在哪项功能中变动的,均可查出每一笔处理都留有痕迹,这就为审计工作提供了线索和方便”
[1]“国外的企业管理软件,特别是MRP-Ⅱ和ERP软件,一般是以生产为中心,它是以物料需求计划(MRP)为基础,发展到制造资源规划(ERP)的这样一个发展阶段因而是以生产制造为中心,财务与成本是这个大系统的一个子系统财务子系统虽然不像我国财务管理软件那样,占有整个系统很大的比例,但它与其他子系统却是高度集成的,真正实现了物流、资金流和信息流的统一国外的财务软件都作为企业管理系统的一个有机组成部分,软件都是对整个企业而设计的所用数据都是从生产等业务开始,财务部分与生产、采购、销售、库存等环节紧密相连,一环扣一环,真正做到无缝连接有的软件不仅做到了无缝连接,而且能够单独运行,组合自如比如美国FourthShift公司的MRP-Ⅱ软件中的财务部分,销售是从订立销售合同开始的,在实际开销售发票和提货出库时,系统都自动进行账务处理,自动生成记账凭证传到财务部分,财务人员可以自动审核、记账,也可以人工干预,但数量等数据必须与销售部门一致这样就保障了销售与账务处理的一致性二者同一数据源,不会发生不一致的情况同时,系统中财务部分与销售部又是相互独立的,可分开运行,从逻辑结构到功能操作都比较清晰”
[1]
1.
2.2国内研究现状及发展趋势我国管理软件产业的发展起步于20世纪80年代中期的通用财务软件20世纪90年代是我国财务软件开发和应用的黄金http://www.chinaacc.com/web/lc_hj\t_blank年代,以用友、金蝶、浪潮国强、安易及新中大为代表,国产财务软件产业得到了快速发展到90年代末,包括SAP、Oracle等国际知名ERP软件厂商开始将其产品导入中国市场,并引发国内软件企业的产业转型与管理软件市场热点向ERP产品的集中2001年,CRM转而成为市场追逐的热点,Oracle、SAP等国际软件巨头纷纷把CRM作为市场的重点
1.3研究目的及意义近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常账目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记账的方法,这种管理方法存在很多缺陷,如效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息
2.系统需求分析
2.1系统功能图本系统主要实现家庭财务管理的日常,为系统使用者提供一种便捷、安全、迅速的财务管理流程该系统采用C++语言开发,主要功能包括收入管理、支出管理、用户管理等系统总功能图如图
2.1图
2.1系统功能图
2.2系统主要功能需求以及用例图
2.
2.1系统登录登录系统时,用户输入用户名和密码,系统会访问后台数据库,并在用户表中进行查找,若找到相同的用户名和密码,则允许登录,若没有找到,则拒绝登录,并提示用户用户名或密码错误,请重新输入图
2.2系统登录用例图
2.
2.2财务管理该功能是系统的核心功能用户登录系统后,可以在对家庭的日常财务状况进行管理,该功能又分为以下几个子功能1收入管理用户通过此功能,对家庭日常的收入进行管理,可以对添加收入记录、删除收入记录、修改收入记录2支出管理用户通过此功能,对家庭日常的支出进行管理,可以对添加支出记录、删除支出记录、修改支出记录3收入查询此功能主要提供指定时间段内的收入查询并提供一个汇总后的收入总数,用户通过此功能可以对某一段时间内的收入情况进行查询4支出查询提供指定时间段内的支出查询5投资明细该功能是对家庭投资收入或亏损的一个明细,方便用户对投资状况的管理图
2.3财务管理用例图
2.
2.3用户管理功能主要为用户提供管理账号的一种方法,用户通过该功能可以对自己的密码进行修改,对自己的账号进行删除,同时还能为别人添加新的用户通过此功能可以很方便的对用户的数量进行管理图
2.4用户管理用例图
2.
2.4常用工具该功能为用户提供了2种常用工具计算器和记事本,使用户在使用该系统时操作更为便捷图
2.5常用工具用例图
2.
2.5帮助该功能为用户提供使用本系统的帮助和系统开发的相关信息图
2.5帮助用例图
3.系统设计
3.1数据库设计
3.
1.1概念结构设计数据库在本系统中占有相当重要的位置,数据库结构设计地好坏将直接对应用系统地效率以及实现地效果产生影响合理地数据库结构设计可以提高数据地存储效率,保证数据地完整和一致在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体要求,下面,应该首先把它们抽象为信息世界的结构,才能更好的、更准确的用一个DBMS实现这些要求系统整体E-R图如下图
3.1系统整体E-R图1)用户实体用户实体拥有用户名和密码2个属性,用户使用系统时需要输入正确的用户名和密码才能进入系统图
3.2用户实体图2)收入实体收入实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的收入情况图
3.3收入实体图3)支出实体收入实体支出实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的支出情况图
3.4收入实体图4)投资实体该实体主要记录家庭的投资明细,方便使用者对投资的盈亏记录进行管理图
3.4投资实体图
3.
1.2主要表结构表
3.1custom表用户列名字段类型主键/外键是否为空默认值用户名nvarchar50主键否密码nvarchar50否列名字段类型主键/外键能否为空默认值表
3.2income表收入表收入编号int主键否日期Datetime否金额int否备注nvarchar50是记录人nvarchar50是表
3.3spend表支出表列名字段类型主键/外键可否为空默认值支出编号int主键否日期Datetime否金额int否备注nvarchar50是记录人nvarchar50是表
3.4investment表投资表英文字段名字段类型主键/外键能否为空默认值投资编号int主键否起止日期nvarchar50否投资金额int否投资项目nvarchar50否投资状态nvarchar50是盈亏金额int是
4.系统的实现
4.1开发平台及开发工具1)操作系统windowsXP.2)系统开发环境visualstudio20053)开发语言C++4)数据库Sqlsever
2005.5)界面开发MFC
4.2系统主要功能的实现该系统主要完成家庭中日常的财务管理工作,通过对数据库中表的操作达到对财务录的增、删、查、改,以简单、方便、直观、快捷的形式对家庭财务进行管理
4.
2.1用户登录模块运行该系统时,先要进行登录用户输入用户名和密码后,系统将根据用户的输入在后台数据库中进行查找,若找到匹配的用户名和密码则登录,若没有找到与之匹的用户名或密码,则提示用户“用户名或密码错误,请重新输入”运行界面下图
4.1系统登录图确定按钮的部分代码如下ADOConnm_AdoConn;CStringsql;sql.Formatselect*fromcustomwhere用户名=+_bstr_tm_username++and密码=+_bstr_tm_psw+;_RecordsetPtrm_pRecordset;m_pRecordset=m_AdoConn.GetRecordsetsql;ifm_AdoConn.m_pRecordset-adoEOF{ifm_username!=m_psw!=AfxMessageBox_T用户名或密码不正确!;}
4.
2.2财务管理模块用户登录后,点击财务管理菜单项,在下拉菜单中就可以对要进行的操作进行选择,下拉菜单中有收入管理、支出管理、收入查询、支出查询、投资明细5个操作项以供选择,运行界面如下图
4.2财务管理运行图1)点击收入管理,弹出收入管理界面,在此对家庭财务的收入进行管理,运行界面如下图
4.3收入管理运行图用户在相应的输入框中输入信息后,
(1)点击添加按钮,将会执行添加记录到数据库中,具体实现为点击添加按钮后,系统将会根据用户的输入做出判断,若没有输入收入编号或金额,则不能进行添加操作,并提示用户“收入编号和金额不能为空”,若输入的收入编号已经存在,则不能执行添加操作,并提示用户“收入编号不能为空,请重新输入”(2若想要修改记录,则现在相应的输入框中输入修改后的信息,然后用鼠标选中记录,点击修改
(3)若想要删除记录,则先选中记录,点击删除即可部分代码如下,该段代码主要实现添加收入记录的功能elseifm_AdoConn.m_pRecordset-adoEOF{CStringsTime1=m_datetime.Format_T%Y-%m-%d;m_pRecordset=m_AdoConn.GetRecordsetsql;m_pRecordset-AddNew;m_pRecordset-PutCollect收入编号_bstr_tm_incomeindex;m_pRecordset-PutCollect日期_bstr_tsTime1;m_pRecordset-PutCollect金额_bstr_tm_money;m_pRecordset-PutCollect备注_bstr_tm_explain;m_pRecordset-PutCollect记录人_bstr_tm_name;m_pRecordset-Update;2)点击投资明细,弹出投资明细操作界面,运行图如下图
4.4投资明细运行图3)点击收入查询,弹出收入查询对话框,在对话框中,用户通过选择一个日期段,可以对该段时间内的收入情况进行查询运行图如下图
4.5投资明细运行图部分代码如下,该段代码主要实现查询时日期格式的转换ADOConnm_AdoConn;CStringsql;CStringsTime1=m_date
1.Format_T%Y-%m-%d;CStringsTime2=m_date
2.Format_T%Y-%m-%d;sql.Formatselect*fromincomewhere日期between+_bstr_tsTime1+and+_bstr_tsTime2+;_RecordsetPtrm_pRecordset;m_pRecordset=m_AdoConn.GetRecordsetsql;
4.
2.3用户管理模块用户通用户管理功能,可以完成添加新用户,删除用户以及修改密码的操作具体实现如下1)添加用户执行该操作时,用户输入要添加的用户名,并输入密码和确认密码,点击添加后,系统先判断用户名或密码是否为空,若有一个为空,则不能完成添加操作,并提示用户“用户名或密码不能为空”,其次判断2次密码输入是否一致,若不一致,不能完成添加操作,并提示用户“密码输入不一致,请重新输入”,最后判断用户名是否存在,若用户户名已经存在,则不能完成操作图
4.6添加用户运行图部分代码如下,该段代码实现添加用户的功能m_pRecordset=m_AdoConn.GetRecordsetsql1;m_pRecordset-AddNew;m_pRecordset-PutCollect用户名_bstr_tm_username;m_pRecordset-PutCollect密码_bstr_tm_psw;m_pRecordset-Update;2)删除用户执行该操作时,用户输入要删除的用户名和密码,若用户名和密码正确,则完成删除操作,否则不能完成删除运行图如下图
4.7删除用户运行图部分代码如下,该段代码实现删除用户的功能sql.Formatselect*fromcustomwhere用户名=+_bstr_tm_username+and密码=+_bstr_tm_psw+;m_pRecordset=m_AdoConn.GetRecordsetsql;ifm_AdoConn.m_pRecordset-adoEOF{AfxMessageBox_T用户名或密码错误,不能执行删除操作!;}else{m_pRecordset-DeleteadAffectCurrent;m_pRecordset-Update;AfxMessageBox_T删除成功!;}3)修改密码执行该操作时,用户输入用户名和旧密码,并输入新密码和确认新密码,系统先在数库中对用户名和旧密码进行查找,若找到匹配记录,则核对2次新密码输入是否一致,若一致,则进行修改操作,若没有在数据库中找到匹配记录或2次新密码输入不一致,则不能完成修改操作,并给用户显示错误信息运行图如下图
4.7修改密码运行图部分代码如下,该段代码用于实现修改用户密码ifm_AdoConn.m_pRecordset-adoEOF{AfxMessageBox_T用户名或密码错误,不能执行修改操作;}else{ifm_newpsw==m_newpsw1{m_pRecordset-PutCollect密码_bstr_tm_newpsw;m_pRecordset-Update;}结 论在这两个月的毕业设计里,本系统在冯永导师的帮助下和自己的努力,经过系统的学习,设计,组织教学内容,开发,基本完成了基于C++的家庭财务管理系统的设计与实现的各项需要,在这段时间我认真的学习了C++、MFC、SQL2005等开发技术,在这个过程中不断的提高了自身的学习能力,当然在学习的过程中遇到了很多困难,在廖频导师和同学的帮助下基本得到了解决,基本完成了本系统的系统登录、财务管理、用户管理等各个模块,在操作上尽量做到满足用户使用习惯当然在系统设计和开发的过程中还有很多没有解决的问题本系统不足之处主要有界面不美观在今后的使用中难免遇到这样那样的系统错误,有待于在不断的使用和维护中解决在系统设计过程中,我体会到了在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出系统数据流图,流程图和结构图这样在进行详细设计时才可以做到有条不紊一步一步地进行.编制一个系统还是有很多可学习的地方,不仅要掌握好相关知识,而且做事要细心、谨慎,这也是将来工作和学习应该注意的地方通过这次毕业设计,使我受到了一次专业知识,专业技能分析和解决问题的全面、系统的锻炼,使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在网页设计的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下了良好的基础参考文献
[1]孙鑫.VC++深入详解[M].北京:电子工业出版社
2006.
[2]罗斌刘三满.VisualC++2005数据库开发经典案例[M].北京:中国水利水电出版社,
2008.
[3]BruceEckel.C++编程思想[M].北京:机械工业出版社,
2006.
[4]郑莉董渊张瑞丰.C++语言程序设计(第3版)[M].北京:清华大学出版社,
2004.
[5]姚领田高守传.MFC窗口程序设计[M].北京:中国水利水电出版社,
2007.
[6]严蔚敏.数据结构(C语言版)[M].北京:清华大学出版社
2007.
[7]解志刚张宁.我国财务软件发展趋势的探讨[D].中国论文下载中心,
2006.
[8]StanleyB.Lippman.C++Primer[M].北京:人民邮电出版社
2006.
[9]候俊杰.深入浅出MFC[M].武汉:华中科技大学出版社,
2001.
[10]HerbSutter.ExceptionalC++Style[M].北京:人民邮电出版社2006
[11]StanleyB.深度探索C++对象模型[M].武汉:华中科技大学出版社
2001.
[12]StvenMcConnell.代码大全[M].北京:电子工业出版社,
2006.致谢在论文完成、即将答辩、毕业之际,谨向培养我的学校和那些曾给予我关怀、帮助的所有人表示深深的谢意首先,我要衷心感谢冯频老师在我进入课题组学习期间,冯老师为我提供了许多具体指导,使我受益匪浅,本文工作更是在廖老师的精心指导下完成的在论文的选题、开题直至定稿完成的整个过程中,冯老师都付出了大量的心血和无私的劳动老师对我的关心、帮助和激励,我将永远铭记在心,老师严谨的治学态度、勤勉作风、谦虚为人值得我们尊敬和学习,在此我再一次向他表达深深的敬意和感激感谢和我相处的同学他们对我工作提出了很多建设性的意见,与他们的讨论个我很大启发随着论文的完成,我即将告别这段求学生活,这段宝贵的经历是我一生都难以忘记的在我求学的这些年里,我的家人一直是我的坚实支柱在这里我要特别感谢亲人们多年来对我的关爱、理解和勉励最后,再一次衷心地感谢所有曾经关心和帮助过我的人们,祝愿老师们在今后的日子里,家庭幸福、工作顺利,预祝河北农业大学再创辉煌家庭财务管理系统用户登录系统管理财务管理收入管理添加收入删除收入修改收入支出管理添加支出删除支出修改支出支出查询投资明细收入查询用户管理添加用户删除用户修改密码常用工具计算器记事本帮助关于使用帮助用户管理收入支出管理构成构成投资管理用户用户名密码收入收入编号日期金额备注记录人支出支出编号日期金额备注记录人支出投资编号起止日期投资金额盈亏金额记录人投资项目投资状态。