范文一:家庭财务管理系统论文
家庭财务管理系统
Family Financial Management
姓 名: QQ:527953437
学 号:
系 别: 计算机科学与工程
专 业: 计算机科学与技术
年 级:
指导教师:
年 月 日
摘 要
随着互联网的不段发展,人们越来越多的用互联网来丰富自己的生活,家庭财务管理也在不断的变革,以前我们用纸记录,而现在很多都用计算机管理自己的财务,这样更加的方便、简单、实用、快捷和直观,也能更好的显示出收入、支出和转账,统计方面也可以更直观的显示出每月、没年的财务报表,更好的规划好自己的每一笔钱,得到尽可能高的收益率,功能主要有收入、支出、转账和财务统计等,利用这个系统可以充分管理自己的财务。
家庭财务管理系统前台主要使用JSP作为开发语言,后台使用的是hibernate连接Mysq作为数据库管理系统,开发环境是Eclipse,开发框架struts2、hibernate、spring,服务器使用的是tomcat 7.0,开发出的一个基于Web技术的B/S结构的家庭财务管理系统。
关键词:财务,管理系统,JSP,B/S结构
I
ABSTRACT
With the continuous development of the Internet, more and more people use the Internet to enrich their own life, family financial management is also in constant change, we use paper record before, but now many are using computer manage their financial, so that more convenient, simple, practical, fast and intuitive, can better display the income and expenditure and transfer, Statistics also show a more intuitive monthly, annual financial statements,a better plan their every sum of money, get yield as high as possible, the main functions have income, spending, transfer and financial statistics, and so on, the system can be used to full control of their finances.
The front of family financial management using JSP as a development language, the use of Mysql as a database management system, the development environment is
Eclipse,development framework is struts2 hibernate and spring, server using tomcat 7.0, developed a Web technology based on B / S structure of the district property management system.
Key words: financial, management system, JSP, B / S structure
II
目 录
摘 要 ................................................................................................................ I ABSTRACT ...................................................................................................... II
绪论 ............................................................................................................... 1 1
1.1课题背景 ..................................................................................................... 1 1.2开发工具及技术 .......................................................................................... 2 1.2.1开发工具 ................................................................................................... 2 1.2.2 Struts 2简介.............................................................................................. 3 1.2.3 Hibernate简介 .......................................................................................... 3 1.2.4 Spring简介 .............................................................................................................. 3 1.3软硬件需求 .................................................................................................. 4 2 需求分析 ....................................................................................................... 5 2.1可行性分析 .................................................................................................. 5 2.1.1技术的可行性 ........................................................................................... 5 2.1.2经济的可行性 ........................................................................................... 5 2.1.3操作可行性 ............................................................................................... 5 2.1.4法律的可行性 ........................................................................................... 5 2.2系统用户用例图 .......................................................................................... 6 2.2.1管理员用例图 ........................................................................................... 6 2.2.2普通用户用例图 ....................................................................................... 6 2.3功能模块需求分析 ...................................................................................... 7
III
2.4性能需求...................................................................................................... 8 2.4.1系统的安全性 ......................................................................................................... 8 2.4.2数据的完整性 ......................................................................................................... 8
系统设计 ....................................................................................................... 9 3
3.1数据库结构设计 .......................................................................................... 9 3.2数据库的连接原理 ................................................. 错误~未定义书签。11 3.3中文乱码问题处理 ...................................................................................... 5 4 系统功能实现 ................................................................................................ 6 4.1系统登陆页面实现 ...................................................................................... 6 4.2注册功能模块 .............................................................................................. 7 4.3管理功能模块 .............................................................................................. 8 4.3.1注册用户管理 ......................................................................................... 18 4.3.2安全退出系统 ......................................................................................... 19 4.4用户模块.................................................................................................... 19 4.4.1收入信息管理 ......................................................................................... 19 4.4.2转账管理 ................................................................................................. 11 4.4.3投资信息管理 ......................................................................................... 14 4.4.4支出信息管理 ......................................................................................... 15 4.4.5分类管理 ................................................................................................. 17 4.4.6财务统计模块 ......................................................................................... 25 4.4.7理财日志模块 ....................................................................................................... 27
IV
4.4.8用户管理 ................................................................................................................ 28
系统测试 ..................................................................................................... 29 5
5.1系统测试.................................................................................................... 29 5.2其他错误................................................................. 错误~未定义书签。32 致 谢 .......................................................................... 错误~未定义书签。33 参考文献 ...................................................................... 错误~未定义书签。34 附录 .............................................................................. 错误~未定义书签。35
V
1 绪论
1.1课题背景
随着全球经济的快速发展,家庭收入支出也越来越复杂,随着房产热、私家车、旅游等进入寻常家庭,如何享受财富也慢慢的成为每个家庭关注的问题。《中国统计年鉴》的资料表明,近13年来,中国物价上涨率平均达到了6.5,,这一数字意味着,如果不用于投资理财,我们手头的现金每年就会减少6.5,。从20世纪90年代国内第一家银行推出个人理财产品,到目前几乎所有的银行都拥有了个人理财部,有些甚至引进了更高层次的贵宾理财。这就要求有更好的家庭财务软件。
现代家庭与传统家庭在理财方面也出现了许多不同,两相比较,现代家庭财务难度更大,其中还潜藏了多种理财危机。其一是收入虽增,支出更大。由于现在人们生活质量越来越高,消费带来的诱惑也大,收入虽较丰厚,花费也比以往高出很多。其二是投资虽广,风险也高。传统家庭财务方式多半以储蓄为主,财富累积速度虽慢,但风险也低,至少不会把本金赔掉。而现在投资理财工具多样化,但若未具备专业知识而盲目理财,其结果不仅白忙一场,还可能因此赔掉老本。其三是子女虽少,花费更多。现代家庭普遍响应计划生育,只有一个孩子,但由于父母十分重视孩子的养育,花在生活上、学习教育上的费用比以前多得多。其四是借钱虽易,利息巨增。
我国居民的储蓄存款超过十万亿人民币。特别是像上海、深圳等发达城市,居民的可支配收入正在逐步达到中等发达国家水平,家庭除了买房、买车外有大量的资产,如何合理的管理自己的资产呢,怎样计划自己的剩余财产,怎么筹集资金,成为一个现实的问题。
家庭财务系统以家庭财务的概念、理论、本质为基础,剖析了家庭的经济结构,并对理财市场和理财产品进行了分析,在此基础上提出了家庭财务的模式及如何进行家庭财务规划。 家庭财务系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个系统,它对于家庭来说是很重要的,因此家庭财务系统能为家庭成员带了诸多方便,使家庭成员更能够合理的管理财务。
随着科学技术的不断提高,网络化日渐成熟,网上银行的快速发展,让人们都喜欢在网上交易,它也进入了人们的生活并发挥着越来越重要的作用。
1
作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率,也是家庭财务的科学化、正规化管理,与先进科学技术接轨的重要条件。
1.2开发工具及技术
1.2.1开发工具
这次毕业设计主要采用Eclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对Eclipse、Tomcat和MySQL数据库进行简要介绍。 1. Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 2. Tomcat
Tomcat是一个免费的开源的Servlet容器,它是Apache基金会资助Jakarta的一个核心子项目,尤其适合轻量级的Java EE应用。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。本次设计采用的是Tomcat 7.0作为Web服务器。当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
3. MySQL
MySQL是一种数据库管理系统。数据库是数据的结构化集合,它可以是任何东西,从简单的购物清单到企业网络中的海量信息。要想将数据添加到数据库,或访问、处理计算机数据库中保存的数据,需要使用数据库管理系统,如MySQL服务器。MySQL是一种关联数据库管理系统,MySQL软件是一种开放源码软件,也是完全网络化的跨平台关系型数据库系统,一个真正的多用户、多线程SQL数据库服务器,同时是具有客户机/服务器体系结构的分布式数据库管理系统,它是工作在客户端/服务器模式下,
2
或嵌入式系统中。 MySQL数据库服务器具有快速、可靠和易于使用的特点。
1.2.2 Struts 2简介
Struts 2 是一个基于MVC架构的框架,既然这么多框架都遵循MVC架构,它一定有很多有电。下面简单介绍MVC的含义,然后介绍Struts 2的体系结构。
MVC简介:
MVC包含3个基础部分:Model、View、Controller,这3个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性。在前面章节的综合实例中,其实已经出现了MVC的身影:JSP页面作为View、Servlet作为Controller,而JavaBean作为Model。
Struts 2体系结构:
Struts 2的基本流程如下。
(1) Web浏览器请求一个资源。
(2) 过滤器Dispatcher查找请求,确定适当的Action。
(3) 拦截器自动对请求应用通用功能,如验证和文件上传等操作。
(4) Action的execute方法通常用来存储和(或)重新获取信息(通过数据库)。
(5) 结果被返回到浏览器,可能是HTML、图片、PDF或其他文档格式。
其实,Struts 2框架的应用着重在控制上。简单的流程是:页面->控制器->页面。最重要的是控制器的取数据与处理后传数据的问题。
1.2.3 Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有2个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这2个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
3
1.2.4 Spring简介
Spring是一个开源框架,由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发,从简单些、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Spring框架的主要优势之一是其分层架构,分层架构允许选择使用任一个组件,同时为Java EE应用程序开发提供集成的框架。Spring框架的分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理Bean的方式。
1.3软硬件需求
硬件需求:
CPU:Pentium以上计算机
内存: 512M以上
软件需求:
操作系统版本:Windows XP /vista/Win7
开发工具:Eclipse Java EE IDE for Web Developers
后台服务器:Apache Tomcat 7.0
开发语言:Java
浏览器:Chrome
4
3.3中文乱码问题处理
在程序中经常会遇到中文乱码的情况,把数据库设成utf-8,界面里也<%@ page language="java" pageEncoding="UTF-8"%>就可以了。
5
第四章 系统功能实现
4.1系统登陆页面实现
1.描述:为了保证系统的安全性,首先必须使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。如果没有登录直接输界面也会提示没有登录请先登录才能操作。
2.程序运行效果图如图4.1和4.1.1所示:
图4.1 系统登陆页面设计
6
图4.1.1 直接输地址进入系统
3.在登陆页面输入用户名、密码和验证码以后,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码进行判断,验证通过进入相应的页面,loginservice关键代码:
4.2注册功能模块
1.描述:如果还没注册的家庭成员,点击注册便会弹出注册框,然后填写相应的资料提交便有自己的帐号了,如果用户名存在会弹出提示用户也存在,如果密码不一致也会提示用户,密码、用户名等没填也会提示填写。如果注册成功会自动关闭窗口返回到登录界面。
2.程序运行效果图如图4.2所示:
4.2注册用户界面
3.注册的时候前台判断填写的内容不能为空、密码不一致等,注册时跳转到注册action中,判断用户名是否存在,如果不在则提交到数据库,注册成功。
4.3管理员功能模块
1.描述:系统主页面:左侧页面显示了管理员可操作的二个功能,进入相关的管理页面可以链接到子菜单,然后在右边显示出来,每个管理模块下面都有相应的子菜单。
2.程序运行效果图如图4.3所示:
7
图4.3管理员主页面
在每个jsp页面用struts2的拦截器对相关用户进行拦截操作,所用到的类跟用户登录时拦截用户的一样。这样可以提高安全性,防止用户不经过登陆页面而进入主界面进行操作:
>
4.3.1注册用户管理
1.注册用户管理
1.描述:管理员点击左侧的菜单“注册用户管理”,页面就会跳转到注册用户管理界面,调用后台的action类查询出所有的用户信息,并把这些信息封转到数据集合
8
List中,绑定到request对象,然后通过struts的配置文件跳转到相应的jsp,显示出用户信息。
2.程序效果图如下图4.4所示
图4.4用户信息管理
2.用户信息删除
1.描述:先是点击用户信息管理,页面就会跳转到用户信息管理界面,然后就可以看见所有的用户信息,点击要删除的用户信息,点击确认按钮,完成用户删除操作。
2.程序效果图如下图4.5所示
图4.5 用户信息删除
4.3.2安全退出系统
1.描述:点此按钮回到系统登录时的主页面。
2.关键代码:主要是通过javascript语句来实现, session.invalidate();
window.top.location.href="../login.jsp"; 4.4用户模块
4.4.1收入信息管理
9
1.收入信息添加
(1)描述:用户登录成功后,在收入下添加收入按钮,如果是没有输入完整的收入信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onclick="c()"来检查,function c()函数中是各种的校验输入数据的方式。
(2)程序效果图如下图4.6所示
图4.6 收入信息添加
2.收入信息管理
(1)描述:用户点击左侧的菜单收入下的“收入管理”,页面跳转到收入信息管理界面,调用后台的action类查询出所有的收入信息,并把这些信息封转到数据集合List中,绑定到request对象,然后通过struts.xml文件跳转到相应的jsp中去,显示出收入信息。
(2)程序效果图如下图4.7所示
图4.7 收入信息管理
3.收入信息删除
(1)描述:先是点击收入管理,页面跳转到收入管理界面,浏览所有的收入信息,点击要删除的收入信息,点击确认按钮,完成收入删除操作。
(2)程序效果图如下图4.8所示
10
图4.8 收入信息删除
4.收入信息修改
(1)描述:先是点击收入下的收入管理,页面跳转到收入管理界面,浏览所有的收入信息,点击编辑则可修改收入信息,跳转到修改界面,修改要改的提交就可完成操作。
(2)程序效果图如下图4.9所示
图4.9 收入信息修改
5.收入查询
1.描述:先点击收入下的收入查询,然后跳转到收入查询界面,然后选择你要查询的时间段跟成员就可以查询这一时间段内,你的收入情况。
2.程序效果如图4.10和4.11所示
11
4.10查询界面
4.11 查询结果
4.4.2转账管理
1.转账添加
(1)描述:用户点击左边导航转账下的转账添加,便会跳转到添加转账的界面,如果没有输入完整的收入信息,都会弹出相应的错误提示,不能录入成功。录入成功跳转到转账情况。
(2)程序效果图如下图4.12所示:
12
图4.12转账添加
2.转账信息管理
(1)描述:用户点击左侧的菜单转账下的“转账管理”按钮,页面跳转到转账信息管理界面,调用后台的action类查询出所有的收入信息,并把这些信息封转到数据集合List中,绑定到request对象,然后通过struts.xml里的路径跳转到相应的jsp,显示出收入信息。
(2)程序效果图如下图4.13所示
图4.13 转账信息管理
3.转账信息删除
(1)描述:先是点击左侧菜单转账下转账管理,页面跳转到消费信息管理界面,浏览所有的消费信息,点击要删除的消费信息,点击确认按钮,完成收入删除操作。
(2)程序效果图如下图4.14所示
图4.14转账信息删除
4. 转账信息编辑
13
(1)描述:点击编辑按钮,然后就会调转到修改界面,然后修改要改的数据提交就可以了。
(2)效果如下图4.15所示
图 4.15 修改信息
5. 转账查询
(1)描述:点击左侧菜单转账下转账查询,然后跳转到查询界面,填写你要查询的时间段和账户转出转入提交便可。
(2)效果如下图4.16和图4.17所示:
图 4.16 转账查询界面
图 4.17 转账查询成功界面
4.4.3投资信息管理
投资信息实现基本和收入、支出模块一致,就不多介绍
14
4.4.4支出信息管理
支出信息管理和收入、转账模版一致,就不多介绍
4.4.5分类管理
1描述:先是点击分类管理,页面跳转到分类信息管理界面,界面有一导航,里面有添加收入分类、收入分类、添加支出分类、支出分类、成员添加、成员分类、添加账户、账户分类,点击就会出现相应的网页添加跟查看分类。分类信息可删除和修改。
2程序效果图如下图4.18和4.19所示
图4.18分类添加
图4.19 分类查看
4.4.6财务统计模块
1.账户信息
(1)描述:查询自己的钱包、银行卡、支付宝里还有多少钱,并且可以看见流出和流入,以表格的形式显示出来,同时也用饼状图显示出来,给人一种较好的视觉效果,饼状图这个地,使用的是jfreechart这个开源的控件实现。
(2)程序效果图如下图4.20所示:
15
图 4.20 财务情况表
账户信息关键代码:
2. 每日统计分析
(1)描述:统计每一天的收入和消费情况,以表格的形式显示出来,同时也用饼状图显示出来,给人一种更好的视觉效果,饼状图这个地,使用的是jfreechart这个开源的控件实现。
(2)程序效果图如下图4.21所示:
图4.21每日统计模块
16
3.每月统计分析
每月统计分析实现和每日统计分析实现,基本一致,不多介绍。
4.每年统计分析
每年统计分析实现和每日、每月统计分析实现,基本一致,不多介绍
5.总资产
(1)描述:点击左侧菜单财务统计下的总资产。然后就会在右侧显示出家庭中总收入、总支出和家庭中还剩多少钱。
(2)程序效果如图4.22所示:
图 4.22 总资产
4.4.7理财日志模块
1.理财日志添加
(1)描述:输入标题和内容点击提交即可。
(2)程序效果图如图4.23所示:
图4.23 理财日志添加
(3)这里使用到的是从http://java.fckeditor.net网站上面下载的一个在线编辑器。下
17
载相关文件之后导入到webroot文件夹下面,记事本打开ewebeditor.htm文件,将config.ServerExt = "asp";改为config.ServerExt = "jsp";最后在发布信息页面引入<%@ taglib uri="http://java.fckeditor.net" prefix="FCK"%>即可。
2.理财日志管理
(1)描述:点击左侧的菜单“日志管理”,页面跳转到理财日志管理界面,调用
出所有的理财日志信息,并把这些信息封转到数据集合后台的理财日志Action类查询
List中,绑定到request对象,然后页面跳转到相应的jsp,显示出理财日志信息。
(2)程序效果图如图4.24所示:
图4.24 理财日志管理
4.4.8 用户管理
1.修改个人资料
(1)描述:用户登录系统后,也是点击左侧菜单用户管理下的修改个人信息,就可以修改自己的个人信息。用户也可以点击顶部的用户名然后也可以跳转到修改用户信息界面。
(2)程序效果图如图4.25所示:
图4.25 修改个人信息
18
2. 修改密码
(1)描述:点击用户管理下的修改密码,然后跳转到修改密码界面,输入正确的原
始密码后,再输入两次一样的新密码就可以修改密码。
(2)程序效果如图4.26所示
图 4.26 修改密码
3. 退出系统
(1)描述:点击左侧菜单用户管理下的安全退出系统或者顶部的退出,用户就可以
退出系统。
(2)效果如图4.27所示
图4.27 退出系统
第五章 系统测试
5.1系统测试
19
由于在测试之前的各种阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用。所以软件测试是一个非常重要的环节,在系统设计的时候不可能避免不出错,我们尽可能的在每个阶段都细心一点,并且早点发现问题并纠正。如果我们都知道了产品应该具有的功能,可以通过测试来检查是否每个功能都能正常运行。
1.进入系统后,注册跟登录,出现以下内容:
图 5.1 用户注册 图 5.2 用户名也存在
图 5.3 验证码错误 图 5.4 用户名或密码错误
20
图 5.5 登录成功
2.进入到系统后添加、删除、编辑等,出先以下内容
图 5.6 添加成功 图 5.7 删除成功
图 5.8 修改内容
图 5.9 统计财务
21
图 5.10 修改个人信息 图 5.11 修改密码
经调试,整个系统可正常运行。
5.2其他错误
在做设计的时候,不可避免的出现各种各样的错误,如路径问题显示404错误或者图片不显示,如struts.xml文件没配置好出现action的问题,applicationContext.xml
文件配置出错也会显示404,传值类型不一致、参数传递问题等等。这些问题在查看错误信息跟代码后才能逐步解决。粗心错误导致出现很多问题,后来细心检测都解决了。
22
致 谢
在家庭财务管理系统的开发过程中,何老师给了我很多指导和帮助,在这里向何老师表示忠心的感谢,在网站建设上,老师给了我很多的建议,让我的系统也更加完善。何老师认真负责的工作态度,也是我学习的榜样。在这里也感谢班上的同学也给了我很多帮助,很多时候一个问题实在不知道错在哪,问问同学多一双眼睛多一种思维,慢慢的问题就解决了。还有群里很多网友也给了我很多帮助。在这里向他们表示忠心的感谢。
这次毕业设计让我学会很多东西,一开始很多都不懂,现在很多方面都有个头绪了。现在遇见问题差不多能慢慢的判断出来,动手能力也提高了不少。这次毕业设计收获了很多东西。
23
参考文献
[1] 杨晓云译. MySQL 5 权威指南[M]. 北京:人民邮电出版社.2006. [2] 郝玉龙.JavaEE编程技术[M].北京:北京交通大学出版社.
[3] 高洪岩. 基于Struts2+Hibernate+Spring实用开发指南. 化学工业出版社,2010 [4](美)Bruce Eckel著,陈昊鹏译,Java编程思想(第三版),,,(北京:机械工
业出版社,2007.6
[5] 张长富,黄中敏(JavaScript动态网页编程实例手册,,,(北京:海洋出版社,
2005:196-239
[6] 郑阿奇, Java EE 教程[,].北京:清华大学出版社,2012.6 [7] 钱乐秋,赵文耘,牛军钰. 软件工程[M].北京:清华大学出版社,2007.3
24
附 录 1. 成员类型表结构
创建成员分类表,表名为chengyuan,表结构如表A.1所示
表A.1 成员分类表结构
2. 财务日志表结构
创建财务日志表,表名为rizhi,表结构如表A.2所示
表A.2 财务日志表结构
3. 收入类型表结构
创建收入类型表,表名为shouru,表结构如表A.3所示
表A.3 收入表结构
4. 收入分类表结构
创建收入分类表,表名为shourufl,表结构如表A.4所示
A.4 收入分类表结构
25
5. 投资表结构
创建投资表,表名为touzi,表结构如表A.5所示
A.5投资表结构
6. 用户表结构
创建用户表,表名为user,表结构如表A.6所示
A.6 用户表结构
7. 支出表结构
创建支出表,表名为xiaofei,表结构如表A.7所示
A.7 支出表结构
8. 账户表分类结构
26
创建账户表,表名为zhanghu,表结构如表A.8所示
A.8 账户表结构
9.支出分类表结构
创建支出分类表,表名为zhichufl,表结构如表A.9所示
A.9 支出分类表结构
10. 转账信息表结构
创建转账信息表,表名为zhuanzhang,表结构如表A.10所示
A.10 转账信息表结构
27
范文二:家庭财务管理系统论文
计算机系本科毕业(设计)论文 课题名称
专 业
姓 名
学 号
指导教师 家庭财务管理系统的设计与实现 计 算 机 科 学 与 技 术
二零壹零年六月
目 录
1引 言 ........................................................................................................................ 2
1.1选题意义及背景 .................................................................................................. 2
1.2 开发环境简介 .................................................................................................... 3
2系统分析 .................................................................................................................... 4
2.1 需求分析 ............................................................................................................. 4
2.2可行性分析 .......................................................................................................... 4
3系统设计 .................................................................................................................... 6
3.1系统功能模块设计 .............................................................................................. 6
3.2数据库设计 .......................................................................................................... 7
4系统实现 .................................................................................................................. 11
4.1数据库连接实现 ................................................................................................ 11
4.2系统的登录模块实现 ........................................................................................ 12
4.3查询模块功能的实现 ........................................................................................ 12
4.4理材模块功能的实现 ........................................................................................ 13
4.5定期储蓄模块功能的实现 ................................................................................ 15
5系统测试 .................................................................................................................. 17
5.1 测试内容及步骤 ............................................................................................... 17
5.2测试结果 ............................................................................................................ 17
6结束语 ..................................................................................................................... 19
致 谢 ..................................................................................................................... 20
参考文献 ..................................................................................................................... 21 I
家庭财务管理系统的设计与实现
摘 要:经济全球化和居民生活需求的变化以及计算机技术不断发展的今天,人们生活水平越来越高,财务管理也变得越来越重要,理财直接影响着人们的生活。本研究课题的主要目的是提供财务数据统一管理和做出合理的财务决策,其界面友好,操作简单,除具备基本的财务信息管理外,还提供了数据统计,数据查询,图表自动统计等功能。系统以饼图形式说明收入、支出、节余三者之间的相互关系,为家庭财产的有效管理和合理分配提供帮助。
关键词:家庭 财务管理 VB A ccess
Abstract:With the economic globalization and the change of the demand of residents’living today as well as the continuous development of computer technology, the people’s living standard is getting higher and higher, the financial control becomes more and more important, and managing finances directly influence people's life. The main purpose of this research is to provide a system which support the universal administration of financial data and help make the reasonable financial decision, whose contact surface is friendly and operation is simple. Besides the basic finance information management, the system also has the function of data statistics, data inquiry and automatic graph statistics. The system explains the reciprocity among income, disbursement and surplus in cake diagram form, providing the help to family asset's effective management and the rational distribution.
Key words: family financial management VB A ccess
1引 言
1.1选题意义及背景
随着计算机技术的飞速发展,计算机在日常管理中应用迅速得到了普及,利用计算机进行家庭日常财务的管理无疑是一条行之有效且高效的办法。本课题是基于家庭理财的现状,模拟家庭对财务方面进行管理,开发一个家庭财务管理系统,使之具有实用价值。通过家庭财务管理系统,使家庭财务方面管理的工作系统化、规范化、自动化,从而达到提高家庭财务管理效率的目的,有效地记录和管理家庭的的收支情况,成为家庭财务管理的好帮手。家庭财务管理系统是一个家庭未来不可缺少的部分,它的内容对于家庭管理者来说都至关重要,它可以大大地节省我们的时间。
2
在此基础上设计出来的家庭财务管理系统可以满足家庭,个人从事财务管理方面的需要。
1.2 开发环境简介
1.2.1Visual Basic6.0
VB是面向对象的程序设计语言,它采用事件驱动进行编写。传统编程使用的是面向过程、按顺序进行的机制,这种编程方式的缺点是写程序的人总是要关心什么时候发生什么事情。而在事件驱动编程中,程序员只要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。
1.2.2 Access
Access是一个可视化工具,是风格和Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,轻易使用和把握。
3
2系统分析
2.1 需求分析
1.用户需求分析:
通过调查,要求系统需要有以下功能:
(1)
(2)
(3)
(4)
(5) 由于操作人员的计算机知识普遍较差,那么就要求有良好的人机界面。 方便的数据查询,支持多条件查询关生成相应的统计图。 家庭成员信息的基本录入管理。 家庭成员的银行卡管理。 家庭日常的收入和支出管理。
2.系统功能分析:
系统作为普通家庭使用的家庭财务管理系统,主要包括系统设置、日常管理、 查询、每月明细四大模块。
(1)系统设置;主要是对家庭成员的录入、删除、修改,对密码的修改,支出项目和收入项目的管理,更改用户的功能。
(2)日常管理:对家庭日常收入支出、借入借出、定活期存款进行管理。
(3)查询:按不同的方式分别进行查询,结果一致。可以按日期、方式、金额、数目分别进行查询。
(4)理材报告:查询每月节余并生成相应的统计图,统计图可以按人员进行统计也可以按收入来源进行统计。
通过对系统的用户需求和功能的分析得到系统的顶级DFD,如图2.1所示。
图2.1 系统顶级DFD图
2.2可行性分析
经济可行性:家庭财务管理系统的开发、运行、维护费用包括:购买和安装设
4
备的费用、人员费用、消耗品费用,但这些费用相对而言是比较低的。另外,本系统开发成本低,仅需要一台电脑,一个人,花费一个月的时间足能完成该系统的开发。开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
技术可行性:从目前IT业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,VB和Access的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库窗口,所以技术实行起来会相对容易。
5
3系统设计
3.1系统功能模块设计
家庭财务管理系主要完成对日常收入和支出、查询、修改、删除等,系统设置包括项目管理、添加成员、修改密码、更改用户、数据备份和退出系统。日常管理包括日常收入、日常支出、活期账户、定期储蓄、借入款项、借出款项。查询主要是对日常收入和日常支出进行不同方式的查询。理材报告根据每月节余生成统计
6
3.1图 系统功能模块图
3.2数据库设计
3.2.1系统的设计目标
1.系统运行稳定,安全可靠。
2.界面设计美观,人机交互界面友好。
3.采用多种方式查询数据。
4.信息查询灵活、方便、快捷、准确,数据存储安全可靠。
5.具有统计图表分析功能。
3.2.2数据库概念结构设计
根据数据项和数据结构设计出系统的E—R图如下所示;
3.2图 系统设计E—R图
活期存款表包括账号、存取、日期、数目、姓名和余额字段,设计的E—R图如下所示:
7
8
3.2.3数据库的逻辑结构设计
将上面的数据库概念结构模型转化为Access数据库系统所支持的实际数据模型,也就是数据库的逻辑结构模型。家庭财务管理系统中包括多个表,这里只列举其中的3个表,分别是:日常收入表、借出表、活期存取表。
收入表:存放家庭成员的收入信息,包括名称、数据类型、长度、允许为空、索引,表的数据字段和属性如下图所示:
图3.7 收入表
名称 日期 方式 金额 项目 来源 人员 备注 数据类型 文本 文本 文本 文本 文本 文本 备注 长度 50 50 50 50 50 50 允许为空 是 是 是 是 是 是 是 索引 无 无 无 无 无 无 无
表3.8 借出表
名称 得款人 金额 出借人 日期 出借原因 已还
数据类型 文本 货币 文本 文本 文本 文本
长度 50 自动 50 50 50 50
允许为空 是 是 是 是 是
索引 无 无 无 无 无 无
9
表3.9 活期存取表
名称 账号 存取 数目 日期 姓名 余额 Key
数据类型 文本 文本 货币 文本 文本 货币 自动编号
长度 50 50 自动 50 50 自动 4
允许为空 是 是 是 是 是 是 否
索引 无 无 无 无 无 无 有
10
4系统实现
4.1数据库连接实现
系统用VB和Access 的连接,用ADO编程模型连接数据库,具体语句如下:
Public Str_path As String
Public Cname As String '登陆时传用户名 Public Cdate1 As String '传日期(收入情况列表)
Public Cdate2 As String '传日期
Public aa As Boolean '判断是否选择月份 'ADO编程模型连接数据库
Public Function Connectstring() As String Dim Str_path As String
Str_path = CurDir() &
Connectstring =
'ADO编程模型连接数据库
Public Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset Dim Cnn As ADODB.Connection Dim Rst As ADODB.Recordset Dim Stokens() As String '数组 On Error GoTo executesql_error
Stokens = Split(Sql) '将sql语句按关键字保存在数组中 Set Cnn = New ADODB.Connection Cnn.Open Connectstring
If InStr(
Msgstring = Stokens(0) &
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic '重服务器中提取符
合要求的记录集
Set ExeCutesql = Rst
Msgstring =
executesql_exit:
Set Rst = Nothing '释放记录集 Set Cnn = Nothing '释放连接语句 Exit Function
executesql_error:
Msgstring =
End Function
11
4.2系统的登录模块实现
对用户输入的用户名和密码进行验证,正确则进入系统,否则显示相应的提示
信息,若用户名或密码连续输入三次后出现错误,则退出系统。系统的登录界面如图4.1所示:
4.1图 系统登录
登录界面实现所需的代码如下所示:
If Str_name =
Set Mydb = ExeCutesql(
MsgBox
txt_name.SetFocus If L = 5 Then
MsgBox
48,
End If End If End If
4.3查询模块功能的实现
查询是系统最基本的功能,用户可以随时对家庭的收入和支出进行查询,根据
不同的方式查询显示的结果相同。查询设计如图4.2所示:
12
4 4
4.2图 系统查询
模块实现代码如下所示:
Private Function Mode1()
Set Mydb1 = ExeCutesql(
Private Function Money1() On Error Resume Next Dim B
B = CInt(txt_money1.Text)
Set Mydb11 = ExeCutesql(
Private Function Project1()
Set Mydb12 = ExeCutesql(
4.4理材模块功能的实现
开发系统的目的只要是对财务进行管理,理材就是重要的一部分。它是在查询
的基础上进行进一步的分析显示,并根据查询结果生成相应的统计图。理材设计如图4.3所示:
13
图4.3 理材实现图
理材模块所需代码如下:
Private Sub Form_Load() Dim A, B, C, D As Integer Command4.Enabled = False Command2.Enabled = False
Set Mydb1 = ExeCutesql(
Set Mydb = ExeCutesql(
& '%' as 百分比 from 收入 group by 项目
Set Mydb4 = ExeCutesql(
Set Mydb3 = ExeCutesql(
Label1.Caption = Year(Now) &
MSChart1.RowLabel =
MSChart1.ColumnCount = C
MSChart1.ColumnLabel = Mydb.Fields(0)
14
End If
If D > 0 Then
MSChart2.ColumnCount = D
MSChart2.ColumnLabel = Mydb3.Fields(0) End If End Sub
4.5定期储蓄模块功能的实现
用户对储蓄的存款方式包括活期和定期两种,活期储蓄模块和定期类似,定期
储蓄模块实现如下所示:
图4.4定期储蓄
模块所需的代码如下所示:
Private Sub cmd_add_Click() On Error Resume Next Dim A, B B = 1
Set Count1 = ExeCutesql(
B = Count1.Fields(0) + 1
A = MsgBox(
ExeCutesql
Call Bangding End If End Sub
Private Sub cmd_del_Click()
On Error Resume Next
15
Dim A
A = MsgBox(
ExeCutesql
Private Sub cmd_edit_Click() On Error Resume Next Dim A
A = MsgBox(
ExeCutesql
='
Call Bangding
MsgBox
16
5系统测试
5.1 测试内容及步骤
系统测试是为了发现程序中的错误。系统测试的过程亦是程序运行的过
程。系统测试主要是测试功能是否完全实现。实现测试的步骤如下: 1. 在登录界面输入相应的用户名和密码,如果输入错误就进不入系统,若输入次数超过三次,系统关闭,输入成功,则进入系统。
2. 测试查询收入支出模块时,要分别按照不同的方式进行查询,若一个方式都不点的话,则无法进行查询,显示不出查询结果。
3. 测试生成统计图模块功能时,每月明细界面正常显示的话可以点击饼图出现统计图的界面,然后分别进行按人员统计和按项目统计,分别显示出正确的结果,则说明测试成功。
图5.1 饼图测试结果显示图
5.2测试结果
在进行调试完后,系统能够实现简单的收入支出,查询,存取,自动生成统计
图等功能,测试结果如下:
17
图5.2 测试结果
测试模块 用户登录 查询收入支出 生成统计图
测试内容 用户名和密码是否正确 按方式进行操作 统计图显示是否正确
测试结果
正确则进入下一模块,错误则退出
不同方式查询结果相同 正确显示统计图内容
18
6结束语 开发本系统经历了从系统问题的提出—系统可行性分析—系统数据库的设计—总体的功能模块设计—详细设计—最后到程序的实现,就是以这样的一个思路完成的整个系统的开发。通过这次毕业设计,使我感到高科技、新知识的力量。这次毕业设计过程中,得到了学校的大力支持,给我提供了舒适的工作学习环境,也得到了广大老师、教授的精心指导,在此表示衷心的感谢!
由于本人第一次完整的设计程序,加之水平有限,设计中难免有不当之处,还请各位老师给予批评和指正。
19
致 谢
在几个月的毕业设计过程当中,得到了指导老师和同学的大力支持,在论文即将完成之时,谨向辛苦的指导老师道一声“谢谢您”。几个多月的毕业设计,即紧张又忙碌,指导老师认真严谨的教学态度,平易近人的处世态度,会成为我今后学习的方向和楷模。
毕业设计结束了,也意味着我的大学生活也将结束了。在这最后一次做“作业”的过程中,我学到了许多的知识,不仅仅是书本上的知识,而且生活工作中的知识。使我认识到在将来的工作中必须要尽心尽力,认真仔细,虚心求教,从工作中学习各种知识和能力。并且非常感谢指导老师对我的帮助,因为在许多问题上都是在指导老师的帮助下解决的,他们的帮助使我能够很顺利地完成此次设计。
李静敏
2010年 6月5日
20
参考文献
[1] 刘韬,骆娟,Visual Basic6.0实效编程实例[M].北京:人民邮电出版社,2002.
[2] 刘世峰,Visual Basic6.0程序设计[M].北京:中央广播电大出版社,2003.
[3] 陈惟斌,Visual Basic6.0开发指南[M].北京:清华大学出版社,2001.
[4] 刘志铭,高春艳等.Visual Basic数据库开发实例解析[M].北京:机械工业出版社,2003.
[5] 高春艳,李俊民等.Visual Basic信息系统开发实例精选[M].北京:机械工业出版社,2005.
[6] 明日科技.Visual Basic管理信息系统完整项目实例剖析[M].北京:人民邮电出版社,2005. [7] 周珂伟.Visual Basic 6.0数据库开发[M].北京大学出版社,2000.
[8] 陶宏才.数据库原理及设计[M].北京:清华大学出版社,2007.
[9] 叶俊民,汪望珠.面向对象软件工程[M],第二版.清华大学出版社,2006,9.
[10]乔美娥.ADO技术在VB系统开发中的高级应用[J] .中国科技信息.2008,24:84-85.
[11]郑阿奇,彭作民. Visual Basic.NET程序设计教程[M].机械工业出版社,2007.
[12]software programming norms Hongwei Wang Feng Xu people in July 2005 Higher
Education Press.
[13]吴凤翔,Visual Basic 程序设计教程[M],中国林业出版社,2002-11.
[14]龚沛增,Visual Basic 程序设计教程[M],清华大学出版社,2004.
[15]李梓,Access数据库系统及应用[M],科学出版社,2009-8.
21
范文三:家庭财务管理系统论文
毕业论文,设计,
题 目 学 院 学 院 专 业 学生姓名 学 号 年级 级 指导教师
毕业教务处制表毕业
二〇一四毕业年 三月毕业二十 日
家庭财务管理系统论文
一、论文说明
本团队长期从事论文写作与论文发表服务,擅长案例分析、编程仿真、图表
绘制、理论分析等,专科本科论文300起,具体信息联系 二、论文参考题目与思路
提高我国高校财务管理绩效的研究
江西师范大学财务管理系统的设计与实现
安徽省农民专业合作社财务管理问题研究
基于IT环境的企业财务管理信息系统研究
中国石油天然气集团公司重组改制新形势下财务管理的变革及思考 财务管理信息化研究
航运企业财务风险管理研究
港口集团财务管理信息系统规划研究
我省民营企业财务导向管理模式研究
企业集团财务管理模式问题研究
我国企业集团财务风险管理研究
中小企业财务管理系统的设计与实现
我国事业单位财务管理的对策研究
非凡动力机械有限公司财务管理研究
现代管理环境下的企业集团财务管理模式研究 我国上市公司财务预警应用实证分析
基于政府利益要求及其实现方式的非财务指标披露程度实证研究
基于政府利益要求及其实现方式的非财务指标关注程度实证研究 基于现金流量基础的企业财务预警实证研究
基于员工利益要求及其实现方式的非财务指标关注程度实证研究 使命陈述质量对公司财务绩效影响的实证
基于员工利益要求及其实现方式的非财务指标重要程度实证研究 基于政府利益要求及其实现方式的非财务指标关注程度实证研究 高校财务绩效评价体系的构建与实证分析
基于债权人利益要求及其实现方式的非财务指标关注程度实证研究 审计意见与财务指标关系的实证分析
上市公司财务舞弊实证分析
基于股东利益要求及其实现方式的非财务指标重要程度实证研究 基于社区利益要求及其实现方式的非财务指标重要程度实证研究 基于债权人利益要求及其实现方式的非财务指标披露程度实证研究
引入EVA的国有企业业绩评价体系研究
航运企业租船业务财务决策研究
产品市场竞争与我国企业的融资行为
浅谈财务成本控制
工业企业财务成本分析的基本方法(续一)
乡镇集体工业企业财务计划基础第三讲 乡镇企业产品成本计划的编制 财务成本概念的缺陷及更新
企业分部财务报告研究
加强财务管理 做好企业成本控制工作
会计制度弹性:存在、影响及其优化研究
企业财务管理中税收筹划的探讨思路总结
民营企业财务管理的战略理念
中国财产保险公司的业绩评价:EVA方法应用研究
新《高等学校财务制度》下医学院校实验室成本核算 新财务制度下医院成本管理模式探讨
范文四:家庭财务管理系统毕业论文终稿
武汉工程大学邮电与信息工程学院
毕业设计(论文)
家庭财务收支管理系统
Family Financial Revenues and
Expenditures Management System
学生姓名
学 号 0845030218
专业班级 软件工程0802
指导教师
2012年5月
作者声明
本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究
成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术
道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我
一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了
谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。
毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。
特此声明。
作者专业:
作者学号:
作者签名: ____年___月___日
摘 要
理财系统在强调管理,强调信息,强调经济效益的现代社会中越来越普及,
越来越重要。而理财一直运用于企业单位,是体现一个企业的竞争力、市场力和
凝聚力的方面,可以说,没有一个符合企业状况的理财系统,这样的企业就没有
良好的发展前景。现在,收支管理不再仅仅是企业所要具备的,小到一个家庭,
也是必不可少的,所以家庭财务收支管理势在必行。
随着计算机技术的不断发展,许多家庭财务的管理都实现了自动化,这种自
动化管理方式不仅管理简单,而且效率非常高。为了能够高效地管理家庭财务的
信息,使用计算机进行信息的管理,使财务信息管理科学化,可以最大限度地减
少信息损失,提高家庭理财的利益,开发家庭财务管理系统也成为了计算机领域
的一个重要话题。
本论文采用VS2005作为开发工具,以SQL SERVER 2005建立后台数据库,
设计了小型的家庭财务收支管理系统系统。本论文主要实现了用户登录、用户管
理、日常财务管理、信息查询、数据统计管理等功能模块,可以满足家庭内部对 家庭理财的需求。
关键词:家庭财务;收支管理系统;C#
Abstract
Financial management system in emphasis on management, emphasize information, emphasize the economic benefits of the modern society is becoming more and more popular, more and more important. And finance has been used in enterprise unit, is to reflect an enterprise's competitiveness, market power and cohesion, can say, not a line with the enterprise status of financial management system, the enterprise is no good development prospect. Now, balance of payments management is no longer just the enterprise want to have, to a small family, is also essential, so the family financial revenues and expenditures management is imperative.
Along with the development of computer technology, many families financial management has realized the automation, the automation management way not only management simple, and efficiency is very high. In order to be able to effectively manage family financial information, use the computer to carry on the information management, making the scientific management of the financial information, can minimize information loss, improve the interests of the family financial management, the development of family financial management system has become an important field of computer of the topic.
My system adopting VS2005 as development tools, SQL SERVER 2005 development backend database, system mainly contains a user login module, user management module, daily financial management module, information query model, data statistics management module. Users can through these modules provide the function, complete the corresponding operation, meet the family of internal financial needs family.
Key Word:Family financial affairs; Revenues and expenditures Management system;
C #
目 录
第1章 绪论 ........................................................ 1
1.1 家庭财务收支管理系统发展现状及趋势 ......................... 1
1.2 本论文的研究内容 ........................................... 2
第2章 家庭财务管理系统的总体分析 ................................... 3
2.1 可行性分析 ................................................. 3
2.1.1 技术可行性分析 ........................................ 3
2.1.2 经济可行性分析 ........................................ 3
2.2 需求分析 ................................................... 4
2.3 系统基本模型 ............................................... 5
2.4 系统流程图 ................................................. 6
2.5 数据流图 ................................................... 7
2.6 数据字典 ................................................... 8
2.7 系统开发环境 ............................................... 9
第3章 家庭财务管理系统的详细设计 .................................. 10
3.1 系统的功能模块 ............................................ 10
3.2 功能模块的描述 ............................................ 10
3.3 数据库的设计 .............................................. 11
第4章 家庭财务管理系统主要模块实现 ................................ 14
4.1 登陆页面的实现 ............................................ 14
4.2 其他页面的实现 ............................................ 15
第5章 系统测试 .................................................... 18
第6章 总结 ........................................................ 19
参考文献 ........................................................... 20
致谢 . .............................................................. 21
第1章 绪论
理财系统在强调管理,强调信息,强调经济效益的现代社会中越来越普及,越来越重要。而理财一直运用于企业单位,是体现一个企业的竞争力,市场力和凝聚力的方面,可以说,没有一个符合企业状况的理财系统,这样的企业就没有良好的发展前景。现在,收支管理不再仅仅是企业所要具备的,小到一个家庭,也是必不可少的。本人的这个家庭理财系统就是为家庭而设计的,通过这个程序,我们可以便捷的记录每年每月每天的日常开销和收入,我们只需要点击鼠标,就可以计算出收支的平衡情况,为家庭的理财提供帮助。
1.1 家庭财务收支管理系统发展现状及趋势
家庭财务管理在理财管理工作中担负着管理、检查、督促、协调等重要的任务。财产安排、资金出入、费用缴纳、等涉及的管理面广、内容多,要求每天检查、每周公布、每月结算、年终结算,整个环节的统计工作量很大。计算机的应用为实现家庭财务管理科学化奠定基础。随着家庭数字化建设及宽带网的推广与逐步完善,大大提高了家庭财务管理工作的效率,更重要的是计算机的应用推动了家庭财务工作向着正规化、科学化、自动化、智能化和现代化的方向发展,为改革传统的管理模式的发展提供了良好的平台和条件。
使用家庭管理系统,首先是由于运算速度快、精度高,信息反馈及时, 可以及时地为家庭决策提供真实可靠的信息,通过家庭财务管理系统及时而全面地了解家庭财务;由于现今的家庭管理非常繁琐,管理人员付出大量的工作时间,得到的效率很低,在现今的商品社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,为此开发家庭财务管理系统软件,适应现今社会并提高生产效率,这即为该设计的目的所在。
1.2 本论文的研究内容
开发这个应用系统的目标是为了代替人工进行许多繁杂的劳动,节省许多资源,提高家庭的工作效率。它研究的主要内容为验证用户和密码的正确性再登陆,以及用户的管理和退出系统;保存每次输入的收支记录,并提供按项目和家庭成员身份两种查询方式;实现对信息的增、删、改,并可以以日、月、年显示家庭财务的统计情况。
第2章 家庭财务管理系统的总体分析
可行性分析可以进一步明确系统的目标,规模与功能。对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出拟定开发系统的初步方案与计划。可行性研究是对系统进行全面,概要的分析。此项活动开始时,要对初步调查的结果进行复审,重新明确问题,对所提系统大致规模和目标及有关约束条件论证,并且提出系统的逻辑模型和各种可能方案。
当今社会是一个讲求效率的社会,时间就是金钱。开发简单,易于操作的,管理软件不仅可以节省时间,还可以避免浪费人力,物力,提高效率。待开发系统是一个对家庭理财管理系统,简单,易学,将成为家庭理财的的好帮手。并非所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时间限制之内解决。如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软件资源和经费,都是无谓的浪费。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能解决。必须时刻记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
2.1 可行性分析
2.1.1 技术可行性分析
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
该系统采用了当前流行的C#语言进行开发,借助.Net 等搭建框架,因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.1.2 经济可行性分析
就经济可行性来说,由于我们为了学习每个人都有配置很算差不多的个人电
脑,并组建了内部局域网,因此硬件上是没有问题的。而软件上由于是自己开发,所以开发及日后的维护费用并不高,在经济条件方面也是允许的。再加上由于家庭财务管理系统是各个家庭管理自己家的的财务,所以他不会涉及联机的,只要在自己家中的计算机按上家庭理财系统就可以使用。操作简单,功能强大。是每个家庭必不可少的好帮手。所以家庭理财系统是很值得开发的一款家庭助手软件。
2.2 需求分析
在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清楚现行系统的工作过程,发现其薄弱环节,找出要解决问题的实质,确保新系统有效。
通过和大量家庭的交流,了解到原信息管理的主要方式是基于文本、表格等纸介质的手工处理,存在很多的问题:
(1)资料统计为手工进行。财产信息处理工作量很大,易出错且耗时。
(2)财产信息共享率低,大量重复劳动。
(3)纸张的保存不方便,容易丢失和破损。
(4)各类信息查询,统计不方便。
通过建立家庭理财系统,使家庭财产管理工作规范化、制度化和程序化,减少此方面的不必要的浪费的时间与精力,避免管理的随意性,提高财产信息处理的速度和准确性,提高决策的水平。将常规的工作交由计算机完成,提高管理家庭财产管理的效率。
家庭财务管理系统软件是为用户进行家庭成员的收支构成及信息管理进行辅助的应用软件、功能需求描述如下:
(1)用户登录:系统获取的家庭成员用户名和密码判断该家庭成员能否成功登录系统,并且当用户登录后根据权限判断该家庭成员是管理员还是普通成员,可以使用哪些对应的功能。普通级别的用户只有浏览等权限而不能进行实质性的改动。
(2)给家庭成员提供功能选择界面:不同级别的家庭成员对应不同的功能选
择界面. 功能选择界面包括输入功能选项、调用相应程序两大需求。管理员和普通用户对应的功能选择界面是不同的。
(3)管理收支信息:用户根据提示输入家庭成员的姓名、各项财务信息,如收入、支出、合计。
(4)增加家庭成员收支信息:可在原有收支信息文件的基础上增加新的家庭成员财务信息记录,并继续保存至数据库。
(5)删除家庭成员收支信息:提示用户输入要进行删除操作的家庭成员,如果在文件中有该家庭成员的收支信息存在,则将该序号所对应的姓名、序号、各种收入信息等在对应项目中加以删除。
(6)修改家庭成员收支信息:提示用户输入要进行修改操作的家庭成员,如果有该家庭成员的收支信息存在,则提示用户输入该序号对应的家庭成姓名、收入和支出构成等需要修改的选项,并将修改结果存储于数据库。
(7)查询家庭成员财务情况:分为根据家庭成员查询和项目查询两个具体需求,选择其中一项用户输入要查询家庭成员信息或项目,如果在数据库中有对应的家庭成员财务信息,则逐项列出对应家庭成员的收支状况。
(8)家庭成员管理:家长对普通家庭成员的管理也需要进行家庭成员的创建、增加、删除、修改和浏览。每当有家庭成员登录系统时,系统都会根据数据库中的用户名和密码进行核实判断,用户才能够顺得登录。家长还具有增加新家庭成员的功能。当某些家庭成员不再使用系统时,还可进行删除操作,并且家长具有修改家庭成员权限的功能。
对本系统的功能模块、运行环境等进行合理分析,这样可以方便从系统总体结构、模块功能、界面和数据结构几方面进行系统的总体设计。总体设计可在软件开发的早期站在全局高度对软件结构进行优化,这个时期付出的代价不高,却可以使软件质量得到重大改进。
2.3 系统基本模型
在本系统中用户登录进入系统,把每天的家庭财务收支信息输入计算机,这些数据会进入数据库进行存储,而用户也可以调用数据库中的信息,对家庭财务的具体信息分年、月、日进行查看,处理流程如图2.1所示。
图2.1 本系统的处理流程
2.4 系统流程图
系统流程图(System Flowchart )是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。
当家庭成员打开家庭财务收支管理系统时会进行密码的验证,登录成功后,会进入主菜单,在主菜单中有4大功能,对用户信息的管理,可以对家庭成员的登录信息进行增、删、改,日常财务信息的管理,财务信息的查询等等,家庭财务管理的系统流程图如图2.2所示。
图2.2 家庭财务管理的系统流程图
考虑到系统的安全性,管理员用户的登陆采取身份验证的机制进行,管理员需要提供相应的身份验证才能登录到管理员界面。设置用户名和密码双项验证,用户名和密码均由管理员自行设定。
对系统的维护和管理工作都必须建立在管理员登陆的基础上,换句话说,只有管理员才有权限使用全部的功能,而没有权限的家庭成员只能使用部分功能。
具体验证机制的实现如图2.3所示。
图2.3 用户登陆身份验证机制盒图
2.5 数据流图
数据流图(Data Flow Diagram):简称DFD ,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,数据流图是结构化分析方法中使用的工具, 它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在本系统中家庭财务管理系统数据流图如图2.4所示。
图2.4 家庭财务管理的数据流图
2.6 数据字典
数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信,数据字典如图2.5所示。
图2.5 数据字典
2.7 系统开发环境
在进行了完整的系统分析后,开发工具的选择、开发语言的选择以及硬件方面的需求也需要考虑。C sharp(又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java 有着惊人的相似,它包括了诸如单一继承、界面、与Java 几乎同样的语法,和编译成中间代码再运行的过程。微软C#语言定义主要是从C 和C++继承而来的,而且语言中的许多元素也反映了这一点。Visual Studio 2005是基于.NET2.0框架的,它同时也能开发跨平台的应用程序,本论文将以此文开发工具,并用SQL SERVER 2005开发后台数据库。
为了保证系统运行的效率和可靠性,对软硬件配置有一定要求。此应用程序运行要求如下:(1)软件环境:操作系统Windows 98以上,Linux 等均可,Internet Explorer6.0(IE)以上版本;(2)硬件环境:CPU PIII以上,内存1G 以上。
第3章 家庭财务管理系统的详细设计
3.1 系统的功能模块
根据家庭财务管理的特点,可以将其分为用户管理、日常财务管理、信息查询、数据统计管理等4个部分,具体如功能模块图如图3.1。
图3.1 功能模块图
3.2 功能模块的描述
家庭成员登录模块:提示用户输入登录名和密码,调用数据库存储的用户信
息进行校验,只有当用户名和密码相匹配时,才允许用户使用该系统。用户登录系统后能够允许使用的系统功能和用户的权限有关。普通家庭成员只能进行查询和浏览,家长还可以进行增、删、改操作和对普通家庭成员的管理。权限的设置在家庭成员信息中进行限制,权限的判定在家庭成员登录模块进行。
当用户成功登入系统时,即可根据权限不同,调用家庭成员财务管理模块中的部分或全部子功能。家庭成员财务管理模块的主要功能包括如下几个部分:
(1)增加收支信息:点击新增按钮,进入新增界面,按提示输入相应的信息,点击确定即可把信息存入数据库。
(2)删除和修改收支信息:进入查询界面,可以按照家庭成员的身份或收支的项目查询信息,如要有符合信息的项目,就可以选中此信息进行修改或删除。
(3)查询收支信息:可根据家庭成员和收支项目两种方式进行查询,若有查询结果,则向用户显示相应查询结果的家庭成员、姓名、收入构成等各项内容,并可让用户选择是否继续查找。
(4)数据统计管理:点击数据统计管理,可以通过按钮选择显示日收支报表、月收支报表和年收支报表 。
(5)用户管理模块:用户管理模块实现对家庭财务管理系统的使用者的用户名、密码、权限的管理,以便家庭成员登录模块进行校验和权限判断。只有家长能够使用家庭成员管理模块的各项功能。该模块有如下子功能:新增用户信息:家长登录后,选择新增,然后按提示输入用户名和密码,然后确定就可以创建新的用户;删除家庭成员:家长登录后可以选择要删除的用户,然后点击删除,今后该用户则无法在继续登录系统:修改家庭成员:家长登录后选择要修改的用户,点击修改,然后按提示输入用户的信息以及权限,使得该家庭成员再次登入系统时要符合家长修改后的信息方可登录。
3.3 数据库的设计
数据库系统设计包括数据模式设计以及围绕数据模式的应用程序开发两部分工作。本章只介绍数据模式设计,以求建立出满足系统数据需求的二维关系表,定义这些表的列名、列的数据类型以及数据的完整性约束过则等。
为了方便的管理好系统所用到的家庭成员信息和财务收支信息,本章进行了详细的数据模式设计。建立起实体的E-R 模型,实体与实体之间的关系模型,从而根据范式的原则设计出家庭成员信息表和财务收支信息表。在设计这两张表的时候,笔者力争遵循两条原则,第一是针对每一个需求点,都必须提供足够的信息量以支撑系统的设计与开发;第二是要符合关系的设计规范,即符合关系的一、二、三范式要求,E-R 图如图3.2所示。
图3.2 E-R图
家庭成员信息具体包括:姓名、性别、权限、年龄、身份这五大基本信息。家庭成员的姓名、性别、年龄是人员的基本属性。这里的身份是指家庭成员在家庭中的关系,这里这个属性可以在查询时作为选择项,查询家庭成员的财务情况。权限决定了在系统中可以使用的功能。
由此,建立家庭成员表就要包括这五大信息进去。将这五大信息分别设置为不同的字段,具体描述如表3.1所示。
表3.1 家庭成员表
用户登录时需要输入用户名和密码,这就有两个属性,以此建立用户信息表,用户信息表如表3.2所示。
表3.2 用户信息表
财务性息表中需要记录其收入或支出的时间、金额、使用者及属性,财务收入或支出的时间可以作为统计信息的关键字,财务信息表如表3.3所示。
表3.3 财务信息表
第4章 家庭财务管理系统主要模块实现
4.1 登陆页面的实现
提示用户输入登录名和密码,调用数据库存储的用户信息进行校验,只有当用户名和密码相匹配时,才允许用户使用该系统。用户登录系统后能够允许使用的系统功能和用户的权限有关。普通家庭成员只能进行查询和浏览,家长还可以进行增、删、改操作和对普通家庭成员的管理。权限的设置在家庭成员信息中进行限制,权限的判定在家庭成员登录模块进行。
登陆界面实现过程:现在VS 下创建一个新的Windows 窗口,在窗口中添加Tabel 表格,用于页面的布局,在Table 表格中添加相关的控件,用于具体的功能实现。
登录代码的实现:首先导入必要的命名空间,然后在page_load单击事件中,利用Session 对象判断用户登录的状态,若登录成功则跳转到主页面,最后在双击功能控件编辑具体代码,主要代码如下。
登陆界面如图4.1所示。
图4.1 登陆界面
4.2 其他页面的实现
当用户成功登入系统时,即可根据权限不同,调用家庭成员财务管理模块中的部分或全部子功能。家庭成员财务管理模块的主要功能包括如下几个部分:
(1)增加收支信息:点击新增按钮,进入新增界面,按提示输入相应的信息,点击确定即可把信息存入数据库。
(2)删除和修改收支信息:进入查询界面,可以按照家庭成员的身份或收支的项目查询信息,如要有符合信息的项目,就可以选中此信息进行修改或删除。
(3)查询收支信息:可根据家庭成员和收支项目两种方式进行查询,若有查询结果,则向用户显示相应查询结果的家庭成员、姓名、收入构成等各项内容,若不需要在进行操作可以点击退出返回主菜单。
(4)数据统计管理:点击数据统计管理,可以通过按钮选择显示日收支报表、月收支报表和年收支报表。
(5)用户管理模块:用户管理模块实现对家庭财务管理系统的使用者的用户名、密码、权限的管理,以便家庭成员登录模块进行校验和权限判断。只有家长能够使用家庭成员管理模块的各项功能。
这里主要介绍新增信息界面的实现。首先在VS 下创建一个新的Windows 窗口,在窗口中添加Tabel 表格,用于页面的布局,在Table 表格中添加相关的控件,如TextBox 控件用于信息的写入,Button 控件用于确认或取消,DropDownList 控件
查询模块的实现如图4.2所示。
图4.2 新增页面界面
第5章 系统测试
进行软件测试是对系统的性能、完善程度以及安全性进行测试,在现今这个科技发达的时代,软件应用于各个领域,如果一个软件未经过细致的系统测试就投入使用,在使用过程中一旦出现问题后果将不堪设想,这不仅仅是对用户负责,更是对开发人员自身负责,通过系统测试不断地发现问题和解决问题,在以后的工作中就会减小这些漏洞出现的几率,不断地完善每一个软件是每一个软件开发人员共同的愿望。所以,进行系统测试是十分必要的。
在进行本论文设计的过程中,对于软件的测试一直贯穿始终,对于在开发过程中的代码和文档,以及系统完成后都在进行测试。测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试。 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。由于技术上和人员上的缺陷,只进行了简单的测试,但是软件的测试还是带给了我很多的收获,让我切实的认识到软件测试的重要性,在以后的工作和学习中也将更加重视它。
第6章 总结
本系统是一个针对家庭财务管理的实际情况开发的适合该家庭使用的管理系统,它以家庭收入和家庭支出为主要功能,可以按项目和人员进行查询,实现了对数据的统计。
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对家庭财务管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本管理系统是一套家庭在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对ASP.NET2005的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
参考文献
[1] 吴治中. 方金友. 家庭投资理财1000问. 安徽科学技术出版社.2002
[2] 王树进. 包明宝. 投资理财新思维. 经济管理出版社.2001
[3] 黄培源. 理财圣经终级理财策略. 中国社会出版社.1999
[4] 郝刚, 袁永刚.ASP.NET 2.0开发指南. 人民邮电出版社,2006.97-105
[5] 梁建全, 宋修舵, 孙强. 专家门诊--ASP.NET 开发答疑200问. 人民邮电出版社,2004:23-45
[6] 黄忠成. 深入剖析ASP.NET 组件设计. 电子工业出版社,2004.124-130
[7] 王文龙.ASP.NET 技术内幕. 人民邮电出版社,2002.50-63
[8] Paulraj Ponniah,Johannes Geehrke.Database Designa and Development. 清华大学出版社,2005.324-342
[9] 刘智勇.SQL Server2005宝典. 电子工业出版社,2007.32-49
[10] 明日科技.SQL Server2005数据库系统开发案例精选. 人民邮电出版社,2007.78-106
[11] 杜亮. 亲密接触ASP.NET. 清华大学出版社,2002.86-125
[12] 求是科技.ASP.NET 通用模块及典型系统开发实例导航. 人民邮电出版社,2006.56-78
[13] 赵松涛.SQL Server2005系统管理实录. 电子工业出版社,2006.27-32
[14] Nikhil Kothari.ASP.NET服务器控件与组件开发. 邓春红. 机械工业出版社,2003.28-36
[15] 上官万平. 医药代表实务篇. 第四版. 上海交通大学出版社,2005.78-104
[16] Stephen Wyrikoop.Special Edition Using SQL Server 2005.Macmillan Computer Publishing ,2004.56-82
[17] 章立民研究室.SQL Server2005数据库开发实战. 机械工业出版社,2007.58-68
[18] Solid Quality Learning.SQL Server 2005从入门到精通. 王为. 清华大学出版社,2006.30-56
致谢
在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从指导老师身上学到了很多东西。她认真负责的工作态度,严谨的治学精神和深厚的理论知识都使我收益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢她耐心的辅导。在撰写论文阶段,老师几次审阅我们的论文,提出了许多宝贵意见,没有她的指导,我们就不能较好的完成课题设计的任务。
另外,我还要感谢在这几年来对我谆谆教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有同组的同学也给了我不少帮助,这里一并表示感谢。
范文五:家庭财务管理系统 毕业论文
师范大学
毕业设计(论文)
论文题目:财务管理系统
所 在 系 XXXXX
姓 名 XXXX
专 业 XXXXXXX
班 级 XXXXXX
指导老师 XXXXX
2012年 5 月 20 日
毕业设计(论文)写作指导须知
一. 毕业设计(论文)是教学过程中一个十分重要的环节,是学生运
用所学知识正确分析和解决实际问题的一个重要方面,是我校培
养应用型人才的要求。
二. 指导教师应为具有讲师以上或具有硕士以上学位的有关专业人
员,经系审查同意后,才能指导学生的毕业设计(论文)。
三. 学生应以严肃认真、实事求是的态度完成作业。要独立思考、自
己动手完成、不得抄袭或找人代笔。
四. 毕业设计(论文)选题要符合专业培养目标的要求。设计(论文)
写作要做到论点明确、论据充分,说理透彻,语言准确恰当,并
在规定的时间内完成。
五. 答辩过程中学生要严肃认真,文明礼貌,谦虚谨慎,认真回答答
辩主持人、委员提出的问题。
六. 填报有关表格时,应按项目要求逐项真实、认真、全面填写。
评审表
答 辩 情 况 记 录
目 录
第1章 绪论 ........................................................... 1
1.4.1 B/S模式介绍 ...................................................... 3
1.4.2 Java技术概述 .................................................... 4
1.4.3 JavaBean介绍 .................................................... 4
1.4.4 JSP技术介绍 .................................................... 4
1.4.5 Hibernate技术介绍 ............................................... 5
1.4.6 “容器”Tomcat 应用服务器介绍 .................................... 6
1.4.7 Oracle数据库介绍 .............................................. 6
1.4.8 开发框架技术MVC ................................................. 7
1.5 系统开发理论介绍 ................................................... 8
1.5.1 系统规划阶段 ..................................................... 8
1.5.2 系统分析阶段 ..................................................... 8
1.5.3 系统设计阶段 ..................................................... 8
1.5.4 系统实施阶段 ..................................................... 9
1.5.5 系统运行和维护阶段 ............................................... 9
1.6 运行环境 ........................................................... 9
第2章 系统需求分析 ................................................... 10
2.1系统目标 ........................................................... 10
2.2 系统可行性分析 .................................................... 10
2.2.1 技术可行性 ...................................................... 10
2.2.2 经济可行性 ...................................................... 10
2.3系统需求分析方法 ................................................... 11
2.3.1系统需求分析概述 ................................................. 11
2.3.2系统需求分析方法 ................................................. 12
2.4系统功能需求分析 ................................................... 12
第3章 系统总体设计 .................................................. 14
3.1 系统设计方法 ...................................................... 14
3.2 系统架构 .......................................................... 14
3.3 系统功能模块细分 .................................................. 16
3.4 系统数据库的设计 .................................................. 17
3.4.1 数据库相关理论 .................................................. 17
3.4.1 数据库分析 ...................................................... 18
3.2 数据库概念结构设计 ................................................ 18
3.3 数据库逻辑结构设计 ................................................ 20
4.1 系统设计方法 ...................................................... 23
4.2 系统模块设计 ...................................................... 23
4.2.1 框架文件配置 .................................................... 23
4.2.2 系统主界面 ...................................................... 24
4.3.1 基础数据管理界面 ................................................ 26
4.3.2 收支管理界面 .................................................... 27
4.3.3 系统管理界面 .................................................... 29
第五章 结 论 .......................................................... 34
致 谢 ............................................................ 35
参考文献 .............................................................. 37
第1章 绪论
1.1 课题来源
21世纪的中国,随着人们生活水平的提高,个人家庭财富的不断增长,人们迫切的需要进行家庭理财,但是大部分家庭又不知道怎样去理财投资,以保持家庭财富的持续稳定的增长。
其实家庭理财规划非但不神秘,而且与每个人和每个人家庭都密切相关,这种个人化的理财服务在20世纪八十年代已经在国际上比较发达的城市拥有成熟的市场。理财师为客户进行的理财,主要是根据客户的资产状况与风险偏好,关注客户的需求与目标,以“帮助客户”为核心理念,采取一整套规范的模式,向客户提供设计生活方方面面的的全面财务建议,并调用储蓄、保险、股票、债券、基金、信托等金融产品,为客户寻找一个最适合的理财组合方式,以确保其资产的保值与增值。
家庭理财并不是一个新鲜词,简单地说就是开源节流、管理好家庭的钱财。想想看,您是如何管理好自己的钱财的?您家庭一定有些存款,还有可能买卖股票、债券,还可能给自己和家人买了保险---其实在日常生活中不自觉的运用这各种理财方法。因此开发一个家庭理财管理系统迎合了现代的家庭发展趋势,对居民合理分配家庭财产起到重要意义。
一直以来人们使用传统人工的方式文件、纸张记帐管理模式,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,所以利用计算机实现财务信息的管理的自动化将势在必行。今天我们使用计算机对家庭财务信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高家庭财务管理的效率,面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。
1.2 系统现状及发展趋势
家庭理财系统,即Family Conduct Financial Transactions System。它利用计算机应用技术,使家庭理财逐步信息化,从而形成由家庭成员与计算机共同构成服务于家庭的人机信息财务管理系统。
家庭理财系统在国内外很多地方使用已经相当的普遍。国外的家庭理财管理系统发展的相对比较成熟,比如他们系统里包含有股票的预测、基金的分析等等。在国内,计算机使用盛行的当今社会,家庭理财管理系统已基本替代了传统的手工记账理财的方法,给消费者带来极大的方便,但由于人们的生活水平越来越高,收支种类越来越多,家庭消费的内容日益丰富等,现行的许多家庭理财管理系统已不能满足大家的需求,许多功能还亟待完善与更新。虽然国内的家庭理财管理系统功能较不完善,但在我国科技迅速发展的今天,其发展前景将十分令人期待,尤其是在近几年,伴随着计算机在社会中的高速普及,家庭理财系统的使用范围逐步扩大,从最早的简单记录家庭、个人财务的收支情况,到现在对财务的收支查询、汇总、报表分析、预测等等。巨大的市场需求也促使了很多公司加大了对家庭理财系统的研究。
当今社会人们的生活水平和文化素质普遍提高,随着市场经济的快速发展,观念的不断更新,每个人的理财意识普遍增强,特别是家庭理财意识得到很大发展,人们对家庭各方面消费不仅仅只有进行记录和统计的愿望,各种收入消费途径错综复杂,如何使用户能更加方便的操作成为要求;同时伴随精神和物质生活的提高,人们购置和使用计算机的能力也在增强,网络越来越发达,一种新型网络家庭理财管理系统软件正等待出现。家庭理财管理系统是一个为方便处理家庭财务的一个软件,它的作用是更好的满足理财者对家庭财务管理的需要。目前社会上普遍使用的家庭理财管理系统基本都是单击版的,随着IT 技术的进步和计算机网络技术的发展,以及家庭收支范围的扩大,家庭理财管理系统将逐渐从传统的桌面管理向网络集成的方向发展,从局部、静态、事后核算到全局、动态、实时的管理,基于不同软硬件平台、不同网络架构的各级财务管理子系统需要有机地协同工作。因此基于Internet 的家庭理财管理系统必然成为未来家庭理财管理系统的发展趋势。
1.3 系统的开发目的和意义
家庭理财管理系统是为满足当代家庭理财管理的需要而设计开发的一个财务管理系统。它针对家庭理财的需要,开发出一个能实现管理家庭财务收支以及统计分析等功能的实用型软件,能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,大大方便家庭管理者合理科学有效的理财。
伴随着信息时代的到来,信息的种类、数量越来越多,容量也越来越大,在竞争越来越激烈的今天,随着科学技术的不断提高, 计算机科学日渐成熟,其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。而使用计算机对家庭财务进行管理, 已经成为一种趋势,与传统的手工式家庭财务管理相比,利用计算机软件对家庭财务实行管理具有检索迅速、查找方便、可行性高、存储量大、保密性好、寿命长、成本低等优点。家庭理财管理系统正是在这种环境下应运而生,其开发的整体任务是实现家庭财务管理的系统化、规范化、科学化,从而达到有效管理家庭财务的目的。因此,开发这样一个系统在当今社会中是很有必要的。
1.4 系统开发工具与数据库介绍
1.4.1 B/S模式介绍
伴随着Internet 的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。
过去,网络软件的开发都采用C/S(client )模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:
(1) 系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。
(2) 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。
(3) B/S模式带来了巨大的好处:
开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server )上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server )
端完全通过WWW 浏览器实现,极少部分事务逻辑在前端(Browser )实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
(4) 良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS 来访问数据库,从而大大减少了数据直接暴露的风险。
1.4.2 Java技术概述
Java 技术是Sun 公司推出的新的一代面向对象程序设计语言,特别适合于Internet 应用程序开发。Java 的产生与流行是当今Internet 发展的客观要求,Java 是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet 环境上开发的应用系统。Java 技术不仅仅包括Java 语言,它还有一系列的与之相应的开发技术,如:JavaBean 、Jsp 、Hibertate 、Struts 等等。
1.4.3 JavaBean 介绍
用户可以使用JavaBean 将功能、处理、值、数据库访问和其他任何可以用java 代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP 页面、Servlet 、其他JavaBean 、applet 程序或者应用来使用这些对象。用户可以认为JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。最初,JavaBean 的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE )下使用的java 软件部件。这些包括如Grid 控件,用户可以将该部件拖放到开发环境中。从此,JavaBean 就可以扩展为一个java web 应用的标准部件,并且JavaBean 部件框架已经扩展为企业版的 Bean(EJB )。
1.4.4 JSP 技术介绍
JSP 的全称是Java Server Pages,它是SUN 推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA 程序片段和JSP 标记,就构成了JSP 页面。JSP 具有以下的优点:
(1) 将业务层与表示层分离:使用JSP 技术,网络开发人员可充分使用HTML 来设计页面显示部分(如字体颜色等),并使用JSP 指令或者JAVA 程序片段来生
成网页上的动态内容;
(2) 能够跨平台:JSP 支持绝大部分平台,包括现在非常流行的LINUX 系统,应用非常广泛的Apache 服务器也提供了支持JSP 的服务;
(3) 组件的开发和使用很方便:如ASP 的组件是由C++,VB 等语言开发的,并需要注册才能使用;而JSP 的组件是用Java 开发的,可以直接使用;
(4)一次编写,处处运行:作为JAVA 开发平台的一部分,JSP 具有JAVA 所有优点,包括Write once , Run everywhere.
1.4.5 Hibernate技术介绍
Hibernate 是一个免费的开源Java 包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java 对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。
Hibernate不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何不可思议的接口以便能够持续存在。惟一需要做的就是创建一份 XML“映射文档”,告诉Hibernate 您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。与其他解决方案相比,它几乎已经很完美了。
运行时,Hibernate 读取映射文档,然后动态构建Java 类,以便管理数据库与Java 之间的转换。在Hibernate 中有一个简单而直观的API ,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉Hibernate 保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate 有关它们的信息,这样就能在数据库中保存它们。
Hibernate API学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它,就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾难,但是借助于Hibernate ,只需要简单地修改Hibernate 配置文件即可。
1.4.6 “容器”Tomcat 应用服务器介绍
目前支持JSP 的应用服务器是较多的,Tomcat 是其中较为流行的一个Web 服务器,被JavaWorld 杂志的编辑选为2001年度最具创新的Java 产品,可见其在业界的地位。
Tomcat 是一个免费的开源的Serlvet 容器,在Tomcat 中,应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp 时,通常第一次会很慢,因为Tomcat 要将Jsp 转化为Servlet 文件,然后编译。编译以后,访问将会很快。
Tomcat 也具有传统的Web 服务器的功能:处理Html 页面。但是与Apache 相比,它的处理静态Html 的能力就不如Apache 。我们可以将Tomcat 和Apache 集成到一块,让Apache 处理静态Html ,而Tomcat 处理Jsp 和Servlet 。Tomcat 是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。
1.4.7 Oracle 数据库介绍
Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的B/S体系结构的数据库之一。
ORACLE7.X 以来引入了共享SQL 和多线索服务器体系结构。这减少了ORACLE 的资源占用,并增强了ORACLE 的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL 语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。
提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
ORACLE 数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用程序的增大而变化。
ORACLE 数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE 应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。
物理上存放于网络的多个ORACLE 数据库,逻辑上可以看成一个单个的大数据库。用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协调工作过程。
由网络相连的两个ORACLE 数据库之间通过数据库链接(DB-LINKS)建立访问机制,相当于一方以另一方的某用户远程登录所做的操作。但ORACLE 采用的一些高级管理方法,如同义词(SYNONME)等使我们觉察不到这个过程,似乎远端的数据就在本地。数据库复制技术包括:实时复制、定时复制、储存转发复制。对复制的力度而言,有整个数据库表的复制,表中部分行的复制。在复制的过程中,有自动冲突检测和解决的手段。
1.4.8 开发框架技术MVC
对于框架技术,我们采用Struts+ Struts+Hibernate的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用Java 技术在web 的应用。
●Struts 是应用比较广泛的一种表现层框架
Struts 是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet ,JSP 和custom tag library 构建Web 应用的一项非常有用的技术。由于Struts 能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans 从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp 中剩余的JavaBeans 完全分离,这部分JavaBeans 主要负责显示相关信息,一般是通过标签库(Taglib )实现,不同框架有不同自己的标签库,Struts 是应用比较广泛的一种表现层框架。
1.5 系统开发理论介绍
软件的生命周期指从提出软件产品开始,直到该软件产品被淘汰的全过程。信息系统在使用过程中随着其生存环境的变化,要不断维护、修改,当它不再适应的时候就要被淘汰,就要有新系统代替老系统,这种周期循环称为信息系统的生命周期。
信息系统的生命周期可以分为系统规划、系统分析、系统设计、系统实施、系统运行和维护等五个阶段。
1.5.1 系统规划阶段
系统规划阶段的任务是对各家庭理财的环境、目标及现行系统的状况进行初步调查,根据家庭理财目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性分析报告。可行性分析报告审议通过后,将新系统建设方案及实施计划编写成系统设计任务书。
1.5.2 系统分析阶段
系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。这个阶段又称为逻辑设计阶段,他是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别所在。该阶段的工作成果体现在系统说明书中,这是系统建设的必备文件。它既是给用户看的,也是下一阶段的工作依据。因此,系统说明书既要通俗,又要准确。用户通过说明书可以了解未来系统的功能,判断是不是其所要求的系统。系统说明书一旦讨论通过,就是系统设计的依据,也是将来验收系统的依据。
1.5.3 系统设计阶段
简单地讲,系统分析阶段的任务是回答系统“做什么”的问题,而系统设计阶段要回答的问题是“怎么做”。该阶段的任务是根据系统说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也即设计新系统的物理模型。
这个阶段又称为物理设计阶段,可分为总体设计和详细设计两个阶段。这个阶段的技术文档是“系统设计说明书”。
1.5.4 系统实施阶段
系统实施阶段是将设计的系统付诸实施的阶段。这一阶段的任务包括计算机等设备的购置、安装和调试,程序的编写和调试,人员培训,数据文件转换,系统调试与转换等。这个阶段的特点是几个互相联系、互相制约的任务同时展开,必须精心安排、合理组织。系统实施是按实施计划分阶段完成的,每个阶段应写出实施进度报告。系统测试之后写出系统测试分析报告。
1.5.5 系统运行和维护阶段
系统投入运行后,需要经常进行维护和评价,记录系统运行的情况,根据一定的规格对系统进行必要的修改,评价系统的工作质量和经济效益。
1.6 运行环境
①硬件环境
内存:2G ,CUP :赛扬 2.4G ,硬盘:320G 。
②操作系统
Microsoft Windows XP Professional sp2
③软件环境
数据库:Oracle10g
开发工具:MyEclipse8.5
第2章 系统需求分析
2.1系统目标
本系统要达到的目标有以下几点:
◆ 验证用户和密码的正确性再登入,以及修改密码和退出系统;
◆ 保存每次输入的收支记录,并提供两种查询方式:种类法和编号法;
◆ 整个收支记录库可以导出为文本文件,以便做其它工作;
◆ 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2 系统可行性分析
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。从现在应用的技术方面、管理者和用户的操作方式方面研究智能家庭理财系统的可行性和必要性。智能家庭理财系统的实施,将很大程度上提高现代家庭的理财效率,使得现代家庭能够更加方便的对自己的财务进行个性化的管理。
2.2.1 技术可行性
技术可行性研究的任务,是从总体上鉴别和选择技术系统,是研究现有的技术条件能否顺利完成开发工作,硬、软件配置能否满足开发的需求等等。本系统的开发使用MyEclipse 作为系统开发的开发环境,它作为一种现代化的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障,为开发满足客户要求的系统保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统为一个小型的家庭理财系统,所耗费的资源非常的小,现行的电脑无论是硬件还是软件都能够满足条件,因此,本系统在技术上是可行的。
2.2.2 经济可行性
进行软件开发项目成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性。
如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越
底。本系统也是这样,开发成本较低,只是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但并不会因为开发成本低而造成系统功能性能的下降。相反,随着计算机技术的发展, 各种实用软件的性能日渐提高。家庭理财管理系统廉价的开发成本,却能够为居民带来相当大的实惠和方便。主要表现在:
(1)本系统是一个拥有多种实用功能的家庭理财管理信息系统,它集成了家庭成员管理、收入管理、支出管理、密码管理等多种功能,具有较强的实用性和方便性。
(2)本系统的运行可以大大提高居民管理财务的效率,减少不必要的人力和物力。
(3)本系统还具有查询和统计功能,能够查询到用户在一段特定时间内收入和支出的情况,特别是支出情况,有时往往会让用户在月底吓一跳,大大超出预算,还弄不清钱都花到哪里了。有了家庭理财系统,不仅使用户对口袋里钱的去向一目了然,而且可以帮助用户渐渐感悟到一些心得,摸清哪些花费是必要的,哪些“意外开支”是可以避免的,哪笔开支是可继续评估其必要性的。
(4)本系统的运行可以大大的提高家庭的工作效率,并可以使敏感文档更加安全。
由此可以得出,本系统在经济上是具有可行性的。
2.3系统需求分析方法
2.3.1系统需求分析概述
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时,为描写新系统的目的、范围和定义所要做的所有的工作。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。它是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师必须确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。如果在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。
2.3.2系统需求分析方法
在管理信息系统开发实践中,系统分析人员使用了多种系统分析方法,主要有结构化分析方法(Structured Analysis 简称SA) 、面向数据结构的分析方法以及面向对象的分析方法等。其中,结构化分析方法自从20世纪70年代末提出以后,由于其简单、清晰、易于学习、掌握和使用的特点,成为长期以来被广泛使用的分析方法。
结构化系统分析是指用一组标准的准则和工具从事分析工作,即有组织、有计划、有规律地进行分析。它是一种利用系统工程的思想和有关结构的概念、自顶向下划分模块、逐步求精的分析方法。该方法把研究对象看成一个系统,用分解和抽象这两个基本策略来控制系统的复杂性。它有三个要点:(1)分解和抽象;(2)图表描述;(3)模型转换。
结构化系统分析常用的工具有:数据流程图(DFD)、数据字典(DD)、数据库存储结构规范化法;数据立即存取图;处理逻辑的表达方法(决策树、判定表、结构式语言)
2.4系统功能需求分析
家庭理财管理系统是典型的信息管理系统,其开发功能主要包括:通过计算机管理个人财务,实现无纸化理财;通过查询分析,统计出各项数据,分析出生活中的浪费和节约的地方,通过强大的查询和索检高效的索检出数据,提高办事效率。本系统主要有以下功能:
◆ 对家庭成员资料的管理及对使用权限的管理。相关信息存在“家庭成员信息表”中,普通用户可以对自己的密码进行修改,系统管理员在密码修改功能上的基础上可以添加或删除成员;
◆ 对理财项目可以进行编辑。理财项目包括日常收入来源和支出类型,相关信息存在“收入来源表”、“支出类型表”、“活期账户信息表”均可以实现添加、删除、修改功能;
◆ 日常财务管理,包括日常收入和日常支出,即记下日常的收入和日常的支出。相关信息存入“收入信息表”和“支出信息表”中,均可以实现添加、删除、修改功能。
◆ 理财分析,实现分类查询,即按类别查询收支明细,而且可以看到收支的财务分析报告,并可打印;
◆ 数据维护:包括数据库的备份、数据库的导入/出,方便用户保存和早期查询;
第3章 系统总体设计
3.1 系统设计方法
系统设计是对整个管理系统功能进行分析,并划分和构建系统功能模块。模块化程序设计就是把一个大程序按一个人能理解的规模进行分解的一种方法。模块化指的是把一个程序按功能分解成若干彼此具有一定独立性同时也具有一定联系的组成部分,这些组成部分称为模块。
系统设计是本系统开发的重要阶段,它直接影响到目标系统的质量,是整个开发工作的核心。系统设计阶段的主要任务是:在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型设计。
本系统在设计过程中,充分考虑了系统的稳健性、适应性和效率性,符合系统设计的原则。
3.2 系统架构
通过对家庭理财功能的分析,本系统分为系统登录界面、系统主程序界面、导出数据库界面、导入数据库界面、收支项目管理界面、家庭成员管理界面、日常收入管理界面、日常支出管理界面、查询明细界面。系统结构设计图如下:
图3.1 系统结构图
3.3 系统功能模块细分
根据上述系统总体架构思想的分析,可将系统分为以下六大部分: ◆ 系统管理模块
负责对用户和数据库进行管理
负责对收支项目和家庭成员进行管理 负责对日常收入和日常支出进行管理
◆ 基础数据管理模块 ◆ 日常收支管理模块
最后得到如图示系统功能模块图:
图3.2 系统功能模块图
3.4 系统数据库的设计
开发数据库应用系统,大部分可分为数据库的分析、设计和应用程序的分析、设计两部分。后台数据库的合理设计在本系统中占有十分重要的地位,数据库设计的优劣将会直接影响系统的准确性、效率及实现效果,合理的设计能提高数据存储效率,保证数据的完整和一致。
3.4.1 数据库相关理论
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件领域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。 数据库
数据库由DBMS (数据库管理系统)处理,DBMS 则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
◆ 用户数据
目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。一个用以产生良好结构关系的过程,称作规范化。
◆ 元数据
数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS 产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、
关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS 是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。
◆ 索引
第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。
◆ 应用元数据
存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS 都支持应用组件,支持组件的DBMS 也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS 产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,相反,他们通过DBMS 中的工具来处理这些数据。 3.4.1 数据库分析
根据以上分析,设计出下列数据项和数据结构: ● 成员信息:编号,称呼,姓名,密码,权限; ● 收入项目信息:编号,收入来源; ● 支出项目信息:编号,支出类型;
● 日常收入信息:编号,日期,方式,金额,项目,来源,人员,备注; ● 日常支出信息:编号,日期,方式,金额,项目,去向,人员,备注;
3.2 数据库概念结构设计
得到上面的数据项和数据结构后,即可设计满足用户需求的各种实体,以及它们之间的关系。根据上述设计规划出以下各个实体及其E-R 图:
图3.3 成员信息图
图3.4收入支出项目图
图3.5 日常收入信息图
综合以上E-R 模型,得到整个系统的E-R 关系图,如下示:
图3.6 E-R关系图
3.3 数据库逻辑结构设计
系统模型的逻辑结构设计的任务是把概念结构设计好的基本的E-R 图转换为支持关系模型的DBMS 相符合的逻辑结构。 家庭理财管理系统数据库各表具体定义如下:
表3.1 用户信息表
表3.2 成员信息表
表3.3 收入项目信息表
表3.4 支出项目信息表
表3.5 收入信息表
表3.6 支出信息表
第4章 系统设计和实现
4.1 系统设计方法
系统设计是对整个管理系统功能进行分析,并划分和构建系统功能模块。模块化程序设计就是把一个大程序按一个人能理解的规模进行分解的一种方法。模块化指的是把一个程序按功能分解成若干彼此具有一定独立性同时也具有一定联系的组成部分,这些组成部分称为模块。
系统设计是本系统开发的重要阶段,它直接影响到目标系统的质量,是整个开发工作的核心。系统设计阶段的主要任务是:在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型设计。
本系统在设计过程中,充分考虑了系统的稳健性、适应性和效率性,符合系统设计的原则。
4.2 系统模块设计
4.2.1 框架文件配置 Spring+hibernate的配置
Sprint+Struts的配置(在web.xml 中添加如下配置)
4.2.2 系统主界面
用户进入系统时要输入正确的用户名和密码,系统从数据库用户表中检索是否有相对应的数据信息,若输入正确则进入主界面,否则提示错误,需重新输入。选择取消退出登陆系统。若连续三次输入的用户名和密码都无法与数据库中的数据匹
配,则强制推出系统。
模块流程图如图4.1所示:
图4.1 登录模块流程图
登陆窗体如图4.2所示:
图4.2 登录窗体
输入正确的用户名和密码登录,进入系统主界面,如下图示:
4.3.1 基础数据管理界面
收支项目管理界面,如图所示:
图4.3 系统主界面
图4.4
成员管理界面,如图所示:
图4.5
4.3.2 收支管理界面
日常收入界面:如图所示
图4.6
日常支出界面:如图所示
图4.7
4.3.3 系统管理界面
角色管理界面, 如图所示:
图4.8
分页代码:
// 会话判断 UserInfo user = (UserInfo) request.get(SysConstants.KEY_USER_INFO); if (user == null ) { } UserAppSettings settings = respond.setErrorMsg(" 登录超时,请重新登录!" ); return ;
(UserAppSettings)request.get(SysConstants.USER_APP_SETTINGS);
if (settings == null ){//防止session 过期得到空值 settings = new UserAppSettings();
// 分页设置 String pageNum = (String) request.get("pageNum" ); int numberPerPage=settings.getPrePageNum(); int currentPage; if (pageNum == null ) { currentPage = 1; } else { } currentPage = Integer.parseInt (pageNum); PageBean pageBean = null; pageBean = outputDao.getAllOutPutInfo(); if (pageBean!=null ){ } int curr=pageBean.getCurrentPage(); int nextPage = pageBean.getCurrentPage() + 1; int previousPage = pageBean.getCurrentPage() - 1; int totalPages = pageBean.getTotalPages(); response.add("nextPage" , nextPage); response.add("previousPage" , previousPage); response.add("totalPages" , totalPages); response.add("pageBean" , pageBean); outputList = pageBean.getDispList();
dao 类
public PageBean getAllOutPutInfo () {
//查找条数 } PageBean pageBean = null ; String listHql = "from Output where 1=1 and autoSaveStatus =1 "; List
第五章 结 论
经过两个多月的努力,我们完成了毕业设计——家庭财务管理系统。以前我们只知道学习书本的知识,以及一些基本电脑知识,而没有注重开发一些应用性软件。并不知道自己处于什么样的水平阶段,通过这次毕业设计我们发现在工具和语言使用方面我们还存在诸多不便,另外,由于我们从没有开发过类似软件的经验,以及时间的仓促,还有在技术与设计上的不足,该软件还存在着一些技术和功能划分上的不足和缺憾。
本系统的扩展性很强,可根据不同用户的需要,增加其他的功能模块,当然由于技术和语言使用方面存在一些不足,所以本管理系统在功能完善上有待进一步的划分和制作。
首先,由于数据库原理的某些方面的细节掌握不够扎实,导致设计过程中的很多变动。
其次,对于本次设计,由于时间、自身开发水平及其它原因,对于图形间的比较,没有能够实现,这是自己的一大遗憾。
通过这段时间的毕业设计,学到了很多东西,不仅把以前所学的很多知识充分利用上了,还要我学会使用了编程语言和数据库开发技术,初步了解了JSP 强大的动态交互网络编程开发能力,对JSP 网页设计软件有了更为深刻的了解和熟练的应用,我体会到了软件开发不仅是编程,它需要方方面面的考虑,同时也必须具备比较全面的知识。就像我们生活中的第一件事都需要有始有终,认真对待。
我们在虚心听取和接受老师和同学们的意见和建议的同时,会更加努力将其加以完善,并且提高自身知识水平。这并不是毕业设计的结束,更不是人生在学习生涯中的结束,而是新环境、新学习、新挑战的开始。有这样我们才能学无止境,以求得更大的发展。对于我们年轻人来说,我相信:挑战越多,机会越多。我们会打足精神,努力开创新的成绩,勇敢的面对以后发生的一切,更好的提高自己,以便能够更好为社会服务,为人民服务,近而体现自己在社会发展中的价值。
致 谢
在老师的大力支持和精心指导下,经过与同学的共同努力,经过两个月的时间顺利完成了本次毕业设计。
在这次毕业设计的过程中我们收益非浅,我深深的体会到了如何把自己所学过的专业知识与实际应用结合起来,懂得如何灵活运用自己所掌握的理论知识,通过本次毕业设计使自己的知识得以巩固和扩展。
本次毕业设计也使我对数据库的应用有了更好的掌握,虽然只是一个小的应用软件,但在这次实践中,特别是在收集资料,分析资料过程中第一次运用了软件工程的理论,掌握了一些分析问题、解决问题的能力,在这过程中也参考了别人的一些数据库作品及思路,并应用到自己的设计中。当然,在这次做这和软件的过程中也收到了一些挫折,在功能模块的需求分析的过程中,有很多问题没有考虑彻底,在编写和修改代码的过程中遇到了很多困难,在老师和同学的帮助下,均一一克服了这些困难。但这给了我编写软件的经验和教训,同时也培养了我细心,耐心等性格,树立了一种良好科学的态度。
通过这次毕业设计使我自己的动手能力得以增强。在专业知识方面,我们学到了很多新的东西,特别在JSP 、及Oracle 等方面,有了很大的提高。我们体会到了软件开发不仅仅是编程,它需要方方面面的考虑,同时也必须具备比较全面的知识。就像我们生活中的每一件事都需要有始有终,认真对待。
首先我要感谢我的指导老师,因为他在我做毕业设计的过程当中,负责任的指导和建议使我受益非浅,他每时每刻的督促使我不敢有丝毫的怠慢,他一直给予我悉心的教导和莫大的支持,无论在学习上还是在精神上都给予了帮助,这些帮助和鼓舞对我而言是一笔财富,它一直鞭策着我认真的完成毕业设计,而且也让我在面对人生的设计舞台时同样充满了信心。在这几个月的设计时间里,老师对我所犯的错误也给予了恰当的教导和包容,让我能够及时认识到自己的错误并力争改过。在此,我向老师致以深深的谢意!
在这里我除了要感谢我的课题指导老师老师,其次,我要感谢我的专业课老师,是她在这三年的光阴里一直在引领着我们认真的学习,给我们指引人生正确的方向,也在一直努力为我们创造良好的学习环境和班级氛围,在毕业设计的最后阶段也一直给予我们鼓舞和帮助,在此对老师表达真挚的感谢,感谢他在这不长也不短
的三年里为我们所做的努力。
计算机系全体老师——再次,我要感谢我们计算机系的全体老师,因为是他们在平日的教学当中给予了我们专业的指导,也灌输了我们认真的学习态度,这些都与最后的毕业设计成果有着直接的关系,在此,想他们道一声:辛苦了!
通过本次毕业设计对我以后的工作和学习有很大的帮助和指导。同时我们也认识到本身还存在很多不足的地方,还需要不断的努力来充实自己完善自己,只有这样我们才能学无止境,以便得到更大的发展。
最后我再次感谢老师的帮助,在此,我们向他们说声“谢谢”,对指导老师的认真负责的指导致以衷心的感谢。
参考文献
[1] 周佩德. 《数据库原理及应用》. 电子工业出版社
[2] 王要武,管理系统,电子工业出版社,2003
[3] 周之英缟著,现代软件工程,科学出版社,2003
[4] 李红等编著,管理信息系统开发与应用,电子工业出版社,2003
[5] 施霞萍等编著.Java 程序设计教程 第2版. 北京:机械工业出版社,2006
[6] [美]Herbert Schidt著.Java 参考大全. 鄢爱兰. 鹿江春译. 北京:清华大学出版社,2006
[7]宛延闿等编著. 实用Java 程序设计教程. 北京:机械工业出版社,2006
[8]陈国君等编著.Java2程序设计基础. 北京:清华大学出版社,2006
[9]郑莉. 王行言. 马素霞编著.Java 语言程序设计. 北京:清华大学出版社,2006
[10] 丁振凡主编.Java 语言实用教程. 北京:北京邮电大学出版社,2005
[11] 朱喜福等编.Java 程序设计. 北京:人民邮电出版社,2005
转载请注明出处范文大全网 » 家庭财务管理系统论文