家庭理财管理系统设计与开发1毕业设计Word下载.docx
- 文档编号:21680172
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:16
- 大小:116.88KB
家庭理财管理系统设计与开发1毕业设计Word下载.docx
《家庭理财管理系统设计与开发1毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《家庭理财管理系统设计与开发1毕业设计Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
今天我们使用计算机对家庭财务信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高家庭财务管理的效率。
面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。
1.2国内外研究现状及发展趋势
1.2.1国外研究现状及发展趋势
“目前国外的商品化软件都比较注重内部控制功能。
财务软件设计得好,有利于互相牵制、互相监督,就有利于加强管理,堵塞漏洞。
许多地方,看似无关紧要,但你对他有了解,就会觉得他富有先进的管理思想。
反观我国的财务软件的发展,大多是以财务核算为中心向外围扩展。
财务软件的设计最初基本上是从模拟手工开始的,很难谈得上有先进的思想,有的甚至是手工的翻版,以后版本的改进与提高,也很难完全消除这种模拟手工处理的痕迹,只是达到了满足日常核算的要求而已,很难体现先进的管理思想。
”[1]
“其次国外的许多软件都能适应现代审计的需要,在这方面对我们有借鉴意义。
在会计电算化程度较高的国家,例如美国,软件是否具有充分的保留和审计线索的功能,已成为对财务软件进行评价的最重要标志之一。
显而易见,一个理想的财务软件必须具有充分的保留和提供审计线索的功能。
例如,国外许多软件提供双向查询的功能,即按原始凭证一一日记账一一总账一一报表的顺序进行双向查询。
又如,许多软件对数据的变动处理均留有痕迹:
在初始录入凭证是有一条记录记载,在改动、删除时,并不是在原记录上变动,而是另有记录反映。
这样,你在查询时,同一笔业务有哪些改动,在什么时间改动的,谁操作的,在哪项功能中变动的,均可查出。
每一笔处理都留有痕迹,这就为审计工作提供了线索和方便。
“国外的企业管理软件,特别是MRP-Ⅱ和ERP软件,一般是以生产为中心,它是以物料需求计划(MRP)为基础,发展到制造资源规划(ERP)的这样一个发展阶段。
因而是以生产制造为中心,财务与成本是这个大系统的一个子系统。
财务子系统虽然不像我国财务管理软件那样,占有整个系统很大的比例,但它与其他子系统却是高度集成的,真正实现了物流、资金流和信息流的统一。
国外的财务软件都作为企业管理系统的一个有机组成部分,软件都是对整个企业而设计的。
所用数据都是从生产等业务开始,财务部分与生产、采购、销售、库存等环节紧密相连,一环扣一环,真正做到无缝连接。
有的软件不仅做到了无缝连接,而且能够单独运行,组合自如。
比如美国FourthShift公司的MRP-Ⅱ软件中的财务部分,销售是从订立销售合同开始的,在实际开销售发票和提货出库时,系统都自动进行账务处理,自动生成记账凭证传到财务部分,财务人员可以自动审核、记账,也可以人工干预,但数量等数据必须与销售部门一致。
这样就保障了销售与账务处理的一致性。
二者同一数据源,不会发生不一致的情况。
同时,系统中财务部分与销售部又是相互独立的,可分开运行,从逻辑结构到功能操作都比较清晰。
1.2.2国内研究现状及发展趋势
我国管理软件产业的发展起步于20世纪80年代中期的通用财务软件。
20世纪90年代是我国财务软件开发和应用的黄金年代,以用友、金蝶、浪潮国强、安易及新中大为代表,国产财务软件产业得到了快速发展。
到90年代末,包括SAP、Oracle等国际知名ERP软件厂商开始将其产品导入中国市场,并引发国内软件企业的产业转型与管理软件市场热点向ERP产品的集中。
2001年,CRM转而成为市场追逐的热点,Oracle、SAP等国际软件巨头纷纷把CRM作为市场的重点。
1.3研究目的及意义
家庭理财系统就是通过计算机对人们日常的收支进行管理,具有相关的收支情况查询和录入,以及有关数据的打印输出有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时、准确地获得需要的信息。
2.系统需求分析
2.1系统功能图
系统总功能图如图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表:
用户
列名
字段类型
主键/外键
是否为空
默认值
用户名
nvarchar(50)
主键
否
密码
能否为空
表3.2income表:
收入表
收入编号
int
日期
Datetime
金额
备注
是
记录人
表3.3spend表:
支出表
可否为空
支出编号
表3.4investment表:
投资表
英文字段名
投资编号
起止日期
投资金额
投资项目
投资状态
盈亏金额
4.系统的实现
4.1开发平台及开发工具
1)操作系统:
windowsXP.
2)系统开发环境:
visualstudio2005
3)开发语言:
C++
4)数据库:
Sqlsever2005.
5)界面开发:
MFC
4.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();
PutCollect("
收入编号"
(_bstr_t)m_incomeindex);
日期"
(_bstr_t)sTime1);
金额"
(_bstr_t)m_money);
备注"
(_bstr_t)m_explain);
记录人"
(_bstr_t)m_name);
Update();
2)点击投资明细,弹出投资明细操作界面,运行图如下:
图4.4投资明细运行图
3)点击收入查询,弹出收入查询对话框,在对话框中,用户通过选择一个日期段,可以对该段时间内的收入情况进行查询。
运行图如下:
图4.5投资明细运行图
部分代码如下,该段代码主要实现查询时日期格式的转换:
ADOConnm_AdoConn;
CStringsTime1=m_date1.Format(_T("
CStringsTime2=m_date2.Format(_T("
select*fromincomewhere日期between'
+_bstr_t(sTime1)+"
and'
+_bstr_t(sTime2)+"
4.2.3用户管理模块
用户通用户管理功能,可以完成添加新用户,删除用户以及修改密码的操作。
具体实现如下:
1)添加用户:
执行该操作时,用户输入要添加的用户名,并输入密码和确认密码,点击添加后,系统先判断用户名或密码是否为空,若有一个为空,则不能完成添加操作,并提示用户“用户名或密码不能为空”,其次判断2次密码输入是否一致,若不一致,不能完成添加操作,并提示用户“密码输入不一致,请重新输入”,最后判断用户名是否存在,若用户户名已经存在,则不能完成操作。
图4.6添加用户运行图
部分代码如下,该段代码实现添加用户的功能:
m_pRecordset=m_AdoConn.GetRecordset(sql1);
m_pRecordset->
用户名"
_bstr_t(m_username));
密码"
_bstr_t(m_psw));
2)删除用户:
执行该操作时,用户输入要删除的用户名和密码,若用户名和密码正确,则完成删除操作,否则不能完成删除。
图4.7删除用户运行图
部分代码如下,该段代码实现删除用户的功能:
sql.Format("
if(m_AdoConn.m_pRecordset->
用户名或密码错误,不能执行删除操作!
}
else
Delete(adAffectCurrent);
删除成功!
3)修改密码:
执行该操作时,用户输入用户名和旧密码,并输入新密码和确认新密码,系统先在数库中对用户名和旧密码进行查找,若找到匹配记录,则核对2次新密码输入是否一致,若一致,则进行修改操作,若没有在数据库中找到匹配记录或2次新密码输入不一致,则不能完成修改操作,并给用户显示错误信息。
图4.7修改密码运行图
部分代码如下,该段代码用于实现修改用户密码:
用户名或密码错误,不能执行修改操作"
if(m_newpsw==m_newpsw1)
{
m_pRecordset->
(_bstr_t)m_newpsw);
结 论
在这两个月的毕业设计里,本系统在冯永导师的帮助下和自己的努力,经过系统的学习,设计,组织教学内容,开发,基本完成了基于C++的家庭财务管理系统的设计与实现的各项需要,在这段时间我认真的学习了C++、MFC、SQL2005等开发技术,在这个过程中不断的提高了自身的学习能力,当然在学习的过程中遇到了很多困难,在廖频导师和同学的帮助下基本得到了解决,基本完成了本系统的系统登录、财务管理、用户管理等各个模块,在操作上尽量做到满足用户使用习惯。
当然在系统设计和开发的过程中还有很多没有解决的问题。
本系统不足之处主要有界面不美观。
在今后的使用中难免遇到这样那样的系统错误,有待于在不断的使用和维护中解决。
在系统设计过程中,我体会到了在设计之前一定要对所设计的系统有较为深刻地了解,并对用户的要求加以认真的分析,并给予分类,对所分类进行功能模块化设计,画出系统数据流图,流程图和结构图。
这样在进行详细设计时才可以做到有条不紊一步一步地进行.编制一个系统还是有很多可学习的地方,不仅要掌握好相关知识,而且做事要细心、谨慎,这也是将来工作和学习应该注意的地方。
通过这次毕业设计,使我受到了一次专业知识,专业技能分析和解决问题的全面、系统的锻炼,使我在综合知识的选用方面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭理财 管理 系统 设计 开发 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)