个人财务管理系统设计实现.docx
《个人财务管理系统设计实现.docx》由会员分享,可在线阅读,更多相关《个人财务管理系统设计实现.docx(22页珍藏版)》请在冰豆网上搜索。
个人财务管理系统设计实现
软件项目实训报告
项目名称
个人财务管理系统设计与实现
姓名
志欣
学号
1212210139
班级
13计本1
指导教师
峰
报告日期
2016年7月1日
1个人财务管理系统需求分析
1.1系统需求分析的任务与步骤
任务:
调查用户需求,该“用户”主要指系统的后台管理员以及前台用户,分析用户对系统功能、性能、硬件等的具体要求,然后以文本形式作成报告。
本阶段主要是利用图表与文字来表示系统的逻辑模型,旨在从逻辑上描述系统的功能和性能。
步骤:
1.利用图表和文字全面描述系统。
2.根据用户提出的新需求,适当地对系统模型进行改进。
3.编写系统分析文档。
1.2可行性分析
可行性分析是一个系统开发的初始阶段,其意义在于:
在尽可能短的时间里,花费尽量小的代价确定问题是否可以解决。
因此,我们就必须探究清楚原定的各种可能的方案是否可行,以及完成的该系统之后系统所能带来的效益是否足够大于投资的成本。
所以,可行性研究是必要的,它的主要作用是简化系统分析与设计的过程,从而以更合理的方式来进行系统分析与设计,以保证系统的开发成功。
所以说,开发本系统的成本少,开发周期短,从经济方面看开发此系统是可行的。
1.2.1技术可行性
本系统开发采用的是B/S模式[1]。
系统包括客户端和服务器端,对应前台和后台。
在服务器端采用的是SQLServer2005数据库,该数据库具有数据的完整行、一致行以及安全性的特点,并提供了相当安全可靠的存储功能,因而比较适合处理中小型系统。
它在处理大量数据的同时,也能够保证系统的完整管理功能。
开发过程中所使用的开发软件为MyEclipse,MyEclipse是在Eclipse的基础上加入了许多功能强大的插件,它继承了Eclipse独特图形API,美化了Java界面,并且提高了界面的响应速度。
因此,它比Eclipse更具有实用性。
在硬件方面,用户计算机的硬件配置只需满足以下条件即可:
计算机处理器P42.0G及以上,计算机RAM满足512M或以上,硬盘存储满足40G或以上,该硬件环境要求明显低于市面上的普通电脑配置。
所以,从技术方面来看开发此系统是可行的。
1.2.2操作可行性
由于本系统是基于B/S模式开发的,用户可以通过浏览网页的方式进入本系统的操作界面,使得用户无论在世界哪个角落,无论在什么时候,只需能连上互联网,就能登录本系统进行相关记录的插入、修改、删除等操作。
操作简单直接,一切操作都可以在浏览器上完成。
客户端不需要额外安装软件,用户使用不需要提前培训,所以,该系统是简单可操作的。
1.3功能需求分析
在生活中,我们每个人都有理财需求。
而最传统的理财方式就是准备一本记账簿,然后对其进行账目的手工记录。
甚至多数人没有记账习惯,也就没有理财规划,导致账目混乱。
所以,设计个人财务管理系统是非常有必要的,它实现的功能有以下几个方面:
1.3.1.前台页面模块:
1)个人收支管理:
它的功能包含对收入支出记录的增添(除现金外,只能对现有卡进行增加操作)、更改、删除、筛选查询(分为按日期查询和按账号查询)、金额统计和以Excel文件形式导出数据(只能导出当前的筛选查询结果)。
一条完整的收支记录包含记录名称、说明、金额数量、收支选择、日期。
2)收支报表:
它主要负责将收支数据分别以柱状图、饼状图展现给用户,给用户提供以不同角度分析数据的条件。
3)卡信息管理:
用户可以对自己的银行卡、基金卡进行增加、修改、删除,在编辑的同时保持与所编辑卡的记录相关联。
4)留言管理:
用户在登录后可以在本系统留言板发表自己的意见与建议。
5)账号管理:
用户可以进行注册操作(不能出现用户名重名的现象)以及对自己账户的密码进行修改。
1.3.2.后台界面模块:
分为管理员角色与超级管理员角色:
1)管理员:
查看当前系统的参数的功能,修改简介信息。
对用户信息进行维护(增加、删除、修改、查询)的权限,但不能编辑用户密码。
对留言板进行查看和管理,有权限删除不合理的留言。
2)超级管理员:
在管理员的基础上额外增加管理普通管理员和管理用户密码的功能。
1.4数据流分析
数据流分析指对系统的数据流动方向的进行动态分析,本阶段的主要任务就是找出并解决数据流动过程中的问题。
而目前来说比较常用的方式是分层数据流程图,即DataFlowDiagram,简称DFD。
数据流分析的主要工作是分析系统的数据流程,然后将该流程中所涉及的数据抽象出来,用数据流程图的方式来描述该系统的数据流程。
经过以上的步骤来分析本系统的数据流程,初步确定了系统数据的流动方向,以及系统的主要模块和功能划分,本系统模块大致分为:
收入管理模块、支出管理模块、卡管理模块、财务统计模块、留言管理模块、用户管理模块,分析后得出以下流程图:
图1-1个人财务管理系统顶层DFD图
图1-2个人财务管理系统数据流图(0层图)
图1-3用户注册数据流图
图1-4管理员登录数据流图
1.5数据字典
在本章的前面几个阶段已经分析出了系统的数据流动方向,而本阶段的目的是设计数据,从而得到设计结果:
数据字典。
数据字典就是指某些数据的集合,而这些数据必须包含于数据流图中,即数据字典详细记录了数据流图中的数据的信息。
经过详细的设计后得出如下数据字典:
表1-1管理员信息的数据字典表
数据项名
容举例
类型
取值围
备注
管理员编号
1001
int
唯一
账户名
天高
nvarchar
150
唯一
密码
ytg123
nvarchar
150
是否为超级管理员
是
char
2
表1-2留言信息的数据字典表
数据项名
容举例
类型
取值围
备注
留言编号
1001
int
唯一
留言信息
系统还行
nvarchar
62
留言人
三
nvarchar
150
外键
日期
2016/4/221:
35
nvarchar
50
表1-3财务资金信息的数据字典表
数据项名
容举例
类型
取值围
备注
财务编号
1001
int
唯一
财务分类
买东西
nvarchar
50
账户
现金
nvarchar
50
金额
250.50
float
时间
2016/4/1318:
50
nvarchar
50
备注
用于投资
nvarchar
50
收支
shou
nvarchar
4
会员名
四
nvarchar
150
外键
表1-4用户信息的数据字典表
数据项名
容举例
类型
取值围
备注
用户编号
1001
int
唯一
用户名
王五
nvarchar
150
唯一
密码
wg456
nvarchar
150
性别
男
nvarchar
1
年龄
23
int
表1-5信息的数据字典表
数据项名
容举例
类型
取值围
备注
信息编号
1001
int
唯一
信息名称
简介
nvarchar
50
唯一
具体信息
随手理财好帮手
nvarchar
300
2个人财务管理系统的总体设计与实现
2.1系统功能设计
2.1.1系统功能模块设计
本系统分为账户管理、收支管理、卡管理、留言管理模块,其系统功能模块如图2-1所示:
图2-1个人财务管理系统的功能模块图
2.1.2功能模块简介
在上一节的图2-1中已经说明了个人财务管理系统的总体功能,以下是每个功能的简介:
由于本系统属于管理系统,许多功能都是通过管理模块实现。
所以,在这里首先介绍管理模块。
管理模块容要比客户模块更多,因为存在许多对信息的维护工作,包含有查询、添加、更改和删除等操作。
页面的命名采用“模块名+功能名”的方式,见名知意。
总体来说,用户用例图2-2管理员用户图2-3所示管理模块具有如下功能:
系统前台:
1.账户管理模块:
1)注册:
用于前台用户的注册。
2)登录:
用于前台用户的系统登录。
3)修改密码:
用户登录后可以选择修改本账户密码。
2.收支管理模块:
1)收支分析:
显示年/月收支总额。
2)收入管理:
收入记录的录入,查询,编辑,添加。
3)支出管理:
支出记录的录入,查询,编辑,添加。
4)统计分析:
以报表形式展示用户的财务数据,方便用户进行统计分析。
3.卡管理模块:
用户对自己的信用卡,储蓄卡,基金卡等进行管理维护。
4.留言管理模块:
发表对使用问题,建议,意见等;删除本人留言。
图2-2用户用例图
系统后台:
1)系统参数:
管理员可以查看系统运行环境,编辑前台简介信息。
2)管理员维护:
对后台管理员的信息进行维护。
3)用户管理:
对前台用户的信息进行维护。
4)留言管理:
对留言板信息进行维护。
图2-3管理员用户图
2.2数据库设计
2.2.1数据库概念结构设计
本系统采用ER图方法描述数据对象之间的关系。
采用该方法设计数据库,大致分成三步:
1.设计局部ER模式。
2.综合局部ER模式,然后将之整合为一个整体,得到全局ER模式。
3.优化全局ER模式。
从而得到逻辑结构模型。
设计规划出的实体有:
管理员、用户实体、收支记录、卡、留言、信息,ER图如下所示:
图2-4管理员信息实体E-R图
图2-5用户对象实体E-R图
图2-6收支对象实体图E-R图
图2-7卡对象实体E-R图
图2-8留言相对实体E-R图
图2-9信息相对实体E-R图
通过整合上述局部ER图,得到如下全局ER图,。
其中每个用户可以同时拥有N卡、N条收支记录以及管理N条本人留言;每卡可以拥有M条收支记录;多个管理员管理一条信息;管理员与用户的管理关系为M:
N;管理员与留言的管理管理为M:
N。
详情如图2-10所示:
图2-10整体E-R图
2.2.2数据库逻辑结构设计
此阶段就是根据本章第一节的设计好E-R图设计相对应的逻辑结构,则设计好的逻辑结构如下:
1.管理员:
管理员编号(主键),管理员账户名,管理员密码
2.用户:
用户编号(主键),账户名,密码,性别,年龄
3.收支:
收支编号(主键),收支类别,分类,备注,账户,添加时间,用户名(外键),金额
4.卡:
卡编号(主键),用户名(外键),卡账号,备注,卡名字,卡类型
5.留言:
留言编号(主键),留言人(外键),留言容,留言日期
6.信息:
信息编号(主键),信息名称,信息容
2.2.3数据库物理结构设计
本系统在数据库中的表设计如下所示(每个表对应数据库一表):
表2-1管理员表admin
列名
字段名
数据类型
长度
允许空
用户编号
adno
int
主键
用户名
adName
nvarchar
150
notnull
密码
adPw
nvarchar
150
notnull
是否为超级管理员
isS
char
2
notnull
表2-2会员表student
列名
字段名
数据类型
长度
允许空
用户编号
id
int
notnull
name
nvarchar
150
主键
密码
pwd
nvarchar
150
notnull
性别
sex
nvarchar
1
null
年龄