版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论第第页共76页1.2课题研究意义信息化发展的现在,我们生活的各方面也需要全面跟进社会科技的进步,不仅可以让我们的生活更加便捷智能,而且也在办事效率和准确度进一步提高[3]。在世界各个高校的教务管理平台中,对于课程的选修,课程的安排,学生毕业研究的选题都是组成管理平台的重要部分。选课系统的出现将使高校选课管理工作更加规范化、系统化、简洁化,能够实时、准确、有效地查询和修改学生选课信息,随时对学生信息进行管理。不仅可以让学生选到自己喜爱的课程,而且也减轻了教学秘书的工作负担,提高了教学管理水平[4]。开发一个高校选课选题系统,可以更好帮助老师以及管理人员管理学校的课程。对于老师,可以通过一些简单的操作,自主地添加,删除以及修改自己负责的课程信息(包含必修课与选修课),课程设计信息以及毕业设计信息,这样可以大大地减轻了教务人员的工作量。而对于学生,可以在平台上直观地查看课程安排,并且根据自己的个人需求和兴趣爱好,自行选择适合自己的选修课以及相关的课程设计以及毕业设计,并且在选择后还未正式确定期间感到不满意,也可以通过取消操作来更改意愿,这样大大地增加了学生选择的灵活性。无论是选修课抢选机制,还是课程设计、毕业设计的师生互选机制,在耗费时间方面,耗费人力物力方面以及降低出错方面都比传统的方法具有更大的优势。1.3研究目标对高校选课管理信息系统的研究背景、意义和目的以及该领域同类系统的研究进展和应用现状做了简要分析,认为传统线下纸质选课方式存在效率低下、过程复杂、耗时费力、且结果不便于保存和共享等不足,文章提出应用信息技术构建高校选课管理信息系统可有效解决该问题[5]。本次的主要研究目标,就是开发安全实用的学生在线选课选题系统。我们将系统一共分为三大模块,每个模块之间表面上是相互独立的,然而在对数据库的访问上是紧密相连的,各个模块访问同一个数据库,使信息准确性更高。在选课系统这一大框架完成的前提下,再实现添加教师与学生之间毕业设计、课程设计题目的互选机制,进一步完善该系统的功能。三大模块分别为管理员模块,教师模块以及学生模块。管理员我们希望可以实现对教师账号,学生账号进行管理,对课程信息以及课程编排进行管理。对于教师模块,我们希望可以实现对课程信息管理,对课程编排管理,对课程设计与毕业设计进行管理以及与学生实现互选机制。对于学生模块,我们希望尽可能地缩小其权限,使其只能查看课程编排,并且在课程设计与毕业设计方面与教师实现互选机制。1.4文档的内容全文由六部分组成:绪论:绪论中我们将详细介绍该研究方向的发展背景,目前国内外现状以及研究的意义所在。此部分为文章的开篇部分,主要起到提出问题,提出解决方案,介绍研究意义以及研究目的的作用。开发工具和相关技术:该部分将主要介绍研究期间所使用的工具,技术以及相关的框架,并对其进行简要的说明。需求分析:在这一部分,我们初步对系统设计有一个大概的构架,并且分析出所需要的主要功能,并构思如何实现这些功能。系统设计方案:在系统设计时,首先要进行体系结构的设计。有了大体的结构之后,就需要对功能进行设计。设计好预期的功能如何实现之后,我们需要先设计好数据库,最后再进行代码编写。系统的实现:此部分将会介绍如何实现项目的各个功能,所用到的数据库表以及相关的技术和代码,并且详细介绍一下各个功能说明。系统测试:这一部分将会对各个系统模块进行测试,针对各种出现的情况所产生的结果进行展示。第二章开发工具及相关技术2.1IDEA工具Eclipse[6]在一般常用的开发中是最容易上手的,但是Eclipse在代码层面设计、兼容性等方面的问题让程序员在使用过程中颇受困扰。相比而言,IntelliJIDEA不仅解决了Eclipse存在的弊病,而且让开发工作变得更加的高效、智能。IntelliJ在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的。告别了之前使用Eclipse、MyEclipse时需要手动从网站下载jar包手动导入的时代,代码调试更加清晰强大,可以很轻松的导入开发过程中需要的各种库与框架[7]。2.2NavicatforMySQL工具MySQL数据库是DOS界面的,使用起来要手写命令,NavicatforMySQL基于Windows平台,为MySQL量身订作,提供类似于MsSQL的用户管理界面工具。Navicat提供了丰富的功能,使数据库管理更轻松更快捷。除了常规的数据库管理功能,如编辑或设计表、数据写入、SQL转储、创建或编辑用户,其他有用的功能包括:导入/导出向导、报表创建工具、数据模型、查询创建工具、自动完成代码、数据/结构同步,批处理作业计划,HTTP/SSH通道连接、备份以及更多。2.3MYSQL数据库数据库技术是信息系统核心技术之一,MySQL语言以其简单易用、开源、体积小、网络化效用、运行速度快等特性为中小型企业广泛采用,对掌握MySQL的学生需求量比较大[8]。MySQL数据库是基于Linux操作系统开发出来的数据库,众所周知Linux是开放源码的操作系统,所以MySQL数据库也是开放源码的免费数据库,这也是MySQL数据库的优点,虽然其功能的多样性和性能的稳定性差强人意,但是依然有很多用户在使用。2.4JAVA语言Java编程语言是一种面向对象的计算机软件项目开发语言,是目前计算机领域最受欢迎的计算机编程语言之一。它是一种跨平台语言,具备较高的安全性、平稳性以及具有可移植性。此外,Java编程语言具有较多的开发工具、软件架构模式和软件包。能够让用户在最短的时间内搭建出一个安全可靠的属于自己的应用软件平台。Java语言的有效利用,不仅能让整个开发工作变得简单便捷,且该语言功能强大,能够满足用户对软件功能所提出的绝大部分要求[9]。2.5SpringBoot技术SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。springboot主要是用来监护spring应用开发,约定大于配置,去繁就简,在使用springboot的时候,只要配置相应的springboot就能够用所有的Spring组件,简单的来讲,springboot也就是整合了很多优秀的框架,不需要要我们自己手动的去写xml配置的工具。本质上来看,springboot其实就是spring。第三章需求分析3.1需求陈述随着4G网络的普及和5G网络的兴起传统人为操作的选课方式难以适应信息化社会的需求。传统的选课形式主要为随堂报名,会造成选课人数偏差过大、难以统计、造成开课难、效率低、严重浪费教学资源等后果。利用当前流行的网络技术进行线上选课是大势所趋线上选课可以说是教学任务改革的重要举措[10]。传统的选课模式较为繁琐,并且在纸张等教学资源方面消耗较大。在管理人员的角度,通过人工进行逐一手动操作很容易出现错误和误差,由于各个统计单位的进度不一,在很多时候也会导致相关工作无法正常进展下去。而在课程选调期间出现问题和冲突,同样需要耗费更多的时间来解决问题。在教师的角度,课程安排与通知需要更加谨慎,同时耗费的时间和精力也会更大。在学生的角度,选课期间往往希望能够选到适合自己的课程,而传统选课机制往往会优先学生的志愿,此外,学生有向高分课程汇聚的倾向[11],因此一旦选课发生冲突,那么调剂的结果常常会差强人意,即使学校有一定的解决方案和调剂算法,也难以做到真正的公平,透明。因此,如果能够有一个平台,使管理员,教师,学生共享信息,三个角色能够通过简单的操作来完成之前繁琐的工作,管理人员和教师通过维护平台的数据,使学生通过平台一目了然当前相关的教学信息,那么在选课期间,即使出现的一定的问题和冲突,也可以及时进行调整校正,可以有效地降低出错率,并且可以节省大量的时间,物力以及人力。网络选修教学管理系统是高校教务平台重要的组成部分。有了网络选修制度,教学管理人员就能脱离教育事务的艰巨任务,大大提高工作效率[12]。3.2系统目标选修课程管理平台(师生互选题目)主要针对的方向有两个。其一是针对学生选课期间能够更加透明地、公正地选择自己喜欢的选修课,通过查看课程的简介,授课老师以及剩余人数来多元地考量选择选修课。而管理人员和老师也能够更加简便高效地维护课程信息,不需要通过繁琐的程序来统计学生选课情况。其二是针对毕业生对于毕业设计的选择与导师进行的互选机制,可以在双方都认为比较合理的情况下选定毕业设计的题目。选修课程管理平台(师生互选题目)对于功能实现的目标大概有以下几点:管理人员应该可以管理老师与学生的用户账号与信息,在此之上,管理员还应该具有管理课程信息的权限,而老师与学生在毕业设计题目师生互选方面的问题上,管理员不应该具有干预的权限。老师应该可以做到维护自己的课程信息(包括添加,删除,修改),课程信息应当包含课程的介绍,课程的上课时间,如果是选修课,应该再加入本课程抢选的剩余人数。在毕业设计方面,老师应当可以做到维护毕业设计题目,审核学生对于课程题目的申请。学生作为主要被管理的角色,所拥有的权利应当是最少的。比如在课程信息方面,学生应当只能查看课程信息,选择自己喜欢的选修课,而不应该具有任何维护的权限。在双选方面,导师会先维护好自己定下的课题,学生找到适合自己的课题,点击申请,然后传到教师模块进行审核。如果学生感觉没有合适自己的课题,应当练习教师,然后教师将商量好的课题维护到系统中,学生再提交申请,然后传到教师模块进行审核。3.3模块权限3.3.1权限说明本平台一共开发了以下几个功能:1.用户管理:这个功能主要是可以对教师账号,学生账号进行增添,删除,批量删除,修改,查看等操作,有效地管理用户。拥有此权限的用户只有管理员。2.课程管理:这个功能主要是可以对课程信息进行管理,可以选择课程类型以及名称,课程类型分为必修课和选修课。拥有此权限的用户为管理员和教师。3.课程编排:这个功能可以在课程管理已经添加的课程的基础上,添加课程到课程表中。可以在添加过程中选择课程的名称,选择负责这门课的老师,输入该课程设定的人数,按照当前情况输入这门课剩下的选课人数,以及该课程的上课时间。拥有此权限的用户为管理员和教师。4.课程设计管理:这个功能可以在课程管理已经添加的课程的基础上,添加配套的课程设计。可以在添加的过程中选择课程的名称,选择负责的老师,输入课程设计的名称以及对于此课程设计的说明。拥有此权限的用户只有教师。5.毕业设计管理:这个功能可以在添加的过程中添加毕业设计名称,选择指导老师,并可以输入对于此毕业设计的说明以便学生查看了解详细情况。拥有此权限的只有教师。6.课程设计审核:这个功能可以接收到学生点击选择的课程设计申请,并且根据合理性进行通过或者拒绝。拥有此权限的用户只有教师。7.毕业设计审核:这个功能可以接收到学生点击选择的毕业设计申请,并且根据合理性进行通过或者拒绝。拥有此权限的用户只有教师。8.课程表查看以及选课:这个功能只能查看管理员与教师先前编排好的课程,并且可以按照自己的需求对选修课进行选课,如果该课程有安排课程设计,还可以通过选择按钮来选择课程设计并等待教师审核。拥有此权限的用户只有学生。9.毕业设计查看以及选择:这个功能只能查看教师提前维护好的毕业设计题目,并查看毕业设计的相关说明,然后通过点击选择按钮提交申请并等待教师审核,在审核期间如果出现不满意或者其他原因,可以点击撤销按钮来取消申请。拥有此权限的用户只有学生。10.课程设计查看/毕业设计查看:这个功能可以用来查看提交申请的课程设计/毕业设计的审核结果是通过还是拒绝,并且依照结果进行下一步操作。拥有此权限的用户只有学生。3.3.2权限建模根据3.3.1权限说明,我们可以通过建模完成相应的权限展示图,由此可以一目了然地了解各个用户所拥有的权限,从而使读者进一步地了解:管理员的权限如图3-1所示:图3-1管理员权限教师的权限如图3-2所示:图3-2教师权限学生的权限如图3-3所示:图3-3学生权限点击进入登录页面时,页面中帐户和密码输入栏的下方会要求用户选择自己所属于的角色。系统会通过输入的账号,密码以及选择的角色进入到数据库中进行比对,如果成功了,便会进入到相应的页面,如果失败了,那么会提示用户出错。管理员的权限主要是管理用户信息,可以添加、修改以及删除普通用户(教师与学生)的信息。为了避免意外情况发生,管理员还添加了课程管理以及课程编排的功能。教师权限相对于管理员较低,拥有管理课程以及编排课程等关于教学方面的模块的管理权限。为了安全起见与结合实际情况,学生被赋予的权限是最少,只能查看,以免发生系统混乱等问题。第四章系统设计4.1体系结构设计选修课程管理平台(师生互选题目)采用的是mvc设计方案的思想,mvc设计主要包含三部分∶第一部分是接收、处理控乱机交互的数据;第二部分是打包、发送交互数据给控制机;第三部分是逻辑业务,将数据实时或者修正后显示到人机交互的界面,并对某些数据进行存储。从软件角度而言,分为三层,数据层、业务逻辑处理层以及U层。MVC框架模式出来后,逐渐成为主流的框架模式,经典的三层模型已渐渐销声匿迹[13]。MVC是一种框架模式,区别于设计模式[14]。其最大的特点是代码重用,可以直接执行或者复用。MVC设计的原理图如图4-1:图4-1MVC原理图MVC中的M代表着模型层,也就是model层,模型层是后端传输数据的根本,平台从前端到后端互相传输的数据几乎都是赋值在通过模型层声明的对象中进行传输的。通常我们用javabean实现模型,该系统中,我们是使用pojo实现的。而用于实现映射数据库中表的数据的类是entity实体类,我们通过entity映射表数据从而做到从数据库中取数据和传入数据。V代表着视图层,也就是view层,视图层是用户最直观了解系统功能也是与用户关系最为紧密的部分,是与用户直接进行交互的部分。用户可以通过鼠标点击和键盘输入等一系列人为操作与我们的后端和数据库进行数据的交互。我们通过LayUI技术封装html技术,css技术以及js等前端视图与逻辑技术,页面制作完成后,最后再用tamplates包将页面封装起来。C代表着控制器,也就是controller,控制器的作用就是将上面我们提到的模型层(model层)和视图层(view层)进行一一对应。最基本的流程就是,用户通过点击、键盘输入等在视图层进行的操作,发出请求给控制器,控制器接受到请求后,通过转发或者重定向将请求传到后端进行相应的逻辑处理,然后调用模型层的方法从而与数据库进行交互。处理完毕后的结果或者通知再次传给控制器,控制器再返回给视图层,用户就可以通过实体层了解到发起的请求处理的结果。4.2系统功能设计4.2.1用户管理模块用户权限管理是指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,它是管理系统不可缺少的一个部分[15]。用户管理应当包含对于用户的新增,用户信息修改以及用户信息删除。4.2.2课程管理模块课程管理应当由教师、管理员进行维护,具有各个课程的具体信息,包括课程名称,授课老师,授课时间,课程性质,全部人数以及剩余人数。同时还要有课程表部分能够让学生通过课程表了解上课信息。4.2.3选修课程管理模块选修课能够扩大高校学生知识面,激发大学生学习新知识的热情,提高大学生的综合素质,为大学生个性的发展提供广阔的空间[16]。选修课管理应当通过管理员和教师的维护后让学生可以查看到选修课的课程信息,包括课程名称,授课教师,上课时间,全部人数,剩余人数。4.2.4课程设计课题管理模块课程设计管理由教师管理维护,管理的内容应当包括该课程设计所属课程,课程设计的指导老师,课程设计名称以及课程设计说明。学生用户应当可以查看有关全部内容而不可以修改课程设计的信息。学生用户提交申请后,相关的指导老师应当可以对申请进行审核,审核结果学生可以通过课程设计模块查看到。4.2.5毕业设计课题管理模块毕业设计管理由教师管理维护,管理的内容应当包括毕业设计名称,毕业设计说明,毕业设计指导教师等信息。学生用户应当可以查看相关的内容并且选择适合自己的题目。不仅如此,关联实际需求,一个学生应当只能选择一个毕业设计题目,如果在审核期间,学生有了更好的选择,可以进行撤销申请并且选择其他更加合适的题目。学生用户提交申请后,相关的指导老师可以对申请进行审核,学生可以通过我的毕业设计模块查看审核结果。4.3数据库设计(1)管理员用户信息表(Admin):该表格存放着所有管理员的信息,里面包含管理员的id(id为用户在系统中的唯一标志),用户名和密码(用于登录时验证用户身份),表格具体结构如表4-1所示。表4-1管理员用户信息表字段名字段说明类型长度是否为空备注Adminid管理员信息在系统中的idbigint20否主键Adminname管理员登录的账号varchar50否password管理员登录的密码varchar50否唯一标志:唯一标志的意思就是该条数据在系统数据库中不可替代的一条信息,也许其他的字段内容完全相同,但是id是不可能出现相同的,因此即使其他字段与其他的数据混淆,也可以通过id准确找到该条数据,后端操作数据库时往往也是通过id来查找需要的数据。(2)教师用户信息表(teacher):该表格存放着所有教师的信息,里面包含教师的id(id为教师在系统中的唯一标志),账号和密码(用于登录时验证用户身份),表格具体结构如表4-2所示。表4-2教师用户信息表字段名字段说明类型长度是否为空备注teacherId教师信息在系统中的idbigint20否主键teacherName教师登录的账号varchar50否password教师登录的密码varchar50否(3)学生用户信息表(student):该表格存放着所有学生的信息,里面包含学生的id(id为学生在系统中的唯一标志),账号和密码(用于登录时验证用户身份),表格具体结构如表4-3所示。表4-3学生用户信息表字段名字段说明类型长度是否为空备注studentId学生信息在系统中的idbigint20否主键studentName学生登录的账号varchar50否password学生登录的密码varchar50否课程设计数据表(scoredesign):该表格存放着教师维护的所有课程设计的信息,里面包含着课程设计的id(id为课程设计在系统中的唯一标志),课程设计名称,课程设计所属的课程id(用于关联课程信息表),指导老师的id(用于关联教师信息表),表格具体结构如表4-4所示。表4-4课程设计信息表字段名字段说明类型长度是否为空备注Id课程设计信息在系统中的idbigint10否主键Name课程设计名称varchar255否Content对于课程设计的说明Varchar255否scoreid相匹配的课程的idVarchar255否外键teacherId指导教师的idVarchar255否外键(5)课程设计申请数据表(scoredesignselect):该表存放着学生选择的所有课程设计的记录以及教师审核的结果,里面包含着课程设计申请的id(id为课程设计申请在系统中的唯一标志),课程设计的id,提交申请的学生的id(用于关联学生信息表),该课程设计指导老师的id(用于关联老师信息表),该申请的审核状态(0为待审核,1为审核通过,2为审核拒绝),表格具体结构如表4-5所示。表4-5课程设计申请信息表字段名字段说明类型长度是否为空备注Id课程设计申请信息在系统中的idbigint10否主键scoreDesignId课程设计的idvarchar255否Studentid学生的idvarchar255否外键Teacherid指导老师的idvarchar255否外键State审核结果的状态varchar255否(6)课程表数据表(majorscore):该表存放着所有关于课程编排的课程表的数据,里面包含着课程表信息的id(id为课程表信息在系统中的唯一标志),课程信息的id(用于关联课程信息表),上课的时间,授课老师的id(用于关联老师信息表),课程预设总人数,目前剩余可选人数,表格具体结构如表4-6所示。表4-6课程表信息表字段名字段说明类型长度是否为空备注Id课程表信息在系统中的idbigint10否主键Majorid专业idvarchar255否外键Scoreid课程信息的idvarchar255否外键Time上课的时间varchar255否Teacherid授课教师的idvarchar255否外键Maxnums课程预设的总人数varchar255否Num目前剩余可选人数varchar255否课程数据表(score):该表存放着所有教师和管理员维护的课程数据,里面包含课程的id(id为课程信息在系统中的唯一标志),课程的名称,课程的类型(必修课或选修课),表格具体结构如图如表4-7所示。表4-7课程信息表字段名字段说明类型长度是否为空备注Scoreid课程信息在系统中的idbigint10否主键Scorename课程的名称varchar255否Type课程的类型varchar255否Isdesign课程设计varchar255否选修课选课数据表(scoreselect):该表存放着所有学生对于选修课的选课信息,里面包含选课信息id(id为选课信息在系统中的唯一标志),课程信息id(用于关联课程信息表),选课学生id(用于关联学生信息表),表格具体结构如表4-8所示。表4-8选修课选课信息表字段名字段说明类型长度是否为空备注Id选课信息在系统中的idbigint10否主键Scoreid课程信息的idvarchar255否外键Studentid选课学生的idvarchar255否外键毕业设计数据表(majordesign):该表存放着所有教师维护的毕业设计信息,里面包含毕业设计的id(id为毕业设计信息在系统中的唯一标志),毕业设计名称,对于毕业设计的说明,指导老师的id(用于关联教师信息表),表格具体结构如表4-9所示。表4-9毕业设计信息表字段名字段说明类型长度是否为空备注Id毕业设计信息在系统中的idbigint10否主键Name毕业设计名称varchar255否Content对于毕业设计的说明Varchar255否Majored专业idVarchar255否Teacherid指导老师的idVarchar255否外键毕业设计申请数据表(majorDesignSelect):该表存放着所有学生对于教师已经维护好的毕业设计题目的申请信息,里面包含毕业设计申请id(id为毕业设计申请信息在系统中的唯一标志),毕业设计id(用于关联毕业设计信息表),申请学生id(用于关联学生信息表),指导老师的id(用于关联教师信息表),审核结果的状态(0为待审核,1为审核通过,2为审核拒绝),表格具体结构如表4-10所示。表4-10毕业设计选择信息表字段名字段说明类型长度是否为空备注Id毕业设计申请信息在系统中的idbigint10否主键majorDesignId毕业设计的idvarchar255否外键Studentid申请学生的idvarchar255否外键Teacherid指导老师的idvarchar255否外键State审核结果的状态varchar255否4.4权限安全设计4.4.1登录识别与流程识别原理:在登陆页面中,我们需要先选择用户角色,然后输入账号和密码再点击登录。这三个角色每一个都有相对应的数字,在我们选择用户角色输入帐户密码并点击登录时,前端会把这个相关角色的数字与帐户密码一起封装并传入到后端。后端再通过数字判断查找的表,并在查看的表中比对帐户密码信息,然后将结果再传回前端。登录流程如图4-2所示。图4-2登录流程图4.4.2权限管理由于系统将所有的功能权限分给了三个角色,因此这三个角色需要找出一个负责管理的角色来维护各个角色的安全信息。因此我们将系统管理员赋予最高权限,使其可以维护教师、学生的信息,对其进行添加,删除,批量删除以及修改的操作。不仅如此,教师拥有的对于课程信息维护的权限,我们也赋给管理员,使其能够在必要的时候进行紧急处理。而作为普通用户的教师与学生,则只能使用与个人相关以及个人所拥有的权限,而无权干涉其他用户。第五章系统实现与展示5.1登录界面该页面为用户使用系统时操作的第一个页面,用户需要在账号,密码输入框的下方选择自己的角色,然后输入正确的账号以及密码并点击登录。5.1.1登陆界面的实现页面由用户输入信息并点击登录按钮后,前端接收并封装账号,密码以及选择的角色并传入后端处理。后端经过requestmapping映射到controller,接收到信息后调用MyBits的方法去数据库进行查找验证,验证的结果传回前端并反馈给用户。Controller实现代码如下:5.1.2登陆界面展示登录页面如图5-1-1图5-1-1登录页面如果输入的账号和密码错误,或者选择的角色错误,皆会提示错误并且无法登录。如图5-1-2图5-1-2登录失败如果输入的账号密码正确,角色选择也正确,则可以正常登入系统。如图5-1-3图5-1-3登录成功5.2系统桌面当用户登录成功后,会进入到系统桌面。在此界面,系统会将角色相匹配的功能展示在界面中,用户可以按照需求使用各个功能。5.2.1系统桌面的实现每一个用户进入到各自的界面中,各个角色左侧的功能各不相同,然而用户进入的界面是同一个界面。实现的原理是,当用户登录成功后,前端可以从后端获取到用户的所有信息,包括角色相对应的数值。此项目中,如果是管理员,那么数值为0,如果是教师,那么数值为1,如果是学生,那么数值为2。前端的每一个功能模块都会先对用户的角色进行验证,然后再判断是否显示该模块。5.2.2系统桌面展示管理员桌面展示如图5-2-1图5-2-1管理员页面教师桌面展示如图5-2-2图5-2-2教师页面学生桌面展示如图5-2-3图5-2-3学生页面5.3用户管理当管理员登录成功后,可以对教师和学生的账户进行维护,可以进行添加,修改,删除和批量删除操作。5.3.1用户管理的实现当我们点击用户管理这一模块时,系统会先通过requestmapping映射到controller,获取到所有用户的信息并传回到前端,展示到页面中展示给用户,controller代码如下:管理员可以点击添加,然后在跳转到的页面中输入添加的用户信息,点击提交后前端将数据封装起来传到后台,通过requestmapping映射到controller,调用MyBits对数据库进行修改,然后再次获取所有用户信息刷新页面实现添加操作:管理员查看到所有的用户信息后,可以点击编辑按钮对用户信息进行修改,输入的修改信息以及要修改的用户id会通过前端封装转发给后端,通过requestmapping映射到controller,调用MyBits对数据库内容通过id查找并进行修改,然后再次获取所有的用户信息展示给用户实现修改操作,controller代码如下:当管理员点击删除按钮后,前端会将被操作的用户id传入后台,映射到controller后,调用MyBits通过id查到数据库中的该条信息并进行删除,然后通过刷新页面实现删除操作,controller代码如下:5.3.2用户管理展示我们以教师用户为例:用户添加操作如图5-3-1,图5-3-2图5-3-1添加用户信息图5-3-2添加成功用户信息修改如图5-3-3,图5-3-4图5-3-3修改成功图5-3-4修改后的信息用户信息删除如图5-3-5图5-3-5删除成功5.4课程管理当管理员/教师登录成功后,可以维护课程信息,可以进行添加,删除操作。5.4.1课程管理的实现当我们点击课程管理这一模块时,前端会发出请求,通过requestmapping跳转到controller将所有课程的数据查出来,然后将数据封装起来传回前端并展示给用户,controller代码如下:实现课程信息添加功能代码如下:实现课程信息修改功能代码如下:实现课程信息删除功能代码如下:5.4.2课程管理展示课程信息添加时,我们可以填入课程名称并且选择是必修课还是选修课,必修课不能选课,选修课可以选课。如图5-4-1,5-4-2,5-4-3图5-4-1必修课程信息添加图5-4-2选修课程信息添加图5-4-3添加成功课程信息删除如图5-4-4图5-4-4删除成功5.5课程表编排当管理员/教师维护好了课程信息以后,就可以进行课程表编排,编排信息包含课程名称,授课老师,课程预设总人数,当前剩余人数,上课时间,编排好的课程表学生用户可以查看到。5.5.1课程表编排的实现点击课程表进行编排时,后台需要先将所有课程表信息传到前台展示给用户,controller代码如下:课程表信息添加功能代码如下:课程表信息删除功能代码如下:课程表信息修改功能代码如下:5.5.2课程表编排展示添加课程表信息如图5-5-1,5-5-2图5-5-1课程表信息添加图5-5-2课程表信息添加成功学生查看课程表如图5-5-3图5-5-3课程表5.6学生选课学生用户可以在课程表中查看课程并且选择选修课,选修课有总人数和剩余人数,每当学生选择了选修课,那么选修课剩余人数就会-1,如果剩余人数为0,则不能再选课。5.6.1学生选课的实现当学生点击选课后,会将学生id信息以及选择的课程id信息传入后台,通过controller到数据库中查到该课程的课程表信息,先检查数据库中有关的选课表中是否已经有该用户选择该课的信息,如果有则向前台返回-1并提示用户已经选择该科,无需再选。如果没有信息,则检查该课程是否有剩余名额,如果没有了则向前台返回-2并提示用户没有剩余名额无法选课。如果之前的两个情况都没有,则将信息插入到数据库中的选课信息表中并将剩余人数-1,同时向前台返回1并提示用户选课成功,选课功能代码如下:5.6.2学生选课展示点击选课前如图5-6-1图5-6-1课程表查看点击选课后如图5-6-2图5-6-2选课成功点击剩余人数为0的课程时如图5-6-3图5-6-3选课失败5.7课程设计管理及审核如果课程含有课程设计部分,那么教师用户就可以在课程设计管理模块添加课程设计信息。在填写课程设计信息时,可以将相应的课程与其绑定,这样学生在课程表中就可以查看到课程设计并进行选择。学生点击选择向教师提交申请后,学生的课程设计模块会出现该课程设计的待审核状态。教师可以在课程设计审核模块查看到申请信息,并选择通过或者拒绝。审核结束后,学生可以在课程设计模块查看审核结果。5.7.1课程设计管理及审核的实现获取所有的课程设计信息并展示给用户代码如下:添加课程设计信息功能代码如下:删除课程设计信息功能代码如下:课程设计选课功能代码如下:教师审核功能代码如下:学生查看审核结果功能代码如下:5.7.2课程设计管理及审核展示课程设计信息添加如图5-7-1图5-7-1课程设计维护学生查看课程表中的课程设计如图5-7-2,图5-7-3图5-7-2课程表中查看课程设计图5-7-3选择课程设计学生点击选择提交申请后,申请会到课程设计模块中并进入等待审核状态,如图5-7-4图5-7-4课程设计模块查看审核进度此时教师用户可以在课程设计审核模块查看到学生提交的申请信息并进行审核,可以选择同意,也可以选择拒绝,如图5-7-5图5-7-5课程设计审核教师审核后,学生用户可以在课程设计模块查看教师审核结果(此处为通过),如图5-7-6图5-7-6课程设计模块查看审核结果5.8毕业设计管理及审核本科毕业设计是本科生学习过程中的一个重要里程碑。在许多大学它是必须完成的一门课程[17]。毕业设计与课程设计的大体流程是一样的,但是根据具体情况,也有一些不同的地方。不同之处有三点:第一点是毕业设计不需要关联相关课程信息。第二点是学生只能选择一个题目并且等待审核。第三点是学生如果发现题目不合适,可以自主撤销申请选择其他的题目。5.8.1毕业设计管理及审核的实现教师维护毕业设计信息时获取所有的毕业设计信息并展示给教师的代码如下:添加毕业设计信息功能代码如下:删除毕业设计信息功能代码如下:毕业设计选择课题功能代码如下:教师审核功能代码如下:学生查看审核结果功能代码如下:毕业设计选择课题撤销功能代码如下:5.8.2毕业设计管理及审核展示毕业设计信息维护如图5-8-1图5-8-1教师维护毕业设计题目学生查看毕业设计信息以及选择操作如图5-8-2,图5-8-3图5-8-2毕业设计模块查看题目图5-8-3学生选择并提交申请当学生发现题目不适合自己时,可以选择撤销申请,如图5-8-4,5-8-5图5-8-4我的毕业设计模块查看申请信息图5-8-5撤销以后信息被删除正常情况下教师查看到的申请信息以及审核操作如图5-8-6图5-8-6毕业设计审核模块该申请信息只有负责老师才可以查看并且审核,其他的教师是接收不到信息的,其他教师的审核页面如图5-8-7图5-8-7其他教师无法处理不属于自己的申请教师处理完申请后,学生可以在我的毕业设计模块查看申请处理结果(本次处理结果为同意)如图5-8-8图5-8-8我的毕业设计模块查看处理结果第六章系统测试6.1性能分析选修课管理平台(师生互选)功能设计应当按照各个高校自身的需求和发展现状出发,考虑到教师,学生们的教学情况等一系列因素。学生们能够选课,选题的前提应当是教师们按照管理员的规定维护好课程信息(授课教师、上课时间、课程人数等),然后编排好课程,管理员检查完善无误后学生们才能够开始选课。这就对系统性能有一定的需求了,比如在课程编排时出现错误的挽救措施、教师与管理员在维护课程信息时课程信息有误或缺失时的提示等。按照实际情况出发,往往系统管理员人数有几个人,老师往往是几十人,学生往往上千人甚至上万人。也就是说,整个系统中数量最多的用户是学生,学生在选课期间,热门课程(容易通过的课程或者趣味性比较强的课程)往往会被学生一抢而空,而冷门课程(比较难通过的课程)往往会被学生们冷落。而学生为了抢到自己喜欢的课,会在发布的一瞬间集体同时登录选课系统,学生在选课的高峰期,经常会遇到登录失败导致选课失败、选课高峰导致系统崩溃、页面访问异常的现象[18]。因此学校服务器对于瞬间负载的性能也有一定的要求。然而仅仅升级服务器,按当前的高校平均的服务器水平也很难达到要求的高度,只能通过其他的办法再优化。由于技术和开发条件有限,此项要求我们只能暂时搁置。这里我们只能暂时要求系统响应速度能够控制在2秒以内。6.2测试目标我们将测试目标定为以下几点:最基础的功能是否实现,比如用户能够正常登录系统,管理员对于用户信息的维护,教师对于课程信息,毕业设计题目信息的维护,学生对于信息的查看以及选课选题操作是否完成。系统使用时运行是否正常,在进行标准基础操作时是否会出现报错,系统卡顿,电脑由于代码逻辑进入死循环等情况。对于非常规操作是否有相关提示以及处理措施,是否会出现非常规操作导致的系统崩溃、数据错误、数据堆积等情况。寻找系统出现的bug,并且保证bug能够在正常使用的可接受范围内即不会影响到系统的正常使用出现的一些小错误。查找系统在使用体验中有待提高的地方。6.3系统测试内容软件产业是引领新一轮科技革命的关键力量,在全球经济发展中占据重要地位。软件质量对促进软件产业健康有序发展具有重要意义,软件测试是保证软件质量的可靠手段[19]。因此软件测试这一环节是十分重要且必要的。测试内容如下:表6-1测试内容测试范围各功能模块测试方法黑盒测试测试环境Windows10、IDEA、Mysql、Google浏览将产生的文档检测报告测试任务要测试的功能预期结果进度日期负责人登录用户能否正常登录选择相应的权限,然后输入账号密码,系统会提示输入错误或进入相应页面2021-5-8用户信息展示管理员是否能够查看用户信息管理员页面登入成功后可以正常查看教师、学生的账户信息2021-5-8用户信息修改管理员能否正常修改用户信息管理员页面登入成功后,对教师、学生的信息进行修改操作,修改后的信息可以正常使用,修改前的信息不能使用2021-5-8用户信息删除管理员能否正常删除用户信息管理员页面登入成功后,对教师、学生的信息进行删除、批量删除操作,账户确实被删除且无法再使用2021-5-8课程信息管理管理员、教师能否正常添加、修改删除课程信息管理员与教师添加课程信息后可以正常查看,添加后的课程信息可以进行正常的修改,删除后课程信息无法使用2021-5-9课程设计管理教师能否正常添加、删除课程设计信息教师能够正常添加课程设计信息并关联相关的课程,删除后课程设计信息无法使用2021-5-10课程设计审核教师能否正常接受到审核信息,并且审核的同意,拒绝按钮正常使用教师在正常接收到申请信息后,点击同意和拒绝后学生能够接收到审核结果2021-5-10课程表管理管理员、教师能否正常编排课程表并且学生能够接收到管理员和老师在课程信息维护好的前提下,能够正常编排课程表,并且编排好的课程表学生用户可以正常查看2021-5-9毕业设计管理教师能否正常添加、删除毕业设计信息教师能够正常添加毕业设计信息并关联相关的课程,删除后毕业设计信息无法使用2021-5-10毕业设计审核教师能否正常接受到审核信息,并且审核的同意,拒绝按钮正常使用教师在正常接收到申请信息后,点击同意和拒绝后学生能够接收到审核结果2021-5-10课程设计/毕业设计申请学生点击选择按钮后,申请信息能否发送给教师进行审核学生点击选择按钮后,会出现待审核的字样,同时导师那边能够接收到学生申请的信息2021-5-106.4风险分析每个软件在其研发过程中都隐含着许多不确定因素,这为软件的成功开发带来了风险[20]。而这些风险则需要通过大量的软件测试进行排查,然而排查出来的问题往往不一定能够全部解决,可能会由于框架的选用,逻辑的使用以及其他因素的局限性导致bug无法通过小幅度改动修复甚至需要整个项目大半推倒重做。因此如果能够找到风险并且找到有效避免bug的方法也是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商洛市辅警招聘笔试题及答案
- 三门峡市辅警招聘面试题及答案
- 内江市辅警招聘考试题及答案
- 呼吸观察的个体化护理
- 重介质制备回收工达标测试考核试卷含答案
- 办公耗材再制造工安全操作知识考核试卷含答案
- 灌溉机械操作工保密评优考核试卷含答案
- 工程地质调查员岗前冲突管理考核试卷含答案
- 飞机试飞设备安装调试工安全风险强化考核试卷含答案
- 陶瓷贴花工班组安全能力考核试卷含答案
- 政治风险评估模型-洞察与解读
- TZDTX 0012-2025 铁路分布式光伏发电工程技术规范
- 国家安全工作年度工作报告
- 2025年甘肃省甘南州临潭县卫生健康系统引进紧缺卫生专业技术人才20人考前自测高频考点模拟试题含答案详解
- 实施指南《G B-T36713-2018能源管理体系能源基准和能源绩效参数》实施指南
- 消防安全重点单位档案管理
- 【MOOC答案】《电工电子实验(二)》(南京邮电大学)章节期末慕课答案
- 心理健康接纳自己课件
- 癫痫共患偏头痛诊断治疗
- 江西省农发种业有限公司招聘考试真题2024
- 铝粉代加工铝锭合同范本
评论
0/150
提交评论