《个人财务管理信息系统521908.docx》由会员分享,可在线阅读,更多相关《个人财务管理信息系统521908.docx(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、个人财务管理系系统第一章 绪论1.1课题背景景 当今社社会越来越着着朝着信息化化和数字化法法发展,计算算机的应用领领域使我们的的生活越来越越方便和快捷捷,可以说我我们的每个人人生活都离不不开计算机的的帮助了。越越来越多的个个人应用软件件成为了人们们重要的助手手,也在潜移移默化的改变变着我们的生生活。 随着市市场经济的发发展,我国居居民对理财有有着越来越高高的要求。理理财,是每个个家庭和个人人所必须面对对的问题。现现在,关于企企业的会计制制度逐渐完善善,而且针对对企业的财务务软件以及EEPR(ennterprrise rresourrce pllanninng)系统也也在飞速发展展,但针对个个人
2、或家庭的的财务系统目目前还是一段段空白。 实际生生活中经常要要对个人的各各项财务收支支进行管理,本本课题的目的的就是利用计计算机对各项项财务进行电电子化的管理理,使我们的的理财更加方方便和理性化化,提升我们们生活的质量量和品位。课题意义 我们经经常看到企业业的一些财务务报表,这些些报表主要是是关注企业的的资产负债表表和损益表。简简单的说,前前者是反映这这个企业有多多少钱,是存存量;后者,反反映了企业在在一定时间能能赚到多少钱钱,是流量。 其实,对对一个人或者者家庭的财务务情况,也是是关注这两个个方面。关注注家里存多少少钱,关注今今年赚了多少少钱,花了多多少,借出什什么等等。 要做到到这些需要对
3、对大量的数据据做存储和计计算,工作是是相当的复杂杂繁琐和枯燥燥的,因而这这些问题容易易被人忽略。我我们纵然可以以为生活中的的每一笔花销销记账,但是是对这样大量量的数据做分分类处理确实实是一个会令令大多数人头头疼的问题,如如果有一个个个人理财的软软件理财的软软件对我们的的日常财务进进行那样的繁繁琐的数据处处理和计算工工作,相信可可以让我们理理财的效率大大大提高。这这样一个软件件不但可以方方便我们的生生活,更可以以使我们对自自己的财务状状况有一个清清楚的了解。与此同时,这样样的一个软件件开发和制作作也是对我们们大学学到各各种知识进行行的一次综合合运用的一个个好机会,是是对我大学学学习的一个检检验和
4、实践。第2章 可行性性分析2.2.1 可可行性分析当接受一个软件件开发任务,就就进入软件生生命的第一个个阶段,即进进行可行性的的研究。并不不是所有问题题都具有简单单的解决办法法,许多问题题不能在预定定的规模之内内解决。可行行性分析就是是在系统调查查的基础上,针针对新系统的的开发是否具具备必要性和和可能性,对对新系统的开开发从技术、经经济、社会的的方面进行分分析和研究,以以避免投资失失误,保证新新系统的开发发成功。可行行性研究的目目的就是用最最小的代价在在尽可能短的的时间内确定定问题是否能能够解决。2.1.2 技技术可行性根据客户提出的的系统功能、性性能及实现系系统的各项约约束条件,根根据新系统
5、目目标,来衡量量所需的技术术是否具备。本本系统主要采采用数据库管管理方法,服服务器选用微微软的SQLL Servver 20008数据库库,他是它是是目前能处理理所有中小型型系统最方便便的流行数据据库,它能够够处理大量数数据,同时保保持数据的完完整性并提供供许多高级管管理功能。它它的灵活性、安安全性和易用用性为数据库库编程提供了了良好的条件件。硬件方面面,该系统短短小精悍对赢赢家没有太大大要求,只要要能够运行WWindowws 7就可以很好好的运行该软软件。另外在在划单操作中中可用磁条来来触发事件的的响应,这项项技术也已经经很成熟。2.1.3 操操作可行性本系统采用用户户界面交互方方式,并有必
6、必要的帮助信信息,操作简简单,用户只只要具备简单单的应用计算算机的能力,无无论学历,无无论背景,均均可以使用本本系统,用户户界面上的按按钮的功能明明确,用户一一看就可以了了解怎么使用用本系统,以以及本系统能能够完成的功功能,因此本本系统在操作作上是可行的的。2.1.2 经经济可行性估算新系统的成成本效益分析析,其中包括括估计项目开开发的成本,开开发费用和今今后的运行、维维护费用,估估计新系统将将获得的效益益,估算开发发成本是否回回高于项目预预期的全部经经费。并且,分分析系统开发发是否会对其其它产品或利利润带来一定定影响。本系系统作为一个个课程设计,没没有必要考虑虑维护费用,以以及本系统可可获得
7、的效益益等问题。2.1.4 法法律及社会效效益方面的可可行性由于本系统只是是一个课程设设计,在图书书馆查询相关关资料因此不不存在侵权等等法律与社会会影响方面的的问题,不存存在侵权级相相应的法律问问题。关于效益方面,本本系统仅仅是是一个课程设设计,只是为为了提高自己己的分析,设设计能力,而而非为了社会会效益而编写写设计,因此此社会效益方方面也是可行行的。第3章 需求分分析3.1 用户需需求本系统是针对用用户要求,使使用计算机对对自己日常的的资金和物品品的收入、支支出以及相关关的各种信息息进行记录、修修改、添加、删删除等操作,并并实现对信息息进行统计和和以文档形式式输出的操作作而设计的一一种现代化
8、个个人财务管理理软件。经过过分析,本系系统需要具有有以下功能:1、能够实现个个人财务管理理方面各项功功能,能成功功的对用户各各种信息进行行管理。2、实现查询、修修改、删除、添添加数据方便便,数据的稳稳定性和可靠靠性好。3、能够实现按按日期查询以以及对库存数数据进行按月月统计和以文文本形式输出出。4、拥有良好的的人机交互界界面。3.2 功能需需求系统业务需求本系统具有以下下几个功能模模块:用户登登录模块、系系统管理模块块、收支管理理模块、报表统计模块块。用户登录录模块为每个个用户分配账账号密码使得得个人的财务务信息具有隐隐私性,收支支管理模块能能有效的管理理用户的现金金,可以进行行添加,查询询,
9、删除操作作,报表统计模块块使得用户能能够查询用户户某月的金钱钱和物品统计计信息,能够够让用户对自自己每月或一一段时间的收收支情况,系系统管理模块块可以让用户户修改密码。登陆功能对于个人财务管管理系统,我我们要求软件件满足用户对对个人财务的的隐私性管理理,确保在用用户以外的其其他人使用软软件对其信息息进行操作,所所以要采用用用户注册和登登录制度,确确保用户对自自己财务信息息的隐私管理理。收支管理模块功功能现金管理模块是是用户对现金金进行添加、删删除、修改操操作的模块,提提供用户对现现金的收入支支出进行操作作的功能,使使得当用户的的记录需要修修改时,可以以方便的添加加和修改。报表统计管理模模块提供
10、用户对现金金收支信息和和物品收支信信息进行统计计输出功能。系统管理模块系统管理模块提提供用户对用用户个人信息息的管理和修修改的功能。系统技术需求稳定性:本系统统为财务管理理系统,多为为查询、修改改、删除、添添加数据等操操作,要求数数据的稳定性性好。可靠性:用户财财务数据多比比较重要,要要求系统具有有数据备份,数数据恢复等性性能。安全性:系统设设计个人银行行账号以及密密码的保存,要要求系统提供供加密保存等等安全措施,即即要求系统有有较高的安全全性能。 数据流图数据字典名称:收支信息息报表别名:描述:描述某日日收支信息定义:收入报表表=【收入|支出】+金金额+原因+日期位置:显示给用用户名称:收支
11、统计计报表别名:描述:描述某月月收支收支信信息定义:月收支信信息=收入总总额+支出总总额+日期位置:显示给用用途状态转换图状态转换图模拟拟系统的行为为模型,把系系统概括的分分为几个状态态,并表示触触发状态转换换的事件,由由于该系统是是医院内部使使用的小型系系统故不用设设置登录功能能,打开系统统自动初始化化为等待状态态,接受事件件,并根据事事件类型进入入相应状4.2.1 EER 图数据库的ER图图如下所示: 图44.2 EER 图其中用户编号是是用户的主键键,每个用户户都有唯一的的编号,其中中收入编号是是收入的主键键,收入类型型包括买入、借借入,收入,如如果是金钱,金金额就是金钱钱的数量,备备注
12、就是对事事件的详细说说明,支出联联系同收入联联系,支出类类型包括:借借出、卖出、支支出,备注可可以填写用途途或原因的说说明。第四章:总体设设计4.1:层次结结构图把整个系统分为为收支管理,报表统计管理理,系统管理理四个模块,收收支管理模块块分为添加收收入,添加支支出,修改收收入,修改支支出,查询收收支,删除收收支6个模块块,统计管理理模块分为物物品统计信息息,收支统计计信息两个模模块,收支管管理模块分为为修改密码,数数据备份,数数据恢复,系系统说明,退退出系统5个个部分,每个个模块完成的的功能可以从从名字上明显显的看出。层次从结构图如如下所示:个人财务管理收支管理统计管理添 加 收 入添加支出
13、管理类型添加类型系统管理收支明细年度统计修改密码添加用户修改用户退出系统 图44.1 层次次结构图4.2:数据库库设计4.2.2 数数据库表表4.1用户表表序号字段中文名字段英文名类型、宽度、精精度取值约束空否默认值主键/外键1用户编号UserIDbigint否主键2用户名UserNammevarcharr(50)少于50字符否3密码Passworrdvarcharr(50)少于50字符否表4.2 支出出信息表序号字段中文名字段英文名类型、宽度、精精度取值约束空否默认值主键/外键1支出物资编号PayoutIIDbigint否主键2用户编号UserIDbigint否外键3支出类型Paykindd
14、varcharr (50)否4支出物资类型payoutkkingVarcharr(50)否5支出金额PayAccoountfloat否6支出时间PayTimeedate否7备注Remarkvarcharr(200)少于200字符符表4.3 收入入信息表序号字段中文名字段英文名类型、宽度、精精度取值约束空否默认值主键/外键1收入信息编号IncomeIIDbigint否主键2用户编号UserIDbigint否外键3收入类型Inkindvarcharr (50)否4收入物资类型PayinkiindVarcharr(50)否5收入金额InAccouuntfloat否6收入时间InTimedate否7备
15、注Remarkvarcharr(200)少于200字符符第五章:详细设设计5.1界面设计计:一个好的用户界界面能够给用用户一个好印印象,甚至能能够事半功倍倍,有的时候候,即使软件件设计的很好好,但用户界界面不符合用用户操作的习习惯,也可能能会让用户不不满意,因此此说,一个好好的用户界面面是至关重要要的。本系统的界面设设计如下:主界面左侧有四四个选项,分分别对应层次次图的四个模模块,分别为为:用户收支支管理,统计计查询,系统统管理,用户管理,每每个选项下面面还有相应的的几个子选项项,完成相应应的添加、查查询、修改、删删除操作,右右侧为正文部部分,显示用用户需要的信信息。用表单单的形式显示示出来。
16、5.2数据库查查询设计输出的显示主要要是对数据库库的组合或单单独查询得出出的结果,三三个表用用户户的编号联系系起来,在用用户表中用户户的编号是主主键,在收入入表中和支出出表中则是作作为外键,三三个表组合查查询就可以查查到想要的所所有信息。其其中收入类型型填写金钱收收入,借入物物品,买入物物品:收入物物资类型填写写物品、金钱钱,支出类型型填写金钱支支出,物品借借出,物品卖卖出;备注填填写原因后用用途。5.3登录界面面数据流程图图图5.1 登录录界面数据流流程图登录模块代码:%if requuest(adminn)= 登 陆 thennUserNamme=reqquest.form(UserrNa
17、me)PassWd=md5(rrequesst.forrm(PaassWd)set rs=serveer.CreeateObbject(ADODDB.ReccordSeet)sql=seelect * froom usser wwhere usernname=&UseerNamee&rs.Openn Sql,conn,1,1if rs(passwword)PasssWd tthenresponsse.wriitealerrt(用户或密码码错误);loccationn.hreff=javvascriipt:hiistoryy.go(-1);responsse.enddelseResponsse.
18、Coookies(key)=guu_ke Responsse.Coookies(key).exppires=date+2Responsse.Coookies(userr)=rss(useernamee) Responsse.Coookies(userr).exxpiress=datee+2Responsse.Coookies(id)=rs(id) Responsse.Coookies(id).expiires=ddate+22responsse.reddirectt admmin.asspend ifrs.closseend if%登陆页面functioon CheeckForrm() if
19、(docuument.form11.UserrName.valuee=) aalert(用户不能能为空); ddocumeent.foorm1.UUserNaame.foocus(); rreturnn falsse; if (docuument.form11.Passswd.vaalue=) alertt(密码不不能为空); documment.fform1.Passwwd.foccus(); returrn fallse; 用用户:密密码: 添加用户模块:%set rs=serveer.creeateobbject(adoddb.reccordseet) sql=seelect * fro
20、om usser wwhere id=&Requeest.Coookiess(id)rs.openn sql,conn,1,1if rs(adminn)11 thennResponsse.Wriite aleert(系系统超时);thiss.locaation.href=indeex.aspp;rs.closseresponsse.enddend IfIf Requuest.fform(add)= 添 加 TThenSet rs=Conn.Execuute(SSelectt * Frrom uuser Wheree userrname=&Reequestt.formm(useer)&)If N
21、ot (rs.EEof orr rs.BBof) TThenResponsse.Wriite aleert(该该用户已存在在);thhis.loocatioon.hreef=addd_useer.aspp;Responsse.Enddrs.clsooeend ifIf requuest.fform(pwd2) requeest.foorm(ppwd3) thennResponsse.Wriite aleert(两两次密码不相相同);llocatiion=jjavasccript:histoory.baack(-11)Responsse.Enddend ifSet rs = Serrver.CC
22、reateeObjecct(ADDODB.RRecorddSet)Sql = Selecct * FFrom user Wherre (IDD is nnull)rs.Openn Sql,Conn,11,3rs.addNNewrs(useernamee) = Requeest.foorm(uuser)rs(admmin) = Reqquest.form(admiin)md5pwd=md5(rrequesst(naame2)rs(passswordd)=mdd5(reqquest.form(pwd22)rs.Updaaters.ClosseResponsse.Wriite aleert(操操作成
23、功);thiss.locaation.href=t_usser.assp;end if% 用用户: 权权限: 普通用户户 管理员 - 请选择 密密码: 重重复密码: 管理用户:%set rs=serveer.creeateobbject(adoddb.reccordseet) sql=seelect * froom usser wwhere id=&Requeest.Coookiess(id)rs.openn sql,conn,1,1if rs(adminn)11 thennResponsse.Wriite aleert(系系统超时);thiss.locaation.href=i
24、ndeex.aspp;rs.closseend ifIf Requuest.fform(user)= 修修 改 ThenSet rs = Serrver.CCreateeObjecct(ADDODB.RRecorddSet)Sql = Selecct * FFrom user Wherre id=&Reqquest(id)&rs.Openn Sql,Conn,11,3rs(admmin) = Reqquest.form(admiin)rs.Updaaters.ClosseResponsse.Wriite aleert(操操作成功);thiss.locaation.href=t_usser.as
25、sp;end if% 用用户: 权权限: 管理员inpput naame=aadmin typee=raddio vvalue=1 /  p; 普通用用户inpput naame=aadmin typee=raddio vvalue=0 / 显示当前用户及及退出模块: 当前用户户: 退出 管理收入类型模模块:%idd=Reqquest.Cookiies(iid)If Requuest.fform(add)= 添 加 TThenpaytypee = Trrim(Reequestt.Formm(payytype)io = Trrim(Reequestt.Formm(io)Se
26、t rs=Conn.Execuute(SSelectt PayTType FFrom type Wherre useer=&iidd& and PPayTyppe=&paytyype&)If Not (rs.EEof orr rs.BBof) TThenResponsse.Wriite aleert(该该类型已存在在);thhis.loocatioon.hreef=addd_typpe.aspp;Responsse.Enddrs.clsooeelseSet rs = Serrver.CCreateeObjecct(ADDODB.RRecorddSet)Sql = Selecct * FFrom type Wherre (IDD is nnull)rs.Openn Sql,Conn,11,3rs.addNNewrs(PayyType) = ppaytyppers(datte) = now()rs(InOOut) = iors(useer) = iddrs.Updaaters.ClosseEnd ifResponsse.Wriite aleert(操操作成功);thiss.locaation.href=typee.asp;/SCCRIP