毕业设计(论文)-springboot智能排课系统设计_第1页
毕业设计(论文)-springboot智能排课系统设计_第2页
毕业设计(论文)-springboot智能排课系统设计_第3页
毕业设计(论文)-springboot智能排课系统设计_第4页
毕业设计(论文)-springboot智能排课系统设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

springboot智能排课系统摘要在网络发展的时代,教育部对教师排课的越来越重视,学校的排课更加智能化,给教师带来了很大的选择余地,而且教师越来越追求更个性的需求。在这种时代背景下,网络排课成为必须。本设计主要实现集人性化、高效率、便捷等优点于一身的智能排课系统,完成系统首页、个人资料、轮播图管理、公告消息管理、系统用户(管理员、学生、教师)资源管理(校园资讯、资讯分类)模块管理(学生信息、院系管理、专业管理、班级管理、课程信息、教室管理、选课信息、课程测试、提交测试、成绩录入、排课管理、课表管理)等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。本系统使用Java技术开发,SpringBoot框架,采用的数据库是Mysql。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。关键词:智能排课系统,Java,SpringBoot,Mysql 第6章系统测试第1章绪论1.1研究背景随着信息技术的飞速发展,各个行业的信息化势在必行。正所谓科学技术是第一生产力”,科技的进步大大地提高了生产率。然而,在高校这个知识密集的地方,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。应用信息化来改造传统的教学管理模式是一个重要途径。近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。在教务工作中占有很大比重的一项就是每学期的课程排定工作。由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。并且随着高校规模的扩大,手工排课的难度和工作量呈几何级数增长。1.2研究意义排课是每一个学校必须面对的问题﹐以前各学校的排课都是通过手工排出来了,不仅效率低,而且可变更性差,通常是经过很多次调整后确定的,给教学工作带来极大的不便。在计算机被广泛应用的今天﹐我们要充分利用计算机的优势,不仅大大提高了工作效率,而且提高了排课的可重用性。使排课不再成为各学校的难题。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了利用计算机进行排课而设计的。现今,有很多的学校尚未使用计算机进行排课。根据调查得知,他们以前对排课的主要方式是通过手工处理,首先统计教师、班级人数、上课时间,首先进行第一次排课﹐得出一个初稿,再在这个基础之上进行多次修改,直到满意为止。这样看来,缺乏系统,规范的方法。尽管有的学校有计算机,但是尚未用于排课,没有发挥它的效率﹐资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个排课系统,使排课工作规范化,系统化,程序化,避免排课的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改排课情况。1.3研究现状经过调查,目前现代人的生活节奏加快,生活压力也在逐渐的增加,网络的发展给人们带来的便利,随着网上排课不断的增加,越来越多的学校开始加入了网上智能排课的大潮中,但是我国对于智能排课系统信息管理效果低下,而且出错率也很高。因此大家都在寻找一款更加专业化的智能排课系统。随着智能排课系统的不断出现,教师需求不断增多,智能排课系统也不断的得到壮大,本系统主要根据教师、教务员和管理员的实际需要,方便教师利用互联网实现对智能排课系统的了解、对比,同时让管理者可以通过这个系统对教师实际需求以及各排课信息的所有了解和课表情况进行管理。设计该系统主要目的是为了方便教师可以有一个非常好的平台体验,管理员也可以通过该系统进行更加方便的管理操作,实现了之前指定好的计划。第2章相关技术2.1开发技术本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,ElementUI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。2.2Java简介Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(EnterpriseJavaBeans)的全面支持,JavaservletAPI,JSP(Javaserverpages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。2.3MVVM模式MVVM是Model-View-ViewModel的简写。它本质上就是MVC的改进版。MVVM就是将其中的View的状态和行为抽象化,让我们将视图UI和业务逻辑分开。当然这些事ViewModel已经帮我们做了,它可以取出Model的数据同时帮忙处理View中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、DependencyProperty、RoutedEvents、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。2.4B/S结构B/S(Browser/Server)比前身架构更为省事的架构。它借助Webserver完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果,不需要考虑不停装软件的问题。2.5MySQL数据库Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要\t"/item/MySQL%E6%95%B0%E6%8D%AE%E5%BA%93/_blank"事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。2.6SpringBoot框架Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。第3章系统分析3.1需求分析智能排课系统主要是主要是借助计算机,对专业管理、班级管理、选课信息、课程信息、排课管理、成绩管理等进行管理,更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以智能排课系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。3.2系统可行性分析3.2.1技术可行性该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。(1)硬件可行性分析智能排课系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。(2)软件可行性分析开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。3.2.2经济可行性在智能排课系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于智能排课系统的开发在经济上是完全可行的,没有任何费用支出的。使用比较成熟的技术,系统是基于JSP的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。3.2.3操作可行性可操作性主要是对智能排课系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、学生、教师三个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。3.3项目设计目标与原则1、关于智能排课系统的基本要求(1)功能要求:首页、个人资料、轮播图管理、公告消息管理、系统用户(管理员、学生、教师)资源管理(校园资讯、资讯分类)模块管理(学生信息、院系管理、专业管理、班级管理、课程信息、教室管理、选课信息、课程测试、提交测试、成绩录入、排课管理、课表管理)等功能模块。(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。2、开发目标智能排课系统的主要开发目标如下:(1)实现管理系统信息关系的系统化、规范化和自动化;(2)减少维护人员的工作量以及实现用户对信息的控制和管理。(3)方便查询信息及管理信息等;(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;(5)考虑到用户多样性特点,要求界面简单,操作简便。3、设计原则本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。智能排课系统的设计与实现的设计思想如下:操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。2、即时可见:对智能排课系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。3、功能的完善性:拥有首页、个人资料、轮播图管理、公告消息管理、系统用户(管理员、学生、教师)资源管理(校园资讯、资讯分类)模块管理(学生信息、院系管理、专业管理、班级管理、课程信息、教室管理、选课信息、课程测试、提交测试、成绩录入、排课管理、课表管理)等功能的修改维护操作。3.4系统流程分析3.4.1操作流程系统登录流程图,如图所示:图3-1登录流程图3.4.2添加信息流程添加信息流程图,如图所示:图3-2添加信息流程图3.4.3删除信息流程删除信息流程图,如图所示:图3-3删除信息流程图第4章系统设计4.1系统体系结构本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2系统结构设计整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。本系统结构图如图4-2所示。图4-2系统功能结构图4.3开发流程设计系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。智能排课系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。图4-4开发系统流程图4.4数据库设计原则学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。通过智能排课系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:管理员信息属性图如图4-5所示。图4-5管理员信息实体属性图系统的E-R图如下图所示:图4-6系统E-R图4.5数据表将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。表access_token(登陆访问时长)编号名称数据类型长度小数位允许空值主键默认值说明1token_idint100NY临时访问牌ID2tokenvarchar640YN临时访问牌3infotext655350YN4maxageint100NN2最大寿命:默认2小时5create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:6update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:7user_idint100NN0用户编号:表article(文章:用于内容管理系统的文章)编号名称数据类型长度小数位允许空值主键默认值说明1article_idmediumint80NY文章id:[0,8388607]2titlevarchar1250NY标题:[0,125]用于文章和html的title标签中3typevarchar640NN0文章分类:[0,1000]用来搜索指定类型的文章4hitsint100NN0点击数:[0,1000000000]访问这篇文章的人次5praise_lenint100NN0点赞数6create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:7update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:8sourcevarchar2550YN来源:[0,255]文章的出处9urlvarchar2550YN来源地址:[0,255]用于跳转到发布该文章的网站10tagvarchar2550YN标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开11contentlongtext21474836470YN正文:文章的主体内容12imgvarchar2550YN封面图13descriptiontext655350YN文章描述表article_type(文章分类)编号名称数据类型长度小数位允许空值主键默认值说明1type_idsmallint50NY分类ID:[0,10000]2displaysmallint50NN100显示顺序:[0,1000]决定分类显示的先后顺序3namevarchar160NN分类名称:[2,16]4father_idsmallint50NN0上级分类ID:[0,32767]5descriptionvarchar2550YN描述:[0,255]描述该分类的作用6icontext655350YN分类图标:7urlvarchar2550YN外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置8create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:9update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表auth(用户权限管理)编号名称数据类型长度小数位允许空值主键默认值说明1auth_idint100NY授权ID:2user_groupvarchar640YN用户组:3mod_namevarchar640YN模块名:4table_namevarchar640YN表名:5page_titlevarchar2550YN页面标题:6pathvarchar2550YN路由路径:7positionvarchar320YN位置:8modevarchar320NN_blank跳转方式:9addtinyint30NN1是否可增加:10deltinyint30NN1是否可删除:11settinyint30NN1是否可修改:12gettinyint30NN1是否可查看:13field_addtext655350YN添加字段:14field_settext655350YN修改字段:15field_gettext655350YN查询字段:16table_nav_namevarchar5000YN跨表导航名称:17table_navvarchar5000YN跨表导航:18optiontext655350YN配置:19create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:20update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表classroom_management(教室管理)编号名称数据类型长度小数位允许空值主键默认值说明1classroom_management_idint100NY教室管理ID2classroom_namevarchar640YN教室名称3floorvarchar640YN所在楼层4recommendint100NN0智能推荐5create_timedatetime190NNCURRENT_TIMESTAMP创建时间6update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表class_management(班级管理)编号名称数据类型长度小数位允许空值主键默认值说明1class_management_idint100NY班级管理ID2class_namevarchar640YN班级名称3recommendint100NN0智能推荐4create_timedatetime190NNCURRENT_TIMESTAMP创建时间5update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表collect(收藏)编号名称数据类型长度小数位允许空值主键默认值说明1collect_idint100NY收藏ID:2user_idint100NN0收藏人ID:3source_tablevarchar2550YN来源表:4source_fieldvarchar2550YN来源字段:5source_idint100NN0来源ID:6titlevarchar2550YN标题:7imgvarchar2550YN封面:8create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:9update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表comment(评论)编号名称数据类型长度小数位允许空值主键默认值说明1comment_idint100NY评论ID:2user_idint100NN0评论人ID:3reply_to_idint100NN0回复评论ID:空为04contentlongtext21474836470YN内容:5nicknamevarchar2550YN昵称:6avatarvarchar2550YN头像地址:[0,255]7create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:8update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:9source_tablevarchar2550YN来源表:10source_fieldvarchar2550YN来源字段:11source_idint100NN0来源ID:表course_information(课程信息)编号名称数据类型长度小数位允许空值主键默认值说明1course_information_idint100NY课程信息ID2course_novarchar640YN课程编号3course_namevarchar640YN课程名称4covervarchar2550YN封面5class_locationvarchar640YN上课地点6start_timedatetime190YN开始时间7end_timedatetime190YN结束时间8teacher_noint100YN0教师编号9full_namevarchar640YN姓名10detailslongtext21474836470YN详情介绍11hitsint100NN0点击数12praise_lenint100NN0点赞数13recommendint100NN0智能推荐14create_timedatetime190NNCURRENT_TIMESTAMP创建时间15update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表course_scheduling_management(排课管理)编号名称数据类型长度小数位允许空值主键默认值说明1course_scheduling_management_idint100NY排课管理ID2titlevarchar640YN标题3course_namevarchar640YN课程名称4class_locationvarchar640YN上课地点5start_timedatetime190YN开始时间6end_timedatetime190YN结束时间7teacher_noint100YN0教师编号8full_namevarchar640YN姓名9recommendint100NN0智能推荐10create_timedatetime190NNCURRENT_TIMESTAMP创建时间11update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表course_selection_information(选课信息)编号名称数据类型长度小数位允许空值主键默认值说明1course_selection_information_idint100NY选课信息ID2course_namevarchar640YN课程名称3class_locationvarchar640YN上课地点4start_timevarchar640YN开始时间5end_timevarchar640YN结束时间6teacher_noint100YN0教师编号7student_noint100YN0学生学号8student_namevarchar640YN学生姓名9course_selection_timedate100YN选课时间10annotation_notesvarchar640YN标注说明11recommendint100NN0智能推荐12create_timedatetime190NNCURRENT_TIMESTAMP创建时间13update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表course_test(课程测试)编号名称数据类型长度小数位允许空值主键默认值说明1course_test_idint100NY课程测试ID2course_namevarchar640YN课程名称3teacher_noint100YN0教师编号4student_noint100YN0学生学号5student_namevarchar640YN学生姓名6test_namevarchar640YN测试名称7release_timedate100YN发布时间8test_contentvarchar2550YN测试内容9description_of_requirementstext655350YN要求说明10recommendint100NN0智能推荐11create_timedatetime190NNCURRENT_TIMESTAMP创建时间12update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表department_management(院系管理)编号名称数据类型长度小数位允许空值主键默认值说明1department_management_idint100NY院系管理ID2name_of_departmentvarchar640YN院系名称3person_in_chargevarchar640YN负责人4detailstext655350YN详情介绍5recommendint100NN0智能推荐6create_timedatetime190NNCURRENT_TIMESTAMP创建时间7update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表hits(用户点击)编号名称数据类型长度小数位允许空值主键默认值说明1hits_idint100NY点赞ID:2user_idint100NN0点赞人:3create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:4update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:5source_tablevarchar2550YN来源表:6source_fieldvarchar2550YN来源字段:7source_idint100NN0来源ID:表notice(公告)编号名称数据类型长度小数位允许空值主键默认值说明1notice_idmediumint80NY公告id:2titlevarchar1250NN标题:3contentlongtext21474836470YN正文:4create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:5update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表praise(点赞)编号名称数据类型长度小数位允许空值主键默认值说明1praise_idint100NY点赞ID:2user_idint100NN0点赞人:3create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:4update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:5source_tablevarchar2550YN来源表:6source_fieldvarchar2550YN来源字段:7source_idint100NN0来源ID:8statusbit10NN1点赞状态:1为点赞,0已取消表professional_management(专业管理)编号名称数据类型长度小数位允许空值主键默认值说明1professional_management_idint100NY专业管理ID2major_namevarchar640YN专业名称3recommendint100NN0智能推荐4create_timedatetime190NNCURRENT_TIMESTAMP创建时间5update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表schedule_management(课表管理)编号名称数据类型长度小数位允许空值主键默认值说明1schedule_management_idint100NY课表管理ID2titlevarchar640YN标题3datedate100YN日期4the_first_classvarchar640YN第一节课5the_second_classvarchar640YN第二节课6the_third_classvarchar640YN第三节课7the_fourth_classvarchar640YN第四节课8section_5varchar640YN第五节课9section_6varchar640YN第六节课10section_7varchar640YN第七节课11section_8varchar640YN第八节课12recommendint100NN0智能推荐13create_timedatetime190NNCURRENT_TIMESTAMP创建时间14update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表score_entry(成绩录入)编号名称数据类型长度小数位允许空值主键默认值说明1score_entry_idint100NY成绩录入ID2course_namevarchar640YN课程名称3teacher_noint100YN0教师编号4student_noint100YN0学生学号5student_namevarchar640YN学生姓名6test_namevarchar640YN测试名称7release_timevarchar640YN发布时间8test_scoreint100YN0测试得分9annotation_notesvarchar640YN标注说明10recommendint100NN0智能推荐11create_timedatetime190NNCURRENT_TIMESTAMP创建时间12update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表slides(轮播图)编号名称数据类型长度小数位允许空值主键默认值说明1slides_idint100NY轮播图ID:2titlevarchar640YN标题:3contentvarchar2550YN内容:4urlvarchar2550YN链接:5imgvarchar2550YN轮播图:6hitsint100NN0点击量:7create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:8update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:表student(学生)编号名称数据类型长度小数位允许空值主键默认值说明1student_idint100NY学生ID2student_novarchar640NN学生编号3student_namevarchar640YN学生姓名4gendervarchar640YN性别5examine_statevarchar160NN已通过审核状态6recommendint100NN0智能推荐7user_idint100NN0用户ID8create_timedatetime190NNCURRENT_TIMESTAMP创建时间9update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表student_information(学生信息)编号名称数据类型长度小数位允许空值主键默认值说明1student_information_idint100NY学生信息ID2student_noint100YN0学生编号3student_namevarchar640YN学生姓名4gendervarchar640YN性别5name_of_departmentvarchar640YN院系名称6majorvarchar640YN学习专业7class_namevarchar640YN班级名称8recommendint100NN0智能推荐9create_timedatetime190NNCURRENT_TIMESTAMP创建时间10update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表submit_test(提交测试)编号名称数据类型长度小数位允许空值主键默认值说明1submit_test_idint100NY提交测试ID2course_namevarchar640YN课程名称3teacher_noint100YN0教师编号4student_noint100YN0学生学号5student_namevarchar640YN学生姓名6test_namevarchar640YN测试名称7release_timevarchar640YN发布时间8submission_timedate100YN提交时间9related_attachmentsvarchar2550YN相关附件10remarksvarchar640YN备注11recommendint100NN0智能推荐12create_timedatetime190NNCURRENT_TIMESTAMP创建时间13update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表teacher(教师)编号名称数据类型长度小数位允许空值主键默认值说明1teacher_idint100NY教师ID2teacher_novarchar640NN教师编号3full_namevarchar640YN姓名4gendervarchar640YN性别5name_of_departmentvarchar640YN院系名称6lecturing_specialtyvarchar640YN授课专业7examine_statevarchar160NN已通过审核状态8recommendint100NN0智能推荐9user_idint100NN0用户ID10create_timedatetime190NNCURRENT_TIMESTAMP创建时间11update_timetimestamp190NNCURRENT_TIMESTAMP更新时间表upload(文件上传)编号名称数据类型长度小数位允许空值主键默认值说明1upload_idint100NY上传ID2namevarchar640YN文件名3pathvarchar2550YN访问路径4filevarchar2550YN文件路径5displayvarchar2550YN显示顺序6father_idint100YN0父级ID7dirvarchar2550YN文件夹8typevarchar320YN文件类型表user(用户账户:用于保存用户登录信息)编号名称数据类型长度小数位允许空值主键默认值说明1user_idmediumint80NY用户ID:[0,8388607]用户获取其他与用户相关的数据2statesmallint50NN1账户状态:[0,10](1可用|2异常|3已冻结|4已注销)3user_groupvarchar320YN所在用户组:[0,32767]决定用户身份和权限4login_timetimestamp190NNCURRENT_TIMESTAMP上次登录时间:5phonevarchar110YN手机号码:[0,11]用户的手机号码,用于找回密码时或登录时6phone_statesmallint50NN0手机认证:[0,1](0未认证|1审核中|2已认证)7usernamevarchar160NN用户名:[0,16]用户登录时所用的账户名称8nicknamevarchar160YN昵称:[0,16]9passwordvarchar640NN密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成10emailvarchar640YN邮箱:[0,64]用户的邮箱,用于找回密码时或登录时11email_statesmallint50NN0邮箱认证:[0,1](0未认证|1审核中|2已认证)12avatarvarchar2550YN头像地址:[0,255]13create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:表user_group(用户组:用于用户前端身份和鉴权)编号名称数据类型长度小数位允许空值主键默认值说明1group_idmediumint80NY用户组ID:[0,8388607]2displaysmallint50NN100显示顺序:[0,1000]3namevarchar160NN名称:[0,16]4descriptionvarchar2550YN描述:[0,255]描述该用户组的特点或权限范围5source_tablevarchar2550YN来源表:6source_fieldvarchar2550YN来源字段:7source_idint100NN0来源ID:8registersmallint50YN0注册位置:9create_timetimestamp190NNCURRENT_TIMESTAMP创建时间:10update_timetimestamp190NNCURRENT_TIMESTAMP更新时间:第5章系统详细设计5.1管理员功能模块管理员登录智能排课系统,在登录页面输入用户名、密码、图片验证等进行登录,如图5-1所示。图5-1管理员登录界面图管理员进入系统后台可以查看:后台首页、个人资料、轮播图管理、公告消息管理、系统用户(管理员、学生、教师)资源管理(校园资讯、资讯分类)模块管理(学生信息、院系管理、专业管理、班级管理、课程信息、教室管理、选课信息、课程测试、提交测试、成绩录入、排课管理、课表管理)等功能模块。还可进行相应的操作,如图5-2所示。图5-2管理员功能界面图系统用户,在此页面可以查看用户信息,还可在该页面对用户进行重置、添加和删除等操作。以教师用户为例,如图5-3,5-4所示。图5-3教师用户管理界面图图5-4添加用户界面图轮播图管理:可以查看轮播图信息的标题,封面图,内容等详细描述等信息。可以进行查询、重置、删除、添加等操作,如图5-5所示。图5-5轮播图管理界面图图5-6轮播图信息添加界面图公告信息管理:可以查看公告信息的标题,内容等详细描述等信息。可以进行查询、重置、删除、添加等操作,如图5-7,5-8所示。图5-7公告信息管理界面图图5-8公告信息添加界面图校园资讯:可以通过搜索标签、标题、分类进行查看校园资讯,可以进行查询、重置、删除、添加等操作,如图5-9,5-10所示。图5-9校园资讯管理界面图图5-10校园资讯添加界面图课程信息:可以通过搜索课程名称、课程名称进行查看课程编号、课程名称、封面、上课地点、教师编号、姓名等详细信息。并可以进行查询、重置、删除、添加等操作,如图5-11,5-12所示。图5-11课程信息管理界面图图5-12课程信息添加界面图5.2学生用户功能模块学生用户登录智能排课系统,需先注册,在登录页面输入用户名、密码进行登录,如图5-13,5-14所示。图5-13学生用户注册界面图图5-14学生用户登录界面图进入系统可以查看:前台首页,公告消息,校园喜讯,课程信息,我的(我的账户、我的收藏)后台首页,模块管理(选课信息、学生信息、课程测试、提交测试、成绩查询、课表信息),个人管理。等功能,还可进行相应的操作,如图5-15所示。图5-15学生用户功能界面图我的,在该页面可以查看我的账户、我的收藏、个人中心等信息,在我的账户里可以对个人资料、密码、头像等信息进行修改,如图5-16,5-17所示。图5-16我的账户界面图图5-17个人资料修改界面图课程信息,在该页面可以搜索查看课程编号、课程名称、上课地点、开始时间、结束时间、教师编号等详细信息,如图5-18所示。图5-18课程信息界面图校园资讯:在该页面可以通过筛选搜索校园资讯信息,对喜欢的资讯可进行收藏、点赞、评论等操作,如图5-195-20所示。图5-19校园资讯界面图图5-20校园资讯详情界面图5.3教师用户功能模块教师用户进入系统后台可以查看:后台首页,模块管理(学生信息、课程信息、选课信息、课程测试、提交测试、成绩录入、排课管理、课表管理),个人中心等功能,还可进行相应的操作,如图5-21所示。图5-21教师登录界面图图5-22教师功能界面图第6章系统测试6.1系统测试的目的程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。智能排课系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在智能排课系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。6.2系统测试方法在对智能排课系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让智能排课系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个智能排课系统开发所牵扯的该问题都必须一一解决,提高智能排课系统平台的安全性、稳定性。白盒测试与黑盒测试是测试中比较常用的两种方法。①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。6.3功能测试用户登录测试:模块名称测试用例预期结果实际结果是否通过登录模块用户名:admin密码:123弹出错误提示,提示密码错误弹出错误提示,提示密码错误通过登录模块用户名:123密码:admin弹出错误提示,提示用户名错误弹出错误提示,提示用户名错误通过登录模块用户名:admin密码:admin管理员登录成功管理员登录成功通过修改密码测试:模块名称测试用例预期结果实际结果是否通过修改密码模块原密码:666新密码:123确认密码:123弹出错误提示,提示原密码错误弹出错误提示,提示原密码错误通过修改密码模块原密码:admin新密码:123确认密码:333弹出错误提示,提示确认密码不一致弹出错误提示,提示确认密码不一致通过修改密码模块原密码:admin新密码:123确认密码:123密码修改成功密码修改成功通过通过对功能的测试,智能排课系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

结论此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺不容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。回顾毕业设计的整个过程,既付出汗水也收

温馨提示

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

评论

0/150

提交评论