资源描述
软件项目实训汇报
项目名称
个人财务管理系统设计和实现
姓 名
刘志欣
学 号
班 级
13计本1
指导老师
张 峰
汇报日期
年 7 月 1 日
目录
1 个人财务管理系统需求分析 1
1.1 系统需求分析任务和步骤 1
1.2 可行性分析 2
1.2.1 技术可行性 2
1.2.2 操作可行性 3
1.3 功效需求分析 3
1.3.1.前台页面模块 3
1.3.2.后台界面模块 3
1.4 数据流分析 4
1.5 数据字典 5
2 个人财务管理系统总体设计和实现 8
2.1 系统功效设计 8
2.1.1 系统功效模块设计 8
2.1.2 功效模块介绍 8
2.2 数据库设计 10
2.2.1 数据库概念结构设计 10
2.2.2 数据库逻辑结构设计 12
2.2.3 数据库物理结构设计 12
2.3 系统实现 14
2.3.1 账户管理模块 16
2.3.2 收支管理模块 17
2.3.3 卡管理模块 19
2.3.4 留言管理模块 20
3 系统测试 23
3.1 测试环境及方法 23
3.1.1 测试环境 23
3.1.2 测试方法 23
3.2 系统测试结果 24
3.2.1 注册测试 24
3.2.2 登录测试 25
3.2.3 密码修改测试 25
总 结 27
1 个人财务管理系统需求分析
1.1 系统需求分析任务和步骤
任务:调查用户需求,该“用户”关键指系统后台管理员和前台用户,分析用户对系统功效、性能、硬件等具体要求,然后以文本形式作成汇报。本阶段关键是利用图表和文字来表示系统逻辑模型,意在从逻辑上描述系统功效和性能。
步骤: 1.利用图表和文字全方面描述系统。
2.依据用户提出新需求,合适地对系统模型进行改善。
3.编写系统分析文档。
1.2 可行性分析
可行性分析是一个系统开发初始阶段,其意义在于:在尽可能短时间里,花费尽可能小代价确定问题是否能够处理。所以,我们就必需探究清楚原定多种可能方案是否可行,和完成该系统以后系统所能带来效益是否足够大于投资成本。所以,可行性研究是必需,它关键作用是简化系统分析和设计过程,从而以更合理方法来进行系统分析和设计,以确保系统开发成功。
所以说,开发本系统成本少,开发周期短,从经济方面看开发此系统是可行。
1.2.1 技术可行性
本系统开发采取是B/S模式[1]。系统包含用户端和服务器端,对应前台和后台。在服务器端采取是SQL Server 数据库,该数据库含有数据完整行、一致行和安全性特点,并提供了相当安全可靠存放功效,所以比较适合处理中小型系统。它在处理大量数据同时,也能够确保系统完整管理功效。
开发过程中所使用开发软件为MyEclipse,MyEclipse是在Eclipse基础上加入了很多功效强大插件,它继承了Eclipse独特图形API,美化了Java界面,而且提升了界面响应速度。所以,它比Eclipse更含有实用性。
在硬件方面,用户计算机硬件配置只需满足以下条件即可:计算机处理器P4 2.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 数据流分析
数据流分析指对系统数据流动方向进行动态分析,本阶段关键任务就是找出并处理数据流动过程中问题。而现在来说比较常见方法是分层数据步骤图,即Data Flow Diagram,简称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
外键
日期
/4/2 21:35
nvarchar
50
表 1-3 财务资金信息数据字典表
数据项名
内容举例
类型
取值范围
备注
财务编号
1001
int
唯一
财务分类
买东西
nvarchar
50
账户
现金
nvarchar
50
金额
250.50
float
时间
/4/13 18: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
not null
密码
adPw
nvarchar
150
not null
是否为超级管理员
isS
char
2
not null
表 2-2 会员表 student
列名
字段名
数据类型
长度
许可空
用户编号
id
int
not null
姓名
name
nvarchar
150
主键
密码
pwd
nvarchar
150
not null
性别
sex
nvarchar
1
null
年纪
age
int
null
表 2-3 财务资金表 money
列名
字段名
数据类型
长度
许可空
资金编号
id
int
主键
分类
fenlei
nvarchar
50
null
账户
zhanghu
nvarchar
50
not null
金额
jine
float
null
时间
shijian
nvarchar
50
null
备注
info
nvarchar
50
null
收支类型
shouzhi
nvarchar
4
not null
会员姓名
username
nvarchar
150
外键
表 2-4 网站信息表 introd
列名
字段名
数据类型
长度
许可空列名
信息编号
introdNo
int
主键
信息名称
introdName
nvarchar
50
not null
具体信息
introdMsg
nvarchar
150
表 2-5卡信息表 card
列名
字段名
数据类型
长度
许可空
卡编号
id
int
主键
卡名
name
nvarchar
50
not null
类别
style
nvarchar
100
null
卡账号
code
nvarchar
100
not null
备注
info
nvarchar
100
null
会员名
username
nvarchar
150
外键
表 2-6 留言信息表 message
列名
字段名
数据类型
长度
许可空列名
留言编号
mid
int
主键
内容
msg
nvarchar
62
not null
公布者
appuser
nvarchar
150
外键
日期
date
datetime
50
null
2.3 系统实现
在管理员登录系统前需经过用户名、密码和验证码验证,验证成功后方可进入后台界面。能够登录后台界面人员包含一般管理员和超级管理员,超级管理员不能被删除,能够被修改权限为一般管理员,超级管理员在拥有一般管理员权限基础上,额外拥有管理一般管理员信息和管理用户密码权限。一般管理员没有编辑其它管理员信息和用户密码权限,不过能够对网站介绍、用户信息及留言信息进行管理。
由上所建立系统步骤图以下所表示:
1.前台界面模块:
图 2-11 前台界面系统步骤图
2.后台界面模块:
图 2-12 后台界面系统步骤图
本章以下几节具体将说明前台界面各模块具体实现。
2.3.1 账户管理模块
当用户第一次进入系统时,在系统首页面板上含有登录、注册模块,用户必需首先选择注册,注册成功后用户重新进入首页选择登录,在用户登录成功后,能够选择修改密码,修改成功后必需重新登录系统。以上功效组成过了账户管理模块,其具体工作步骤图以下图2-13所表示:
图2-13 账户管理模块工作步骤图
2.3.2 收支管理模块
用户在登录系统以后,能够在收支管理模块中进行收支统计添加、修改、删除、查询操作,和导出收支统计文件、查看收支统计动态柱状图。本模块工作步骤图图2-17所表示:
2.3.3 卡管理模块
用户在登录系统以后,能够在卡管理模块中进行卡信息统计添加、修改、删除操作,查看卡信息饼状图。本模块工作步骤图图2-22所表示:
图2-22 卡管理模块工作步骤图
2.3.4 留言管理模块
网站留言板。用户能够发表对网站提议,意见等和管理本人留言,本模块工作步骤图图2-24所表示:
图2-24 留言管理模块工作步骤图
3 系统测试
软件测试是软件开发过程中关键一步,本阶段目标是测试一个程序品质和性能,然后对比开发前规范是否一致,以确保是否符合要求。软件测试目标是发觉错误,这一步是软件质量确保关键。
测试内容:在软件投入运行前,对软件需求分析、设计规格说明和编码最终复审。
测试目标:确保软件质量符合要求;给风险评定提供依据。
测试标准:
1.从用户角度出发:在软件测试中发觉一些问题是否能够修复,或用户是否能够接收。
2.从开发者角度出发:就是期望经过测试表明本软件不存在错误,能够正确满足用户需求。
3.1 测试环境及方法
3.1.1 测试环境
此次软件测试需要软件环境为:在操作系统Windows7下,安装了MyEclipse,Chrome浏览器,Office,SQL Server等软件。
软件测试需要硬件配置为:计算机处理器P4 2.0G及以上,计算机RAM满足512M或以上(用户端128M或以上),硬盘存放满足40G或以上,总体来说低于市面上一般电脑配置。
3.1.2 测试方法
通常来说,软件测试方法从原理上来说大致分为两类:白盒测试和黑盒测试。
1. 黑盒测试:顾名思义,黑盒测试就是把我们所测试系统看做是一个不透明黑盒子,我们不知道盒子里面结构,即不知道系统底层工作原理,黑盒测试只针对系统是否能够实现某一功效进行测试,它检验系统是否能够根据说明书要求正常被使用,系统是否能够正常接收、产生数据,并保持数据完整性[3]。
2. 白盒测试:白盒测试就是把系统当做是一个透明盒子,我们能够完全了解系统结构和工作步骤,白盒测试关键是为了测试系统内部逻辑是否符合预定要求[3]。
因为本系统结构相对简单,对逻辑性要求不高,而且,我们只要求系统在功效上达成要求,而对系统工作步骤、处理逻辑没有严格要求。所以,为了节省成本,本节关键利用了黑盒测试对系统部分功效进行测试。
总 结
在这短短多个星期中,我充足认识到本身很多不足,所以,接下来时间,我还需要不停努力来充实自己和完善自己,这么才能突破本身,提升自己能力。
本系统是采取Java + SQL Server模式订制个人财务管理系统。系统功效比较完善,用户经过操作Web界面来操作系统,系统经过Web界面来为用户展现数据,同时经过数据库来存放交互信息数据。本系统实现了对数据查询、编辑和管理等基础数据库操作。
本系统基础满足了用户在个人财务管理方面需要,实现了用户所要求功效。在界面风格上尽可能做到美观,在操作方面尽可能做到简单明了,尽可能避免因为职员操作不正确带来系统犯错现象。但因为时间担心,本系统还存在一些不足之处:界面不够友好,需要深入完善;数据库性能有待深入优化,即使有过改善,但难以达成理想状态,部分数据库表设计存在一定冗余,有待深入完善。为了使界面愈加美观,能够选择利用不一样界面之间共享函数和变量来简化程序代码,而对于界面之间功效相同模块能够将其提取出来作成一个公共模块,这么就能够整体提升系统运行速率;另外,能够选择使用数据库连接池技术提升数据库操作性能;数据库关系模式也能够深入规范化,降低冗余[4]。
展开阅读全文