版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要为了适应全球经济的蓬勃发展所带来的金融理财领域的巨大变革和创新,尤其是对现代家庭与个人传统的理财观念有着较大的革新。因此,提出了给人们提供一种能充分利用计算机优势,快捷、方便、高效、易操作的管理系统来管理家庭财务的收支。本系统主要实现家庭财务管理的日常,为系统使用者提供一种便捷、安全、迅速的财务管理流程。该系统采用C++语言开发,主要功能包括收入管理、支出管理、用户管理等。利用C++语言在MicrosoftVisualStudio2005平台下开发而成,数据库使用Sqlsever2005,.整个系统是一个单机的系统,操作员可以记录家庭收入,支出等,通过各种方式可以查询。最后经过测试,系统能正常运行,功能完善,性能较高。总得来说这个系统的开发是比较成功的。关键词:家庭财务管理系统C++MicrosoftVisualStudio2005Sqlsever2005TheDesignAndImplementationOfSimpleFamilyFinancialManagementSystemAbstract:
Toaccommodatethehugechangeandinnovationtoflourishintheglobaleconomybroughtaboutbythefinancialplanningfield,especiallyforthemodernfamilytraditionandpersonalfinancialmanagementconceptshaveagreaterinnovation.Therefore,itisproposedtoprovideafulluseoftheadvantagesofcomputers,fast,convenient,efficient,easytooperatemanagementsystemtomanagefamilyfinancesandexpenditure.Thefinancialmanagementsystemismainlyforhomedaily,thesystemprovidesusersaconvenient,safe,rapidfinancialmanagementprocesses.ThesystemusestheC++languagedevelopment,themainfeaturesincluderevenuemanagement,expensemanagement,usermanagement.TheuseofC++languagedevelopmentinMicrosoftVisualStudio2005platformfromthedatabaseusingSqlsever2005,.Entiresystemisastand-alonesystem,theoperatorcanrecordthefamilyincome,expenses,etc.,canbequeriedthroughavarietyofways.Finally,aftertestingthesystemtonormaloperation,fullyfunctional,highperformance.Generallyspeakingthedevelopmentofthissystemismoresuccessful.Keywords:familyfinancialmanagementsystemC++MicrosoftVisualStudio2005Sqlsever2005目录TOC\o"1-3"\h\u8531前言 1163431.1系统开发背景 1149001.2国内外研究现状及发展趋势 112491.2.1国外研究现状及发展趋势 1233551.2.2国内研究现状及发展趋势 2189391.3研究目的及意义 2106232.系统需求分析 3174302.1系统功能图 3214022.2系统主要功能需求以及用例图 4100232.2.1系统登录 416322.2.2财务管理 4313622.2.3用户管理 5190462.2.4常用工具 5288782.2.5帮助 6108963.系统设计 6268283.1数据库设计 6215703.1.1概念结构设计 695583.1.2主要表结构 997044.系统的实现 11323094.1开发平台及开发工具 1163364.2系统主要功能的实现 11318624.2.1用户登录模块 1127684.2.3用户管理模块 1521610参考文献 1929705致谢 201前言1.1系统开发背景近年来,计算机技术飞速发展几乎超出了人们的想象,硬件的更新换代速度更是以级数进行。计算机在处理对象、处理方法上都发生了很大的变化。作为计算机科学的重要分支——数据库技术,也被越来越多的应用领域采用来存储和处理他们的信息资源。计算机已经不再仅仅是科学研究的工具,它越来越多地影响到了我们生活的诸多方面,更多的应用软件出现在了我们的身边,给人们生活的方方面面都带来了极大的便利。近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的开销与收入也越来越多,很多人对于日常账目的管理感到越来越力不从心,收支管理已刻不容缓,在大多数家庭里,由于计算机知识的缺乏,人们还采用手写记账的方法,这种管理方法存在很多缺陷,如:效率低、保密性差,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难。家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。随着计算机技术的飞速发展,计算机以及计算机控制的自动处理技术已融入人类社会的各个领域并发挥着越来越重要的作用。对于当今的科学信息是一次重大的飞越,为人们的生活、工作、学习带来潜移默化的影响。今天我们使用计算机对家庭财务信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率。面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。1.2国内外研究现状及发展趋势1.2.1国外研究现状及发展趋势“目前国外的商品化软件都比较注重内部控制功能。财务软件设计得好,有利于互相牵制、互相监督,就有利于加强管理,堵塞漏洞。许多地方,看似无关紧要,但你对他有了解,就会觉得他富有先进的管理思想。反观我国的财务软件的发展,大多是以财务核算为中心向外围扩展。财务软件的设计最初基本上是从模拟手工开始的,很难谈得上有先进的思想,有的甚至是手工的翻版,以后版本的改进与提高,也很难完全消除这种模拟手工处理的痕迹,只是达到了满足日常核算的要求而已,很难体现先进的管理思想。”[1]“其次国外的许多软件都能适应现代审计的需要,在这方面对我们有借鉴意义。在会计电算化程度较高的国家,例如美国,软件是否具有充分的保留和审计线索的功能,已成为对财务软件进行评价的最重要标志之一。显而易见,一个理想的财务软件必须具有充分的保留和提供审计线索的功能。例如,国外许多软件提供双向查询的功能,即按原始凭证一一日记账一一总账一一报表的顺序进行双向查询。又如,许多软件对数据的变动处理均留有痕迹:在初始录入凭证是有一条记录记载,在改动、删除时,并不是在原记录上变动,而是另有记录反映。这样,你在查询时,同一笔业务有哪些改动,在什么时间改动的,谁操作的,在哪项功能中变动的,均可查出。每一笔处理都留有痕迹,这就为审计工作提供了线索和方便。”[1]“国外的企业管理软件,特别是MRP-Ⅱ和ERP软件,一般是以生产为中心,它是以物料需求计划(MRP)为基础,发展到制造资源规划(ERP)的这样一个发展阶段。因而是以生产制造为中心,财务与成本是这个大系统的一个子系统。财务子系统虽然不像我国财务管理软件那样,占有整个系统很大的比例,但它与其他子系统却是高度集成的,真正实现了物流、资金流和信息流的统一。国外的财务软件都作为企业管理系统的一个有机组成部分,软件都是对整个企业而设计的。所用数据都是从生产等业务开始,财务部分与生产、采购、销售、库存等环节紧密相连,一环扣一环,真正做到无缝连接。有的软件不仅做到了无缝连接,而且能够单独运行,组合自如。比如美国FourthShift公司的MRP-Ⅱ软件中的财务部分,销售是从订立销售合同开始的,在实际开销售发票和提货出库时,系统都自动进行账务处理,自动生成记账凭证传到财务部分,财务人员可以自动审核、记账,也可以人工干预,但数量等数据必须与销售部门一致。这样就保障了销售与账务处理的一致性。二者同一数据源,不会发生不一致的情况。同时,系统中财务部分与销售部又是相互独立的,可分开运行,从逻辑结构到功能操作都比较清晰。”[1]1.2.2国内研究现状及发展趋势我国管理软件产业的发展起步于20世纪80年代中期的通用财务软件。20世纪90年代是我国财务软件开发和应用的黄金年代,以用友、金蝶、浪潮国强、安易及新中大为代表,国产财务软件产业得到了快速发展。到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系统用户管理收入用户管理收入支出管理构成构成投资管理1)用户实体:用户实体拥有用户名和密码2个属性,用户使用系统时需要输入正确的用户名和密码才能进入系统。用户用户名用户用户名密码图3.2用户实体图2)收入实体:收入实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的收入情况。收入收入编号收入收入编号日期金额备注记录人图3.3收入实体图3)支出实体:收入实体:支出实体拥有支出编号、金额、备注、记录人、日期5个属性,它记录家庭日常的支出情况。支出支出支出支出编号日期金额备注记录人图3.4收入实体图4)投资实体:该实体主要记录家庭的投资明细,方便使用者对投资的盈亏记录进行管理。支出支出投资编号起止日期投资金额盈亏金额记录人投资项目投资状态图3.4投资实体图3.1.2主要表结构表3.1custom表:用户列名字段类型主键/外键是否为空默认值用户名nvarchar(50)主键否密码nvarchar(50)否列名字段类型主键/外键能否为空默认值表3.2income表:收入表 收入编号int主键否日期Datetime否金额int否备注nvarchar(50)是记录人nvarchar(50)是 表3.3spend表:支出表列名字段类型主键/外键可否为空默认值支出编号int主键否日期Datetime否金额int否备注nvarchar(50)是记录人nvarchar(50)是表3.4investment表:投资表英文字段名字段类型主键/外键能否为空默认值投资编号int主键否起止日期nvarchar(50)否投资金额int否投资项目nvarchar(50)否投资状态nvarchar(50)是盈亏金额int是4.系统的实现4.1开发平台及开发工具1)操作系统:windowsXP.2)系统开发环境:visualstudio20053)开发语言:C++4)数据库:Sqlsever2005.5)界面开发:MFC4.2系统主要功能的实现该系统主要完成家庭中日常的财务管理工作,通过对数据库中表的操作达到对财务录的增、删、查、改,以简单、方便、直观、快捷的形式对家庭财务进行管理。4.2.1用户登录模块运行该系统时,先要进行登录。用户输入用户名和密码后,系统将根据用户的输入在后台数据库中进行查找,若找到匹配的用户名和密码则登录,若没有找到与之匹的用户名或密码,则提示用户“用户名或密码错误,请重新输入”。运行界面下:图4.1系统登录图确定按钮的部分代码如下:ADOConnm_AdoConn; CStringsql; sql.Format("select*fromcustomwhere用户名='"+_bstr_t(m_username)+"'"+"and密码='"+_bstr_t(m_psw)+"'"); _RecordsetPtrm_pRecordset; m_pRecordset=m_AdoConn.GetRecordset(sql); if((m_AdoConn.m_pRecordset->adoEOF)) { if((m_username!="")&&(m_psw!="")) AfxMessageBox(_T("用户名或密码不正确!"));}4.2.2财务管理模块用户登录后,点击财务管理菜单项,在下拉菜单中就可以对要进行的操作进行选择,下拉菜单中有收入管理、支出管理、收入查询、支出查询、投资明细5个操作项以供选择,运行界面如下:图4.2财务管理运行图1)点击收入管理,弹出收入管理界面,在此对家庭财务的收入进行管理,运行界面如下:图4.3收入管理运行图用户在相应的输入框中输入信息后,(1)点击添加按钮,将会执行添加记录到数据库中,具体实现为:点击添加按钮后,系统将会根据用户的输入做出判断,若没有输入收入编号或金额,则不能进行添加操作,并提示用户“收入编号和金额不能为空”,若输入的收入编号已经存在,则不能执行添加操作,并提示用户“收入编号不能为空,请重新输入”(2)若想要修改记录,则现在相应的输入框中输入修改后的信息,然后用鼠标选中记录,点击修改。(3)若想要删除记录,则先选中记录,点击删除即可。部分代码如下,该段代码主要实现添加收入记录的功能: elseif(m_AdoConn.m_pRecordset->adoEOF) { CStringsTime1=m_datetime.Format(_T("%Y-%m-%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)m_name); m_pRecordset->Update();点击投资明细,弹出投资明细操作界面,运行图如下:图4.4投资明细运行图3)点击收入查询,弹出收入查询对话框,在对话框中,用户通过选择一个日期段,可以对该段时间内的收入情况进行查询。运行图如下:图4.5投资明细运行图部分代码如下,该段代码主要实现查询时日期格式的转换: ADOConnm_AdoConn; CStringsql; CStringsTime1=m_date1.Format(_T("%Y-%m-%d")); CStringsTime2=m_date2.Format(_T("%Y-%m-%d"));sql.Format("select*fromincomewhere日期between'"+_bstr_t(sTime1)+"'and'"+_bstr_t(sTime2)+"'"); _RecordsetPtrm_pRecordset; m_pRecordset=m_AdoConn.GetRecordset(sql);4.2.3用户管理模块用户通用户管理功能,可以完成添加新用户,删除用户以及修改密码的操作。具体实现如下:1)添加用户:执行该操作时,用户输入要添加的用户名,并输入密码和确认密码,点击添加后,系统先判断用户名或密码是否为空,若有一个为空,则不能完成添加操作,并提示用户“用户名或密码不能为空”,其次判断2次密码输入是否一致,若不一致,不能完成添加操作,并提示用户“密码输入不一致,请重新输入”,最后判断用户名是否存在,若用户户名已经存在,则不能完成操作。图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)删除用户:执行该操作时,用户输入要删除的用户名和密码,若用户名和密码正确,则完成删除操作,否则不能完成删除。运行图如下:图4.7删除用户运行图部分代码如下,该段代码实现删除用户的功能:sql.Format("select*fromcustomwhere用户名='"+_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(adAffectCurrent); m_pRecordset->Update(); AfxMessageBox(_T("删除成功!"));}3)修改密码:执行该操作时,用户输入用户名和旧密码,并输入新密码和确认新密码,系统先在数库中对用户名和旧密码进行查找,若找到匹配记录,则核对2次新密码输入是否一致,若一致,则进行修改操作,若没有在数据库中找到匹配记录或2次新密码输入不一致,则不能完成修改操作,并给用户显示错误信息。运行图如下:图4.7修改密码运行图部分代码如下,该段代码用于实现修改用户密码: if(m_AdoConn.m_pRecordset->adoEOF) { AfxMessageBox(_T("用户名或密码错误,不能执行修改操作")); } else { if(m_newpsw==m_newpsw1) { m_pRecordset->PutCollect("密码",(_bstr_t)m_newpsw); m_pRecordset->Update();}结论在这两个月的毕业设计里,本系统在冯永导师的帮助下和自己的努力,经过系统的学习,设计,组织教学内容,开发,基本完成了基于C++的家庭财务管理系统的设计与实现的各项需要,在这段时间我认真的学习了C++、MFC、SQL2005等开发技术,在这个过程中不断的提高了自身的学习能力,当然在学习的过程中遇到了很多困难,在廖频导师和同学的帮助下基本得到了解决,基本完成了本系统的系统登录、财务管理、用户管理等各个模块,在操作上尽量做到满足用户使用习惯。当然在系统设计和开发的过程中还有很多没有解决的问题。本系统不足之处主要有界面不美观。在今后的使用中难免遇到这样那样的系统错误,有待于在不断的使用和维护中解决。在系统设计过程中,我体会到了在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防雷设施安装维护合同三篇
- 化妆品行业保安工作总结
- 儿童游乐设施设计美工工作总结
- 林业行业美工的森林保护
- 风险防范工作总结
- 【八年级下册地理粤教版】第8章 珠江三角洲 单元测试
- 本科生毕业论文答辩记录表
- 2025届扬州市高三语文(上)1月质量调研试卷及答案解析
- 创新成果知识产权合同(2篇)
- DB33T 2188.4-2019 大型赛会志愿服务岗位规范 第4部分:礼宾接待志愿服务
- 初中必背古诗文138首
- 蓝色国家科学基金4.3杰青优青人才科学基金答辩模板
- DLT 5434-2021 电力建设工程监理规范表格
- 2024年房屋交接确认书
- 拓展低空经济应用场景实施方案
- 北京市东城区2023-2024学年八年级上学期期末生物试题【含答案解析】
- 天疱疮临床分期与治疗方案研究
- 开放系统10861《理工英语(4)》期末机考真题及答案(第102套)
- 综合技能训练实训报告学前教育
- 2024年国家能源集团招聘笔试参考题库含答案解析
- MOOC 管理学-郑州轻工业大学 中国大学慕课答案
评论
0/150
提交评论