基于SSH框架的家庭理财系统.doc_第1页
基于SSH框架的家庭理财系统.doc_第2页
基于SSH框架的家庭理财系统.doc_第3页
基于SSH框架的家庭理财系统.doc_第4页
基于SSH框架的家庭理财系统.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

总总 目目 录录 一 毕业设计 论文 二 指导老师评语表 三 评阅人评阅表 四 答辩记录表 五 答辩委员会评语 基于基于 SSHSSH 框架的家庭理财系统框架的家庭理财系统 摘摘 要 要 在我国大部分家庭的财产收入都有了较大的增长的同时 家庭财产的收入 支出也 变得多种多样 家庭的收支是一组庞大 复杂的数据 而且每天都会产生新的数据 用一 个 家庭理财系统 来对家庭的财产 包括收支情况 固定资产 债务等 进行科学 有 效 便捷的管理 节约开支并发挥资金的最大效益 本系统设计的是一套功能比较完善的 方便使用的基于 Web 家庭理财系统 家庭理财系统功能主要包括日常消费 收入记录 统计管理等三部分 其中该系统的 开发是以 MyEclipse 作为开发平台 选用 Tomcat 作为 Web 服务器和 Structs2 框架 系统 的技术架构采用三层架构 表示层由 JSP 页面来呈现业务的表现形式 使用 JavaBean 来完 成业务逻辑的处理 数据层 MySQL 数据库提供服务 使系统能够有效降低建设和维护成本 同时简化管理 也可适应不断的变化和新的需求 关键词关键词 家庭理财系统 Jsp Java MyEclipse 基于基于 SSHSSH 框架的家庭理财系统框架的家庭理财系统 5 5 1 绪 论 8 2 研究的基本内容 10 2 1 关键技术 10 3 需求分析 12 3 1 系统目标 12 3 2 构建要求 12 3 3 可行性分析 12 3 4 非功能需求 13 4 详细设计 14 4 1 模块划分 14 4 2 业务流程 14 4 3 数据库设计 14 5 系统实现 17 5 1 登录界面 17 5 2 用户注册 19 5 3 主菜单界面 21 5 4 收入记录界面 26 5 5 月度统计 29 6 结论与展望 31 6 1 主要结论 31 6 2 后续研究工作展望 31 致 谢 32 参考文献 3333 1 1 绪绪 论论 长期以来 人们都使用传统的人工方式记录和管理家庭或者自己的财务情况 传统的 纸币记录不方便而且不便于长期保存 效率低下同时保密性也不强 随着人们收入的提高 和消费的增多 家庭所要记录管理的理财信息也越来越多 传统的纸币记录已经不能满足 需求 随之依托计算机的家庭理财系统已经成为很多家庭财务管理的一个重要工具 计算机的普 遍使用为家庭理财系统的普及使用提供了坚实的基础 计算机准确高效准确的特点大大提 高了财务管理的效率和准确性 而且大大的提高了其安全性 家庭理财系统在发达国家的 使用已非常普遍 而且其功能强大 系统里包含有股票 基金的预测分析等功能 本课题 针对家庭理财系统的发展趋势开发出一套行之有效的家庭理财系统 作为计算机应用的一 部分 使用计算机对家庭财务进行管理 具有着手工管理所无法比拟的优点 如 检索迅速 查找方便 可靠性高 存储量大 保密性好 寿命长 成本低等 这些优点能够极大地提 高家庭财务管理的效率 也是家庭理财的科学化 正规化管理 与先进科学技术接轨的重要 条件 家庭理财就是学会有效 合理地处理和运用钱财 让自己的花费发挥最大的效用 以 达到最大限度地满足日常生活需要的目的 家庭理财就是利用企业理财和金融得方法对家 庭经济 主要只家庭收入和支出 进行计划和管理 增强家庭经济实力 提高抗风险能力 增大家庭效用 从广义的角度来讲 合理的家庭理财也会节省社会资源 提高社会福利 促进社会的稳定发展 家庭理财就是利用开源节流的原则 增加收入 节省支出 用最合 理的方式来达到一个家庭所希望达到的经济目标 这样的目标小到增添家电设备 外出旅 游 大到买车 购屋 储备子女的教育经费 直至安排退休后的晚年生活等等 系统使用 JSP 结合 J2EE 技术设计并实现一个基于 MySQL 数据库的家庭理财系统 并且 系统应该具有良好的可扩展行 可靠性 易维护性 更适于用户确切的管理自己的家庭财 务 Stucts 是一款开源的 Apache 项目他的 Web 应用程序的开发相对简便 它能是系统脉 络清晰方便维护 Hibernate 支持各种关系数据库 从一对一到多对多的各种复杂关系 非常灵活 Spring 框架使用接口而不是使用类而且将使用接口的复杂度几乎降低到了零 家庭理财系统以家庭理财的概念 理论 本质为基础 剖析了家庭的经济结构 并对 理财市场和理财产品进行了分析 在此基础上提出了家庭理财的模式及如何进行家庭理财 规划 家庭理财系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系 统 它的内容对于家庭的管理者来说是至关重要的 所以家庭理财系统应该能够为一个家庭 的管理者提供充足的信息和快捷的查询手段 方便家庭的管理者的合理理财 2 2 研究的基本内容研究的基本内容 2 2 1 1 关键技术关键技术 本系统分使用MyEclipse平台及Java语言开发 涉及到Socket通信 MySQL数据存储 基于SSH框架的数据呈现及管理 系统采用MVC模式 该模式是现在最流行的一种设计模式 MVC包括3类对象 简单地说 Model是应用对象 VIEW是它在屏幕上的表示 Controller定 义用户界面输入的相应方式 1 MyEclipse 开发平台 MyEclipse 企业级工作平台是功能丰富的 JavaEE 集成开发环境 包括了完备的编码 调试 测试和发布功能 完整支持 HTML Struts JSP Javascript MySQL Hibernate 等家庭 理财系统需要的使用的技术模块 2 JSP 页面技术 JSP 产生于 Servlet 之后 主要是为了解决 Servlet 中输出 HTML 代码效率低的问题而 产生的 JSP 技术比较简单 类似于 ASP PHP 这些脚本语言 JSP 的基本语法 两个注释 3 个脚本元素 8 个动作指令 1 3 JavaBean 组件技术 JavaBean 称为 Java 豆 它是封装业务逻辑 以便于外界的调用 调用者可以是 JSP 也可以是其他的类 JavaBean 组件由一些属性和操作这些属性的函数组成 4 Struts Struts 是一个基于 J2EE 平台的 MVC 框架 主要是采用 Servlet 和 JSP 技术来实现的 是开发 Web 应用程序的开放源码框架 Struts 把 Servlet JSP 自定义标签和信息资源 message resources 整合一个统一的框架中 开发人员利用其进行开发时不用再自己编码 实现全套 MVC 模式 极大地节省了时间 10 本系统选用 Struts 作为 MVC 的控制器 因为它足够成熟 用户群广泛 虽然它也有缺 点 但完全利用别的软件弥补 比如利用 Sitemesh 代替 Titles 等 WebWork 很优秀 但 起步晚 用户群太小 JSF 和 Tapestry 是重量级的 MVC 架构 通过这个两个方面的对比即 可得出 Struts 的两大优点 即用户群大且轻量级 5 数据库软件 MySQL MySQL 由 MySQL AB 开发 发布和支持 MySQL 服务器支持关键任务 重负载生产系统 的使用 也可以将它嵌入到一个大配置 mass deployed 的软件中去 6 Web 服务器 Tomcat Tomcat 是 Apache Jarkarta 的一个子项目 是一个免费的 开放源码的 支持 JSP 和 Servlet 技术的容器 它同时又是一个 Web 服务器软件 Tomcat 运行时占用的系统资源小 扩展性好 支持负载平衡与邮件服务等开发应用系统常用的功能 Tomcat 是一个小型的轻 量级应用服务器 在中小型系统和并发访问用户不是很多的场合下被普遍使用 是开发和 调试 JSP 程序的首选 在本系统中我们选用稳定版本 Tomcat 进行开发 2 7 JDK 开发 J2EE 的系统 需要安装 J2SE J2SE 的 JDK 是开发任何 Java 系统必须安装的工具 包 本系统选用 JDK1 6 版本进行开发 3 3 需求分析需求分析 3 13 1 系统目标系统目标 家庭理财系统 主要是一个财务方面的管理软件 它与管理信息系统的主要区别在 于其收支 存取 债务报表管理等 这些都通常是管理信息系统所不具备的 家庭理财系 统 的主要目的是通过对家庭的收入 支出 存取款等进行科学的管理 使家庭的财务管 理更准确 更科学 本文主要以此为主线实现了 家庭理财系统 本系统在实施后应能达 到系统界面美观友好 操作简单易行 查询灵活方便 数据存储安全可靠 系统维护安全 方便 可靠 并能够满足实用性 先进性的要求的目标 14 3 23 2 构建要求构建要求 该系统在性能功能上应达到如下需求 1 正确性 按照需求正确执行任务 完成各个模块的相应要求 2 易用性 系统的使用界面简单明了 在开发过程中写的文档语言简练 语义清晰 3 安全性 数据集中存放在数据库服务器 4 兼容性 不易与其他软件起冲突 3 3 3 3 可行性分析可行性分析 1 经济和市场可行性分析 现在 人们的生活水平和文化素质普遍提高 并且开始注重生活质量 随着市场经济 的快速发展 观念的不断更新 个人理财意识普遍增强 特别是家庭理财意识得到很大发 展 在意识上 一方面 人们对家庭和个人的各方面消费有想进行统计和分析的愿望 以 便更好地做好家庭收支计划 和家庭财务管理 另一方面 各种理财手段不断丰富 如何 把各种理财手段统一起来 并且能更加方便的操作成为要求 在物质基础上 计算机的应 用开始普及 人们购置计算机和使用计算机的能力增强 人均计算机拥有量将快速提高 这些条件说明 人们有购买一个家庭理财软件的要求 在一个可接受的价格范围内 将购 买这种软件 因此具有市场潜力 开发一个小型财务软件 用快速开发工具可在几个月内 由几个人的开发小组完成 经过以上分析 开发一个通用型家庭理财软件具有在经济和市 场可行性 8 2 技术可行性分析 开发一个通用型家庭理财软件 项目规模可以在适合大多数家庭的基础上进行开发 技术上主要涉及界面设计和数据库设计 在开发工具方面 可采用应用软件快速开发工具 MyEclipse 它是一个高度集成化开发环境 具有丰富的组件 尤其在数据库开发方面具有 很大优势 MyEclipse能够支持大多数数据库的连接 通过数据库连接组件可方便快捷的实 现数据库连接 并进行高效访问 本系统为B S结构 也就是系统的的客户端采用的是浏览器 不用再另外编写客户端软 件 系统部署在TOMCAT下运行 数据库采用了MySQL 系统采用MVC模式 该模式是现在最 流行的一种设计模式 MVC包括3类对象 简单地说 MODEL是应用对象 VIEW是它在屏幕上 的表示 CONTROLLER定义用户界面输入的相应方式 3 43 4 非功能需求非功能需求 非功能需求可以简单归纳为 URPS 即可用性 Usability 可靠性 Reliability 性能 Performance 可支持性 Supportability 可用性是一个非常宽泛的概念 它泛指那些能让用户顺利使用系统的指标 包括易用 性 准确性 安全性 兼容性等等 在家庭理财系统中这些显得尤为重要 可靠性就是系统可以可靠运行 包括系统成熟度 数据吞吐量 并发用户量 连续不 停机性能等 数据容错度 系统易恢复性 性能是非需求分析阶段最主要的分析内容 用户对性能的要求没有止境 性能受到许 多因素的影响 包括业务需求 软件设计 数据库设计 系统部署方式 等等 其中 业 务需求和部署方式 对性能的影响是最大的 系统部署架构对性能的影响也是巨大的 最后一个内容 也是最容易被忽略的一个内容 就是可支持性 可支持性 就是软件 的可维护性 易变更性 可支持性对于客户是透明的 不可见的 因此客户通常不关心这 个 4 4 详细设计详细设计 4 14 1 模块划分模块划分 消费模块的功能包括 食品消费 衣着消费 家居消费 出行消费四部分 统计模块 的功能包括 当日汇总 月份汇总 收入模块的功能是对家庭的收入进行统计 功能模表入下表 模块划分功能分类描述 食品消费 0001 完成日常生活中食品类商品消费的录入统计 衣着消费 0002 完成日常生活中服装类商品消费的录入统计 家居消费 0003 完成日常用品类商品消费的录入统计 消费模块 出行消费 0004 完成日常生活中出行消费 如私家车的费用 公交 出行 的录入统计 当日汇总 0001 查询当日的各项记录 统计模块 月份汇总 0002 查询当月的各项记录 收入模块收入管理记录家庭不同的收入的记录 表 4 1 模块划分表 4 24 2 业务流程业务流程 用户业务流程如下 1 用户登录之后 可以选择衣食住行的消费模块或者收入统计模块进行信息记录 2 用户输入信息后提交至后台写入的数据库中 3 用户通过统计模块中的查询功能 查询出当日 当月的收支信息 4 34 3 数据库设计数据库设计 clothse表记录用户的衣食住行消费信息 表中有7个字段如下表所示 id是流水号 username是用户名 type表示 衣食住行 分类 money是消费金额 name表示消费品名 称 person记录的是消费者 time表示记录的时间 字段描述类型是否为空 id 流水号 varchar 否 username 用户名 varchar 否 person 消费者 int 是 time 记录时间 varchar 否 type 衣食住行分类 int 是 money 消费金额 float 否 name 消费品名称 varchar 否 表4 2 clothse表 tbuser表记录用户的帐号信息和个人信息 表中有5个字段 username是用户名 password是密码 sex是性别 age是年龄 realname是真实姓名 字段描述类型是否为空 username 用户名 varchar 否 password 密码 varchar 否 realname 真实姓名 varchar 是 sex 性别 varchar 是 表4 3 tbuser表 money表记录用户的收入信息 表中有7个字段 id是流水号 username是用户名 type表示 收入类别分类 money是金额 time表示记录的时间 字段描述类型是否为空 id 流水号 varchar 否 username 用户名 varchar 否 person 名称 int 是 time 记录时间 varchar 否 type 衣食住行分类 int 是 money 金额 float 否 表 4 4 money 表 5 5 系统实现系统实现 5 15 1 登录界面登录界面 系统登录界面如下图所示 本功能主要是获取登陆框和密码框获取登陆信息 点击登 录按钮提交到 Action 中验证用户名和密码是否正确 若正确则跳转至主页面 不正确则提 示登录失败 注册链接至注册页面 3 图 5 1 登录界面 Action 配置信息如下 用户输入用户名个密码登录成功后跳转到系统主页面 main htm error jsp Action 类 public String login UserDao dao new UserDao User user dao getUserByNameAndPwd userName password if user null Map session ServletActionContext getContext getSession session put user user return SUCCESS return ERROR Action 类中调用的登录方法如下 获取 JSP 页面传来的用户名和密码 在数据库中的 表 tbuser 中查询是否有对应的数据 若有则返回一个 user 对象 public User getUserByNameAndPwd String userName String passWord User user null String sql select from tbuser where username userName and password passWord try ResultSet rs null st con prepareStatement sql rs st executeQuery if rs next user new User user setUserName rs getString userName user setPassword rs getString passWord rs last catch SQLException e e printStackTrace return user 5 25 2 用户注册用户注册 用户注册 action 方法如下 调用 UserDao 类中的 adduser 方法传入用户名和密码 成 功返回 success 失败返回 error public String adduser UserDao dao new UserDao if dao adduser userName password return success else return ERROR Boolean型注册方法 获取JSP页面传来的用户名在表tbuser中查询是否有相同记录 若有相同记录则不执行插入语句返回一个flase JSP页面显示用户名已经被使用 若无相 同记录则执行插入语句 public boolean adduser String userName String passWord String sql select select from tbuser where username userName try st con prepareStatement sql select ResultSet rs st executeQuery if rs next String sql insert insert into tbuser username password sex age realname values userName passWord null null null PreparedStatement pst null pst con prepareStatement sql insert pst executeUpdate pst close return true catch SQLException e e printStackTrace return false 5 35 3 主菜单界面主菜单界面 主菜单界面包含消费类别选择 收入记录 收支情况汇总 其中费类别选择包括四个 选项的记录和每日每月的汇总信息 收入记录包括收入记录和记录汇总 图 5 2 主界面 在上述 JSP 页面中加入如下 JAVA 代码 用 getParameter 方法获取当前时间用户在页 面中显示获取用户对象在数据库中查询该用户记录的信息 获取数据的代码如下 获取 JSP 页面传来的用户名 在数据库中查询 返回 clothse 对象 public clothse getMyTableClothseResults String username throws SQLException st con createStatement ResultSet TYPE SCROLL INSENSITIVE ResultSet CONCUR READ ONLY ResultSet rs st executeQuery select from clothse where username username and type 1 rs last int row rs getRow clothse ms new clothse row rs beforeFirst int i 0 while rs next ms i new clothse ms i setId rs getInt 1 ms i setUsername rs getString 2 ms i setName rs getString 3 ms i setPerson rs getInt 4 ms i setMoney rs getFloat 5 ms i setType rs getInt 6 ms i setTime rs getString 7 i rs close st close return ms 插入着装消费信息的Action配置 插入成功返回着装消费记录页面 插入失败则提示 插入失败 clothse jsp error jsp 添加Action 在addClothse方法中调用Dao类中的addclthse方法传入用户名 时间金 额等信息 public String addClothse Calendar c Calendar getInstance Date date c getTime SimpleDateFormat format new SimpleDateFormat yyyy MM dd String time format format date Map session ServletActionContext getContext getSession User user User session get user UserDao dao new UserDao if dao addclthse name person money user getUserName time return null else return ERROR Boolean型插入方法 执行插入语句 执行插入语句成功返回true 失败返回false public boolean addclthse String name String person Float money String username String time int i 0 String sql insert insert into clothse name person money username type time values name person money username 1 time PreparedStatement pst null try pst con prepareStatement sql insert i pst executeUpdate pst close catch SQLException e e printStackTrace if i 1 return true return false 删除方法如下 获取着装消费页面传来的 ID 对数据库执行删除操作 public void deleteFromClothse int recId String sql delete from clothse where id recId this insertInto sql public void insertInto String sql try st con createStatement st executeUpdate sql st close catch SQLException e e printStackTrace 5 45 4 收入记录界面 收入记录界面 收入记录界面如下图所示 其中可以选择记录时间 收入金额和收入方式按提交按钮 后提交至 Action 类中调用插入方法对数据库执行插入语句 图5 3 收入记录图 收入记录页面代码中额function如下 function doSubmit document myForm action momeyInAction action document myForm submit function doDelete id if confirm 确定要删除吗 true document myForm recId value id document myForm action deleteMoneyIn action document myForm submit else return Action配置 move jsp error jsp 添加Action类 在Action中获取当前时间 调用UserDao类中的addmoney方法传入用户 名 时间等数据 public String addMoneyIn Calendar c Calendar getInstance Date date c getTime SimpleDateFormat format new SimpleDateFormat yyyy MM dd String time format format date Map session ServletActionContext getContext getSession User user User session get user UserDao dao new UserDao if dao addmomey person money user getUserName time return null else return null 添加收入记录如下 获取传入的用户名 时间等数据对momey表执行插入语句 public boolean addmomey int person Float money String username String time int i 0 String sql insert insert into money person money username type time values person money username 1 time PreparedStatement pst null try pst con prepareStatement sql insert i pst executeUpdate pst close catch SQLException e e printStackTrace if i 1 return true return false 删除Action方法如下 在Action在中调用MyDao类中的deleteFromMoney方法传入ID public String deleteFromMoney MyDAO dao new MyDAO dao deleteFromMoney recId return null 删除收入记录方法 public void deleteFromMoney int recId String sql delete from money where id recId this insertInto sql public void insertInto String sql try st con createStatement st executeUpdate sql st close catch SQLException e e printStackTrace 5 55 5 月度统计 月度统计 月度统计界面如下图所示 在下拉框中选择年份月份提交到 Action 中调用查询方法从 数据库中查询出对应数据 计算后显示在表中 图5 4 月份汇总 收入统计方法如下 获取当前年份和当前月份在在查询当月的所有收入信息 public ModelFour getBalance int nYear int nMonth throws SQLException st con createStatement ResultSet TYPE SCROLL INSENSITIVE ResultSet CONCUR READ ONLY String sql select a rectime SUM b money as money from family rectime a money b where a id b indexid and Year a rectime nYear and Month a rectime nMonth and not b tables 5 group by a rectime order by DAY a rectime ResultSet rs st executeQuery sql rs last int row rs getRow ModelFour mf new ModelFour row rs beforeFirst int i 0 while rs next mf i new ModelFour mf i setRecTime rs getString 1 mf i setTotalMoney rs getFloat 2 i rs close st close return mf 6 6 结论与展望结论与展望 6 16 1 主要结论主要结论 本文以帮助家庭理财为研究背景 在进行包括现今社会家庭理财重要性和发展情况做 了如下研究工作 1 在对现今社会家庭理财的重要性分析综述的基础上 从经济和市场两 个方面对家庭理财系统做了详细的可行性研究 2 系统的需求分析从家庭理财系统的功能 应用性等多个方面进行了叙述 3 本文在数据库的理论支持下 创建了家庭理财系统数据 库 在构建家庭理财系统的过程中得到了如下结论 1 在创建 家庭理财系统 之前 对中国家庭的财产收支情况做必要的了解 这样才能创建出更加贴合家庭需要的理财软件 2 在本文创建的理财系统中大量的使用到了继承和数据窗口 把数据窗口看作封装了对 数据库中的数据操作的对象 它极大地方便了应用程序对数据库的使用 极大的节省了系 统的创建时间和资源 本文关于家庭理财系统创建和研究具有重要的理论和实践意义 有计划会安排 家庭 经济有保障 才能正常地生活工作 否则一切都会受到影响 这是家庭幸福的一个重要保 障 在实践上 本文创建的家庭理财系统不仅能够帮助用户轻松方便的管理自己的日常收 支 固定资产情况 还能对家庭债务的建立和归还

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论