【在线选课系统的设计与实现10000字(论文)】_第1页
【在线选课系统的设计与实现10000字(论文)】_第2页
【在线选课系统的设计与实现10000字(论文)】_第3页
【在线选课系统的设计与实现10000字(论文)】_第4页
【在线选课系统的设计与实现10000字(论文)】_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

在线选课系统的设计与实现目录TOC\o"1-2"\h\u133431.前言 513621.1.课题背景及研究意义 5129671.2.国内外研究现状 539821.3.研究内容 7130792.系统开发环境 879182.1.JAVA介绍 821812.2.B/S框架 8294672.3.MYSQL数据库 8289802.4.HTML简介 8249692.5.MyEclipse平台 892482.6.JSP简介 9264403.系统设计与分析 9276353.1.可行性分析 9262983.2.系统流程分析 10170233.3.系统功能分析 12224153.4.性能需求分析 12146463.5.系统用例图 1291963.6.体系结构分析 1477363.7.数据库分析 149554.系统开发设计与实现 1827944.1.开发需求与系统架构 18285214.2.系统主要功能 19123425.系统测试 36198715.1.测试的意义 3656075.2.测试方法 36234805.3.测试用例 37280895.4.测试总结 3838476.结论 3824599参考文献 39摘要:随着网络技术的发展,科技慢慢走进家家户户,各种企业更是将精力都转向科技研发,高校对互联网技术的需求也是迫在眉睫。教务管理一直是各高校比较头疼的一个问题,学生的数量大而教师的群体远比学生少,管理起来出现各种差错,使用原始的管理办法已经不能解决问题,该系统致力于解决高校在管理学生中遇到的各种困难。高校教务管理在学生选课这一块显得比较困难,课程和学生的数量都很大,双重难度的情况下自然很难做到十全十美。在老师排课的时候因为时间的冲突很难做到一致,学生在选课时候遇到困难不能及时沟通学校管理者,导致选课的进度进展的很慢。这时候就需要一个关于管理学生选课的系统来辅助,利用Java技术和JSP技术作为基础,在MySQL数据库的协助下该系统能够适应平台的使用。设计该系统的目的就是为了使学生在选课的时候能够实现自由选择,遇见问题可以及时反馈,学校的管理者和教师能合理的排课和解决学生遇到的问题。关键词:选课,JSP技术,JAVA技术,MYSQL数据库1.前言1.1.课题背景及研究意义近年来,网络风靡全球,网络走进大街小巷,越来越多的地方需要使用网络技术。其中教育事业也是随着时间逐渐蒸蒸日上,各大高校纷纷拔地而起,在高校增多的情况下,对于管理学生的各种问题也是接踵而至。由于学生数量太大,管理起来也是相当繁琐,以前学校以人力管理学生的模式已经不再能够满足当今社会的需求。在网络技术逐渐发展的时代,在教学管理中对网络技术的需求已经是达到顶峰,以网络应用技术能很大程度上减轻学校在管理学生的难度,以网络技术系统植入高校来协助教务管理已然成为必需。基于上述陈述的观点,要解决教务管理难度就必须使用网络技术。在这个知识已经充分共享的时代,查阅与之相关的资料在难度上已经减小了很多,在广泛的查阅资料后,能够了解如今在高校管理这一块存在着很多的不足,这是好的地方也是一个差的消息。既然发现了问题,那么就需要去解决,这个时候想要开发研制出在各方面都比较完善的能够很大程度上帮助管理的系统,需要是集百家之所长融合一起,去除一些以前比较老旧的观念,在新的方向上勇敢的跨出有时代意义的一步。计算机是一个在很多领域都能大放光彩的技术,应用功能强大且适应能力强。在相对比较成熟的情况下,已经能够很好的融入信息管理这一块,在以前以人力工作为主的时代已经渐行渐远。在技术相对完备的情况下,在设计的想法上要更加新颖和合理才能在有限的技术上发挥出更大的作用。利用计算机来实现一切关于管理的工作已是成为一种新潮。计算机网络技术在工作时限上比人工来的更加长久,不仅如此,它运行速度快和计算精确的能力也是受到越来越多的使用者青睐。这是一种新的发展,研制开发出便于使用的应用系统已然成为一种新的时代走向。随着信息化时代的发展,基于网络技术的教务管理系统也会如雨后春笋一般林立起来。开发这种技术已然成为必需,只要是能够把工作精确合理进行的情况下还能简化操作结构的模式将成为一种进步的必需品,这也变相的说明此次的研究很有意义。1.2.国内外研究现状由于网络技术的普遍使用,国内外对于管理方面应用的研究力度加强了,但是国内的技术终究是慢了国外一步。在很多先进的技术上不能达到同步,国内的制作很多还是停留在模仿的层次,在开发力度上是增强了,但是取得的进步其实是杯水车薪。主要的原因还是在技术方面的起步比较晚,普遍的人数还没有达到一定的程度。这使得在核心力量上显得有点薄弱,在思想模式上还是在传统中很难跳出来。只要能够加大技术人群,集思广益之下必有英才出现,在这样的积累下才能有效的成长,逐步的赶上国外的脚步,并且在合适时机进行反超。现在目前大多数人心里的认知就是国外比国内好,在心理层面上就已经服了软,想要有一个比较良性的进步必须克服这种心理障碍。学生完全可以选择合适自己和相比之下自己比较喜欢的,让学生在选课的时候能够充分实现选择自由。一般情况来说,学生选课的时候会产生很多复杂的因素,例如自己想选的课程已经被选完,不能选到自己需要的模块,这个时候是否能够及时联系教务处添加一个选课名额。在添加课程容量的情况下是不是会打乱整个课程的编排,学生在选课的时候选错了,是否能够自行退课,然后选择合适的等。这是每个高校都会遇见的问题,发现问题并不可怕,至少知道缺点在哪里产生可以针对性讨论出解决方案。最怕的就是不知道问题所在,去盲目的乱撞,找不到问题的源头,最后只会撞的头破血流得不偿失。让每一个老师的课程时间都合理,这样才能稳住阵脚。作为管理员首先要把自己的工作理清楚,才能有条有理的管理。以网络技术为核心的选课管理系统必将让高校的教务管理跨出具有时代意义和实际意义的一步。对比国际上来说国内对于信息化的建设比较晚,怎么样在有限的时间内提高国内的信息化建设,加强人民的互联网素质,这能从根本上解决问题,在后续的发展中不会遗留下后患。在整体信息化程度相对落后,经费不足,理论体系不完善的情况下,国内基于Java的选课信息管理系统设计与实现无论是技术条件还是配置人员等方面想要赶上国外还是有很长一段距离要追赶。虽然落后了国外一定的距离,但是不能为了提升速度而盲目的去拔苗助长,稳扎稳打才是王道,因此本课题以管理学生选课为例,目的就是开发一个实用的,对高校管理学生选课具有实际意义的基于Java的选课信息管理系统。目前在国内各大高校如雨后春笋般纷纷建立,教育的发展变得越来越好,让更多的人能够在学校里学习,这导致学生的数量与日俱增。人一多了各种问题就是接踵而至,没有一个体制健全的管理模式,很难做好高校的管理工作。为了顺应时代的发展,以网络技术为核心的各种管理技术层出不穷,这是一个百花争艳,百鸟争鸣的时代,这是一个盛世,无论在什么时候都不免会有很多投机取巧的人的盗窃别人的劳动成果,国家设立了专利,这样可以保护产权的清晰和所有,这样一群可爱的劳动者值得我们去尊敬和保护他们的利益。正式这样一群人在逐渐打破国内一些传统老旧的东西,他们是时代的开创者,每一个人都应该去贡献自己的一份力。众人拾柴火焰高,集思广益之下肯定能做的更好,改变总会造成动乱,越是乱世越是容易出现优秀的人,时势造英雄。要争取让更多的人去做个英雄,把国内的建设做的更好。大批量的去开发有助于学校信息管理和学生管理的技术,让得学校与学生之间能够融洽的合作,使之间的相互沟通变的简易却又合理高效,这一直是我们想要致力去做的事情,也争取在之后的发展中能做的更好,让之后高校与学生之间的交互能够在网络上就能够实现面对面。1.3.研究内容系统的研究内容就是满足其核心的需求,能够有效的带来便利和减轻学校教务工作者的工作,使其学生能够在任何地方实现实时选课。不在拘泥于时间和地点等其他因素的限制。其主要的功能如下:(1)管理员:管理员可以查看每个用户的登录日志了解用户对系统的登录使用情况,对每个角色信息进行增、删、查、改,创建课程,可以分配课程给固定的老师,除此之外管理员也可以回复学生留言,可以及时了解到学生选课在选课时的具体情况。(2)学生用户:可以修改登录密码保障完全性,可以对自己的信息进行管理修改,可以查看到关于课程的信息:可以查看还有什么课程,多少人已选,还剩多少名额,在选完课程之后能够查看自己选了哪些课程。(3)教师用户:可以查看和修改自己的基本信息,可以查看学生的基本信息和留言,在课程界面可以了解学生的选课情况和查看课程信息。主要功能如图1-1:图1-1学生选课系统2.系统开发环境2.1.JAVA介绍Java经过这么多年成长已经是很成熟的编程语言了,能够适应多维度的开发。本系统所有设计需求都能在Java语言的基础上完成,它所能提供的技术支持能够满足绝大多数应用程序的开发,选择Java可以在兼容性上得到最大程度的保证。2.2.B/S框架B/S的体系结构模型是采用三层程序开发的,其开发的成本很小。B/S的实用性非常的高,适应能力强,对于硬件的要求很低可以满足大多数人群的使用,让客户端零安装和维护。不仅如此,他还有一个优点是系统的扩展非常容易。2.3.MYSQL数据库MySQL是一款关系型数据库管理系统,MySQL数据库的特点有体积小、运行速度快、方便操作等,这些特点让他成为目前最流行的关系型数据库之一,它拥有开发成本低、容易开发源码等特点,这也是特别符合高校学生管理系统的设计。2.4.HTML简介HTML的主要结构分为头部分和主题部分,其中头部分负责提供相关的网页信息,而主题部分负责提供网页的具体内容。很方便的就能获取一个个新的网页,这也是为什么选择HTML的一个重要原因。2.5.MyEclipse平台MyEclipse是在Eclipse的基础加上自己独特的插件开发而成的功能强大的开发环境。它们的区别在于识别Web文件夹的不同。它的强大在于集成开发可以实现跨平台,不用受外界环境因素的限制。整个软件环境的构成主要是系统设计、编码、测试和系统调试。MyEclipse可以构建各种架构,如Hibernate、Struts、J2EE、Spring等。MyEclipse的服务对象是软件开发,开发出服务器端各种功能模块。其数据传输的形势是通过数据库将服务器端的数据输送到客户端。Myeclipse最成功的改进是避免了复杂的环境配置,让编程变得更加便利。2.6.JSP简介用JSP开发的web应用是可以跨平台的实现的,可以在多种操作系统上运行,JSP将网页逻辑和设计分开,可以借用其他基础的组件设计,让web应用程序的开发变得简易。JSP有一个特别强势技术,就是编写完成后可以在多个载体上运行,代码却不用做任何的更改,在多个平台上都能随意开发,在任意系统和环境中部署和扩展,其适应性强的特点让它风靡于各种设计。正式因为它的任意性强,为了加大伸缩力度,导致和Java的优势相冲突大大的加大产品的复杂性[17,18,19]。安装完成之后,就需要讨论JSP的语法,在偷懒的情况下可以下载一个语法卡,在设计中需要注意的是由于优势相冲突。3.系统设计与分析3.1.可行性分析基于Java的选课信息管理系统其主要目标就是能够极大便利帮助学校教务工作开展,其需要关注的点就是这个系统能否如约的进行开发。所以必须要对系统开发进行多方面多因素的可行性分析,只有能适应时代需求,才有它存在的意义,具体分析如下。3.1.1.技术可行性选课管理系统主要采用JSP技术,JAVA语言,HTML语言,基于B/S结构,MYSQL数据库,由web前端应用程序的开发和建立后台数据库组成。使系统的功能完备能够顺利运行的情况下还要让其使用起来简单,在建立数据的时候需要让数据库能够完好与系统相交互,而且还要保证数据库的完备性,这些MYSQL数据库都能完美胜任。到目前为止,这些技术已经很完善了在使用上也是普及了。因此,在技术方面可行。3.1.2.操作可行性使大众人群具体使用的时候能简单明了的就能清楚使用规则,系统的登录界面设计的初衷就是要干净简洁和便于操作。在登录界面的设计上也是采用比较常见的登录界面,用户通过电脑就能很轻松使用,整个界面部件的设计都是很简单易懂,这样大大加大使用人群的范围,即使是电脑小白也能轻松通过此界面完成一些了操作。系统的设计初衷就是为了适应更加庞大的用户群使用,在操作上是可行的。3.1.3.经济可行性系统是在本身的开发需求上采用的是当前国内在技术上已经比较完备的开发语言。在软件和硬件上都是能够轻易的满足,对于开发经费的需求可以忽略不计。系统在程序的开发成本主要是在新颖的想法上,对于其他的要求较低,只要对于开发软件能够熟练使用就能够轻易的进行开发,在硬件要求上只是需要一台能够正常使用的电脑。由于本系统是面向一个信息管理系统的设计与开发,在系统开发上并不是很大,整个系统属于中的复杂程度,在时间要求上不严格只需少量时间就能进行开发,所以开发成本适中。在整个系统的开发与设计上,一个人就能够完成,所以其经济可行性很高。3.1.4.法律可行性本次关于信息管理的设计完全是个人设计完成,并且具有很大的实际意义。开发使用的源代码都是自己构思的,在软件上使用的全是免费的供广大用户使用的。因此在整个系统的设计与开发上都是属于正规的操作和使用,没有涉及到任何关于侵权的问题,因此其法律的可行性很高。综上所述,本系统的设计和开发的可行性高。3.2.系统流程分析3.2.1.系统开发流程本系统设计了一个很全面和科学的开发流程,让系统能够如期完成要求,实现简化学生选课管理的作用。在原有基础上进行有必要的拓展和完备。系统的具体开发流程如图3-1所示图3-1系统开发流程图3.2.2.用户登录为了对每一个保障用户的安全,每一个用户都只能用自己单独的账号密码才能登录使用,不填或者填写错误都不能进入系统。登录流程图如3-2。图3-2用户登录流程图3.3.系统功能分析3.3.1.功能概述学生选课管理系统的主要角色分别是管理员用户、学生用户和教师用户,每个功能之间息息相关却又独立,其具体功能如下:(1)管理员:管理员登录后主要功能修改有个人信息、老师信息和学生信息,可以添加修改课程信息并分配给相应的教师;(2)学生用户:学生用户登录后可以查看课程信息和选课,可以留言给老师,可以修改自己的个人信息。(3)教师用户:教师用户的主要职责是查看学生选课情况,并回复学生的留言看。3.3.2.系统功能结构以前面所述的观点可得基于Java的选课信息管理的功能结构,如图3-3所示:图3-3系统功能结构图3.4.性能需求分析本选课系统的需求就是能够精确的满足每个角色能够顺利的行驶自己的功能,每个版块能够一起组成一个完成的关于管理学生选课的系统。3.5.系统用例图UML又称作标准建模语言,是一个支持模型化和软件系统开发的图形化语言。通过建模能够形象明了的了解每个角色用户具体功能。管理员登录后的主要功能有个人信息、课程类型、老师信息、学生信息、课程信息以及选课信息。管理员用例图如3-4所示。图3-4管理员用例图学生用户登录后主要模块有个人信息、课程信息、选课信息以及个人消息。学生用户用例图如3-5所示。图3-5学生用户用例图教师用户登录后主要功能有个人信息、学生信息、课程信息以及选课信息。教师用户用例图如3-6所示。图3-6教师用户用例图3.6.体系结构分析浏览器发出一个请求,并且将数据请求处理,其余部分返回结果和动态页面构造并通过Web服务器完成其他的工作。用户在浏览器上进行数据操作,操作的请求会传递到服务器中,服务器会根据请求去获取数据库信息或是对数据库进行操作,返回请求执行后的数据信息,数据信息会在浏览器页面进行显示。BrowseBrowse浏览器Web服务器数据库图3-7B/S三层架构示意3.7.数据库分析数据库承载着整个系统的运行,在数据库设计的时候需要使数据库的容量能够供系统运行的调用,数据库的结构要尽量的简单,这样可以能使系统的工作量大大降低。在保证结构简单的情况下更加需要的是让数据库合理化,这样在运行时候才会避免出现错误。3.7.1.数据库设计原则在数据库的设计中本着方便适应,结构简单合理的原则,其主要的方法原则有如下:(1)一个整体的数据库是有各个局部模块组成,其方法有从内之外,自顶向下等方法。(2)在数据库物理结构设计中主要分为存取方法和存储结构两个部分。(3)数据库设计存在多种关系模式,索引存取法是很常见的一种方法,自身体积小使用起来非常方便。3.7.2.数据库概念设计数据库的设计归根结底是离不开数据的,如何能使数据可视化,就需要分析出合适用户使用的可视化视图,在整合集成每个视图,让数据库结构能够一体化,各个局部结构能够正常供系统运行。其概念设计常用的模型是实体-联系的模型,这种方法能够清楚的看到每个实体之间的联系,俗称E-R图。概念设计的出发点就是能够适应各种企业级应用程序,让其能够普遍的在各种各样的系统中得到应用。3.7.3.数据库E-R图设计概念模式的设计通常使用的模型是E-R模型来表示数据之间的相互联系。E-R模型能够很明了的表明各个模块表之间的关系,不仅如此,在整体上能看清整个系统的优劣,对每个实体的属性也可以清晰的展示出来。本系统选课的E-R图如下图所示:图3-8E-R图3.7.4.数据库表设计系统的正常运行离不开数据库,一个整体的数据库需要许多个表来实现,选课系统主要的表分别是课程信息表、学生留言表、选课信息表、课程类型表、老师信息表和学生信息表等。表3-1课程信息表字段数据类型长度是否可空注释nameVarchar50是名称xianxuanVarchar20是限选yixuanVarchar20是已选kexuanVarchar20是可选typeVarchar1是类型teacherVarchar20是老师timeVarchar8是时间表3-2学生留言信息表字段数据类型长度是否可空注释studentVarchar20是学生nameVarchar50是名称describeVarchar255是描述teacherVarchar20是老师refuwordVarchar255是回复timeVarchar8是时间表3-3选课信息表字段数据类型长度是否可空注释teacherVarchar20是老师classVarchar20是课程stateVarchar1是状态studentVarchar20是学生timeVarchar8是时间表3-4课程类型信息表字段数据类型长度是否可空注释nameVarchar50是名称commentVarchar255是备注表3-5老师信息表字段数据类型长度是否可空注释nameVarchar50是名称sexTinyint20是性别numVarchar20是电话timeVarchar8是时间表3-6学生信息表字段数据类型长度是否可空注释nameVarchar50是名称sexTinyint20是性别numVarchar20是电话timeVarchar8是时间4.系统开发设计与实现4.1.开发需求与系统架构4.1.1.开发需求根据本次的实际情况,系统开发环境如下:操作系统:Windows7开发软件:Myeclipse10数据库:Mysql5.0开发语言:Java服务器:Tomcat6.0处理器:intelcorei7内存:8g4.1.2.系统架构系统基于B/S模式,主要由jsp前端界面、java后端代码和mysql数据组成。主要运行流程:jsp界面通过HTTP协议访问服务器,服务器使用HttpServletRequest接收客户端请求,随后进行相应的逻辑处理与数据校验,请求参数通过myBatis框架中的Mapper与数据库进行交互,实现相应的增删改查操作。交互结束后,结果封装到HttpServletResponse当中返回给jsp界面。jsp通过html标签、jQuery组件、easyUI组件等进行数据展示。通过perties配置数据库信息(在cgm0xuanke\conf文件夹下边)jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc\:mysql\://localhost\:3306/db_cgm0xuankejdbc.username=adminjdbc.password=admin数据库信息配置到sqlMapConfig.xml文件当中,系统启动时通过读取该文件与数据库建立连接。进入前端页面时,jsp页面给后台服务发送请求,后台通过Controller接口接收请求,并进行相应的逻辑处理,通过mybatis框架与数据库进行交互,并对其进行相应的增删改查操作,得到的结果封装后返回到jsp界面,进行数据展示,如图4-1。图4-1系统总架构4.2.系统主要功能其主要功能是可以修改每个角色用户的信息和课程信息,分配课程,留言能及时反馈等功能。4.2.1.主界面功能实现每个角色用户需要先选择自己的角色类型,输入正确的账号密码才能登陆,其界面如图4-2,4-3所示。图4-2登录界面流程图 intguanliyuanxiugaimima(HttpServletRequesthttpreque, HttpServletResponsehttprespon){ try{ Stringglpwd2=httpreque.getAttribute("mima").toString(); JSONObjectjsonreusl=newJSONObject(); intz=0; Guanliguanliyuam=newGuanli(); guanliyuam.setAdminName(newString("admin")); Stringglpwd=(String)httpreque.getParameter("mima1"); guanliyuam.setGuanliPassword(glpwd); if(adsev.findGuanli(guanliyuam,z,z).size()==1){ guanliyuam=(Guanli)(adsev.findGuanli(guanliyuam,z,z)).get(z); guanliyuam.setAdminPassword(glpwd2); adsev.updateguanli(guanliyuam); 图4-3主界面功能实现4.2.2.管理员登录功能模块管理员是权限最大的一个角色,把管理员的角色类型放在第一位,输入账号密码即可登录,登录后进入专属界面,查看所有的功能权限。其界面如图4-4,4-5所示。图4-4管理员登录流程图登录功能实现如下 intdenglu(HttpServletRequesthttpreqss, HttpServletResponsehttpresp)throwsThrowable{ dengluleixing=httpreqss.getAttribute("dengluleixing").toString(); yonhu111=httpreqss.getAttribute("yonhu111").toString(); mimade111=httpreqss.getAttribute("mimade111").toString(); LogBiaologb=newLogBiao(); logb.setRizhiName(yonhu111); logb.setDate(dddd); logb.setDengluIp(ip); Stringip=httpreqss.getRoIps(); Datedddd=Calendar.getInstance().getTime(); rizhiService.save(logb); if(yonhu111==null||mimade111.equals(“”)){ httpreqss.setAttribute("emsg",newString("usernameorpasswoorderror!")); httpreqss.getRequestDispatcher((new String("error/indexs.jsp")).forward(httpreqss, httpresp);图4-5管理员主界面4.2.3.老师信息管理模块管理员可以管理老师各种信息,根据合理的具体情况能做出修改,可以根据用户名以及姓名进行筛选。其界面如图4-6,4-7所示。图4-6老师信息管理流程图 publicListgetYonhuList(Yonhurecord){ List<Yonhu>list= yonghuDao.selectAllUser(record,Yonhuname,page,rows,sdate,edate,sdate1,edate1); returnlist; } publicvoidupdateYonhu(YonhuYonhu){ yonghuDao.updateByID(Yonhu); } publicYonhugetYonhuById(intid){ YonhuYonhu=yonghuDao.selectUserByID(id); returnYonhu; } publicvoiddeleteYonghu(Integerid){ yonghuDao.deleteByPrimaryKey(id);}图4-7教师信息管理界面4.2.4.课程类型信息管理模块课程类型的修改者来自管理员,它可以师生的实际需求设立课程,也可以对备注进行查看和修改。其界面如图4-8,4-9所示。图4-8课程类型管理流程图管理员输入课程类型信息的名称和备注,系统首先判断内容是否为空,如果不为空则向数据库插入一条数据,如果为空则提示用户信息输入有误。intaddSjleixing(HttpServletRequestrequest,HttpServletResponseresponse) throwsThrowable{ try{ StringsjleixingName=request.getAttribute("zijlxName").toString(); StringzijlxPhone=request.getAttribute("zijlxPhone").toString(); JSONObjectfrett=newJSONObject(); StringzijlxMark=request.getAttribute("zijlxMark").toString(); StringzijlxMark1=request.getAttribute("zijlxMark1").toString(); StringzijlxMark2=request.getAttribute("zijlxMark2").toString(); StringzijlxDizhi=request.getAttribute("zijlxDizhi").toString(); StringzijlxDate=request.getAttribute("zijlxDate").toString(); StringzijlxDate1=request.getAttribute("zijlxDate1").toString(); StringzijlxType=request.getAttribute("zijlxType").toString(); StringzijlxType1=request.getAttribute("zijlxType1").toString(); StringzijlxDouble=request.getAttribute("zijlxDouble").toString(); StringzijlxDouble1=request.getAttribute("zijlxDouble1").toString(); StringzijlxId=request.getAttribute("zijlxId").toString(); zijlxzijlx=newzijlx(); if(null!=zijlxId){ zijlx=zijlxService.getzijlx(Integer.parseInt(zijlxId); } if(null!=zijlxName){ zijlx.setzijlxName(zijlxName); } if(null!=zijlxPhone){ zijlx.setzijlxPhone(zijlxPhone); } if(null!=zijlxMark){ zijlx.setzijlxMark(zijlxMark); } if(null!=zijlxMark1){ zijlx.setzijlxMark1(zijlxMark1); } if(null!=zijlxMark2){ zijlx.setzijlxMark2(zijlxMark2); } if(null!=zijlxDizhi){ zijlx.setzijlxDizhi(zijlxDizhi); } if(null!=zijlxDate){ zijlx.setzijlxDate(DateUtil.formatString(zijlxDate, "yyyy-MM-ddhh:mm:ss"); } if(null!=zijlxDate1){ zijlx.setzijlxDate1(DateUtil.formatString(zijlxDate1, "yyyy-MM-ddhh:mm:ss"); } if(null!=zijlxType){ zijlx.setzijlxType(Integer.parseInt(zijlxType); } if(null!=zijlxType1){ zijlx.setzijlxType1(Integer.parseInt(zijlxType1); } if(null!=zijlxDouble){ zijlx.setzijlxDouble(Double.parseDouble(zijlxDouble); } if(null!=zijlxDouble1){ zijlx.setzijlxDouble1(Double.parseDouble(zijlxDouble1); } if(null!=zijlxId){ Datedate=newDate(); zijlx.setzijlxDate(date); zijlxService.modifyzijlx(zijlx); frett.put("失败了","true"); RespUtils.print(response,frett); }else{ zijlxService.save(zijlx); frett.put("成功了","true"); RespUtils.print(response,frett);图4-9课程类型信息管理界面4.2.5.课程信息管理模块管理员决定课程信息,根据名称、类型以及老师信息进行查询,列表展示名称,类型,老师以及待选课程的数量等信息。其界面如图4-8,4-9所示。图4-10课程信息管理流程图管理员输入课程名称或类型或教师信息,如果不为空则,指令到达数据库根据条件搜索,查询出相关数据并返回展示;如果信息为空则提示用户信息输入错误。 publicvoidpartcomArr(HttpServletRequesthtreqs,HttpServletResponsehtrps) { intz=0; deptStr=htreqs.getAttribute("deptStr").toString(); empid=htreqs.getAttribute("empid").toString(); Deptdept=newDept(); if(null!=deptStr){ dept.setDeptType(Integer.parseInt(deptStr)); } if(empid.equals("")){ dept.setEmpId(Integer.parseInt(empid)); } try{ JSONObjectjobj=newJSONObject(); jobj.put("emid",""); jobj.put("deptName","pleasechoose..."); JSONArrayjarr=newJSONArray(); jarr.add(jobj); jarr.addAll(JSONArray.fromObject(deptService.queryDept(dept,z,z))); RespUtils.print(htrps,frett);图4-11课程信息管理界面4.2.6.选课信息管理模块学生用户可以在选课界面进行选课或是取消选课的操作。其界面如图4-10,4-11,4-12所示。图4-12学生查询选课信息流程图学生输入需要查询的课程名称,如果不为空则系统从数据库中根据课程名称进行条件查询,查询出相关数据并返回展示;如果信息为空则提示查询的课程名称不可为空。图4-13学生取消选课流程图学生选择需要取消的选课,学生的操作行为会提交到系统,系统首先校验信息是否正确,如果正确,从数据库中删除这条选课记录,返回取消成功。如果不正确,则提示学生本次课程非所选课程,取消选课失败。publicvoidqueryOthers(HttpServletRequesthtrqs, HttpServletResponsehtrps)throwsThrowable{ StringotherId=htrqs.getAttribute("otherId").toString(); StringotherType1=htrqs.getAttribute("otherType1").toString(); StringotherType=htrqs.getAttribute("otherType").toString();intz=0; Stringpg=htrqs.getAttribute("pg").toString(); Stringrws=htrqs.getAttribute("rws").toString(); StringotherName=htrqs.getAttribute("otherName").toString(); StringotherPhone=htrqs.getAttribute("otherPhone").toString(); Otherother=newOther(); PgBeanpgBean=null; if(pg!="null"){ pgBean=newPgBean(Integer.parseInt(pg),Integer.parseInt(rws)); }else{ pgBean=newpgBean(z,z); } JSONArrayjsArr=JSONArray.fromObject(otherService.queryothers( other,pgBean.getStart(),pgBean.getrws())); JSONObjectreJson=newJSONObject(); inttotal=otherService.queryothers(other,z,z).size(); reJson.put("all",total); reJson.put("rws",jsArr); RespUtils.print(htrps,reJson);图4-14学生选课界面4.2.7.学生留言模块老师用户们可以自己的系统界面查看到每个学生的留言信息,选中需要回复的学生选项,输入需要回复的内容然后点击回复按钮,就可以进行回复。其界面如图4-13,4-14所示。图4-15学生留言流程图publicvoidqueryTips(HttpServletRequesthtprqs, HttpServletResponsehtprps){ intz=0; Stringpage=htprqs.getAttribute("page").toString(); Stringrows=htprqs.getAttribute("rows").toString(); StringtipName=htprqs.getAttribute("tipName").toString(); StringtipId=htprqs.getAttribute("tipId").toString(); StringtipTypeid=htprqs.getAttribute("tipTypeid").toString(); StringtipType=htprqs.getAttribute("tipType").toString(); StringtipType1=htprqs.getAttribute("tipType1").toString(); Stringsdtid=htprqs.getAttribute("sdtid").toString(); StringdeptId=htprqs.getAttribute("deptId").toString(); StringteaId=htprqs.getAttribute("teaid").toString(); StringstepId=htprqs.getAttribute("stepId").toString(); StringcreateDate=htprqs.getAttribute("createDate").toString(); Stringupdatetime=htprqs.getAttribute("updatetime").toString(); SdtTipstip=newSdtTips(); PgEntitypgentyi=null; if(page!=null)){ pgentyi=newPgEntity(Integer.parseInt(page),Integer.parseInt(rows)); }else{ pgentyi=newPgEntity(z,z); } try{ JSONObjectjobj=newJSONObject(); JSONArrayjArrs=JSONArray.fromObject(tipService.querytips( tip,pgentyi.getStart(),pgentyi.getRows(),creatupdatetime,updatetime)); intalltips=tipService.querytips(tip,z,z,creatupdatetime,updatetime).size(); jobj.put("jArrs",jArrs); jobj.put("alltips",alltips); ResponseUtil.write(htprps,jobj); }catch(Exceptionexception){ log.error(exception); }图4-16学生留言界面5.系统测试5.1.测试的意义软件测试的含义就是对整个系统的一次考验,能否真正在实际中投入使用,在测试中能够得出在设计时不容易发现的问题,毕竟使用和设计是两个不同的概念。之所以需要测试就是想要在这个过程发现不足之处和问题,知道问题才能对症下药的去解决,所谓实践才是真理。5.2.测试方法对每个模块进性操作测试和内容测试,使用正确的操作、错误的操作和不作为操作对每个模块进行测试。采用这种多方面多角度的测试方法能够检测出系统在性能上是否能够达标,测试的全面能够体现系统在设计的准确无误,在功能的上经得起不同程度和形势的考验。5.3.测试用例表5-1用户登录模块测试用例用例编号测试用例描述操作过程及数据预期结果测试结果N001输入正确的用户名密码输入账号(cjhwan),密码(cjh519988)成功的跳转到角色所在的主界面通过N002输入错误的用户密码输入账号(cjhwan),密码(519988)系统界面没有成功跳转,提示账号密码错误通过N003空用户名密码输入账号(),密码()系统界面不发生跳转,提示错误通过表5-2课程管理模块测试用例用例编号测试用例描述操作过程及数据预期结果测试结果F001录入课程信息点击添加按钮,填写课程信息,点击确定按钮添加的课程信息在系统中显示通过F002修改课程信息点击列表操作栏中的修改链接,改动信息后,点击确定按钮课程信息发生变化,并显示通过F003删除课程信息选中要删除的信息,点击确定删除的信息不显示通过表5-3教师用户管理模块测试用例用例编号测试用例描述操作过程及数据预期结果测试结果T001点击新增按钮,输入正确信息按照系统流程填写教师用户相关信息后点击确定系统提示保存成功,教师用户信息保存到数据库通过T002点击修改按钮,输入错误信息按照系统流程将教师用户的不可为空信息填写为空后点击确定系统报错,跳转到保存失败界面通过T003点击新增按钮,不输入任何信息在不填写任何内容的情况下下,点击确定按钮系统报错,系统信息不做任何改变通过5.4.测试总结经过测试,系统的设计能够初步的达到起初的需求,能够有效体现自身的价值。且各个功能模块之间能非常协调的一起运行,整合在一起组成一个完整的选手选课系统。6.结论经历了好几个月努力,在设计的管理系统呈现面前时标志着这段时间没有白白浪费,基于Java的选课信息管理系统在很大程度上减轻了高校在管理学生的工作量,它所拥有的学生留言功能能够解决学生在选课时遇见问题不能及时反馈给校方的问题。系统能够将课程有效的分为不同专业类型的模块,让学生在选

温馨提示

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

评论

0/150

提交评论