个人财务管理系统_第1页
个人财务管理系统_第2页
个人财务管理系统_第3页
个人财务管理系统_第4页
个人财务管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术与应用(sqlserver2005)课 程 设 计题 目个人财务管理系统 组 员班 级计科1002学 院信息科学与工程学院指导教师2012年 11 月 13 日第22页 共 22页 任务分配表如下:第 x 组学号姓名负责部分成绩组长代码编写,系统运维组员需求分析,数据库设计指导老师评语:摘 要本系统是在win7以及microsoft visual studio 2005平台上,使用microsoft sql serve 2005数据库系统管理软件开发,分析设计了 “个人财务管理系统”。系统软件和对数据库的操作和管理都可在计算机上完成。如今计算机已走进千家万户,传统的在纸上记录收入支出

2、的方式已经过时,人们需要一种可以在计算机记录自己收入支出信息的软件,可是市场上的财务管理软件大多数十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,再者免费的软件更是少之又少,为了满足普通用户的需求,特开发此软件。本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,再者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。本报告中首先说明了该系统的特点与业务需求,之后详细说明了系

3、统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体实现。该系统功能完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。本报告中首先说明了该系统的业务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明。关键词:win7 microsoft sql server 2005 个人财务 业务需求目 录摘 要3第一章绪论5第二章 需求分析62.1 用户需求62.2 功能需求62.3总体结构图7第三章 数据库概念设计83.1局部e-r图设计83.2数据库的基本er图9第四章 数据库逻辑设计10第五章 数据库实施135.1 创建数据库135.2 创建数

4、据基本表135.2.1、用户表135.2.2、收入表145.2.3、支出表145.2.4、恢复与备份日志表155.3 根据功能需求扩充155.3.1视图1 收入视图view_income155.3.2视图2 支出视图view_pay155.3.3存储过程1 收入pro_income165.3.4存储过程2 支出pro_pay16第六章 系统实现与维护176.1 系统结构176.2 主要功能实现176.2.1 收入与支出实现176.2.2 统计查询实现186.3 系统维护19总 结20参 考 文 献21绪 论随着市场经济的发展,我国居民对理财有着越来越高的要求。理财,是每个家庭和个人所必须面对的

5、问题。现在,关于企业的会计制度逐渐完善,而且针对企业的财务软件以及epr(enterprise resource planning)系统也在飞速发展,但针对个人或家庭的财务系统目前还是一段空白。 实际生活中经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提升我们生活的质量和品位。课题意义我们经常看到企业的一些财务报表,这些报表主要是关注企业的资产负债表和损益表。简单的说,前者是反映这个企业有多少钱,是存量;后者,反映了企业在一定时间能赚到多少钱,是流量。其实,对一个人或者家庭的财务情况,也是关注这两个方面。关注家里存多少钱

6、,关注今年赚了多少钱,花了多少,借出什么等等。 要做到这些需要对大量的数据做存储和计算,工作是相当的复杂繁琐和枯燥的,因而这些问题容易被人忽略。我们纵然可以为生活中的每一笔花销记账,但是对这样大量的数据做分类处理确实是一个会令大多数人头疼的问题,如果有一个个人理财的软件理财的软件对我们的日常财务进行那样的繁琐的数据处理和计算工作,相信可以让我们理财的效率大大提高。这样一个软件不但可以方便我们的生活,更可以使我们对自己的财务状况有一个清楚的了解。与此同时,这样的一个软件开发和制作也是对我们大学学到各种知识进行的一次综合运用的一个好机会,是对我大学学习的一个检验和实践。 第二章 需求分析2.1 用

7、户需求本系统是针对用户要求,使用计算机对自己日常的资金和物品的收入、支出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计和以文档形式输出的操作而设计的一种现代化个人财务管理软件。经过分析,本系统需要具有以下功能:1、能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。2、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。3、能够实现按日期查询以及对库存数据进行按月统计和以文本形式输出。4、拥有良好的人机交互界面。2.2 功能需求系统业务需求本系统具有以下几个功能模块:用户登录模块、系统管理模块、收入管理模块、支出管理、查询统计模块。用户登录模块为

8、每个用户分配账号密码使得个人的财务信息具有隐私性,收支管理模块能有效的管理用户的现金,可以进行添加,查询,删除操作,查询统计模块使得用户能够查询用户某月的金钱和物品统计信息,能够让用户对自己每月或一段时间的收支情况,系统管理模块可以让用户修改密码等。收支管理模块功能现金管理模块是用户对现金进行添加、删除、修改操作的模块,提供用户对现金的收入支出进行操作的功能,使得当用户的记录需要修改时,可以方便的添加和修改。查询统计管理模块提供用户对现金收支信息和物品收支信息进行统计输出功能。系统管理模块系统管理模块提供用户对用户个人信息的管理和修改的功能。2.3总体结构图把整个系统分为收入管理,支出管理,查

9、询统计管理,系统管理四个模块,收入管理模块分为添加,修改,删除等功能模块。 支出模块与收入模块类似。 查询统计模块分为物品统计信息,收支统计信息两个模块,系统管理模块分为修改密码,修改个人信息等,每个模块完成的功能可以从名字上明显的看出。总体结构图 2-1 如下所示:个人财务管理系统备份恢复系统设置查询统计支出管理收入管理删除记录修改信息添加支出收支统计支出查询收入查询数据备份数据备份基本设置安全设置删除记录修改信息添加收入 图 2-1 总体结构图第三章 数据库概念设计3.1局部e-r图设计1、 用户-收入e-r图设计,如图 3-1所示类型时间来源编号金额备注收 入n用户id密码用 户用户名1

10、电话身份证个性签名图 3-1 用户-收入e-r图2、用户-支出模块设计,如图 3-2所示去向金额类型备注编号时间支 出n用户id用户名1电话密码用 户身份证个性签名图 3-2 用户-支出e-r图3.2数据库的基本er图将两个局部e-r图整合成基本的e-r图,如图3-3所示。来源编号金额类型时间编号金额类型时间备注收 入n用户id1用户名密码用户1电话身份证n支 出个性签名备注去向图 3-3 数据库基本er图其中,用户编号是用户的主键,每个用户都有唯一的编号,其中收入编号是收入的主键,收入类型包括买入、借入,其他,如果是金钱,金额就是金钱的数量,备注就是对事件的详细说明,支出类型包括:借出、消费

11、、其他,备注可以填写用途或原因的说明。第四章 数据库逻辑设计将数据e-r图转换为关系模型如图4-1所示。金额类型时间备注编号密码编号金额类型时间来源收 入n用户id电话1用户名用 户身份证1个性签名n支 出备注去向图 4-1 e-r转关系模型根据系统需求,以及三大范式的基本要求,将e-r图进行转换并进行优化,最终形成三张表,结果如下:用户(用户编号,用户名,密码,电话,身份证,个性签名);收入(收入编号,金额,类型,时间,来源,备注);支出(支出编号,金额,类型,时间,去向,备注);关系依赖:用户编号用户名(每个用户编号只有一个用户名,用户名依赖于用户编号)收入编号收入金额(每个收入编号只能记

12、录当前的收入金额数)支出编号支出金额(每个支出编号只能记录当前的收入金额数)关系模式的范式:1、 用户的范式用户r1(用户编号,用户名,密码,电话,身份证,个性签名)(1)因为关系模式r1中的每个属性都是不可再细分的简单项,所以关系模式r2属于第一范式。(2)关系模式r11nf,其中r1的候选键为用户名,所以r2是第二范式。 (3)关系模式r12nf,且不存在传递函数依赖,所以r3为第三范式。 2、 收入的范式收入r2(收入编号,金额,类型,时间,来源,备注)(1) 因为关系模式r2中的每个属性都是不可再细分的简单项,所以关系模式r2属于第一范式。(2) 关系模式r21nf,其中r2没有候选键

13、,所以r2不是第二范式。3、 支出的范式支出r3(支出编号,金额,类型,时间,去向,备注) (1)因为关系模式r3中的每个属性都是不可再细分的简单项,所以关系模式r2属于第一范式。 (2)关系模式r31nf,其中r3没有候选键,所以r3不是第二范式。数据库相关属性的定义本小节主要是对相关属性的数据类型、长度和是否为主键作相关介绍。具体如表5-1、表5-2、表5-3所示: 表5-1 用户信息表1userinfo - 用户信息表 (table)useridint 否主键identity(1000,1)usernamevarchar10否唯一用户名passwordvarchar10否密码phonev

14、archar11电话idcardvarchar16身份证号码headimagevarchar200用户头像autographvarchar200个性签名表5-2 收入表2income - 收入表 (table)iidint 否主键identity(20000,1)useridint 否外键用户idimoneydecimal(10,2)否金额itypevarchar100收入类型itimesmalldatetime否日期iresourcevarchar200收入来源iremarkvarchar200备注 表5-3 支出表3pay - 支出表 (table)pidint 否主键identity(2

15、0000,1)useridint 否外键用户idpmoneydecimal(10,2)否金额ptimesmalldatetime否日期ptypevarchar100消费类型pgovarchar100消费去向premarkvarchar200备注第五章 数据库实施5.1 创建数据库分别创建3个数据库文件,数据库主文件、辅助文件、日志文件。create database personfinanceon primary( -主文件name = mfinance,filename = d:financepersonfinance.mdf,size = 5mb,maxsize = 100mb,fileg

16、rowth = 1mb),( -辅助文件name = nfinance,filename = d:financepersonfinance.ndf,size = 5mb,maxsize = 50mb,filegrowth = 1mb),( -日志文件name = lfinance,filename = d:financepersonfinance.ldf,size = 5mb,maxsize = 50mb,filegrowth = 1mb)5.2 创建数据基本表根据数据库分析,用户需求分析,以及概念逻辑等设计,创建数据表。5.2.1、用户表用户表主要存储了用户的基本信息(用户名等)和安全信息(

17、密码、身份证等),你可以根据自己的需要来创建多个用户名,其中admin为管理员,只有该用户可以对其他用户进行管理,以及数据的备份和恢复,建议你在刚开始使用的时候创建一个用户名为”admin”的用户。数据库sql语句如下:create table userinfo(userid int identity(1000,1),username varchar(10) primary key ,password varchar(10) not null,phone varchar(11),idcard varchar(16),headimage varchar(200),autograph varcha

18、r(200);5.2.2、收入表收入表是用来存储,所有用户关于收入信息的表,用户可以根据自己的用户名来查询自己的收入信息,数据库sql语句如下:create table income(iid int identity(20000,1) primary key,username varchar(10) foreign key(username) references userinfo,imoney decimal(10,2) default 1 not null,itype varchar(100),itime smalldatetime not null,iresource varchar(2

19、00),iremark varchar(200);5.2.3、支出表支出表是用来存储,所有用户关于支出信息的表,用户可以根据自己的用户名来查询自己的支出信息,数据库sql语句如下:create table pay(pid int identity(300000,1) primary key,username varchar(10) foreign key(username) references userinfo,pmoney decimal(10,2) default 1 not null,ptype varchar(100),ptime smalldatetime not null,pgo

20、 varchar(200),premark varchar(200);为记录下数据备份与恢复的操作记录,扩充一张记录表入下:5.2.4、恢复与备份日志表该表主要是用来记录用户备份和恢复的操作,以便需要时进行查看,数据库sql语句如下:create table brlog(brid int identity(9000,1) primary key,brtype varchar(20),brtime smalldatetime default getdate(),brposition varchar(300)5.3 根据功能需求扩充本系统提供了用户收支的统计功能 以及更具某用户查询该用户的收支情况

21、用户可以根据自己的需求查询自己几个账户的收支情况,也可以根据类型等条件查询某个账户的收支情况,遂创建两个视图 以及两个存储过程5.3.1视图1 收入视图view_income该视图主要用来查询所有用户的收入统计情况,以便用户随时掌握自己的收入情况,分别按照不同的时间段来统计,代码如下:create view view_incomeasselect (select sum(imoney) from income) as 总收入,(select sum(imoney) from income where getdate()-itime=365) as 本年度收入,(select sum(imone

22、y) from income where getdate()-itime=90) as 本季度收入,(select sum(imoney) from income where getdate()-itime=30) as 本月收入,(select sum(imoney) from income where getdate()-itime=1) as 今日5.3.2视图2 支出视图view_pay与收入视图功能类似。代码如下:create view view_payasselect (select sum(pmoney) from pay) as 总支出,(select sum(pmoney)

23、from pay where getdate()-ptime=365) as 本年度支出,(select sum(pmoney) from pay where getdate()-ptime=90) as 本季度支出,(select sum(pmoney) from pay where getdate()-ptime=30) as 本月支出,(select sum(pmoney) from pay where getdate()-ptime=1) as 今日5.3.3存储过程1 收入pro_income该存储过程与收入视图的区别在于它只会统计出自己的收入信息,而不会统计其他用户的收入信息,为方

24、便统计某个用户而设计的。代码如下:create procedure pro_income name varchar(10)asselect (select sum(imoney) from income where username=name ) as 总收入,(select sum(imoney) from income where username=name and getdate()-itime=365) as 本年度收入,(select sum(imoney) from income where username=name and getdate()-itime=90) as 本季度收

25、入,(select sum(imoney) from income where username=name and getdate()-itime=30) as 本月收入,(select sum(imoney) from income where username=name and getdate()-itime=1) as 今日;执行:exec pro_income admin5.3.4存储过程2 支出pro_pay与收入的存储过程功能类似。代码如下:create procedure pro_pay name varchar(10)asselect (select sum(pmoney) f

26、rom pay where username=name ) as 总支出,(select sum(pmoney) from pay where username=name and getdate()-ptime=365) as 本年度支出,(select sum(pmoney) from pay where username=name and getdate()-ptime=90) as 本季度支出,(select sum(pmoney) from pay where username=name and getdate()-ptime=30) as 本月支出,(select sum(pmone

27、y) from pay where username=name and getdate()-ptime=1) as 今日; 第六章 系统实现与维护6.1 系统结构本系统主要包括5大功能模块,收入、支出、统计查询、系统设置、数据恢复与备份,其结构如图 6-1所示。开始注册登录主界面退出收入添加查询支出添加查询统计查询查询统计支出收入系统设置基本安全数据备份数据恢复图 6-1 系统功能结构图6.2 主要功能实现6.2.1 收入与支出实现收入与支出的功能其实差不多,基本功能分为添加、查询,删除和修改功能与统计查询做一块了,用户可以根据收入类型、来源、金额等信息来填写收入相关的添加信息;可以根据支出类型、去向等填写支出相关的添加信息。本系统为用户提供了友好的界面,如图6-2所示。图 6-2 收入界面图6.2.2 统计查询实现该模块实现了统计与查询的功能,按不同时间段统计出收入和消费情况,如图6-3所示。用户也可以根据添加信息时填写的(收入/支出)类型、来源/去向以及时间来查询自己的收入/支出情况。 查询出来的结果可以进行修改,删除操作,如图6-4所示。图6-3 收支统计图6-3 收支查询6.3 系统维护数据对于我们来说是至关重要的,本系统提供

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论