1、高校毕业论文管理系统的设计与实现摘 要:本文设计实现了高校毕业论文管理系统,该系统采用了当前流行的B/S 结构和 SSH 集成开发框架,实现毕业论文(设计)信息的及时共享与保存(不同用户依据所具有的不同权限共享信息);实现对校内毕业论文相关事项的通知;实现对历史记录信息的查询;实现对各种报表信息的下载;实现用户名、密码的注册登录安全策略。系统界面友好,容易操作,性能优良,避免了人工操作带来的一些不足和缺陷;而且通过互联网传达的毕业论文实时动态和注意事项,实现了老师与学生及时的信息互动,从而有利于更好地调整学校的教育方式。关键词:SSH;信息管理;数据采集;B/SDesign and Imple
2、mentation of University Graduation Thesis Management System Abstract:The design for the graduation thesis management system. It adopts the current popular B / S structure and SSH integrated development framework, realizes the graduation thesis (Design) information timely sharing and preservation (pr
3、ivilege varies according to the different objects of sharing information; implementation of the school of graduation paper related matters notice and realize the query of information about the history of the; download information on a variety of statements, username and password login security polic
4、y implementation. The system has friendly interface, easy operation and good performance. This computer management can avoid some shortcomings and deficiencies caused by manual operation, and can through the Internet to convey real-time dynamic graduation thesis and the matters needing attention, re
5、alizes information interaction between teachers and students in a timely manner, which is conducive to better adjust the schools.Key words:SSH;Information management; Data acquisition; B/S目 录1. 前言 (1)1.1 课题的背景 (1)1.2 目的与意义 (1)1.3 系统设计思想 (1)2. 应用的技术与工具 (2)2.1 SSH 技术简介 (2)2.2 MySQL 技术简介 (3)2.3 系统开发环境
6、(3)2.3.1 相关数据库简介 (3)2.3.2 B/S 结构的数据库访问模式 (3)3. 可行性及需求分析 (4)3.1 可行性分析 (4)3.1.1 技术可行性 (4)3.1.2 经济可行性 (4)3.1.3 操作可行性 (4)3.1.4 可行性研究结论 (4)3.2 性能需求 (4)3.3 功能需求 (5)4. 总体设计 (5)4.1 数据库系统设计 (5)4.1.1 数据分析 (5)4.1.2 数据库的详细设计 (5)4.1.3 数据库的 E-R 图的设计 (6)4.1.4 数据表设计 (6)4.2 业务流程分析 (9)4.3 系统模块总体设计 (11)5. 详细设计与实现 (12)
7、I5.1 系统运行平台设置与主界面设计 (12)5.2 各模块详细设计与实现 (13)5.2.1 校级管理员管理模块 (13)5.2.2 院级管理员管理模块 (14)5.2.3 教师信息模块 (14)5.2.4 学生信息模块 (15)5.2.5 系统的核心程序 (16)6. 系统测试与性能分析 (18)6.1 软件测试 (18)6.2 用户登录模块测试 (18)6.3 校级管理员管理用户模块测试 (18)7. 总结 (19)参考文献 (20)致 谢 (21)0高校毕业论文管理系统的设计与实现1. 前言1.1 课题的背景国内外现在有很多关于毕业论文管理的系统,采用的开发技术也多种多样,如ASP、
8、PHP、JSP 等不同语言,但是单纯用于院校级毕业论文管理方面的系统仍然存在很多不足之处,使得论文的管理、存档和检索效率低下,而且缺乏灵活性,功能比较少。甚至国内的正规院校,利用论文管理系统组织管理论文的开展的活动也极其的少见,大部分院校还只是停留在手工操作阶段,需要不断改进自己的毕业论文管理效率与技术,需要一个能满足内部管理需求、提高管理效率的应用系统进行内部管理,但是经过多年的研究发现大多数院校仍然停在人工处理水平。高校毕业论文管理系统通过互联网的强大功能,以及计算机技术的支持,大大简化了毕业生论文管理的难度,给学校管理人员和毕业生都可以带来很大的益处。1.2 目的与意义毕业论文是高校教学
9、中一个重要环节,而毕业论文开题是这个环节的关键和开端。目前传统的手工管理依然是高校的主要方式。由于毕业生在外地实习、找工作的现象已经很普遍了,学校、指导老师和毕业生在时间、空间上往往存在着较大的冲突,成为开展毕业论文相关工作的瓶颈。再者论文繁琐的统计、上交、检测等给各系(院)教务管理部门带来很大工作量,最糟糕的是传统的人工操作需要经过多级手工处理,出错率高,效率低、质量差,同时管理部门无法有效的快速查出毕业论文选题的重复率。随着计算机技术的发展,毕业论文管理系统的开发能使学生进行异步选题、异步提交论文,因此它将会受到了各院校的青睐。各院系管理部门可以更加有效,公平,合理的开展毕业生论文活动,该
10、系统为学生和学校管理部门都带来了很大的益处,有很大的开发必要,有很广的应用前景。1.3 系统设计思想本系统根据三个基本模块,即管理员信息管理、教师信息管理、学生信息管理,分析其主要解决的问题为模块功能的实现与角色权限的分配。具体如下:1管理员信息管理模块:管理员包括校级管理员和院级管理员,通过管理员的不同身份赋予其不同的权限和职责。校级管理员在整个系统中主要负责用户管理、后台管理以及发布校级通知信息等。院级管理员主要负责传达学校通知的信息以及根据本学院的具体特点进行不同事项的分配和管理并且及时发出院级的通知与调整。教师信息管理模块:教师对学生论文题目的参考意见是整个毕设开展的关键,所以每个教师
11、在提交自己所教的毕业论文领域时,应该清楚的介绍自己的论文选题方向以及要求,为学生的选题提供方向与建议。学生管理模块:学生应该在教师网上公布毕业设计课题后进行上网选题。根据老师提供的论文指导方向填写一个合适的论文题目,然后提交自己的信息,供老师进行指导。2. 应用的技术与工具 2.1 SSH 技术简介SSH 技术即为 Struts2、Spring 和 Hibernate 三个程序框架的整合技术,这三种技术在整个系统的开发过程中扮演着不同的角色,三者之间互相配合共同完成业务逻辑模块的功能需求。Struts2 是一个良好的 MVC 应用程序开发框架,它的拦截器功能在系统的开发过程中运用最为明显,主要
12、是通过配置 Struts.xml 文件中的 Filter 来启动拦截,使JSP 的所有请求都向 Struts2 的 ActionServlet 发送。WebWork 是 Struts2 的核心,它可以将 HTML 表单中的内容映射到一个 POJO。在页面显示方面 Struts2 也有其独立的 OGNL(对象图导航语言)来处理对象模型。Hibernate 是一种用于高效快速处理数据库的 ORM 组件,这个组件将通用的数据库处理方法提取整合封装起来,避免了在编写 DAO 层的代码时代码容易出错、纯体力的大量代码搬用等问题。Hibernate 是一种持久化的数据库处理框架,持久化即为将程序数据在瞬时
13、状态和持久状态之间转换的机制。Hibernate 也提供一种ORM(Object Relational Mapping)对象关系映射机制,Hibernate 可以通过配置映射文件(.hbm.xml)将 JavaBean 的属性和数据库表中各字段行成一一对应关系,从而通过 Hibernate 提供的公用方法来处理业务逻辑中的数据。Spring 在 SSH 三层框架中扮演的角色是控制者,IoC 是 Spring 的核心,同时它提供了对 AOP 的支持,可以通过面向切面的思想对 Struts2 的拦截功能进行控制,2也可以通过持久层和事物层对 Hibernate 进行管理。2.2 MySQL 技术简
14、介MySQL 是一个关系型数据库,关系数据库是把数据存放在不同名称的数据表中,这些表中存储着不同的字段。通过数据库查询语言实现对数据库、数据表、数据字段的操作,这样做将增加对数据读取的速度和灵活性,有利于系统对数据的统一管理与监控。2.3 系统开发环境本 系 统 采 用 B/S 结 构 , MyEclipse 为 前 台 编 写 代 码 和 部 署 web 程 序 的 开 发 工具 , MySQL 为 后 台 的 数 据 库 , 服 务 器 是 Tomcat。2.3.1 相关数据库简介第一,MySQL 是一个真正的多用户、多线程的 SQL 数据库服务器。其体积小、速度快、总体拥有成本低,因此很
15、多网站都选用其作为网站的数据库。第二,MySQL 的运行速度超快,而且其所使用的 SQL 语言是访问数据库中最标准的语言。界面简单,复杂程度低,其系统的设置和管理简单。而且性能高,多个客户机可以同时连接和使用多个数据库可同时利用几个输入查询并查看结果的界面交互式的访问数据库。第三,MySQL 是完全网络化的,其数据库可以在因特网的任何地方访问到,因此可以任何人在任何地方共享数据库。而且,它也可以进行访问控制设置,谁能够看到你的数据。2.3.2 B/S 结构的数据库访问模式B/S 结构是典型的三层结构,主要是由客户浏览器、Web 服务器和数据库服务器组成。其处理的主要过程分为请求阶段和反馈阶段,
16、请求阶段是由由客户端通过浏览器提出请求,Web 服务器依据客户的表单需求来调用对应的功能模块,这些模块再利用数据库查询语言去访问数据库服务器存储状态;反馈阶段数据库服务器将查询的数据库结果集传递给 Web 服务器,Web 服务器通过 html 语言将返回的查询结果以网页的方式显示在客户机的页面中,从而实现客户对相应需求的处理。B/S 结 构 的 三 层 架 构 图 如 图 1 所 示 。图 1 三 层 架 构 图客户端WEB 服务器 后台数据库客户端33. 可行性及需求分析可行性分析是对一个系统的定性分析,也就是对这个系统进行理性的评估,分析其是否能够进行开发,并且开发出来以后将为人们带来何种
17、效益。软件的需求分析的工作是整个软件开发过程中的命脉,主要是要面向该系统的用户做具体的需求调研用以分析整个系统的功能模块以确保用户基本的使用和体验。一个系统的开发是需要投入大量的人力、物力和财力的,因此只有经过详细的可行性分析和大量的需求调研用以估测该系统的开发是否具有实用价值,是否能够产生相应的效益,这样的系统才值得我们去投入开发,才可以有效的避免在系统的开发过程中而半途而废。3.1 可行性分析3.1.1 技术可行性本系统的开发主要是基于 B/S(浏览器/服务器)架构,B/S 的特点就是通过HTTP 协议利用 Internet 浏览器实现用户和服务器的交互,这种方式高效、方便易于使用。系统的
18、开发工作主要是由我个人来负责,数据库是使用可以运用统一化查询语言的 MySQL 数据库服务器,开发语言是基于 java 的三层 SSH 开源框架,开发工具主要是 MyEclipse。在学习完 java 的基础知识和 SHH 编程技术之后,虽然在开发过程中会有相应的问题出现,但是经过不懈的努力我一定可以解决问题,开发出简洁、实用的高校毕业论文管理系统。3.1.2 经济可行性 该系统的架构比较复杂,而且所需要的数据量很大,但是很多制作软件是免费的,为系统的开发大大减少了资金。而且该系统从长远来看,它的实用性强,在盈利方面还是比较可观的。3.1.3 操作可行性用户仅需具有基本的电脑操作能力即可。3.
19、1.4 可行性研究结论根据上述的三项可行性分析,该系统的设计与开发,以及今后的正常运行还是可行的,而且用户操作起来也比较容易,盈利也是可观的。3.2 性能需求为 了 保 证 该 高 校 毕 业 论 文 管 理 系 统 在 开 发 和 今 后 的 运 行 中 能 够 顺 利 的 开 发 和4使 用 , 为 此 对 本 系 统 的 性 能 有 一 定 的 要 求 。 在 服 务 器 端 要 求 是 Web 服 务 器 为Tomcat5.0, Java 开 发 包 要 求 在 JDK1.5 以 上 , 数 据 库 采 用 MySQL5.0, 开 发 工 具运 用 MyEclipse , Dreamw
20、eaver , EditPlus。 客 户 端 要 求 操 作 系 统 为 Windows XP/ 2003 server/win7, 浏 览 器 为 Internet Explorer 6.0 以 上 。3.3 功能需求本 系 统 名 称 为 高 校 毕 业 论 文 管 理 系 统 , 该 系 统 共 有 三 个 部 分 , 其 中 包 括 :(1)管 理 员 系 统 功 能 : 管 理 员 分 为 校 级 管 理 员 和 院 级 管 理 员 , 校 级 管 理 员 主 要 负责 添 加 、 修 改 、 删 除 用 户 以 及 各 类 用 户 ( 院 级 管 理 员 、 教 师 、 学 生
21、) 权 限 的 设 置 ,校 级 毕 业 论 文 管 理 的 流 程 安 排 和 相 关 通 知 。(2)教 师 子 系 统 功 能 : 包 括 教 师 的 基 本 信 息 如 教 师 自 己 的 密 码 设 置 , 以 及 信 息 的完 善 。 课 题 名 称 、 课 题 类 型 、 课 题 要 求 、 课 题 限 定 学 生 数 、 课 题 的 简 要 介 绍 等 有 关课 题 的 各 个 方 面 的 详 细 信 息 。 (3)学 生 子 系 统 功 能 : 学 生 应 该 在 教 师 网 上 公 布 毕 业 设 计 课 题 后 上 网 选 题 。 学生 首 先 浏 览 课 题 信 息 ,
22、 按 照 课 题 各 个 方 面 的 要 求 进 行 对 照 , 然 后 选 择 相 应 课 题 并 进行 开 题 和 后 期 工 作 , 下 载 上 传 信 息 。 4. 总体设计 4.1 数据库系统设计该数据库系统主要设计三个模块,教师模块,学生模块,管理员模块。因此下面我将就这三个模块给出详细的介绍。4.1.1 数据分析数据分析是对用户所需要的数据库表结构以及不同表之间的关联关系进行分析。从而使得数据库中没有脏数据,冗余数据,达到良好的数据结构。4.1.2 数据库的详细设计首 先 应 对 类 似 系 统 的 数 据 库 进 行 仔 细 分 析 研 究 , 分 析 其 数 据 库 的 数
23、据 结 构 和表 结 构 , 找 出 其 不 足 之 处 , 修 改 并 设 计 出 良 好 的 数 据 库 结 构 系 统 。在 设 计 前 , 应 考 虑 以 下 事 项 : (1)创 建 数 据 字 典 和 ER 图 表 。(2)定 义 标 准 的 对 象 命 名 规 范 。(3)选 择 合 适 数 据 库 设 计 工 具 。5(4)了 解 业 务 逻 辑 。 根 据 业 务 需 要 创 建 数 据 表 。(5)数 据 库 维 护 。4.1.3 数据库的 E-R 图的设计通 过 对 以 上 系 统 业 务 逻 辑 的 分 析 , 确 定 本 高 校 毕 业 论 文 管 理 系 统 全 局
24、 E-R 图如 图 2 所 示 。图 2 系 统 E-R 图4.1.4 数据表设计对于信息管理系统,数据基本上都是使用数据库进行管理。数据库设计是对存储管理系统数据的数据库结构进行设计,对整个系统的开发具有非常重要的作用。本高校毕业论文管理系统主要是由十张互相关联的表组成。如图 3 为管理用户信息表,各字段分别代表姓名、密码、角色、上次登录时间、真实姓名、学院、专业、班级、邮箱、电话。6图 3 管理用户信息表如图 4 为管理学院信息表,各字段分别代表学院编号、学院名称。图 4 管理学院信息表如图 5 为管理专业信息表,各字段分别代表专业编号、专业名称、所属学院。图 5 管理专业信息表如图 6
25、为管理班级信息表,各字段分别代表班级编号、班级名称、所属专业。图 6 管理班级信息表7如图 7 为发布通知信息表,各字段分别代表通知编号、标题、范围、内容、时间。图 7 发布通知信息表如图 8 为审批信息表,各字段所代表信息的编号、信息来源、信息去向、标题、内容、文件名称、新的名称、提交的时间。图 8 审批信息表如图 9 为任务信息表,各字段分别代表任务的编号、标题、概要、学生的编号、教师的编号、状态、提交时间。图 9 任务信息表如图 10 为开题报告信息表,各字段分别代表开题报告的编号、学生任务的编号、本课题的意义、研究目标、研究方法、特色、研究计划、已具备的条件、指导老师意见、学院管理员的
26、意见、提交的时间。8图 10 开题报告信息表如图 11 为中期检查信息表,各字段分别代表中期检查编号、学生任务编号、毕业论文计划进度安排、已完成情况存在的问题、指导老师意见、学院管理员的意见、提交的时间。图 11 中期检查信息表如图 12 为毕业论文信息表,各字段分别代表论文编号、学生任务编号、文件名称、新的名称、提交的时间。图 12 毕业论文信息表4.2 业务流程分析业务流程分析主要是在整个系统开发之前依据系统的逐层设计思想对系统各个模块功能的实现做一个整体的架构分析,其作用是帮助程序员理清整个系统开发的9设计思路。业务流程分析也是根据数据流来分析系统各个模块之间的数据关联,从而将系统的各个
27、模块有机地整合起来形成一个完整的系统,它是系统设计的前提和保证,为系统的开发奠定了基础。根 据 高 校 毕 业 论 文 管 理 系 统 的 具 体 情 况 , 主 要 业 务 流 程 为 :(1)由 校 级 管 理 员 负 责 添 加 院 级 管 理 员 、 教 师 和 学 生 的 信 息 并 且 发 布 校 级 通 知 ,包 括 开 题 答 辩 时 间 、 中 期 检 查 时 间 、 毕 业 答 辩 时 间 等 相 关 事 项 。(2)院 级 管 理 员 转 发 校 级 管 理 员 的 通 知 , 以 及 安 排 具 体 的 导 师 以 及 相 关 的 题 目 。(3)学 生 查 看 通 知
28、 并 进 行 开 始 选 题 。(4)学 生 选 定 题 目 后 上 传 选 定 题 目 , 导 师 负 责 查 看 并 审 核 学 生 的 论 文 题 目 。 待导 师 审 核 通 过 后 , 交 给 院 级 管 理 员 审 核 。(5)上 述 审 核 通 过 后 进 行 开 题 报 告 并 提 交 给 自 己 的 导 师 。(6)导 师 审 核 开 题 报 告 通 过 后 开 始 论 文 的 编 写 , 软 件 的 设 计 和 开 发 。 并 间 断 性地 向 导 师 提 交 难 点 反 馈 和 中 期 检 查 。(7)导 师 审 核 中 期 检 查 通 过 后 学 生 查 阅 相 关 资
29、 料 , 编 写 自 己 的 论 文 并 提 交 给 自己 的 论 文 导 师 。本 系 统 的 主 要 业 务 流 程 图 如 图 13 所示。图 13 业 务 流 程 图校级管理员院级管理员发布校级通知教师发布院级通知学生选题审核审核104.3 系统模块总体设计系统模块的总体设计就是整个系统所有模块设计的集合,也就是从宏观的角度对系统的各个功能模块根据需求资料进行分析,分析各个模块应该具有的各自独立功能,以及模块之间的互相联系和配合。在 本 系 统 中 , 采 用 了 模 块 结 构 化 设 计 方 法 , 每 个 模 块 完 成 一 个 独 立 的 功 能 。高 校 毕 业 论 文 管
30、理 系 统 的 具 体 模 块 分 为 管 理 员 模 块 ( 校 级 管 理 员 和 院 级 管 理 员 ) 、教 师 模 块 、 学 生 模 块 , 本 系 统 的 总 体 设 计 图 如 图 14 所 示 。图 14 高校毕业论文管理系统的总体设计图学生模块个人信息待我审批课题状态消息教师模块消息中期检查开题报告选题信息个人信息论文发布院级通知待我审批个人信息发布校级通知注册用户管理班级管理专业管理学院校级院级管理员模块毕业论文管理系统115. 详细设计与实现详细设计是整个系统开发的关键,在完成了业务流程分析和系统模块设计之后,接下来最重要的任务就是对整个系统的实现做出详细的描述,其中包
31、括整个系统是由哪些模块功能组成,这些模块功能之间存在着何种关系,以及各个模块具体是利用什么工具、使用何种语言和通过什么技术进行实现。本系统开发主要是通过 MCV思想进行开发,Jsp 可以生成动态网页用来显示前台页面,Servlet 负责流程控制,用来处理各种请求的分派,JavaBeans 负责业务逻辑,对数据库的操作。利用 MVC 这 种方 式 可 以 使 功 能 模 块 和 显 示 模 块 实 现 分 离 , 同 时 也 提 供 了 应 用 系 统 的 可 维 护 性 、 可扩 展 性 、 可 移 植 性 和 组 件 的 可 重 用 性 。5.1 系统运行平台设置与主界面设计本系统的主界面整
32、体结构为上下左右结构,上面部分为导航区,下面部分为版权,左面部分为主要信息业务区,右面部分为注意事项和校内链接。(1)实现目标简单、友好、方便操作的页面设计。填写正确的账号和密码,点击登录按钮进入 index.jsp。(2)实现过程页面名称:index.jsp 使用 dreamwave 完成主页面模板页的设计,通过 div 对系统的主页面进行排版,利用 css 对 div 的样式进行控制。导航栏目包括首页、管理学院、管理专业、管理班级、注册用户、发布校级通知。首页界面如图 15 所示。图 15 首页界面图125.2 各模块详细设计与实现5.2.1 校级管理员管理模块校级管理员首页包括管理学院、
33、管理专业、管理班级、注册用户和发布校级通知。(1)管理学院模块可以对学院进行添加和删除操作,通过填写学院编号和学院名称学院进行添加,在已有学院栏目中通过删除按钮来删除学院信息。(2)管理专业模块可以对学校的具体专业进行添加和删除操作。通过填写专业的所属学院、专业编号、专业名称进行对专业的添加,在已有专业的栏目中点击删除按钮对已有专业信息进行删除。(3)管理班级模块可以对学校的具体班级进行添加和删除操作。通过填写所属学院、所属专业、班级编号、班级名称进行对班级的添加,在已有班级的栏目中通过删除按钮来删除班级的具体信息。(4)注册用户模块是用来对学生、教师和系统管理员的信息进行电子注册。通过选择用
34、户角色(系管理员、教师、学生)、填写真实姓名、选择学院、选择所在专业(教师和管理员可不选)、选择所在班级(教师和管理员可不选)和填写用户账号来注册新用户。(5)发布校级通知主要是以校级管理员的权限,对学校本年度毕业论文的相关工作的信息进行发布,发布之后所有的管理员和用户都可以查看到相关的通知。本系统的校级管理员如图 16 所示。图 16 校级管理员界面图135.2.2 院级管理员管理模块院级管理员模块包括个人信息、待我审批、发布院级通知三个功能模块。(1)个人信息分为修改密码和修改联系方式,修改密码通过填写新密码、确认密码来对密码进行修改,修改联系方式通过填写邮箱和手机号码来实现。(2)待我审
35、批主要包括题目、提交时间、课题状态和详细,其信息来源主要是学生提交的选题信息通过其导师审核以后需要提交给校级管理员进行二次审核。(3)发布院级通知主要是通过对本学院导师本年度所带的论文题目、选题人数等相关信息进行统计之后,由院级管理员负责发布相应的院级通知,发布后各管理员和用户都可以查看到相关通知,本系统的院级管理员界面如图 17 所示。图 17 院级管理员界面图5.2.3 教师信息模块教师信息模块分为个人信息、待我审批、课题状态和消息。(1)个人信息分为修改密码和修改联系方式,修改密码通过填写新密码、确认密码来对密码进行修改,修改联系方式通过填写邮箱和手机号码来实现。(2)待我审批主要包括题
36、目、提交时间、课题状态和详细,主要用来记录学生上交的论文开题报告,中期检查,最终论文的定稿信息。(3)课题状态用来记录自己所带学生的开展毕业设计工作具体阶段,本系统的教师界面如图 18 所示。14图 18 教师界面图5.2.4 学生信息模块学生信息模块包括个人信息、选题信息、开题报告、中期检查、论文和消息。(1)个人信息分为修改密码和修改联系方式,修改密码通过填写新密码、确认密码来对密码进行修改,修改联系方式通过填写邮箱和手机号码来实现。(2)选题信息是通过填写题目、选择适合自己的导师和填写简介来将选题的相关信息提交给自己选择的导师。(3)只有学生选择的论文题目通过自己导师的审核和学院管理员的二次审核后才可以进行开题报告工作。(4)在学生提交了开题报告之后,毕业产品的设计和论文编写随之展开。在此过程中导师需要对学生的毕设开展情况进行实时的督促和指导即中期检查,以帮助学生完成一份优秀的毕业设计。(5)在开题报告和中期检查完成之后,学生应该注重自己的论文编写,以优美富有逻辑的句子描述自己毕业设计的实现过程和主要技术,编写完成之后上