实验室开放预约系统的设计与实现_第1页
实验室开放预约系统的设计与实现_第2页
实验室开放预约系统的设计与实现_第3页
实验室开放预约系统的设计与实现_第4页
实验室开放预约系统的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 设 计(论文)题 目:实验室开放预约系统的设计与实现学生姓名:黄 超学 号:1407010407专业班级:计算机科学与技术14-4班指导教师:曹绍华2018年 6月14日中国石油大学(华东)本科毕业设计(论文)实验室开放预约系统的设计与实现摘 要实验室开放预约系统旨在通过开放式的预约,使学生、老师对实验的积极性有所提高,可以自主的进行实验,同时使闲置的实验室资源也得到了利用。系统的开发是通过MyEclipse工作平台,借助于小型简便的Tomcat服务器和MySQL数据库,采用SSH框架实现的JAVAWEB工程。系统采用的结构为B/S结构,通过浏览器便可访问,系统设计的轻巧灵便实用。系统开发的目的是打破原有的管理方式,将实验室的管理从线下转到线上来,使教学双方可以更加自主利用实验室资源,减少预约过程中的不必要流程,使预约不再有时间和空间上的局限。关键词:实验室开放预约系统;SSH框架;JAVAWEBThe design and implementation Laboratory Open Reservation SystemAbstractThe Laboratory Open Reservation System aims to improve the motivation of the teachers and the students to do experiments by using the open reservation,so that they can do experiments on their own.At the same time,it can help the idle laboratory to be made full use of.The exploitation of the system uses the working platform MyEclipse and the small simple server Tomcat as well as MySQL database.It also uses the program JAVAWEB which is realized by the SSH framework. The system uses the B/S structure .And the design of the system is flexible and practical ,for you can visit it easily only by using the browsers. The purpose of exploiting the system is to break the original management, and change the management of the laboratory from offline to online, making it easier for the teachers and students to use the laboratory and reducing the unnecessary process of reservation. Therefore, there is not time and space limit to reservation any longer.Keywords:The Laboratory Open Reservation System; SSH framework; JAVAWEB目 录第1章 引言1第2章 系统概述22.1 开发系统背景22.2 系统目标22.3 开发系统的流程3第3章 系统分析43.1 需求分析43.2 可行性分析43.2.1 技术可行性43.2.2 经济可行性43.2.3 开发环境的可行性43.3 业务流程描述53.4 功能分析6第4章 系统设计84.1 总体架构设计84.1.1 SSH框架84.1.2 系统分层94.2 逻辑结构设计104.2.1 数据流图104.2.2 数据字典114.2.3 处理过程124.3 数据库设计164.3.1 关系模式164.3.2 E-R图164.3.3 表结构17第5章 系统实现与测试205.1 登录与注册模块205.2 管理员操作模块215.3 教师操作模块245.4 学生操作模块26第6章 总结28致 谢29参考文献30第1章 引言第1章 引言随着时代的发展,各高校也在进行全方面的改革创新,教学资源的管理是整个改革进程中的一大难题。大部分高校都会存在部分实验室闲置的问题,甚至实验室仪器设备因长期无人使用而报废,这必然造成大量的教学资源浪费1。在高校进行信息化改革的背景下,传统通过后勤管理员人力进行的实验室管理方式显得既费时又费力,而且效率低下2。这样的方式,只有后勤的管理人员才会知道各实验室的空闲状态,而教师和学生不了解,但需要进行实验的是教师和学生,所以要进行实验必须通过管理员,这便使预约步骤变得冗杂,同时,管理员只是按教学计划安排实验,这样实验安排的也不够合理,学校资源闲置。基于这种现状,学校急需引入全新的实验室开放预约系统,该系统的价值在于,可以帮助学校管理实验室资源,使其可以得到更合理,更规范的管理,防止学校资源闲置浪费。基于这个现状,本系统的开发便有了重要意义,系统将根据学校现状进行开发,合理分析目前的需求。最终实现的系统将具备完整的功能,而且操作简单,在较短时间内便可完成预约,去除了预约过程中不必要的流程。31第2章 系统概述第2章 系统概述2.1 开发系统背景教学资源的管理系统是高校整个信息系统的一个重要组成部分,其中,实验室作为高校的重要教学资源,也应当得到规范的管理。随着高校的信息改革脚步的前行,多元化的教育越来越复杂,如何管理好各实验室的教学资源成为学校管理的一大难题。基于这种现状,高校有必要开发或引入一个管理系统。这个系统可以帮助学校实现对实验室教学资源的管理,可以有效的降低教学资源的闲置率。实验室管理的传统模式是依靠后勤管理员以人力查询的方式来完成实验室的分配。但随着信息时代的来临,高校实验室的信息量飞速增长,如果依旧维持这个模式,必然会错误频繁发生,而且效率低下。实验室开放预约系统不同于传统意义上的管理,它是一个线上的系统,可以实现实验信息的共享,由于是线上系统,客户端只需要浏览器便可访问,使得教学双方可以不受时间和空间的限制,只要系统的服务器仍在运行,并且用户端的计算机可以联网,那么用户便可访问到本系统。2.2 系统目标 本系统的开发将采用B/S的模式,将实验室的信息存在服务器,通过线上页面访问的方式实现信息的管理,这样的管理方式使得信息保存更简便安全,也减少的人力资源的投入。本系统将采用登录认证的方式对用户进行检测,用户需通过账号和密码的认证才能进行操作。通过认证之后,系统会查询到其用户的角色(学生,教师或管理员),然后根据角色相应的权限,跳转到相应界面,界面中显示用户可以进行的操作。(1)学生的功能可分为基础功能(个人信息查看和修改)、预约功能(个人实验预约信息查询和修改)、查看功能(实验室须知的查看以及实验室信息的查看)。(2)教师的功能可分为基础功能(同学生)、实验预约功能(预约实验室进行实验)、预约管理功能(对学生预约的审核)、查看功能(实验室须知的查看、实验室信息的查看、实验预约信息的查看)。(3)管理员的功能可分为为基础功能(同学生)、用户管理功能(对用户的个人信息进行一系列操作)、实验室须知管理(对实验室须知信息进行维护)、实验室信息管理(对实验室的信息进行维护和添加),查看功能(查看用户,查看实验室预约状态等)。 2.3 开发系统的流程系统的开发流程主要分为3个阶段:系统分析阶段、系统设计阶段以及系统实施阶段3。(1)系统分析阶段:进行需求分析,可行性分析,业务流程描述,系统建模,功能分析(2)系统设计阶段:设计数据库结构,系统的整个流程结构,设计系统前端显示界面。(3)系统实施阶段:编码实现各模块功能,系统的测试与维护。整体的开发框架如图2-1所示。系统分析阶段系统设计阶段系统实现阶段需求分析功能分析系统的测试与维护UI界面设计系统流程设计代码实现数据库设计系统建模业务流程描述可行性分析图2-1 系统开发框架第3章 系统分析第3章 系统分析3.1 需求分析系统共分学生、教师和管理员3种角色,管理员的主要功能是维护用户信息(可以对用户的个人信息进行一系列操作)、对实验室须知信息进行维护、对实验室的信息进行维护和添加、查看功能(查看用户,查看实验室预约状态等)。教师的主要功能实验预约功能(预约实验室进行实验)、预约管理功能(对学生预约的审核)、查看功能(实验室须知的查看、实验室信息的查看、查看实验预约信息)。学生的主要功能是基础功能(个人信息查看和修改)、预约功能(个人实验预约信息查询和修改)、查看功能(实验室须知的查看以及实验室信息的查看)。3.2 可行性分析3.2.1 技术可行性基于WEB开发的系统一般采用B/S结构(Browser/Server,浏览器/服务器模式),这是一种WEB兴起后的网络结构模式4。此结构的优点最大优点就是只需要通过浏览器便可进行访问,而且系统的功能是服务器端实现的,未来系统的更新,维护以及数据的管理只需要在服务器端进行操作便可,极大简化了工作量。而且如果有新的功能更新,只需要编写相应的动态网页,对原来的系统不会有太大的影响,因此,扩展性良好。综上所述,从技术上实现本系统是可行的。3.2.2 经济可行性系统的总体设计,逻辑清晰明了,开发周期较短,开发投入极低。而且系统操作界面设计的比较人性化,操作简单。综上所述,本系统可以作为学校对实验室的管理系统,而且从经济方面分析,本系统的开发是可行的。3.2.3 开发环境的可行性(1)前端界面:采用JSP进行编写的,JSP是一种通过在传统静态网页HTML文件中插入代码段实现的动态网页技术5,而且JSP网页是在服务器端执行,对客户端几乎没有要求限制,执行的结果通过浏览器页面反馈给客户端,所以用户只要通过浏览器便可访问系统。(2)后端服务器:选用MyEclipse作为项目的开发平台,它功能十分强大,可以完整的支持众多框架。MyEclipse下载下来以后,配完系统环境之后,便可通过工作平台(MyEclipse Enterprise Workbench)进行JavaWeb项目的开发了。工作平台包含了完整的JavaWeb开发流程,可以进行代码的编写,调试,项目的发布等。只要将本地的服务器在工作平台中配置一下,便可通过工作平台将服务器启动,并将JavaWeb项目发布到服务器,这样便可通过浏览器访问项目了。服务器方面选择了Tomcat服务器,Tomcat是一个免费的小型服务器,是目前开发JavaWeb小型项目常用的服务器6。而且Tomcat服务器下载也十分简便,与本系统的开发完美契合。数据库方面选择了MySQL数据库。MySQL是一种免费的数据库,它拥有众多特点,最主要的特点是体积小、速度快,下载方便,而且拥有众多可以图形化界面显示数据库的工具,如navicat,SQLyog等。这给开发提供了便利。综上所述,从开发环境的角度分析,本系统的开发也是可行的。3.3 业务流程描述本次开发的实验室开放预约系统从根本上来说是一个信息管理系统。系统中的所有信息都存储在系统所在服务器中,由服务器进行统一管理。系统工作时,采用登录认证的方式对用户进行检测,用户需通过账号和密码的认证才能进行操作。通过认证之后,系统会查询到其用户的角色(学生,教师或管理员),然后根据角色相应的权限,显示用户可以进行的操作界面。管理员的主要功能是对实验室信息进行维护,维护用户信息,维护添加实验须知等。教师的主要功能是查看实验室的信息,然后根据自己的时间和实验室已预约的情况,自主预约实验室进行实验,预约之后,学生便可对实验进行预约,学生的预约之后,教师需对其预约信息进行审核,审核通过之后方可进行实验。学生的主要功能是根据实验的信息,对教师的实验进行预约等。业务流程图如图3-1所示。登 录管 理 员个人信息管理用户信息管理实验室信息管理查看实验室预约情况查看实验信息预约实验查看预约查看实验室信息添加实验查看实验预约退出系统个人信息管理教 师学 生审核图3-1 业务流程图3.4 功能分析系统的开发的意义在于帮助学校的教学部门对实验室资源进行合理的管理,提高实验室的利用率。本系统可分为5个模块:登录与注册模块,学生操作模块,教师操作模块,管理员操作模块,系统管理模块。(1)登陆与注册模块用户通过用户名与密码认证的方式进入系统,以用户名为关键词查询数据库中的信息,若密码与数据库中的不匹配,则登录失败,重新登录。注册默认用户角色为学生,需要填写用户名密码等必填项,同时检查用户名是否重复。若无其他错误,则注册完成,之后便可通过用户名与密码认证进入系统。(2)学生操作模块学生角色登入系统后,可以进行查看消息通知,实验室须知,各实验室的详细介绍,以及目前已有的实验信息,可以根据个人的喜好,选择实验进行预约,预约之后,只要预约状态未发生变化,便可取消预约。实验结束后,学生可以通过系统查看自己的实验成绩。(3)教师操作模块教师角色登入到系统,与学生模块相似,同样可以查看实验室须知,各实验室的详细介绍,而且根据自己的时间和所需实验室信息进行实验室的预约,如果时间不冲突的话,便可成功预约,同时学生可以查看该实验的信息。如果有学生预约该实验,教师可以对学生进行审核,当审核人数满后,便将剩余预约该实验的学生请求改为拒绝。同时,教师可以对学生的预约进行删除操作,删除后,学生端有提示。实验之后,可以根据学生的表现对其进行打分。(4)管理员操作模块管理员登入到系统,可以对实验室须知进行维护处理,对各实验室的信息进行维护,管理实验室信息,查看用户的个人信息,对用户的个人信息进行管理,查看教师预约实验室的情况。(5)系统管理模块系统管理模块主要是个人信息的查看与更新,更改密码,退出系统。第4章 系统设计第4章 系统设计4.1 总体架构设计系统总体架构符合MVC的设计模式,遵循“高内聚低耦合”的思想。系统的开发采用了SSH框架,通过分析,本系统可以分为视图层、业务逻辑层、持久层和数据库层。系统的总体架构如图4-1所示。视图层业务逻辑层持久层数据库层V视图层JSP页面、HTML页面JSTL标签、Struts标签用户请求响应过滤器Struts-config.xml(配置文件)同步请求同步响应M业务层各Action类DAO数据访问层DAO接口DAO接口的实现类ORMHibernate中间件Hibernate.cfg.xml(配置文件)ORM映射文件,如User.hbm.xml实体类,如User.javaDB SQL数据库各数据库表图4-1 业务流程图4.1.1 SSH框架SSH(Struts+Spring+Hibernate)是一个集成框架,是目前较流行的一种开发JavaWeb的框架7。Struts是一种MVC设计模式的应用框架8,在SSH框架中作为系统整体的基础架构责视图层,通过与网页中命名相同的方式接收网页中表单数据,并根据Struts.xml配置文件,将数据传递到表单指定的Action中,由相应的Action进行处理之后,将处理之后的数据反馈到网页中,由网页进行数据的展示。Spring9是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架10,而且Spring提供了对Struts和Hibernate框架的支持。在SSH框架中,Spring的作用是业务层中业务逻辑的整合,即对Service的管理。通过applicationContext.xml配置文件实现注入和业务的管理。 Hibernate11是一个关系映射框架12,在SSH框架中,Hibernate是用来持久化数据的,通过XML文件,实现了程序中实体类与数据库中表的一一对应。通过Hibernat框架使数据库的访问变得十分简便,便于系统的实现。总的来说,在SSH框架中,Struts和Hibernate都各司其职,并将其产生的事务都交予Spring进行管理。4.1.2 系统分层(1)视图层。视图层是用户接口部分,负责与用户的交互工作。系统通过浏览器接收用户提交的表单,并根据Struts.xml配置文件,找到表单指定的Action,将数据传给相应的Action进行数据处理;进行完业务处理之后,将处理后的数据反馈到浏览器,浏览器根据JSP中的布局将数据进行展示。(2)业务逻辑层。业务逻辑层是系统中最重要的一层,主要负责对用户数据进行处理,业务逻辑层的功能是对视图层传来的数据进行业务逻辑处理,如果需要其他信息,则通过持久层获取数据。通过处理之后,将处理的结果反馈给Struts.xml配置文件,根据结果,找到Struts.xml配置文件中的指定页面,将处理后的数据反馈给指定页面,于此同时,将变化的数据交予持久层,进行持久化处理。(3)持久层。持久层负责将数据进行持久化处理,即将更改的数据存到数据库中,持久层作为单独的一层,可以不用知道底层是如何实现数据持久化的具体工作,当需要数据库中的信息时,只需要调用持久层对外的接口,便可获取到所需的数据库信息。这便消除了业务与数据之间的耦合。(4)数据库层。数据库层主要就是数据库的操作,通过Hibernate框架,将HQL语句转换为数据库识别的SQL语句,从而完成对数据库中数据的操作。4.2 逻辑结构设计4.2.1 数据流图数据流图(Data Flow Diagram)13从整体的层面,通过图形化的方式将系统的流程展现出来。(1)顶层的数据流图顶层数据流图如图4-2所示:登录新用户密码、权限用户身份验证注册用户清单新用户注册图4-2 顶层数据流图(2)管理员数据流图管理员数据流图如图4-3所示:实验室清单管理员身份验证修改个人信息用户清单用户管理主界面实验室须知管理实验室须知用户清单实验室管理登录验证成功用户管理须知管理实验室管理个人信息图4-3 管理员数据流图(3)教师数据流图教师数据流图如图4-4所示:预约清单教师身份验证修改个人信息用户清单实验管理主界面实验室须知实验清单审核登录验证成功预约实验室查看审核实验预约个人信息实验室清单图4-4 教师数据流图(4)学生数据流图学生数据流图如图4-5所示:实验清单学生身份验证修改个人信息用户清单预约实验主界面实验室须知预约清单登录验证成功预约实验查看个人信息实验室清单查看图4-5 学生数据流图4.2.2 数据字典(1)Uers(用户)名称:用户的基本信息定义:基本信息=用户ID+用户名+密码+姓名+出生日期+性别+联系方式+QQ+Email+籍贯+专业+用户类别(2)Type(实验室)名称:实验室的基本信息定义:实验室信息=实验室ID+名称+建立时间+位置+实验室类型+容纳人数+备注(3)Room(实验)名称:老师预约实验的基本信息定义:实验信息=实验ID+名称+实验室ID+预约时间(天)+开始的时间(节)+结束的时间(节)+限制人数+已预约人数+限制专业+预约人ID+备注 (4)RoomApply(预约)名称:学生预约的基本信息定义:学生预约信息=实验ID+预约时间+预约编号+得分+预约状态+教师ID+座位号+预约人ID+备注(5)Message(实验室须知)名称:实验室须知信息定义:实验室须知=名称+创建时间+信息(6)News(消息通知)名称:消息通知信息定义:消息通知=用户ID+名称+时间+消息(7)College(学院)名称:学校中的学院信息定义:学院信息=学院ID+名称(8)Subject(专业)名称:学院中的各专业信息定义:专业信息=专业ID+学院ID+名称(9)Operation(操作)名称:操作记录定义:操作记录=用户ID+数据表+操作名称+时间4.2.3 处理过程(1)处理过程“登录”描述如下处理过程:登录说明:登录进入系统输入:用户名与密码输出:跳转到loading界面,并根据用户的角色显示相应的角色界面处理:在界面中获取用户输入的用户名与密码,先以用户名为关键字查找数据库的用户信息表,如果未找到,则登录失败。如可以找到信息,则对比数据库中密码是否一致,一致则登录成功,跳转到相应界面,否则,显示错误信息,登录失败。(2)处理过程“注册”描述如下处理过程:注册说明:用户的注册输入:用户名,密码等必填项输出:注册成功,显示登录界面处理:在界面中获取用户输入的数据,首先进行用户名查重操作,以用户名为关键字查找数据库的用户信息表,若可以找到,注册失败,提示该用户名已占用,否则,注册成功,将用户数据插入到User表中,跳转至登录界面。(3)处理过程“修改个人信息及密码”描述如下处理过程:修改个人信息及密码说明:修改个人信息及密码输入:个人信息输出:成功或失败页面处理:在界面中获取用户输入的数据,当更新个人信息时,特别是专业时,有限制条件,当该用户存在预约成功的实验时,则专业无法进行更改,如果不存在预约成功的实验时,但存在未审核的实验预约时,则将相应的预约删除,专业更改成功。修改密码时要求输入旧密码,新密码和重复密码,首先有页面进行判断输入是否为空,不为空,将数据传至服务器进行业务处理,若旧密码与数据库中不一致或新密码与重复密码不一致时,修改密码失败,否则,修改成功,跳转相应界面。(4)处理过程“用户管理”描述如下处理过程:用户管理说明:管理员进行的用户添加,删除,更改,查看输入:无或用户信息输出:用户列表处理:管理员可以进行用户管理的操作,主要是用户的添加,删除,查看以及个人信息更改。用户添加:首先根据输入的用户名查找数据库中的用户信息表,如果可以找到,则添加失败,否则将信息插入到用户信息表中。用户个人信息修改:管理员可以更改用户的一些个人信息(除去用户名,密码)。用户删除:选中某个或某些用户,将其用户信息删除,其将无法再通过原有的用户名与密码登入到系统,必须重新注册才能登入。用户信息查看:管理员点击用户管理,则将所有的用户信息以列表的方式显示出来,通过选择某个用户的方式,查看其具体信息。(5)处理过程“实验室管理”描述如下处理过程:实验室管理说明:管理员进行的实验室的管理输入:无或实验室信息输出:实验室信息列表处理:管理员对实验室信息的管理,主要是实验室的增添,删除,信息的维护,信息的查看。实验室添加:根据输入的信息查找数据库中的信息,如果实验室存在,或实验室位置重复,则添加失败,显示错误信息。实验室信息维护:管理员可以更改实验室信息,如位置、容纳人数等,但如果位置重复,则更改失败。删除:选中某个或某些实验室,将其信息删除,通过级联删除的方式,将预约的实验删除。查看:管理员点击实验室管理,则将所有的实验室以列表形式显示出来,也可通过选中查看某实验室的具体信息。(6)处理过程“实验室须知”描述如下处理过程:实验室须知说明:管理员进行的实验室须知管理输入:须知信息输出:须知信息列表处理:管理员可以进行添加实验室须知的操作,通过输入的信息对比数据库,若存在,则添加失败,显示错误信息。添加完成后,教师与学生都可以查看其具体信息。(7)处理过程“实验室预约”描述如下处理过程:实验室预约说明:教师进行的实验室的预约输入:预约信息输出:预约列表处理:教师可以通过实验的信息来进行预约实验室,但在预约之前要求先完善个人信息,填写所在专业。个人信息完善之后便可进行预约,预约时间有个重复问题,不单是日期,还有上课节数,上课节数有个重叠的问题,重叠则预约失败,同时,预约的时间段内,需要判断教师是否在此时间段已有实验,如有,则预约失败。预约同时可以设置限制专业,只有设定的专业的学生才能进行预约。(8)处理过程“实验预约”描述如下处理过程:实验预约说明:学生进行的实验的预约输入:预约信息输出:预约列表处理:学生可以根据教师预约实验室的信息以及个人专业爱好自主选择实验,但同样,在选择实验之前,要完善个人信息,填写所在专业,个人信息完善之后便可选择实验,学生可以选择与自己专业相关的实验,如果专业与实验的限制专业不符,则预约失败。如果实验预约人数已满,则该实验无法再被学生选择,学生预约时不再显示给学生。学生无法对同一实验进行重复预约,而且学生无法预约时间段重叠的实验,即预约时判断现有实验是否有时间上的重叠。在实验状态未发生更改时(即预约状态为未审核),学生可以删除预约,实验状态一旦发生更改,则无法删除。(9)处理过程“实验审核”描述如下处理过程:实验审核说明:教师对学生进行的实验预约进行审核输入:预约信息输出:预约列表处理:教师可以查看选择自己实验的学生预约信息,可以审核学生的预约信息,审核状态分为:未审核、审核通过、拒绝以及审核通过,但未上机,只有审核通过之后,实验的预约人数加一,当预约人数等于设定人数之后,将剩余选择该实验的学生审核状态改为拒绝,再次审核时,则审核失败。审核通过,学生方能进行实验,在实验之后教师可以进行打分。审核通过,但未上机状态则自动将得分设为0分。如果审核状态从审核通过改为未审核和拒绝时,要同时更改预约人数,预约人数减一,则预约人数少于设定人数,学生角色可以查询到该,并能继续预约该实验。4.3 数据库设计数据库作为整个系统的信息存储基地,里面存放着系统所需的所有数据,因此,数据库有着很重要的地位。同时,系统能良好的运行,对于各数据表的设计也提出了要求,这便要求各数据表设计要合理,在合理的前提下要尽量简单明了。4.3.1 关系模式在本系统中,数据库中共涉及9张表,但其中4张是系统的主要内容,分别是用户表,实验室表,实验表以及预约表,其相应的关系模式如下所示:(1)用户基本信息(用户ID,用户名,密码,姓名,出生日期,性别,联系方式,QQ,Email,籍贯,专业,用户类别)(2)实验室(实验室ID,名称,建立时间,位置,实验室类型,容纳人数,备注)(3)实验(实验ID,名称,实验室ID,预约时间(天),开始的时间(节),结束的时间(节),限制人数,已预约人数,限制专业,预约人ID,备注)(4)预约(实验ID,预约时间,预约编号,得分,预约状态,教师ID,座位号,预约人ID,备注)4.3.2 E-R图本系统采用的MySQL是关系数据库,各表之间或多或少的存在着相互关联,其中实验信息表与预约信息表是本系统中的主表。系统中的业务流程较多,涉及的实体也多,故在此只列举出本系统主要功能实体的E-R图。如图4-6所示。教师用户信息进 行用户ID专业实验信息实验人数实验IDNM实验时间实验室信息容纳人数位置实验ID限制专业预 约NM学生用户信息用户ID专业个人信息个人信息预 约NM图4-6 实验室系统E-R图4.3.3 表结构系统包含用户信息表,实验室信息表,实验信息表,学生预约表,实验室须知表,信息通知表,学院信息表,专业信息表,操作记录表。其中用户信息表,实验室信息表,实验信息表以及学生预约表为系统的主要内容,在此,便只列举这4表的表结构设计。表4-1,4-2,4-3以及4-4便是其对应的表结构信息。表4-1 用户信息表属性名存储代码类型备注完整性约束自增IDIDInt自增ID主键用户名UsernameVarchar用户登录名Not Null密码PasswordVarchar用户密码Not Null姓名NameVarchar姓名Not Null出生年月BirthdayDate出生年月性别SexVarchar性别IN(男,女)联系方式PhoneVarchar联系方式续表4-1属性名存储代码类型备注完整性约束EmailEmailVarcharEmailQQQQVarcharQQ号籍贯JgVarchar籍贯类别TypeVarchar用户类别IN(student,admin,teacher)专业SidInt所属专业外键,专业表(ID)表4-2 实验室信息表属性名存储代码类型备注完整性约束自增IDIDInt自增ID主键实验室名称NameVarchar实验室名称Not Null添加时间TimeDate添加时间Not Null类型TypeVarchar实验室类型IN(新型,综合)位置LocationVarchar实验室位置Not Null容纳人数NumInt最大人数Not Null备注InfoVarchar实验室介绍Not Null表4-3 实验信息表属性名存储代码类型备注完整性约束自增IDIDInt自增ID主键实验名称NameVarchar实验名称Not Null预约实验室TypeInt实验室ID外键,实验室信息表(ID)预约人T_idInt教师的ID外键,用户信息表(ID)预约时间TimeDate预约时间Not Null开始BeginInt开始的节数Not Null结束EndInt结束的节数Not Null续表4-3属性名存储代码类型备注完整性约束实验人数CountInt最大人数Not Null预约人数CntInt预约的人数专业SIDInt限制专业外键,专业表(ID)备注InfoVarchar实验介绍Not Null表4-4 学生预约表属性名存储代码类型备注完整性约束自增IDIDInt自增ID主键实验RoomInt实验ID外键,实验信息表(ID)预约人UserInt学生ID外键,用户信息表(ID)编号NumVarchar预约编号Not Null预约时间TimeDate预约时间Not Null预约状态StatusVarchar预约状态IN(未审核,审核通过,拒绝,预约成功,未上机)得分GradeInt实验得分教师T_idInt实验教师外键,用户信息表(ID)座位号LidInt座位号第5章 系统实现与测试第5章 系统实现与测试5.1 登录与注册模块该模块是系统的登陆界面,用户须通过密码认证的方式才能进入实验室开放预约系统。为了对用户的访问进行权限管理,在用户信息表中添加角色信息,登录时查询角色信息,便可对角色进行相应的权限控制。如图5-1和图5-2所示。图5-1 系统登录界面图5-2 系统注册界面5.2 管理员操作模块通过用户名与密码的认证,获取角色信息,若其角色为管理员(admin),则可进行操作。图5-3为管理员登入系统之后的主界面。通过页面左侧的导航栏,可以看出管理员主要进行的操作为用户管理,实验室须知管理,实验室管理以及实验信息的查询。对于每种的操作,服务器端都有相应的Action与之对应,每个Action之间相互独立,相互之间不会影响。图5-3 管理员主界面用户管理的操作如图5-4和图5-5所示,主要对用户信息表进行操作,同时保证其他表中的信息统一,如删除学生用户时,如果此用户存在预约成功的实验,删除之后则要将预约人数减一。图5-4 用户管理界面图5-5 新增用户界面实验室须知管理的操作如图5-6和图5-7所示,主要为添加须知,添加之后,学生与教师都可以进行查看。图5-6 实验室须知管理界面图5-7 新增实验室须知实验室管理的操作如图5-8和图5-9所示,对实验室的管理是管理员角色的主要功能,添加实验室时需要判断位置是否重复,修改和删除时要判断当前是否有预约的实验未完成,只有都完成才能进行修改和删除。图5-8 实验室管理界面图5-9 新增实验室查询实验室信息的操作如图5-10所示,管理员通过此操作了解实验室的预约情况以及教师实验的进行情况。图5-10 实验信息查询界面5.3 教师操作模块教师登入系统之后的主界面如图5-11所示,教师可以进行的操作在左侧的导航栏也有所显示,其中实验管理和实验预约为主要操作,其他的消息通知,实验室须知,实验室管理都只有查看功能。图5-11 教师的主界面实验管理的操作仅能查看到与自己相关的信息,实验管理可进行的操作如图5-12和图5-13所示,主要是预约实验室操作,新增操作首先判断选择的实验室在选择的时间内是否有人预约,同时,判断教师在此时间内是否已经预约过别的实验。之后判断参与人数是否超过实验室的最大容纳数,只有这些判断全部正确,才能预约成功。修改可重新选择实验时间,不过要在原预约时间之前,否则会失败。同时,如果已有学生预约成功,教师同样无法进行修改。删除删除实验的话同样要符合修改的两个限制条件。图5-12 实验管理界面图5-13 新增实验操作实验预约可进行的操作如图5-14和图5-15所示。主要为审核操作,审核时预约状态从未审核变为审核通过,更新实验信息,实验预约人数增加,当实验预约人数等于限定人数时,此实验从学生可预约的实验列表中删除,学生无法再预约,同时将其他预约此实验的状态置为拒绝。当得分发生变化时,对应的学生会收到实验得分变化的通知。如果教师要删除学生的预约,必须在实验之前。同时,删除成功时,对应的学生会收到教师删除实验预约的通知。图5-14 实验预约操作界面图5-15 实验审核操作5.4 学生操作模块学生登入系统之后的主界面如图5-16所示,学生可以进行的操作在左侧的导航栏也有所显示,其中实验预约为主要操作,其他的消息通知,实验室须知,实验室管理以及实验管理都只有查看功能。实验管理中可以查看所有的实验信息。图5-16 学生主界面实验预约可进行的操作如图5-17和图5-18所示。预约实验时,主要判断对于同一个实验是否存在重复预约问题,以及在此实验时间段内,学生是否存在时间冲突问题,学生的专业是否相符的问题,如果都不存在冲突,则可以预约此实验。等待教师审核通过之后,便可查看自己的座号。图5-17 学生查看预约信息图5-18 学生进行预约第6章 总结第6章 总结毕业设计是本科学习的最后一个阶段,也是一个将理论与实践相结合的测验,从选题到现在的结题,历经了5个月。通过这次比较完整的系统设计,我脱离了单纯的理论,通过自己的动手,真正完成并实现了这个系统的设计。毕业设计的内容繁多,实现过程曲折,但我收获丰富,从系统的整体设计,到各个模块的具体设计,随着设计的越来越详细,我发现需要学习的东西也越来越多,感觉自己就是一张白纸,对于整个系统的实现,无从下手。但通过与指导老师的沟通交流,使我对系统的实现有了大体的方向,从基础开始学习,在老师的指引下,开始阅读相关文献,通过文献,了解到类似系统是如何设计实现的,参考他们的思路,对设计进行修改。最终在开学后的第4周将所有设计确定。在编码实现过程中,同样问题不断,无论是SSH框架的搭建,还是连接数据库获取信息,都出现了各种各样的bug,好在通过CSDN等相关网站,都可以查询到相关解决方法。而且这些问题是出现在服务器端,服务器端的实现是用JAVA语言,在本科阶段,我们是有课程进行系统学习的,有一定的基础。但对于前端页面,我感觉好吃力,因为没有接触过HTML、CSS,JS,所以学起来比较吃力,就算是学会了,如何设计的比较美观也是一大问题。最终在同学帮助下,参考已有的网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论