家庭财务系统开发和利用毕业论文.doc

上传人:仙人指路1688 文档编号:4023590 上传时间:2023-04-01 格式:DOC 页数:36 大小:404.50KB
返回 下载 相关 举报
家庭财务系统开发和利用毕业论文.doc_第1页
第1页 / 共36页
家庭财务系统开发和利用毕业论文.doc_第2页
第2页 / 共36页
家庭财务系统开发和利用毕业论文.doc_第3页
第3页 / 共36页
家庭财务系统开发和利用毕业论文.doc_第4页
第4页 / 共36页
家庭财务系统开发和利用毕业论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《家庭财务系统开发和利用毕业论文.doc》由会员分享,可在线阅读,更多相关《家庭财务系统开发和利用毕业论文.doc(36页珍藏版)》请在三一办公上搜索。

1、目录第一章 绪论21.1课题背景21.2国内外发展21.3研究意义3第二章 系统概述42.1 概述42.2 功能42.2.1总体运行模型62.2.2分层逻辑模型62.3 运行环境72.4 需求知识7第三章 概要设计及功能模块83.1 数据库设计83.1.1数据库需求分析83.1.2数据库概念结构设计93.1.3数据库逻辑设计103.1.4相关代码113.2 登陆模块123.2.1功能描述123.2.2处理流程123.2.3时序图133.2.4类设计143.3家庭成员模块173.3.1功能描述173.3.2处理流程183.3.3类设计183.4账簿管理模块263.4.1功能描述263.4.2处理

2、流程273.5 XML文件配置283.5.1 Spring配置283.5.2 struts and web配置30第四章 总结与展望314.1 总结314.2 展望31致 谢32参考文献32第一章 绪论1.1课题背景当今社会越来越朝着信息化和数字化法发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。 随着市场经济的发展,我国居民对理财有着越来越高的要求。理财,是每个家庭和个人所必须面对的问题。现在,关于企业的会计制度逐渐完善,而且针对企业的财务软件以及EPR(enterp

3、rise resource planning)系统也在飞速发展,但针对家庭的财务系统目前还是一段空白。实际生活中经常要对家庭的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提升我们生活的质量和品位。我们经常看到企业的一些财务报表,这些报表主要是关注企业的资产负债表和损益表。简单的说,前者是反映这个企业有多少钱,是存量;后者,反映了企业在一定时间能赚到多少钱,是流量。其实,对一个家庭的财务情况,也是关注这两个方面。关注家里存多少钱,关注今年赚了多少钱,花了多少,借出什么等等。要做到这些需要对大量的数据做存储和计算,工作是相当的复杂繁琐和

4、枯燥的,因而这些问题容易被人忽略。我们纵然可以为生活中的每一笔花销记账,但是对这样大量的数据做分类处理确实是一个会令大多数人头疼的问题,如果有一个家庭理财的软件对我们的日常财务进行那样的繁琐的数据处理和计算工作,相信可以让我们理财的效率大大提高。这样一个软件不但可以方便我们的生活,更可以使我们对自己的财务状况有一个清楚的了解。与此同时,这样的一个软件开发和制作也是对我们大学学到各种知识进行的一次综合运用的一个好机会,是对我大学学习的一个检验和实践。1.2国内外发展随着Internet的飞速发展,更新换代越来越频繁,人类已进入网络计算和数字化时代,通过计算机管理软件对企业进行管理,管理更多的客户

5、信息,快捷而方便的让管理员能在最快的时间里找到、修改、保存自己所需要的相关信息。让更多的企业对自己客户的管理更加规范、快速、方便。1.3研究意义家庭是一个生产、管理的集散地,资料繁多,包含很多信息数据的管理。在过去的家庭中用书面管理信息,在修改、查询、添加家庭成员信息方面都没有很好的发挥它的效益,资料管理复杂、工作量大比较突出,不能利用多种途径查询企资料,修改后不能同步更改所有档案资料。这就是家庭成员管理系统开发的基本环境。设计处理查询方式单一,添加不能与统计同步,出错率高,出错后不易更改。由于信息比较多,信息管理比较混乱;一般成员情况是记录的,资料的数目和内容记录在文件中,工作人员和管理人员

6、也只能当时比较清楚,时间一长,如再有进行查询,查找了造成查询费时,费力。如果对很长时间以前的资料进行更改就更加困难了。基于此类问题,我认为有必要建立一个家庭成员管理系统,使资料管理工作规范化,程序化,避免资料管理随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询、修改和保存资料情况。第二章 系统概述2.1 概述家庭财务管理系统是针对家庭的财务软件,他能轻松帮你完成记帐以及理财规划。用户可以自由的设置收支类型(如生活费、通讯费、交通费、水电费、医药费等类型),可以制定每月的收入支出预算,还可以详细统计出各项家庭财务指标,便于您分析自己的财务。其它功能如:家庭亲友通讯录、家庭备忘录、家

7、庭重要信息等。具体模块应包括:记账、资产管理、负债管理、投资理财管理、计划和提醒、家庭信息管理、统计报表(比如现金流报表、资产负债报表等)等模块。2.2 功能1.登陆管理系统管理员可以设置家庭成员,修改或者删除。家庭成员应该包括“编号,姓名,登录名,登录密码”等。家庭成员可以用登录名和登录密码登录家庭财务管理系统进行记账管理。 2. 账薄管理(1)记账记录收支项目,收支日期,收支家庭成员,收支金额,备注等内容。币种只支持人民币。(2)账薄管理显示给用户一个账薄,可以账薄上新增、修改、删除、查询记账,查询记账可以选定一个日期范围进行查询。3. 家庭成员管理可以设置家庭成员,修改或者删除。家庭成员

8、应该包括“编号,姓名,登录名,登录密码”等。家庭成员可以用登录名和登录密码登录家庭财务管理系统进行记账管理。 4. 收支项目管理可以设置收支项目,修改或者删除。收支项目要求分为两层,比如“车辆维护-保养费”;任意一层次都可作为收支项目记账,用户在不清楚支出是否属于“保养费”的时候,可以选择大类“车辆维护”作为支出项;收支项目具体应该包括“编号,项目名称,收入还是支出”,编号不用显示在收支账薄中。5.家庭成员收支报表管理图2-1.系统功能图家庭财务管理系统登录管理账簿管理家庭成员管理收支项管理退出管理查看账簿信息编辑账簿信息删除账簿信息增加家庭成员编辑家庭成员删除家庭成员查看收支项目编辑收支项目

9、删除收支项目6.退出管理 2.2.1总体运行模型图表 1 运行模型 (Visio)2.2.2分层逻辑模型第一层逻辑模型:图表 2 第一层逻辑模型 第二层逻辑模型2.3 运行环境该系统为B/S三层结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分。 以下是系统的软件环境。 (1)客户端 操作系统:Windows XP 或更新版本。 浏览器:IE6以上,其它常见浏览器如Firefox。 (2)应用服务器端 操作系统:Windows XP 数据库访问:MySQL。 2.4 需求知识1. 熟练使用Myeclipse9.0,tomcat6.02. 熟悉struts1.x+spring+hib

10、ernate3. 能够运用DIV+CSS熟练布局4. 掌握基本的JavaScript知识5. 掌握Java基本知识和JSP+Servlet理论6. 了解Rational Software 2003 的简单应7. 了解MySQL。第三章 概要设计及功能模块3.1 数据库设计据库库设计是应用系统开发的一个重要环节,数据库结构的好坏将直接对应用系统的效率及实现结果产生重要影响。在数据库设计的开始阶段应尽量全面考虑用户的各种需求,收集基础数据、数据结构及数据处理流程。SQL Server 2005是一种基于客户机/服务器关系型数据库管理系统,用来对存放在计算机中的数据库进行组织、管理和检索,它使用Tr

11、ansact-SQL语言在服务器客户端之间传送请求。目前SQL Server 2005已经得到广泛使用。历经多次升级改版,其功能越来越强大,但操作反而更加简单。尤其是风格统一的操作界画使得许多初学者更容易掌握。SQL Server应用广泛,能操作其他来源的资料,包括许多流行的PC数据库程序(如DBASE、Paradox、FoxPro)和、小型机及大型机上的许多SQL数据库。此外,SQL Server还提供的高级应用系统。SQL Server与其它数据库开发系统比较有一个明显的区别:用户不用编写一行代码,就可以在很短的时间里开发出一个功能强大且相当专业的数据库应用程序, 并且这一过程是完全可视的

12、,如果能给它加上一些简短的VBA代码,那么开发出的程序就与专业潜心开发的程序一样。SQL Server 2005产品家族被重新设计以更好地满足不同客户的需求,不同版本之间存在着功能和特点的差异,本系统采用的是SQL Server 2005标准版(Standard Edition)。3.1.1数据库需求分析在分析家庭财务管理系统的所需功能的基础之上,设计如下面所示的数据项和数据结构:(1)家庭成员信息,包括的数据项有:用户编号、用户名、权限等。(2)收支类型信息,包括的数据项有:类型编号、类型名称等。(3)账簿管理信息,包括的数据项有:用户编号、类型编号、日期、金额、收/支、备注等。(4)报表统

13、计信息,包括的数据项:报表类型、日期、收入支出统计金额等。3.1.2数据库概念结构设计MNNMN数据库数据家庭成员资料用户操作名称密码真实姓名其他备注记录查询添加更改用户名成员编号删除保存重置管理图3.2 E-R模型图本系统根据以上的设计规划出的实体有:家庭账户实体、收支类型列表实体、收支记录表实体等。3.1.3数据库逻辑设计 即将数据库的概念结构转化为实际数据模型,同时在遵循数据库设计原则基础上,具体的表结构如表3.3到表3.5。图表3.3数据库设计(PowerDesignner) 序号字段中文名字段英文名类型、宽度、精度取值约束空否默认值主键/外键1用户编号UserIDbigint否主键2

14、用户名UserNamevarchar(50)少于50字符否3密码Passwordvarchar(50)少于50字符否 表3.4用户表序号字段中文名字段英文名类型、宽度、精度取值约束空否默认值主键/外键1支出物资编号PayoutIDbigint否主键2用户编号UserIDbigint否外键3支出类型Paykindvarchar (50)否4支出物资类型payoutkingVarchar(50)否5支出金额PayAccountfloat否6支出时间PayTimedate否表3.5 支出信息表序号字段中文名字段英文名类型、宽度、精度取值约束空否默认值主键/外键1收入信息编号IncomeIDbigin

15、t否主键2用户编号UserIDbigint否外键3收入类型Inkindvarchar (50)否4收入物资类型PayinkindVarchar(50)否5收入金额InAccountfloat否6收入时间InTimedate否 表3.6 收入信息表3.1.4相关代码数据库连接:!DOCTYPE hibernate-configuration PUBLIC-/Hibernate/Hibernate Configuration DTD 3.0/ENcom.mysql.jdbc.Driverjdbc:mysql:/localhost:3306/userroot123456com.mysql.jdbc.

16、Driverorg.hibernate.dialect.MySQLDialecttrueupdate3.2 登陆模块3.2.1功能描述使用者:用户目的:使用不同的角色进行登陆管理操作基本事件流:1、进入登陆界面,本用例开始2、普通用户通过注册后进入系统进行操作。3、超级用户进入系统后进行管理操作。图3.1登录流程用户 系统登录成功填写登录信息接受登录信息不合法合法3.2.2处理流程3.2.3时序图点击“登录”按钮对用户所输入的用户名和密码进行验证,首先打开数据库中存有用户资料的数据表,对数据库中用户名,密码和用户输入的进行比较,如果一致则载入主窗体,否则弹出对话框提示密码或用户名错误,登录失败

17、,并清空用户名和密码文本框。图2.2系统流程图3.2.4类设计Model:public class User private int id;private String username;private String password;private FamilyMenber famenber;/* * return the famenber */public FamilyMenber getFamenber() return famenber;/* * param famenber the famenber to set */public void setFamenber(FamilyMen

18、ber famenber) this.famenber = famenber;/* * return the id */public int getId() return id;/* * param id the id to set */public void setId(int id) this.id = id;/* * return the username */public String getUsername() return username;/* * param username the username to set */public void setUsername(Strin

19、g username) this.username = username;/* * return the password */public String getPassword() return password;/* * param password the password to set */public void setPassword(String password) this.password = password;DAO:package com.cavtc.ssh.dao;import java.util.List;public interface LoginUserDAO pu

20、blic List queryLoginUser(String username,String password);import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class LoginUserDAOImpl extends HibernateDaoSupport implements LoginUserDAO public List queryLoginUser(String username,String password) String h

21、ql=from user_login u where u.username=+username+and+u.password=+password ;return this.getHibernateTemplate().find(hql);Service:package com.cavtc.ssh.service;public interface LoginUserManager public boolean validateLoginUser(String username,String password);package com.cavtc.ssh.service;import com.ca

22、vtc.ssh.dao.LoginUserDAO;public class LoginUserMangerImpl implements LoginUserManager private LoginUserDAO loginuserDAO;public boolean validateLoginUser(String username ,String password) if (loginuserDAO.queryLoginUser(username,password).size() 0) return true;return false;/* * param loginuserDAO the

23、 loginuserDAO to set */public void setLoginuserDAO(LoginUserDAO loginuserDAO) this.loginuserDAO = loginuserDAO;Action:package com.cavtc.ssh.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.strut

24、s.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.DynaActionForm;import com.cavtc.ssh.service.LoginUserManager;public class LoginUserAction extends Action private LoginUserManager loginuseManager;public Act

25、ionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception DynaActionForm lf = (DynaActionForm) form;if (loginuseManager.validateLoginUser(String)lf.get(username),(String)lf.get(password) return mapping.findForward(success); el

26、se return mapping.findForward(error);public void setLoginuseManager(LoginUserManager loginuseManager) this.loginuseManager = loginuseManager;3.3家庭成员模块3.3.1功能描述此模块用来管理用户信息,其中包括添加用户和密码两项功能,添加用户是指在原有的用户基础之上添加新的系统用户,密码则是用户对自己密码进行修改。3.3.2处理流程图3.3.2添加用户流程3.3.3类设计Model:package com.cavtc.ssh.model;public cl

27、ass FamilyMenber private int id;private String realname;private String username;private String password;/* * return the id */public int getId() return id;/* * param id the id to set */public void setId(int id) this.id = id;/* * return the realname */public String getRealname() return realname;/* * p

28、aram realname the realname to set */public void setRealname(String realname) this.realname = realname;/* * return the username */public String getUsername() return username;/* * param username the username to set */public void setUsername(String username) this.username = username;/* * return the pas

29、sword */public String getPassword() return password;/* * param password the password to set */public void setPassword(String password) this.password = password;DAO:package com.cavtc.ssh.model;public class FamilyMenber private int id;private String realname;private String username;private String pass

30、word;/* * return the id */public int getId() return id;/* * param id the id to set */public void setId(int id) this.id = id;/* * return the realname */public String getRealname() return realname;/* * param realname the realname to set */public void setRealname(String realname) this.realname = realna

31、me;/* * return the username */public String getUsername() return username;/* * param username the username to set */public void setUsername(String username) this.username = username;/* * return the password */public String getPassword() return password;/* * param password the password to set */publi

32、c void setPassword(String password) this.password = password;package com.cavtc.ssh.dao;import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hi

33、bernate3.support.HibernateDaoSupport;import com.cavtc.ssh.model.FamilyMenber;public class FamiMenbersDAOImpl extends HibernateDaoSupport implements BaseDAO public void addContent(FamilyMenber famiMenber) this.getHibernateTemplate().save(famiMenber);public void updateContent(String password,int id) F

34、amilyMenber famiMenber=(FamilyMenber)(this.getHibernateTemplate().get(FamilyMenber.class,id);famiMenber.setPassword(password);this.getHibernateTemplate().update(famiMenber);public void deleteContentById(int id) this.getHibernateTemplate().delete(id);public List queryContentById(int id) return this.g

35、etHibernateTemplate().find(from FamilyMenber f where f.id=+String.valueOf(id);public List findAllContent(final int pageIndex,final int pageSize)/StringBuffer final String hql=form FamilyMenber f limit +pageIndex+ +pageSize;List list=this.getHibernateTemplate().executeFind(new HibernateCallback()publ

36、ic Object doInHibernate(Session session)throws HibernateException, SQLException List result=session.createQuery(hql) .setFirstResult(pageIndex-1)*pageSize) .setMaxResults(pageSize) .list();return result;);return list; public int getAllRowCount() List list = getHibernateTemplate().find(select count(*

37、) from FamilyMenber); return Integer.valueOf(list.get(0).toString();Service:package com.cavtc.ssh.service;import java.util.List;import com.cavtc.ssh.dao.BaseDAO;import com.cavtc.ssh.model.FamilyMenber;import com.cavtc.ssh.model.Page;public class FamiMenberManagerImpl implements FamiMenberManager pri

38、vate BaseDAO famimenberDAO;/* * param famimerberDAO the famimerberDAO to set */public void setFamimerberDAO(BaseDAO famimenberDAO) this.famimenberDAO = famimenberDAO;public FamilyMenber queryFamiMenber(int id) return (FamilyMenber)famimenberDAO.queryContentById(id).get(0);public void deleteFamiMenbe

39、r(int id) famimenberDAO.deleteContentById(id);public void addFamiMenber(FamilyMenber menber) famimenberDAO.addContent(menber);public List findFamiMenbers(int pageIndex, int pageSize) return famimenberDAO.findAllContent(pageIndex, pageSize);public int getAllRowCount() return famimenberDAO.getAllRowCo

40、unt();public Page initPage(int rowsAll,int pageSize,List data) return PageUtil.setPage(rowsAll, pageSize, data);public void updateFamiMenber(String password,int id) famimenberDAO.updateContent(password, id);Action:package com.cavtc.ssh.action;import java.io.PrintWriter;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServle

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号