




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 VI 页辽宁科技大学本科生毕业设计(论文)基于J2EE技术的家庭理财系统的设计与实现摘 要 随着人们生活水平的提高,信息化显得尤为重要,计算机将继续并将长期占领着任何工作的主导地位,随着人们收入的日益增多,理财将成为人们的必选。谈到理财,不仅只存在于公司中,一些家庭乃至学生和个人都可以进行相关的理财管理。而在人们日益繁忙的今天,一个家庭理财管理系统要比单纯的纸质理财管理方便、快捷的多。在此我根据自己所学的金融及计算机相关专业知识专门为一些有理财想法的家庭以及个人设计了这个家庭理财管理系统,该系统界面美观、操作简单,且相比于纸质的理财工具,减少了容易丢失的风险,大大提高了工作的效率。该系统的主要功能为:用户记录家庭成员的收入及消费情况,根据该记录可以对家庭的收入与支出进行按月以及按年统计并且生成统计图表,便于观察与比较,该系统带有计算器功能可以对家庭资产进行投资计划管理以及消费计划管理,方便操作,对家庭资产的管理不再迷茫,让家庭资产管理变得有条有序。本系统主要采用Java作为开发语言,SSH作为框架,数据库使用MySQL进行数据管理,开发环境为MyEclipse,并且使用流行的tomcat服务器,开发了一个为用户提供方便且实用的家庭理财管理系统。关键词:家庭理财;Java语言;SSH框架;MySQL数据库The Design and Implementation of Family Financial Management System Based on J2EE TechnologyAbstract With the improvement of peoples living standards, informatization is become particularly important, computer will continue and remain the important position in any work for a long time. With the increasing of peoples income, finance management will become the necessary choice of people. When it comes to money, not only the company, but also some families, students and individuals that they also can do something about financial management. Today when people become more and more busy, a family financial management system is more convenient and efficient than the simple paper one. Here I specifically designed a family financial management system according to my professional knowledge related to financial and computer for some families and personal who have financial ideas. The system has a beautiful interface and its operation is simple, it has also reduced the risk of losing data when compared to paper financial tools, at the same time it has greatly enhanced the work efficiency. The main function of the system is that users can record the conditions of income and consumption of family members, according to the record the system can generate statistical charts as monthly and annual, its convenient to observe and compare the financial situation of families, the system can also manage family assets for investment plan and consumption plan with a function of calculator, its convenient to operate and no longer confused with the management of family assets, it makes family asset management become more order. The system is mainly used Java as the development language, SSH as the framework, and the database is MySQL, it is used by MyEclipse as a development tool and popular Tomcat server. It is a family financial management system which has provided convenience and practicability to users.Key Words: Family finances; Java; SSH; MySQL Database目 录1 绪 论11.1 课题背景11.2 课题研究的意义21.3 技术简介31.3.1 J2EE体系架构31.3.2 JSP技术简介31.3.3 Struts技术简介41.3.4 Spring技术简介41.3.5 Hibernate技术简介51.3.6 MySQL数据库简介51.4 文章组织结构62 需求分析72.1 可行性分析72.1.1 技术可行性分析72.1.2 经济可行性分析72.1.3 操作可行性分析82.1.4 法律可行性分析82.2 功能需求分析82.2.1 用户功能模块用例图82.2.2 管理员功能模块用例图112.3 业务流程图112.3.1 整体业务流程112.4 系统性能分析132.4.1 软件环境132.4.2 硬件环境132.4.3 操作系统132.5 本章小结133 总体设计143.1 系统概要设计143.1.1 系统总体功能模块143.1.2 各功能模块描述153.2 数据库设计163.2.1 实体属性分析163.2.2 数据库概念结构设计183.2.3 数据库逻辑结构设计193.3 本章小结224 详细设计234.1 系统文件组织结构234.1.1 文件夹src介绍244.1.2 文件夹web介绍244.2 普通用户功能模块244.2.1 用户信息模块244.2.2 收入管理模块284.2.3 消费管理模块314.2.4 计划管理模块334.2.5 统计分析管理354.2.6 理财日志管理374.2.7 理财计算模块404.3 管理员功能模块404.3.1修改个人密码404.3.2.注册用户管理414.4 本章小结435 软件测试445.1 测试的目的445.2 测试的原则445.3 测试的内容445.3.1 功能测试455.3.2 性能测试465.3.3 模块测试465.3.4 综合测试485.4 本章小结48结 论49致 谢50参考文献51第 63 页辽宁科技大学本科生毕业设计(论文)1 绪 论1.1 课题背景 在当今经济飞速发展的时代,人们对“财富”的积累显得尤为重要,我们每天忙忙碌碌为生活奔波,为的就是能在这大千世界生存下去,我们“买房”、“购车”都离不开“金融储蓄”,当然“财富”一词包含了很多内容,比如:精神财富,但是我认为实现精神财富的条件是在物质财富的基础上,所以掌握“理财”这门学科是我们每个人的必选课。尽管不能只用现金的短缺或者过剩来衡量一个人的痛苦或者幸福,但却可以通过理财的管理来保障未来的幸福生活。每一个人从一出生就需要用钱,也需要通过赚钱来实现现金的收入。通过合理的理财可以合理安排我们未来的现金流收支,有效的促进家庭财产的保值和增值,帮助我们抵御未来可能遇到的种种风险。 显然,现代家庭相对于以前的传统家庭,生活水平等一些列方面确实有了显著地提高,但伴随而来的缺点也显现出来。面对着种种压力,人们必须认清理财的重要性,并且进行合理的理财。另一方面,现在中国处于小康社会,不仅北京、上海、广州等地的居民收入和积蓄逐年增加,而且某些小城市、小县城的一些居民收入和积蓄也在增加,那么我们就应该思考怎样不让居民手里的积蓄贬值而是增值呢?富人进行理财,如锦上添花;穷人进行理财,似雪中送炭。身处大变革的时代,在价值观缺失、社会急功近利的背景下,在通胀高起和浮躁高涨的时期,唯一能保护财富的只有自己!而对于一个一般的城市家庭来说,要拥有多少财富才能安度晚年呢?北京师范大学金融学教授钟伟增算了一笔账,根据现在的经济增长速度、居民货币收入增长和人民币发行节奏,25年后,我们大概需要500万元的积蓄才能度过余生,在京、沪、广、深这样的一线城市,预备1000万元养老也未必能够。不管是500万元还是1000万元,今天的货币总是难以衡量明天的购买力,财富的积累似乎永远也赶不上通胀的速度和消费的欲望。要对抗通胀,享受品质生活,就需要通过投资理财,把货币变成优质的财产。因此,一个家庭如何管理分配金融资产?如何安排自己的富余的现金流,如何筹集自己所需的资金,成为了一个现实的问题。 随着计算机应用技术的快速发展,它对各种信息的处理提供了很大的帮助,加快了信息处理的效率,计算机技术的进步促进了人类社会的发展,而且计算机也被越来越多的应用到各种领域,当然学习计算机知识的目的就是通过计算机技术更准确、更快捷解决人们日常生活中的种种类似问题。对于理财来说,单纯的纸质理财工具已经满足不了这种快节奏的时代步伐,开发一个简单、快捷、易于操作的理财系统已经成为人们的需要。 综上所述,本课题研究的家庭理财管理系统是对家庭成员资金收支的记录管理,易于搜索查找,且数据存储量相对较大,安全性良好,出错概率较小,大大提高了对资金的管理效率。1.2 课题研究的意义 家庭理财管理系统即通过计算机语言进行编程,开发一款可以记录家庭成员收支情况,按要求统计生成数据图表,方便用户查找与分析,给用户提供方便的软件。 家庭理财系统的设计实现了信息的规范化管理,数据的科学化管理,大大提高了系统的安全性能,其简单易懂的操作页面也使家庭成员便于学习和掌握,我国的信息化水平发展逐渐提升,而家庭理财管理系统也逐渐成为中高收入家庭的理财首选软件。家庭理财系统的用途越来越广泛,从之前单纯的纸质记录家庭成员收支情况到现在的使用电子产品处理一系列的信息数据等等。家庭理财系统提供了一些适合当今家庭的理财方法,已达到家庭的收支平衡和对未来资产的合理分配与管理的效果。同时因为家庭理财管理系统的灵活性,可以对家庭成员的收支记录进行实时的添加与修改,使理财变得更高效。当今世界,随着生活水平的提高,人们对家庭理财的重视也随之增加,而且任何事物的发展都出现了快的节奏,信息更新速度加快,而我国也逐渐成为科技强国,随着计算机应用技术水平的提高,其强大的应用功能逐渐被开发利用,在诸多领域已经取得了显著地成就。所以使用计算机对家庭中的资产进行分配与管理是最明智的选择,家庭理财管理系统与传统的纸质纯手工理财相比有诸多的优势,例如:灵活性强、易于记录、查找快捷、容量较大、保密性能良好、不易出差错、使用寿命延长、经济实惠等等。 家庭理财管理系统的使用为用户提供了方便,节省了时间,对家庭资产实现合理与明智的管理。凡事预则立,不预则废。对于理财或者是生活中的其他事情,都要有一个良好的规划,以至于能够处理未来可能发生的种种问题。1.3 技术简介1.3.1 J2EE体系架构 J2EE技术包含许多组件,不同于传统的应用开发技术架构,J2EE是一种利用java平台来简化企业解决方案的开发、部署和管理等相关复杂问题的体系结构,在目前的企业解决方案领域,尤其是高端企业解决方案领域有着广泛的应用1。整体架构如图1.1所示。图1.1 J2EE整体架构1.3.2 JSP技术简介 Java Server Pages不足之处在于没有把业务处理和页面输出区分开,导致整个Servlet编码混乱无逻辑。为了解决这个问题,JSP产生了,JSP(Java Server Pages)是由Sun公司提倡、许多企业一起建立的动态网页技术,是一种实现静态HTML和动态HTML混合编码的强大技术。在JSP中可以使用全部Java类。在JSP中结合了Java Servlet 所有的优势,而且,当与一个JavaBean 结合在一起的时候,提供了使内容和显示逻辑分开的方式。这样做的有一个很大的好处,更新界面外观的人员不需要懂得Java 代码,更新JavaBean的人员也不需要是设计网页的行家,可以直接用带JavaBean 类的JSP 页面定义Web 模板,来建立由有相似外观的页面组成的网站2。1.3.3 Struts技术简介 Struts实质上就是MVC框架的具体实现,是企业级Java Web应用创建优雅的、可扩展的框架,Struts框架设计贯穿整个软件开发的生命周期中。由图1.2可以看出,struts框架由Servlet Filters、Struts Core、Interceptors以及Userceated模块构成。在Struts框架中,模型是由JavaBean实现业务逻辑,控制器是由ActionServlet和Action 实现,视图则由JSP文件构成。 当一个采用Struts框架进行开发的Web应用程序被启动时,ActionServlet就会被自动加载并被进行初始化3。接着ActionServlet就读取Struts配置文件中的各种信息,并根据配置文件中的各个模块来初始化相应配置对象。图1.2 Struts框架的体系架构1.3.4 Spring技术简介 Spring 是一个强大的框架,解决了许多J2EE开发中常见的难题。 Spring不仅提供了管理业务对象的方法而且鼓励注入对接口编程不是对类进行编程的好习惯4。 Spring中最重要的概念是它提倡的Ioc(控制反转)容器的实现,Ioc容器改变了类属性的赋值方法,从容器中主动的把依赖属性注入到类的实例对象中,而非创建对象时才去寻找依赖属性。这样Java类就不会需要管理属性赋值问题的出现,把所有的问题完全交给了Ioc容器去管理并使用。Spring框架主要有核心模块、上下文模块、AOP模块、DAO模块、Web模块等7大模块组成,它们提供了企业级开发需要的所有功能,而且每个模块都可以单独使用,也可以和其他的模块组合使用,灵活且方便的部署可以使开发的程序更加简洁灵活5。如图1.3所示。图1.3 Spring框架主要模块1.3.5 Hibernate技术简介 该框架已经广泛替代传统JDBC操作应用于J2EE开发项目。Spring框架是包含了MVC层、中间层和持久层管理的框架,其核心模块的bean管理,现在很多的应用都采用Spring的bean管理机制来管理其逻辑层6。Hibernate可以应用在任何的JDBC的场合,可以在Java的客户端程序使用,也可在Servlet/JSP的Web应用中进行使用,最具革命的意义是,Hibernate可在应用EJB的J2EE框架中取代CMP,完成数据持久化这一重任。1.3.6 MySQL数据库简介 MySQL是当今最流行的开放源代码关系型的数据库管理系统,它是由瑞典公司开发并支持。任何人都能从Internet网站上下载MySQL软件安装包,无需任何费用,“开放源代码”意味着所有人都可以使用该软件。MySQL的运行速度、稳定性以及适应性相对其他数据库性能较好,具有选择它的优势。一般人都认为在不用事务化处理情况下,MySQL是管理内容的首选。1.4 文章组织结构 第一章绪论部分,主要阐述了该家庭理财管理系统开发背景、目的及意义,并对系统的前景进行展望和对系统所使用技术的进行介绍。 第二章需求分析部分,简明介绍了该系统的可行性以及用户对该系统的需求情况。 第三章总体设计部分,对该系统总体功能进行概要描述并对数据库进行具体分析。 第四章详细设计部分,详细的介绍了各个功能模块实现的流程和界面的设计。 第五章测试部分,对该系统进行功能、性能以及模块测试等,并给出了测试用例。2 需求分析 需求分析在整个软件工程中担任着至关重要的角色,只有分析者们正确的解读用户的需求,并提出相应的解决方案,这样软件开发人员才能根据具体要求向用户交出满意的软件系统。随着人们生活水平的提高,信息化显得尤为重要,计算机将继续并将长期占领着任何工作的主导地位,随着人们收入的日益增多,理财将成为人们的必选,所以人们急需一个操作简单、经济方便的家庭理财系统对家庭资产进行合理的分配管理。2.1 可行性分析2.1.1 技术可行性分析 本系统主要采用JSP作为界面开发语言,SSH作为框架,数据库使用MySQL进行数据管理,开发环境为MyEclipse,并且使用流行的tomcat服务器,这些环境易于程序员进行软件开发且都是免费的开源软件。本系统主要采用Java语言进行编程,因为Java语言简单,方便易学,灵活性强。采用JSP做界面视图设计,采用JSP做界面视图设计,主要采用J2EE技术进行技术搭建。主要采用J2EE技术进行技术搭建。Struts框架由Servlet Filters、Struts Core、Interceptors以及Userceated模块构成。在Struts框架中,模型一般是由JavaBean进行业务逻辑的实现,控制器则是由ActionServlet和Action 实现,视图则由JSP文件组成7。Struts 2以Web Work为核心,采用拦截器的机制来处理用户请求,这样的设计也使得业务逻辑控制器能与Servlet API完全脱离开。Hibernate是相对盛行框架用来解决O/R Mapping的持久层问题,可在Servlet/JSP的Web应用中进行使用,最具有特点的是,Hibernate可以应用EJB的J2EE框架代替CMP,完成数据持久化这一重任8。Spring将J2EE各层的开发编码组合起来,是结合Struts和Hibernate两门学科的重要技术。由于所采用的框架技术很稳定,处理简单,而且本系统相对较小,技术上可以实现这些功能,所以本系统在技术上具有可行性。2.1.2 经济可行性分析 首先,因为开发本系统所需的开发工具和基本环境都是免费的,而且这个系统并不是公司或者企业投资项目,而是本人自己开发管理,所以减少了员工的劳动费用等一些其它的相关费用,即需要较低成本就可以进行开发管理。其次,虽然此系统开发成本较低,但并不会影响系统的功能,而且此系统占用资源相对较少,因为采用SSH框架,模块之间耦合性较低,所以利于后期进行修改和维护。最重要的一点是,因为家庭理财管理系统的目标就是帮助家庭成员进行理财,可以节制人们的花销,减少不必要的浪费,帮助人们进行投资理财,实现资产的增值,培养人们养成了理财的良好习惯,本系统具有低成本高收益的特点,所以本系统在经济上是可行的。2.1.3 操作可行性分析 由于本系统主要的用户是学生或者从事各种工作的人员,这些群体对电脑的基本操作基本熟悉,而且此系统界面简单,操作方便,在输入运行中都会有相关提示,只要多操作几次,就会对该系统了运用自如,使其成为自己理财的好帮手。所以该系统在操作上具有可行性。2.1.4 法律可行性分析本系统在开发过程中,都是本人进行相关技术开发,并未涉及到侵犯他人版权的问题,而且该系统的各种内容合乎中国法律,所以本系统在法律上具有可行性。2.2 功能需求分析 该家庭理财系统主的要功能是用户使用计算机对自己家庭资产进行管理,让家庭资产管理变得有条有序。包括对家庭成员收支情况进行记录、查询、修改和删除,添加理财日志信息,可以进行统计分析等一些日常用到的功能。为了能让用户对该系统的功能一目了然,下面使用用例图及相关文字进行功能描述,该系统主要存在两种角色:用户和管理员。2.2.1 用户功能模块用例图 该模块的主要功能有:登录注册模块、个人信息修改模块、收入信息管理模块、消费信息管理模块、计划信息管理模块、数据统计分析模块、理财日志管理模块、计算器模块等等。用户整体用例图如图2.1所示。图2.1 用户整体用例图 1. 登陆注册模块:用户根据自己的实际情况填写注册基本信息并进行系统登录。 2. 修改个人信息模块:当用户个人信息有变化时可以进行用户名密码等基本信息的修改。 3. 收入信息管理模块:用户可以对家庭成员每天的收入情况进行添加,并可以对添加的信息进行修改和删除。收入信息管理模块用例图如图2.2所示。图2.2 收入信息管理模块用例图 4. 消费信息管理模块:用户可以对家庭成员每天的消费情况进行添加,并可以对添加的信息进行修改和删除。消费信息管理模块用例图如图2.3所示。图2.3 消费信息管理模块用例图 5. 计划信息管理模块:用户根据自己的家庭资产进行合理的规划,计划每天或者每月要收入多少、要消费多少,勤俭节约,避免不必要的开销。计划信息管理模块用例图如图2.4所示。图2.4 计划信息管理模块用例图 6. 统计信息管理模块:用户可以根据时间进行收入和消费的统计、实际收入和计划收入的统计、实际消费和计划消费的统计,并且可以用图表以及饼状图的形式展现出来,使用户一目了然。统计信息管理模块用例图如图2.5所示。图2.5 统计信息管理模块用例图 7. 理财日志管理模块:当用户看见好的理财文章时可以将其添加到自己的理财日志中,用户也可以自己写一些理财的心得体会,并且可以对理财日志进行修改与删除。理财日志管理模块用例图如图2.6所示。图2.6 理财日志管理模块用例图 8. 计算器模块:用户可以根据自己的收支与消费情况进行一些列的计算,方便用户的使用,而且可以根据自己选择的理财产品进行自计算,比较收益的高低,可以对自己家庭资产进行合理的计算与规划,合理的分配家庭资产。2.2.2 管理员功能模块用例图 该模块主要功能为:管理员进行系统登录,修改个人信息、管理用户信息。管理员功能模块用例图如图2.7所示。图2.7 管理员功能模块用例图2.3 业务流程图2.3.1 整体业务流程 系统业务流图描述: 1. 用户登录注册,用户根据自己的实际情况填写注册基本信息并进行系统登录。 2. 修改个人信息,当用户个人信息有变化时可以进行用户名密码等基本信息的修改。 3. 管理收入信息,用户将家庭成员每天的收入情况按照时间、金额、成员、类型等要求进行填写,可以添加收入备注,并可以进行信息的修改和删除。 4. 管理消费信息,用户将家庭成员每天的消费花销情况按照时间、金额、成员、类型等要求进行填写,并可以进行信息的修改和删除。 5. 管理计划信息,用户根据自己的家庭资产进行合理的规划,计划每天或者每月要收入多少、要消费多少,勤俭节约,避免不必要的开销。 6. 管理理财日志,当用户看见好的理财文章时可以将其添加到自己的理财日志中,并可以将相关网址进行链接,方便用户下一次进行查找使用,用户也可以自己写一些理财的心得体会,并且可以对理财日志进行修改与删除。 7. 管理员管理用户信息,管理员可以登录系统查看用户信息,并对用户信息进行修改删除等操作。图2.8 系统业务流图2.4 系统性能分析2.4.1 软件环境 开发工具:Myeclipse4.3以上。 JDK:1.7版本以上。 服务器:Tomcat7.0及以上。 数据库:MySQL5.5及以上。2.4.2 硬件环境内存:4G及以上。硬盘:4G。CPU:1.8HZ以上。2.4.3 操作系统 Windows XP操作系统以上。2.5 本章小结 本章主要对该系统进行可行性分析,功能需求分析,系统性能分析等。经过分析,该系统开发具有可行性,并且通过用例图和流程图将系统的功能和流程清晰的表达出来,易于用户理解。3 总体设计 软件的总体设计就是设计系统总的处理方案,具体是指在需求分析的基础上,经过对系统总体的概括与总结,详细的整理出用户对系统的功能需求,而且对该系统的总体结构进行了严格明确的规划,确定了软件与数据的整体框架9。经过需求分析阶段的工作后,系统应该“做什么”已经清楚了,而现在是该确定“怎么做”的阶段了,即该系统应该如何实现的问题。总体设计阶段最重要的工作就是设计软件的结构。3.1 系统概要设计3.1.1 系统总体功能模块 普通用户功能模块如图3.1所示:管理员功能模块如图3.2所示:图3.1 普通用户功能管理模块图3.2 管理员功能模块3.1.2 各功能模块描述 1. 普通用户 (a) 登录注册:为了保证系统信息的安全性,任何人想浏览系统信息必须进行注册和登录。用户可以根据自己的真实情况填写注册基本信息并进行系统登录,系统在数据库中进行验证,并有弹窗提示,信息正确,登录成功;信息错误,登录失败重新填写登录信息。 (b) 修改个人信息:由于个人基本情况的变化,个人信息会出现必要的更新,这样用户可以根据实际情况进行用户名密码等基本信息的修改,达到信息的及时性。 (c) 收入管理模块:用户将家庭成员每天的收入情况按照时间、金额、成员、类型等要求进行填写,可以添加收入备注,并可以进行信息的修改和删除。 (d) 消费管理模块:用户将家庭成员每天的消费情况按照时间、金额、成员、类型等要求进行填写,并可以进行信息的修改和删除。 (e) 计划管理模块:用户根据自己的家庭资产进行合理的规划,根据自己的喜好购买相应的理财产品,不让资金在手中闲置,同时,将资产进行合理的规划,勤俭节约,避免不必要的开销。 (f) 统计分析模块:用户可以根据时间分别进行按日统计分析、按月统计分析、收入计划统计、消费计划统计等,而且用图表和饼状图的形式展现出来,使用户一目了然。 (g) 日志管理模块:当用户看见好的理财文章时可以将其添加到自己的理财日志,并可以将相关网址进行链接,方便用户下一次进行查找使用,用户也可以自己写一些理财的心得体会,并且可以对理财日志进行修改与删除。 (h) 理财计算:用户可以根据自己的收支与消费情况进行一些列的计算,方便用户的使用,而且可以根据自己选择的理财产品进行自计算,比较收益的高低,可以对自己家庭资产进行合理的计算与规划,合理的分配家庭资产。 2. 管理员 (a) 修改个人信息:管理员可以随时因为信息更新进行信息修改,保证个人信息的准确性。 (b) 管理注册用户信息:管理员可以登录系统查看用户信息,并对用户信息进行一些列的操作。3.2 数据库设计 随着计算机应用技术的快速发展,对数据处理量的要求也在增加,对计算机中各种数据共享程度的要求也越来越高,选择一个合适的数据库是重要的,而传统的小容量已经满足不了人们愈发膨胀的高要求,从而功能强大的数据库技术应用而生。数据库在计算机系统中扮演着核心的地位,计算机在数据库系统的协助下,可以进行一些信息的收集、查询、处理、更新等一些列操作。 要设计一个好的数据库,不仅要考虑系统的功能、执行速度,还要考虑系统工作是否会出现各种异常等等,因此整个系统的程序质量、系统的具体实现等等都取决于数据库的设计是否合理。3.2.1 实体属性分析该系统主要是对家庭资产进行管理,主要的功能模块有:管理员模块、用户信息模块、收入信息模块、消费信息模块、计划信息模块、理财日志信息模块等等。这些功能主要涉及到的实体有:用户、管理员、收入信息、消费信息、计划信息、理财日志信息等等。下面依次用实体属性图对各实体的属性进行分析。常用的模型元素如图3.3所示。 实体 属性 实体间关系图3.3 模型元素 1. 用户实体:该实体的属性有id、姓名、性别、联系方式、家庭地址、账号、密码。用户实体属性图如图3.4所示。图3.4 用户实体属性图 2. 管理员实体:该实体属性有编号、用户名、密码。管理员实体属性图如图3.5所示。图3.5 管理员实体属性图 3. 收入信息实体:该实体的属性有编号、时间、金额、成员、类型、备注、用户id。收入信息实体属性图如图3.6所示。图3.6 收入信息实体属性图 4. 消费信息实体:该实体的属性有编号、时间、金额、成员、类型、备注、用户id。消费信息实体属性图如图3.7所示。图3.7 消费信息实体属性图 5. 计划信息实体:该实体属性有编号、时间、金额、项目、用户id。计划信息实体属性图如图3.8所示。图3.8 计划信息实体属性图 6. 理财日志信息实体:该实体属性有编号、时间、内容、标题、用户id。理财日志信息实体属性图如图3.9所示。图3.9 理财日志信息实体属性图3.2.2 数据库概念结构设计 数据库的设计包含了概念结构设计、逻辑结构设计、物理结构设计等一些列相关设计步骤。数据库的概念结构设计,就是对计算机信息世界进行建模。通常会使用E-R模型设计方法。使设计者能够从复杂的实现中找到解决的办法。其中E-R模型涉及的主要元素有:实体、联系和属性。根据以上分析,并且融合数据库概念模型特点与其建立方法,建立该理财系统的E-R模型如下所示:1. 普通用户总体E-R图图3.10 普通用户总体E-R图2. 管理员E-R图 图3.11 管理员E-R图3.2.3 数据库逻辑结构设计数据库逻辑结构设计既是把概念结构设计阶段设计好的E-R图转换成逻辑数据表的形式。根据以上的E-R图,该家庭理财系统建立了对应的如下逻辑数据结构表,下面是各表的详细说明。1. 收入信息表是记录用户的收入信息,包括时间、金额、成员、类型等等,表结构如表3.1所示。表3.1 收入信息表(t_shouru)列名数据类型长度允许空是否主键说明Idint11否是编号Shijianvarchar50是否时间Jinedecimal18,2是否金额Chengyuanvarchar50是否成员Leixingvarchar50是否类型Beizhulongtext100是否备注user_idint11是否用户id 2. 消费信息表主要是记录用户的消费信息,其中包括时间、金额、成员、类型等,表结构如表3.2所示。表3.2 消费信息表(t_xiaofei)列名数据类型长度允许空是否主键说明Idint11否是编号Shijianvarchar50是否时间Jinedecimal18,2是否金额Chengyuanvarchar50是否成员Leixingvarchar50是否类型Beizhulongtext100是否备注user_idint11是否用户id 3. 计划信息表记录用户计划信息,计划项目、时间和金额,表结构如表3.3所示。表3.3 计划信息表(t_jihua)列名数据类型长度允许空是否主键说明Idint11否是编号Shijianvarchar50是否时间Jinedecimal18,2是否金额Xiangmuvarchar50是否项目user_idint11是否用户id 4. 日志信息表主要记录是用户填写的日志信息,而其中包括标题、时间和内容等等,表结构如表3.4所示。表3.4 日志信息表(t_rizhi)列名数据类型长度允许空是否主键说明Idint11否是编号Shijianvarchar50是否时间Contentdecimal18是否内容Titlevarchar50是否标题user_idint11是否用户id 5. 管理员信息表主要用于记录管理员以及用户的账号信息,其中包括用户名和密码等等,表结构如表3.5所示。表3.5 管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码 6. 用户信息表主要是记录普通用户个人信息,包括用户名、性别、地址、联系电话等等,表结构如表3.6所示。表3.6普通用户信息表(t_user)列名数据类型长度允许空是否主键说明user_idint11否是用户iduser_realnamevarchar50是否用户姓名user_sexvarchar50是否用户性别user_telvarchar50是否联系方式user_addressvarchar50是否家庭地址user_namevarchar50是否用户账号user_pwvarchar50是否用户密码3.3 本章小结 本章主要介绍基于J2EE技术的家庭理财系统的总体设计,基于上一章的需求分析,主要对该系统的功能进行了总体概括,给出了总体功能概要图,并对数据库进行了分析,给出了实体属性分析图和E-R图以及逻辑结构表,为下一章的详细设计奠定了基础。4 详细设计 详细设计阶段的目的是确定怎样具体实现该系统的所要求的所有功能,在本过程中要求对第三章中的总体设计进行具体化的设计,使总体设计更加细致化。通过本章的设计,实现了最终的编码,完成了系统的实现。4.1 系统文件组织结构图4.1 系统文件组织结构图4.1.1 文件夹src介绍 1. 以dao结尾的包 这个包主要包含对数据库基本表操作类,主要实现的功能是对各个表的基本操作,并由控制层调用该包下的各种方法。 2. 以model结尾的包 这类包主要存放一些数据库实体文件,hibernate的映射文件等等,这个包中的基本文件在理论上是不允许更改的,除非要求更改表结构并重新映射文件。 3. 以service结尾的包 这类包中文件主要是实现Service层(业务逻辑层),这个包下的类是以DAO包下的类作为基础,并对其进行包装而完成系统所需的业务逻辑。 4. 以action结尾的包 该包下放的是Struts2中的action类,在JSP界面中的请求通过的action包下类进行加工处理,并得到想要的数据后由前台来显示。 5. 以util为结尾的包 该类包中的类主要包含的是系统的某些工具类,在系统提出一些常被用到的方法类存放在这里,例如上传下载处理以及一些字符的处理等。4.1.2 文件夹web介绍 该文件夹中,admin包存放着实现管理员功能的*.jsp文件。ause包里存放了前台的一些jsp页面文件,js文件夹中存放着一些要用到的核心js文件。css文件夹中存放着这个系统总体css样式文件。4.2 普通用户功能模块4.2.1 用户信息模块 1. 用户注册 (1) 系统概述 为了保证系统的安全,任何用户使用本家庭理财系统必须首先注册一个账号,否则不能查看该系统的任何信息,点击主界面上的注册按钮进行用户注册,将出现如图4.2所示的界面:根据页面提示填写注册的基本信息,当填写的用户名已经被占用时,将会出现该用户名已经被占用请重新注册的提示信息等一系列的验证。 (2) 界面设计图4.2 普通用户注册界面 (3) 实现流程图4.3 用户注册模块时序图 2. 用户登录 (1) 系统概述用户注册成功后,在登录界面上输入正确的用户名及密码,并选择登录身份为管理员还是用户,点登录按钮,将自动跳转到关于登录的service中,在service中将对输入的用户名和密码进行匹配,通过验证则进入对应的下一个页面。对应的关键代码在Service包下的loginService类中。当用户名为空时,将出现用户名为空的弹框提示;当密码为空时,将出现密码为空的弹窗提示;登录身份为必选项,当用户名或者密码错误时,会出现用户名或密码错误的弹框提示;当用户名和密码通过验证时,将弹出验证通过的弹框,如图4.5所示,点击确定将进入到下一界面。如图4.6所示。 (2) 界面设计 登录界面如图4.4所示:图4.4 登录界面图4.5 系统提示界面图4.6 系统主界面 (3) 实现流程图4.7 系统登录模块时序图 3. 修改个人信息 (1) 系统概述普通用户登录后进入系统,点击修改个人新按钮,可以进行一些列的除帐号以外的个人信息的修改,如用户密码、联系电话、详细住址等。且用户个人信息修改成功后只有重新登录才能生效。其中修改个人信息对应的关键代码请见action 包下的 UserAction 类中的userEdit()方法。 (2) 界面设计该程序运行的界面如图4.8所示。图 4.8 修改个人信息界面 (3) 实现流程 图4.9 修改个人信息模块时序图4.2.2 收入管理模块 1. 添加收入信息 (1) 系统概述当用户点击添加收入信息按钮后会进入如图4.10所示界面,按照页面文字提示,选择时间,并可以添加备注消息,让每一笔收入都清晰易懂,接着点击“提交”即可完成收入信息的添加。其中输入的信息数据通过form 表单中的方法onsubmit=“return checkForm()”进行检查,checkForm()方法是各种日常生活验证输入数据的一种方式。 (2) 界面设计添加收入信息的页面如图4.10所示。图4.10 添加收入信息界面 (3) 实现流程图4.11 添加收入信息模块时序图 2. 管理收入信息 (1) 系统概述用户可以点击管理收入信息按钮后进入如图4.12所示收入信息管理界面,此时通过调用后台的action类查询出当前用户的所有收入信息,并将信息传到数据集合List中继而与request对象进行捆绑,最后跳转到相应的页面。用户想要删除收入信息点击“删除”操作即可。关于添加/管理用户收入信息相应的关键代码见:action包下的shouruAction类。 (2) 界面设计图4.12 管理收入信息界面 (3) 实现流程图4.13 管理收入信息模块时序图4.2.3 消费管理模块 1. 添加消费信息 (1) 系统概述用户通过点击添加消费信息按钮后进入图4.14界面,用户根据自己家庭当日的消费情况进行逐一的添加,根据界面文字选择时间等操作,点击提交按钮即可以完成信息的添加。输入的数据通过form 表单中的方法onsubmit=“return checkForm()”可以进行检查验证,checkForm ()方法是各种日常生活校验输入数据的一种方式。 (2) 界面设计图4.14 添加消费信息界面 (3) 实现流程图4.15 添加消费信息模块时序图 2. 管理消费信息 (1) 系统概述当用户点击管理消费信息按钮后进入图4.16所示界面,此时通过调用后台的action类可以查询出当前用户的所有消费的信息,并将信息数据传到数据集合List中从而与request对象进行融合,并跳转到相应的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论