毕业设计题目收集系统
一、需求分析
1.1 系统需求
随着近些年高校的持续扩招,学生人数逐年增加。为了满足广大学生的求学要求,各高校的师资力量、硬件配置也随之加强。这样一来,日常行政部门的工作也就越来越繁重。传统的管理方式耗费大量的资源,毕业设计题目收集系统比传统的手工管理方式相比不但节约资源,而且更加方便,便于查询和修改信息。
毕业设计题目收集系统应该提供管理员、系主任和教师三种用户类型。系统管理员登录系统后可以查看出题进度、各院系的出题数以及已经审核通过的题目数,还可以将某位教师设置为系主任;院系负责人(系主任)登录后的主要操作是审核自己所负责院系的题目(通过或者不通过);教师登录后的主要操作是出题,将题目提交给院系负责人进行审核,若该题目被驳回,则对其进行修改后继续提交直至审核通过,以及查看自己已提交的题目(教师还可以将自己的题目表导出为 Exec)。
将系统需求加以总结,得系统需求如下:
系统可以运行在 Windows 操作系统平台上,并具有友好的用户界面;
系统用户类型为:管理员、院系负责人、教师;
管理员可以查看所有院系的题目信息,不能对其进行修改;
院系负责人负责审核自己院系的题目;
教师可以查看自己所出的题目以及审核结果,可以添加题目并提交;
1.2 功能分析
通过前面的分析已经明确系统用户共有如下三类,不同的用户可以通过系统进行不同的操作。分别如下:
管理员:查看各院系的出题信息、统计题目总数,设置各院系院系负责人
院系负责人:查看负责院系的题目信息,审核题目
教师:修改未通过的题目并且重新提交,查看已提交的题目,添加题目,导出自己的题目表
1.3 性能需求
- 系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时能够满足设备管理处对信息处理的需求。由于学生学籍管理系统的查询功能和基本信息功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而学生数量和成绩又影响数据库的试验活动,其准确性和可靠性很大程度上决定了学生学籍管理系统的成败。在系统开发过程中,必须采用--定的方法保证系统的准确性。
- 系统的开放性和系统的可扩充性
学生学籍管理系统在开发过程中,应该充分考虑以后的可扩充性。要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
- 系统的易用性和易维护性
学生学籍管理管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一-点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提.供足够的在线帮助,缩短用户对系统熟悉的过程。学生学籍管理系统中涉及到的数据是学校相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
1.4 数据需求
1)管理员:id,用户名,密码
2)教师:教师工号,姓名,密码,院系,电话,身份(普通老师或者是院系负责人)
3)题目:id,题目名称,指导老师,状态、审核结果、所属院系、题目详情、题目类型
1.5 运行需求
- 用户界面
利用菜单界面驱动方式,对用户友好。
- 硬件接口
一台 PC 机。
- 软件接口
运行于 WindowsXP 及更高版本的操作系统上。
- 故障处理
a.内部故障处理
在开发阶段可以随即修改数据库里的相应内容。
b.外部故障处理
对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。
二、总体设计
2.1 系统开发环境
操作系统:Windows10
开发工具:IDEA2019
Web 服务器:Tomcat8.6.5
数据库:Navicat
编程语言:Java
前端框架:ayui
数据库框架:MyBatis
2.2 模块结构

2.3 技术路线
本系统前端采用了 JSP、CSS、JavaScript、jQuery 等实现了页面的展示。项目整体采用了 maven 进行依赖注入,减轻了手动部署项目的压力,后端采用了 Java 实现系统的各个功能,对数据库的操作采用了 MyBatis 框架实现对数据库表的增删改查操作。
2.4 数据库表设计
(1)管理员表

(2)教师表

(3)题目表

2.5 界面布局和风格
本系统整体布局分为头部、侧边菜单栏、以及内容主题区域三个部分,前端界面主要采用 ayUI 进行设计,整体采用简洁的界面以及黑灰配色,给用户以舒适的使用感。

三、详细设计
(给出系统中核心功能实现的代码描述,包括项目代码组织树、Java 代码、JSP 页面中关键片段、各种关键配置文件等,此部分为报告主要部分,请注意详略得当,最多 10 页)
3.1 项目代码组织
将项目分为视图层、逻辑层以及控制层。视图层负责前端页面的编写,逻辑层负责对数据库表的增删改查等各种功能的逻辑实现,控制层负责处理请求。

3.2 核心功能实现
1)登录
功能描述:管理员或者老师输入账号和密码进行登录,后端进行验证,用户名及密码都正确即可登录系统,否则则返回对应的错误信息并提示。
JSP 代码:利用 form 表单提交用户名和密码到 oginServet

Java 代码:

2)注册
功能描述:教师输入自己的工号,姓名、院系等信息进行注册,若不存在则注册成功,若不成功则返回并提示用户已存在
JSP 代码:


Java 代码:


3)发布题目
功能描述:教师添加题目信息并提交
JSP 代码:


Java 代码:


4)审核题目
功能描述:院系负责人审核所负责院系的题目,可以查看题目详情,对题目进行审核,有审核通过和不通过两种结果。
JSP 代码:


Java 代码:


5)修改题目
功能描述:教师可以对审核未通过的题目进行修改
JSP 代码:


Java 代码:

6)修改用户密码
功能描述:用户输入旧密码和新密码,旧密码验证成功即可修改密码
JSP 代码;

Java 代码:


7)导出 Exce
Java 代码:


3.3 配置文件
1)pom.xm

2)SqMapConfig.xm

四、设计结果
4.1 登录及注册页面
1)登录页面

2)注册页面

4.2 管理员界面



4.3 教师界面


4.4 院系负责人界面

