基于JavaEE家庭账单管理系统项目的设计与实现开题报告
2022-10-31 10:58:46
1. 研究目的与意义
对每个家庭来说,维持家庭的正常日常生活开支是一件必不可少的事情,但同时这也是一件麻烦的事情,因为每天都会产生很多数据。
如果能够记录下来家庭的日常开支,那么就可以帮助家庭掌握日常的支出情况。
然而如果采用传统手写的方式,则会十分麻烦和繁琐,并且统计起来也十分不方便,这种方式费时费力。
2. 课题关键问题和重难点
1.如何设计数据库。数据库的设计关系到数据如何存储,关系到对数据操作的性能,当数据量变大的时候,数据库设计的好坏会影响到整体的性能。此外数据库设计的方式不同对编码也会有一定的影响。
2.如何划分系统的功能模块。任何一个系统都有明确的功能模块,如何划分功能模块就需要把需求分析清楚,在此基础上进行分析归纳。划分功能模块关系到系统的详细设计,关系到客户的体验。
3.如何搭建系统架构。系统架构关系到编码阶段的难易度以及代码数量和复杂度,甚至影响开发周期。
3. 国内外研究现状(文献综述)
在java ee开发中,hibernate struts2 spring框架应用十分广泛。
hibernate是一种流行的对象-关系映射(orm)工具,它能够建立面向对象的域模型和关系数据模型之间的映射,它负责java对象和关系数据之间的映射。它对jdbc api进行了封装,负责java对象的持久化,在分层的软件架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑。在java应用中使用hibernate包含以下步骤:1.创建hibernate配置文件;2.创建持久化类;3,创建对象-关系映射文件;4.通过hibernate api编写访问数据库的代码。session接口是hibernate向应用程序提供的操纵数据库的最主要接口,它提供了基本的保存、更新、删除和查询方法,处于持久化状态的java对象位于一个session实例的缓存中,session能根据这个对象的属性变化来同步更新数据库。hibernate采用二级缓存机制,若在第一级缓存没有查到相应数据,则到第二级缓存查询,若在第二级缓存也没有查到,那么才查询数据库。第一级缓存是session的缓存,第二级缓存是sessionfactory的外置缓存。hibernate的transcation类用于声明事务,它的commit()方法用于提交事务,rollback()方法用于撤销事务。hql是一种面向对象的查询语言,hibernate还提供了hql的查询接口,能执行hql查询语句,在hibernate中hql是使用最广的一种检索方式。
struts2是是jave ee开发使用比较广泛的mvc框架,大致上struts2框架由3个部分组成:核心控制器strutsprepareandexecutefilter、业务控制器和用户实现的业务逻辑组件。struts2框架大致处理流程如下:1.浏览器发送请求,如请求/mypage.action等;2.核心控制器strutsprepareandexecutefilter根据请求决定调用合适的action;3.struts2的拦截器链自动对请求应用通用功能,如validation或文件上传等;4.回调action的execute方法;5.action的execute方法将处理结果存入stack context中,并返回一个字符串,核心控制器将根据返回的字符串跳转到指定视图资源,该视图资源将会读写stack context中的信息,并向浏览器生成响应数据。struts2提供了非常强大的类型转换机制,在开发中转换十分方便,struts2的类型转换基于ognl表达式,只要把html输入项(表单元素和其他get/post的参数)命名为合法的ognl表达式,就可以充分利用struts2的类型转换机制。另一方面,struts2还提供了基于校验框架的输入校验。
4. 研究方案
本系统基于B/S结构,使用B/S结构可以在任何地方进行操作而不用安装任何专门的软件,可以方便用户使用系统。本系统主要模块有:注册和登录、添加支出类别、添加支出、按照事件轴的方式展示、按月、季度、年来统计家庭支出情况,用excel方式导出结果。
技术实现方面,使用Struts2、Spring和Hibernate服务端程序开发,使用MySQL实现系统相关数据的存储和管理,界面使用JSP和时间轴控件完成,使用软件工程技术实现对系统开发过程的管理。这些技术现在已经比较成熟,采用这些技术是可行的。
5. 工作计划
第一周:设计系统用例图并进行完善
第二周:进行系统的需求分析
第三周:进行系统的功能分割,并完善需求规格的说明
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。