收藏 分销(赏)

个人财务管理系统设计与实现样本.doc

上传人:w****g 文档编号:9276015 上传时间:2025-03-19 格式:DOC 页数:34 大小:2.83MB
下载 相关 举报
个人财务管理系统设计与实现样本.doc_第1页
第1页 / 共34页
个人财务管理系统设计与实现样本.doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 软件项目实训报告 项目名称 个人财务管理系统设计与实现 姓 名 刘志欣 学 号 班 级 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]。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服