收藏 分享(赏)

基于java的毕业论文管理系统设计与实现.doc

上传人:无敌 文档编号:26103 上传时间:2018-03-04 格式:DOC 页数:10 大小:482.50KB
下载 相关 举报
基于java的毕业论文管理系统设计与实现.doc_第1页
第1页 / 共10页
基于java的毕业论文管理系统设计与实现.doc_第2页
第2页 / 共10页
基于java的毕业论文管理系统设计与实现.doc_第3页
第3页 / 共10页
基于java的毕业论文管理系统设计与实现.doc_第4页
第4页 / 共10页
基于java的毕业论文管理系统设计与实现.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、基于Java 的 毕 业 论 文管 理 系 统 设计 与 实现 杨乐 张 继山 钱佳佳 安 徽 三联 学 院计 算 机工 程 学院 摘 要: 系统的设计主要是针对在校外实习的学生毕业论文过程管理, 主要解决了指导 老师和实习生在完成毕业设计及论文工作上面的繁琐, 也从另一方面有效的对 论文及其相关文档的管理, 能进一步的提高工作的效率。 系统地分析了实习生论 文管理系统开发的背景、 意义, 概述了系统实现所需要的关键技术。 本系统使用 的编程语言是Java, 使用了当前流行的SSM 组合框架实现系统的搭建, 采用了 MVC 设计模式, 使系统各模块之间解耦, 从而使系统具有高内聚, 低耦合的特

2、 性, 前端页面的设计主要用到了 BJUI 框架, 减少了页面布局的困扰, 也方便管 理。后台使用My SQL 数据库, 通过将所有技术合理的融合, 最终实现了这个系 统。 关键词 : 毕业论文管理; Java; MVC; 作 者简 介: 杨乐 (1994 ) , 男, 安徽安庆人, 助理工程师, 本科, 研究方向为 计算机应用; 作 者简 介: 张继山, 副 教授, 硕士, 研究方向为数据通信与计算机网络; 作 者简 介: 钱佳佳, 女, 安徽庐江人, 助教, 研究方向为计算机应用。 基 金:2016 年安徽省 省级大学生创新创业训练计划项目 (NO.201610959046) 目前市面上的

3、管理系统很多, 但是针对在外实习的学生毕业论文管理方面的系 统还是很少出现的, 老师与在外实习生之间开展论文开题报告等环节都还是比 较分散的去管理。 本系统设计的主要目 的是帮助导师和学生, 通过一个网络管理 平台更好地完成毕业设计及论文工作。 该文从使用的框架和设计模式、 系统设计、 数据库设计及功能模块的实现等方面进行阐述。 1 系统框架 1.1 持久 层 My Batis 先来说说为什么会出现 Mybatis。我们原来使用 JDBC 和数据库进行交互不也可 以实现正常的业务处理么, 为什么非要使用框架呢, 答案很简单:框架使我们开 发出来的系统更加高效, 维护方便, 稳定, Mybati

4、s 将我们平时在Dao 方法里面 写的sql 语句全部抽出来放在一个单独的文件中进行管理, 方便了我们后期的 维护, 所以持久层框架是很有必要的。最重要的是他能够解决代码冗余的问题, 而且能够实现对数据结果集的封装。 My Batis 框架根据XML 配置文件创建Sql Session Factory, Sql Session Factory 再根据配置获取一个 Sql Session。Sql Session 包含了执行sql 所需要的所有 方法, 完成对数据的增删改查和事务提交等, 用完之后关闭Sql Session 。 1.2 控制 层 Struts2 Struts2 是一个基于 JAVA

5、 EE 的MVC 模式实现经典框架, 在Struts2 框架中, 视 图通常由HTML、JSP 和Struts2 标签表示, JSP 页面结合Struts2 的标签库构成 了视图组件的主体1 。在该框架下, Struts2 的主要作用是充当控制层来进行 后台与前端页面的数据交互和转发请求的操作。Struts2 框架实现的核心技术是 通过Filter 拦截所有请求, 然后根据相应的 URI 去执行相应的任务请求的分发 工作, 在这过程中涉及多种拦截器和过滤器, 最后才能到达真正请求对应的 Action 。 1.3 框架 Spring Spring 致力于J2EE 应用的各层的解决方案, 而不是仅

6、仅专注于某一层的方案。 可以说Spring 是企业应用开发的 “一站式” 选择, 并贯穿表现层、业务层及持 久层。然而, Spring 并不想取代那些已有的框架, 而是与它们无缝地整合。在 本系统中Spring 担任所有类实例化的容器, 通过它整合了Struts2, My Batis 框架, 实现了 MVC 设计模式, 有助于开发的维护和成本的降低。 1.4 视图 层 B-JUI B-JUI 框架是基于现在流行的 Bootstrap 样式及其丰富的 j Query 库来实现的 开 源框架, 只要使用过 HTML 的用户就可以很便捷的去使用此款客户端框架, 将框 架放入你的项目中, 然后就可以简

7、单的配置 HTML 属性, 进行开发, 其是对 Bootstrap 样式及其丰富的 j Query 进行封装的, 我们只需要使用class 属性去 调用相应的样式即可。所以就算没有 js 开发经验的程序员也能够创建出漂亮的 前端展示页面。 2 MVC 设计模 式 模型 (Model) -程序员编写程序应有的功能 (实现算法等等) 、 数据库专家进行 数据管理和数据库设计 (可以实现具体的功能) 。 视图 (View) -界面设计 人员进行图形界面设计。 控制器 (Controller) -负责转发请求, 对请求进行处理。 MVC 设计模式实现的业务处理和视图展示的分离, 降低了每个模块之间的耦

8、合 度, 达到了系统的设计目标和整体要求2。目前最流行的就是 MVC 设计模式, structs 、spring、hibernate 、JSF 等则是实现 MVC 模式最流行的框架方案3。 3 数据库设计 My SQL 是一个轻量级关系型数据库管理系统, 他是跨平台的, 所以这让它在同 类型的数据库下具有很大的竞争优势, Mysql 是在控制台上面进行操作的, 然后 也出现了一些Mysql 的图形式的客户端的免费软件, 供我们更好地去操作数据 库, Mysql 具有开源, 简便易用的优点, 我们可以针对自己的需求去修改源码, 重新打包编译。本系统设计表中的 Id 均为主键, 数据表及属性如下:

9、 1) 文件管理表 (Filemanage) 。 属性分别为 Id、 filename、 filename 、 Filepath、 Uploadtime、Md5。 2) 开题报告表 (Ktbg) 。 属性分别为Id、 Xtdy 、 Zywt、 Lwsl、 Lwtg、 Ckwx 、 Zdlsyj、 Stuid 、Status、Name 、Stu Num。 3) 老师拟题表 (lsnt) 。属性分别为Id、Lwtm、Zdls、Xtlx、Rwyq 、Uid。 4) 论文表 (Lw) 。属性分别为 Id、Stuid、Fileid、Status、Name 、Stu Num。 5) 我的资源表 (Myzy

10、) 。属性分别为Id、Fileid、Stuid。 6) 任务书表 (Rws) 。属性分别为Id、Zynr 、Jbtq、Yjrw、Mb、Ckwx 、Xyyj、 Status 、tuid、Stunum 、Name。 7) 老师学生管理表 (Teawithstu) 。属性分别为 Id、Stuid、Teaid 。 8) 用户表 (Users) 。属性分别为Id、Userid 、Userpwd、Role、Username 。 9) 问题反馈表 (Wtfk) 。 属性分别为Id、Stuid 、Fklx、Fknr、Dsjd 、Status、 Title 。 10) 选题审批表 (Xtspb) 。属性分别为I

11、d 、Stuname、Stunum、Zdls 、Lwtm、 Tmly 、Tmlx 、Xtly、Zdlsyj、Lwxzyj、Status 、Stuid。 11) 学习资料表 (Xxzl) 。属性分别为Id、Type、Fileid。 12) 制定计划 (Zdjh) 。 属性分别为Id、 Name 、 Stunum、 Lwxt-stime、 Lwxtetime、 xdrwststime 、 xdrwsetime 、 zxktbgstime、 zxktbget-ime、 sclwstime、 sclwetime、 Status 、Stuid。 13) 资源链接表 (Zylj) 。Id、Type、Nam

12、e 、url。 4 系统功能设计 系统实现了类似于 单点登录的功能, 用户登录时系统采用验证码的机制防 止机器注册等不安全因素, 而且在系统中设置了会话超期的功能, 如果在 session 中该字段消失了, 就表示此次会话结束, 一旦会话结束, 就必须重新 登录系统, 系统是通过 jsp 的重定向实现的, 会先请求服务器, 此时是否有会 话还没有结束, 如果没有结束, 就会跳转到正在执行的会话页面, 如果没有则 转向登录页面, 如图 1 所示。 图1 登陆主界面截图 下载原图 系统框架如图2 所示。 图2 实习生毕业论文管理系统框架 下载原图 5 详细设计 5.1 学生 模块 根据需求分析学生

13、应包括在线选题, 在线学习, 制定计划 (严格按计划执行) , 上传 (综合实训和毕业设计) 各阶段文档和视频, 与导师互动等功能, 分析之 后得到学生需要的模块截图如图 3 所示: 图3 学生模块主界面 下载原图 学生制定完计划之后, 还可以回头来查看, 所以此页面还得具有会显得功能, 即当学生第一次进入页面进行编辑的时候, 页面时空, 当学生第二次进入时, 里面展现的值是上一次录入的, 并且是不能修改, 所以在整个系统中, 是用 status 变量来控制它们, 让一个页面可以根据不同的 status 呈现不同的值。 选题模块, 该模块主要是通过集合存储从数据库传过来的值, 然后在页面通过

14、遍历, 获取到所有的选题, 每个页面还带有分页功能, 此功能主要是借助 BJUI 控件开发出来的。通过从页面中传到后台的 limit 和start 参数, 利用 mysql 中的limit 进行限制, 从而实现分页的功能。 任务进度模块, 数据库中每个表都会有一个 status 字段, 每次打开审核结果页 面时, 都会去读取该字段, 来判断学生提交的报告有没有 通过。 在资源上传模块, 为了提供论文的上传和后面模块的学习资料的上传及其学生 自己开发的系统的上传, 此模块中主要是通过 BJUI 的一个上传组件 (data-toggle=“upload“) 来操作的, 他传递给后台一个文件流, 后

15、台只要写一 个文件变量和其对应, 就可以接收了, 然后进行流的操作, 就可以实现文件上 传的功能, 当论文上传成功之后, 还可以进行论文的下载查看, 主要是用于导 师审核。 系统开发模块主要使用到的是文件的上传与下载功能, 上传功能和上面模块类 似, 并且还提供了删除功能, 删除功能使用的 是ajax 的异步请求, ajax 的异步 请求功能它只会刷新页面的部分数据, 而不会请求整个页面, 造成资源的浪费。 在线学习模块又分为在线资源和我的社区两个子模块, 在线资源模块主要是老 师上传的一些学习资料和一些在线链接, 它里面的内容又会按照不同的学科进 行分类。 在线学习模块的第二个功能是社区功能

16、, 学生可以在这里进行提问, 然 后由老师解答, 它的首页面列出了该生自己提出的所有问题及其解决的状态。 5.2 导师 模块 图4 导师模块主界面 下载原图 发布选题是老师给学生提供选题的一种方式, 学生可以在参考选题节点下获取 到老师发布的选题, 而且老师发布的选题中的指导老师字段必须是老师自己, 不可修改的。 审核计划模块的功能主要是通过改变每个表中的 status 字段的值来决定他们通 过不通过, 而且在页面中会根据 status 的状态值, 来显示通过或者不通过, 当 还没有审核时, 他是一个通过或不通过按钮, 审核成功时会有一个回调结果, 用来提示用户的操作状态。 在线支持模块主要是

17、老师对学生们提出的问题进行解答的功能模块, 老师可以 看到学生提出的所有问题, 而且可以无限次的解答, 任何导师都可以解答学生 提出的问题。 5.3 管理 员模块 图5 管理员主界面 下载原图 该模块就是用来管理学生和导师及其他们之间的关联, 同时管理员还要具备管 理用户和管理进度的权限。 而且在每个模块上都支持根据某个属性进行模糊查询, 还支持刷新功能。 其中, 进度管理主要是修改学生制定的计划时间, 因为系统中 规定学生提交的计划书一旦通过, 所有流程都会按照此计划走, 所以如果某一 阶段的任务超出了时间规定, 我们就不能进入此节点去完成相应的任务, 我们 必须借助管理员的权限去修改计划,

18、 让学生的流程得以进行。 6 总结 本系统主要运用了 JAVA 编程语言及SSM 框架技术, 搭建出了一个MVC 设计模式 的论文管理系统。 系统具有使用简单、 维护成本低、 后台代码分层清晰等优点, 另 外登录入口采用密码和验证码的双重验证, 在安全方面做了保证。 系统中有些模 块还存在代码过于繁琐, 前端界面设计过于简单等不足之处, 后续会进行代码 的优化和前端界面设计的改进, 进一步完善系统。 参考文献 1 聂常红, 唐远强.基于 Struts2 的Web 应用开发研究J.现代计算机, 2014 (22) :52-57. 2 李洋.SSM 框架在 Web 应用开发中的设计与实现J.计算机技术与发展, 2016 (12) :190-194. 3 陆荣幸, 郁洲, 阮 永良, 等.J2EE 平台上 MVC 设计模式的研究与实现J.计 算机应用研究, 2003 (3) :144-146.

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报