基于MD5算法的现代化实验室线上预约管理系统设计与实现开题报告

395 篇文章 17 订阅
395 篇文章 17 订阅

1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写不少于1500字左右的文献综述:

  • 选题背景和目的

如今,在计算机网络技术的急速发展的推动下,各行各业都发生了翻天覆地的变化,伴随着现代计算机技术与功能日趋完善,我们生活的方方面面也都发生了巨大的变化。步入了现代化的信息时代后,网络在社会生活中扮演着越来越重要的角色,信息化办公成为信息时代的一种趋势,教育方式与管理方式也发生了极大的变化。近几年,教育规模一直在不断扩大和完善,实践能力的提高成为学校越来越注重的方面,因此实验室成为学生的重要课堂,也成为教师教学的重要场所。为了提高学校实验室的使用率,进一步促进学生动手实践能力的提升,提高IT应用型人才的培养质量,从而强化学生综合素质,进一步为社会培养出优秀的高素质人才,这就需要对实验室进行合理的预约管理。

传统的实验室预约管理方式大多为:教师或学生亲自到实验室进行现场的实验室预约的申请或者通过打电话咨询管理员进行预约。实验室管理员需要手动记录实验室的使用情况,上传至计算机,按照学校教学安排进行实验室的空闲时间段的预约管理,然后电话告知是否预约成功。一方面,传统的实验室预约系统很难灵活分配申请者的申请时间,无法满足申请者的需要;另一方面,实验室管理员工作量大,无法准确掌握现有实验室的使用情况,也容易发生错误,可能导致实验室预约冲突,或实验室有空闲却无法预约。传统的实验室预约管理系统统一以班级或专业为单位进行实验室安排,会造成教学缺乏针对性和自主性,容易影响师生互动,造成实验教学成效不佳的状况。所以,为了提高实践教学水平,规范实验室开放管理,迫切需要能够替代传统管理方式的实验室预约系统,能够运用信息技术和计算机管理技术,建立实验室预约平台,在网上公布相关类型实验室的使用情况等信息,并通过网上预约的形式,方便教师和学生通过网络实时查看实验室开放情况,并根据相关信息提出预约申请。

综上所述,加大建设信息化实验室预约管理工作已经成为学校教育管理工作发展的一个必不可少的环节。

  • 文献综述

从上世纪八十年代发展至今,实验室管理系统发展迅速,许多发达国家花费大量时间研究,通过使用现代的管理方式,加之网络技术和数据库技术,对实验室的资源进行了全面的优化配置,获得了较好的使用体验[1]。

国外的实验室信息管理系统(Laboratory Information Management System,LIMS)[2]始于上世纪六十年代,在科学技术飞速发展的同时,实验室管理系统得到了快速发展,LIMS成为实验室管理水平、提高实验室专业水准、提升实验效率的重要工具[3]。常见的是实验室管理系统主要有是C/S[4](Client/Server-客户端/服务器)模式和B/S[5](Browser/Server-浏览器/服务器)模式。C/S模式是所有的预约和请求信息处理都在服务器上实现,用户通过专门的客户端(须编写独立运行的程序)向服务器发送请求,服务器在验证身份后,对客户机的请求进行响应,并把结果返回客户机;B/S模式是以功能为中心,通过浏览器向服务器发送请求,服务器响应请求,返回结果给客户桌面端。B/S模式比起C/S模式有着很大的优越性,不需要专门的操作环境,在任何时间,任何地点,任何操作环境,只要能够上网便能操作系统。B/S模式采用三层结构即Browers/Web Server/Database Server组成了浏览器、Web服务器和后台数据库服务器的三层模式,极大地方便了应用程序的开发和维护,无需考虑客户端的兼容性,并且后台数据库的改变或数据结构的变化不会对客户端产生影响。该模式非常适用于基于Web的学校实验室管理系统[6],更有利于对数据的集中管理,主要内容均存储在服务器中,客户机上不需要安装任何辅助软件,直接通过网页浏览器即可进行操作。随着学校发展实验室管理系统也不断变化、更新,系统本身也需要经常进行修改和维护,这些操作只需要在服务器端进行就可以了,所以B/S模式比较适合本实验系统。

实验室教学作为学校教学的一种重要手段,传统的人工管理和人工预约等模式收到巨大冲击,实验室管理系统[7]应运而生。实验室管理工作的主要内容包括实验室预约、教学任务、课堂作业布置等。“基于Web的实验室管理信息系统--The Lab Management Information System based on Web”就是将计算机技术、网络技术以及数据库技术和管理技术相互结合,将实验室管理移至互联网环境中进行。主要是方便实验室管理人员以及教师学生实验室预约,可以实现实验室信息的及时更新,能够在互联网环境中随时查看实验室的预约情况并进行预约,而且教师能够在该系统中发布实验作业,学生完成后进行上传。

该系统主要是基于SSM框架[8]使用Java语言进行设计的。SSM(Spring[9],SpringMVC[10],MyBatis[11])是目前比较成熟的Web项目框架,相较于SSH(Spring,Struts,Hibernate)框架,更容易入手。同时,SpringMVC是轻量级Web框架,而MyBatis支持动态MySQL查询[12],存储过程和高级映射是一个持久层框架。因此,其被广泛地应用于各种系统的开发,例如:水质监测数据管理系统、项目管理平台、高品智能推荐系统等。本实验预约管理系统基于SSM框架进行开发[13],Spring是非侵入式的框架,具有控制反转和面向切面的特点,根据配置文件指定使用特定参数,调用实体类的构造方法来实例化对象。SpringMVC是MVC分层开发的理念,属于Spring下的子模块。SpringMVC将业务开发逻辑进行模块划分,实现不同层业务代码之间尽可能浅的交互,便于维护和拓展。MyBatis则是对JDBC的封装,避免了所有JDBC的手动设置等操作,避免了所有JDBC的手动设置等操作,标准化数据库操作,通过XML或注解来配置,实现MySQL语句与服务器逻辑代码分离。

Java语言[14]是一门面向对象的编程语言,它继承了C++语言面向对象技术的核心,同时也舍弃了C语言中容易引起错误的指针(以引用取代)、运载符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,因此Java语言功能强大并且简单易用。作为静态面向对象编程语言的代表,Java语言提供了专门用于操作数据的JDBC[15](Java Date Base Connectivity),JDBC提供了一些标准应用程序接口。通过使用JDBC,用户可以使用完全相同的Java语法访问不同的MySQL数据库[16],能够对数据库中的数据实现增加、修改、删除和查询等操作。除此以外,通过使用MD5算法[17]对用户的敏感数据进行加密,后端不存储明文,前端加密和后端进行比对,防止SQL注入,保证一定的安全性。MD5(Message Digest Algorithm 5),为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,主要通过特定的hash散列方法将文本信息转换成简短的信息摘要,压缩+加密+hash算法的结合体,是绝对不可逆的。

综上所述,通过查阅相关文献,对将要运用来实现实验室预约管理系统的开发语言、技术、工具和算法有了深刻的理解,并且在接下来的实际开发中,运用这些学到的技术、方法来实现本课题的系统开发。

  • 参考文献
  1. 张浩然.高校实验室预约系统研究与实现[D].西安石油大学,2017.
  2. 卢慧芬,俞强.开放性实验室信息管理系统的设计与实现[J].实验室研究与探索.2005,(08):46-49.
  3. 王爱春.实验室预约管理系统设计与实现[D].江苏科技大学,2018.
  4. 张亭亭.实验室预约系统的设计与实现[D].大连海事大学,2015.
  5. 黄浩,陈寅山,张彦定,唐良华.基于WEB的实验室开放预约管理系统的设计和实践[J].福建师范大学学报(自然科学版).2011,27(03):59-63.
  6. 杭莉.开放实验室预约管理系统的设计与实践[J].智能城市.2018,4(02):4-6.
  7. Yassine Khazri; Ahmed Fahli; Mohamed Moussetad; Ahmed Naddami.Design and Implementation of a Reservation System and a New Queuing for Remote Labs[J].International Journal of Innovative Technology and Exploring Engineering (IJITEE),2019,15(12):57-68.
  8. 王春丽.基于SSM框架的会议管理信息系统设计与实现[J].电脑编程技巧与维护.2022,(03):83-85.
  9. Zhao Ruihang;Zhang Wei.Design and Implementation of AGV Scheduling System based on Spring[J].Journal of Physics: Conference Series.2022,2320(1).
  10. 沈士强,曹军,朱勇.基于SpringMVC高校教务信息系统的设计与实现[J].电子元器件与信息技术. 2022,6(01):182-183.
  11. 王天顺,程杰,张志文.MyBatis在《Web中间件技术》课程中的应用[J].教育教学论坛. 2019,(38):204-205.
  12. Győrödi Cornelia A.; DumşeBurescu Diana V.; Győrödi Robert Ş.; Zmaranda Doina R.; Bandici Livia; Popescu Daniela E.Performance Impact of Optimization Methods on MySQL Document-Based and Relational Databases[J].Applied Sciences.2021,11(15):6794-6794.
  13. 杨泽平,梁伟,陈浩,韩志彦,秦鄂东.基于 SSM 的实验课程预约管理系统[J].物联网技术.2020,10(09):106-108.
  14. 罗谦.试谈Java语言的Mysql数据库连接实现与处理[J].民营科技.2014,(08):105.
  15. 欧阳桂秀.基于Java和MySQL的数据库管理系统的设计与实现[J].信息记录材料.2022,23(09):240-242.
  16. 张振超,吴杰,陈序蓬.浅谈Java中Mysql数据库的连接与操作[J].信息记录材料.2020,21(02):144-145.
  17. 陈淳鑫.MD5算法在B/S结构下口令验证中的应用[J].微型机与应用,2005,(2):7-9.

毕 业 设 计(论文) 开 题 报 告

2.本课题要研究或解决的问题和拟采用的研究手段(途径):

一、本课题研究目标

本系统为实验室线上预约管理系统,主要采用了SSM框架和前端JQuery及Bootstrap框架进行开发,主要使用的开发环境和开发技术有:IDEA开发环境,Tomcat服务器,Navicat数据库访问工具等。本系统使用Java语言完成信息收集,MySQL数据库用来接收用户输入的信息。通过使用MD5算法对用户的敏感数据进行加密,防止SQL注入,保证一定安全性。本系统的用户主要分为三种:管理员、教师、学生。其中,管理员能够管理用户和实验室信息,进行新增、修改和删除,可以发布重要通知。教师和学生登录成功后,可以在系统主界面查看其发布的所有公告,进行个人预约和课堂预约。

  • 关键技术和难点

(1)网站系统性能。由于本系统需要实时更新,数据量较大,会导致系统页面在加载和运行过程中出现加载缓慢的问题,会造成时间浪费的现象,可能达不到理想中的实验室预约管理系统所预期的效果。

(2)对不同用户需要分有不同的权限,需要对用户进行标识,登录系统后,根据不同的标识显示不同的页面内容,从而实现权限管理,同时需要设置MD5算法,防止登陆时SQL注入。

(3)编写算法时,设置返回32位加密字符,结果返回了31位字符。原因主要是因为转化字符时会忽略前导零。

三、现有的研究基础

1.大学期间学习了密码学,Java语言,数据库设计等相关课程,对于MD5算法原理与实现和MySQL数据库操作技术比较熟悉,能够熟练使用Java语言进行编程,建立完整的数据库。

2.选择课题时,结合当前我校的实际情况,考虑到了传统实验室预约模式和开放性实验室预约模式的现状,针对实验室受益面最大化问题,分析了主要需求导向,根据所学知识划分功能模块以及运行方式。

3.通过查阅资料以及相关网站,参考了相关文献,从功能模块实现、操作难度等多方面分析了此系统设计的可行性,对存在的问题有了一定了解。

四、实施方案

1.系统总体结构

通过对系统的需求分析,设计了三类用户:管理员、教师用户和学生用户,每类用户具有不同的功能和操作权限。

管理员用户具有系统最高权限,该类用户可以对用户信息进行管理,发布保修管理公告,管理实验室信息,查看实验室预约情况、查看排期表等。

教师用户是本系统的主要功能使用者,其可以通过本系统进行实验室的预约,查看预约信息和实验室排期表,进行高级搜索和课程管理。

学生用户利用本系统可以查看公告和个人信息,进行个人预约,查看实验室排期表,对预约信息进行管理等。

基于三类用户和系统的功能需求,本系统总体结构如图1所示。

图1 系统总体功能设计图

1.1 用户登录模块

用户登录后才能执行实验室预约的相关功能,用户登录时会对用户名、密码信息进行验证,验证成功后才能进入系统并使用系统提供的相应功能。用户登录的设计流程如图1.1所示。

图1.1 系统登陆功能设计流程图

1.2 管理员用户功能模块

(1)管理员登录:通过键入账号和密码进入系统管理员系统(使用MD5加密算法加密,防止SQL注入)。

(2)管理用户:管理员可以管理用户信息,查看、删除用户。

(3)发布公告:管理员能够发布重要通知,用户登陆系统后即可看到公告列表。

图1.2 管理员发布公告流程图

(4)管理实验室:管理员可以管理实验室信息。新增、修改、删除(包括名称、地点、设置台数等)。

(5)查看实验室预约情况:管理员可以查看所有预约信息,如实验室是否被预约、被谁预约、预约时间、预约人数等。

(6)高级搜索:管理员输入搜索关键字(如实验室地点、预约区间、预约用户),即可查看详细的预约情况。

(7)查看排期表:选择某个实验室,可以查看其未来15天每天仍可被预约的人数。

1.3 教师用户功能模块

(1)查看公告:登陆成功后在系统主界面可以查看管理员发布的所有的公告(公告列按照创建时间倒序排列)。

(2)预约:分为个人预约和课堂预约。进行实验室预约的设计流程图如图1.2所示。

①个人预约:教师选择实验室,选择日期及时间区间,确认预约人数。最大可预约10个位置,且剩余位置仍可被其余学生预约,但是不能被课堂预约。

②课堂预约:教师选择预约日期段,选择每周上课时间段、课堂,并输入相应的描述信息即可完成预约。此时无论实验室是否被预约满,该时间段都不能被预约。

图1.3 实验室预约流程

(3)管理预约信息:教师可以查看自己预约的信息、可取消预约(已经超出预约时间的预约信息不能删除)。

(4)管理课堂信息:教师可以新增、修改、删除课堂信息(该课堂若已经存在,不可再次添加)。

(5)导入导出学生名册:教师可以针对某一课堂导入导出学生名册(但是要按照固定的excel模板)。

(6)发布课堂任务:教师可以针对某一课堂发布任务,该课堂的学生可以看到该课堂作业通知信息。

(7)上传文件:教师可以上传实验相关的资料、作业文件等。

(8)查看学生作业:教师可以下载或者在线预览学生实验报告,并进行评分和评价。

1.4 学生功能模块:

(1)查看公告:登陆成功后在系统主界面可以查看管理员发布的所有的公告(公告列按照创建时间倒序排列)。

(2)查看实验室列表:学生可以查看实验室的详细信息。

(3)个人预约:学生选择实验室,选择日期及时间区间,确认预约人数(默认是个人预约学生不能进行课堂预约)。

(4)查看排期表:选择某个实验室,可以查看其未来15天每天仍可被预约的人数。

(5)管理预约信息:学生可以查看自己预约的信息、可取消预约(已经超出预约时间的预约信息不能删除)。

学生还可以查看所在课堂的预约信息,只能看到课堂名称、预约日期、预约区间,此时不能取消预约,只能由该课堂的教师取消预约。

(6)查看课堂任务:学生可以查看所预约的实验室教师所布置的课堂任务,若没有预约则看不到公告。

(7)上传实验报告:可以上传所预约实验室文件并且可以写说明。

(8)下载实验报告:可以下载以及上传教师所布置的实验报告。

(9)查看分数:上传作业之后,可以看到教师的评语和分数及期末总的实验分数。

2 数据库设计

数据库设计是本系统的重要部分。基于系统的各种需求,数据库设计首先要进行概念模块设计,然后进行逻辑结构设计,即基于设计的概念模型将其转变为DBMS所支持的数据模型。

2.1 概念模型设计

本系统的核心功能是实验室预约,执行预约功能的用户主要是教师。因此,从教师的角度出发,教师可以预约实验室、维护个人信息、管理课堂信息、管理学生、上传实验任务、查看学生完成情况。根据以上分析,绘制出教师功能模块的E-R模型,如图2.1所示。

图2.1 教师功能E-R图

考虑到系统访问人员类型不同,需要进行角色、权限管理,以保证系统的安全性。

教师预约实验室时,会涉及实验室,以及教师的授课关系,产生预约信息。而教师的授课关系会涉及到课程。教师要预约实验室,系统需要维护实验室、课程、教师、预约内容等内容。图2.2所示的是管理员对系统数据进行管理的E-R图。

图2.2 管理员功能E-R图

3.表结构设计

本系统设计的表数据主要有10个,分别是用户表、学生表、学年表、课程预约信息表、个人预约表信息、实验室信息表、课程表、授课信息表、班级表、信息公告表。各个数据表的表结构设计分别如下所示。

(1)用户表

用户表内容对应用户实体,用户表结构如表3.1所示。表3.1中,用户编号为主键,登录名称和登陆密码则主要用于用户登录。

表3.1 用户表

字段名

数据类型

是否空

字段名称

用户编号

Varchar(32)

User_id

用户类型

Varchar(20)

User_type

登录名称

Varchar(20)

Login_name

登录密码

Varchar(32)

Password

使用者姓名

Varchar(32)

User_name

性别

Int

Sex

年龄

Int

Age

学院

Varchar(50)

Insititute

专业

Varchar(50)

Major

是否初次登录

Int

Is_firstlogin

(2)学生表

学生表对应学生实体,表结构如表3.2所示。其中,是否初次登陆用于判断该用户是否为第一次使用本系统。

表3.2 学生表

字段名

数据类型

是否空

字段名称

用户类型

Varchar(20)

User_type

登录名称

Varchar(20)

Login_name

登录密码

Varchar(32)

Password

使用者姓名

Varchar(32)

User_name

性别

Int

Sex

年龄

Int

Age

学院

Varchar(50)

Insititute

专业

Varchar(50)

Major

是否初次登录

Int

Is_firstlogin

(3)学年表

学年表对应学年实体,表结构如表3.3所示。其中,学年编号为主键,而描述主要用于描述具体学年。

表3.3 学年表

字段名

数据类型

是否空

字段名称

学年编号

Varchar(32)

Term_id

学年名称

Varchar(32)

Term_name

开始日期

Date

From_date

结束日期

Date

End_date

描述

Longtext

Description

(4)课程预约表

课程预约表对应课程预约信息实体,表结构如表3.4所示。实验室编号用于向用户展示该课程使用的实验室编号;工作计划时间用于向用户展示课程所预约的时间;每天上课人数用于展示课程一周每天上实验课的人数。其中,实验室编号为外键。

表3.4 课程预约表

字段名

数据类型

是否空

字段名称

工作计划编号

Varchar(32)

Schedule_id

实验室编号

Varchar(32)

Lab_id

工作计划时间

Date

Schedule_date

每天上课人数

Int

T1-T5

(5)个人预约表

个人预约表对应个人预约信息实体,表结构如表3.5所示。其中,实验室编号、用户编号、课程编号为外键。操作时间为系统自动生成。

表3.5 个人预约表

字段名

数据类型

是否空

字段名称

预约编号

Varchar(32)

Reserve_id

实验室编号

Varchar(32)

Lab_id

用户编号

Varchar(32)

User_id

预约类型

Varchar(20)

Reserve_type

课程编号

Varchar(32)

Course_id

课程名称

Varchar(50)

CourseName

预约时间

Date

Reserve_date

预约间隔

Int

Time_Interval

工作日

Int

Weekday

人数

Int

Person_number

描述

Longtext

Description

操作时间

Datetime

Create_time

调整时间

Date

Modify_time

(6)实验室信息表

实验室信息表对应实验室信息实体,表结构如表3.6所示。其中人数用于向用户展示实验室可容纳人数;是否为空用于向用户展示该实验室是否为空闲状态;描述用于详细介绍实验室。

表3.6 实验室信息表

字段名

数据类型

是否空

字段名称

实验室编号

Varchar(32)

Lab_id

建筑名称

Varchar(20)

Building_name

房间号

Varchar(32)

Room_number

人数

Int

Person_number

是否为空

Int

Is_free

描述

Longtext

Description

(7)课程表

课程表对应课程实体,表结构如表3.7所示。其中,编号为主键,课程编号和用户编号为外键。

表3.7 课程表

字段名

数据类型

是否空

字段名称

编号

Varchar(32)

Id

课程编号

Varchar(32)

Course_id

用户编号

Varchar(32)

User_id

用户名称

Varchar(20)

User_name

总成绩

Int

Sumscore

(8)授课信息表

授课信息表对应授课信息实体,表结构如表3.8所示。其中,课程编号为外键,授课编号为主键。人数用于展示参与该课程的学生人数。

表3.8 授课信息表

字段名

数据类型

是否空

字段名称

课程编号

Varchar(32)

Course_id

课程序号

Varchar(32)

CourseNumber

课程名称

Varchar(50)

CourseName

课程描述

Longtext

CourseDescription

授课编号

Varchar(20)

Js_id

人数

Int

Person_number

(9)班级表

班级表对应班级实体,表结构如表3.9所示。

表3.9 班级表

字段名

数据类型

是否空

字段名称

班级编号

Varchar(32)

Class_id

班级名称

Varchar(59)

Class_Name

班级描述

Longtext

Class_Description

(10)公告信息表

公告信息表对应公告信息实体,表结构如表3.10所示。公告编号为主键,而表中的操作时间由系统自动生成。

表3.10 公告信息表

字段名

数据类型

是否空

字段名称

公告编号

Varchar(32)

Publish_id

标题

Varchar(50)

Title

公告内容

Longtext

Content

操作时间

Datetime

Create_time

  • 可行性分析

1.技术可行性

目前基于Web模式开发的软件管理系统一般情况下都是选用B/S模式,其原因主要是管理便捷,相关应用程序、数据库以及相关的系统组件都集中在服务器。一方面,客户端只需要浏览器和相关操作系统支持,并不需要安装其他的软件对其进行支持使用,存储在客户端的内容较少,有益于进行推广使用。另一方面,系统的延展性好,系统的更新、维护以及对相关数据进行修改都在服务器中进行操作,不会影响原系统。本实验室预约管理系统是基于Web模式建立起来的,因此在技术上是可行的。

2.操作可行性

该系统基于Web模式进行开发设计,使用者不需要思考服务器及数据库的相关处理过程,仅需要依照操作说明在客户端上进行相关操作即可完成所需工作。整个操作系统都是采用在浏览器上进行操作运行,操作便捷,即使出现操作错误,也不会对服务端的数据产生影响,所以安全可靠。系统的相关操作也都是结合实际需求,考虑到实验室预约功能的相关需要,并不复杂。因此,开发此实验预约管理系统是可行的。

3.经济可行性

此实验室预约管理系统一旦投入到实际的管理工作中,将会起到巨大效益,提高学校实验室的使用率,减轻教学实验室的压力,合理有效分配利用教学资源,进一步促进学生动手实践能力的提升,提高IT应用型人才的培养质量,从而强化学生综合素质。因此,学校在这方面投入也是情理之中,在经济上来讲,该系统是可以进行开发的。

毕 业 设 计(论文) 开 题 报 告

指导教师意见:

1.对“文献综述”的评语:

2.对本课题的深度、广度及工作量的意见和对设计(论文)结果的预测:

3.是否同意开题:□同意  □不同意

                指导教师:              

202  年  月  日

所在专业审查意见:

                负责人:              

202  年  月  日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值