主页 > 案例大全 > 论文技巧大全-基于java的选课系统

论文技巧大全-基于java的选课系统

2021-04-07 12:28:16

  随着科技的进步,社会不停的发展,人们对于科学化管理信息的需求,已经到达了一个非常高的层次。效率低下的线下管理信息的模式已经无法满足现代大学的需求,能够使信息的收集、管理与查看达到高效化的线上管理模式成为时代的需求。而当今学业繁重的大学正是最需要这种高效管理系统的人群,例如选课这项工作,往日的工作模式明显达不到高效化的需求。所以为了满足选课工作高效化的需求我设计了这个网页,本网页需要学生、教师自己申请账号,并有赋予了最高权限的管理员进行权限管理。学生可以在线查看自己的课程,选课和查看成绩。教师可以发布自己的课程,对学生的课程学习进行评分。管理员独立于用户之外对学生和教师进行集中式管理,比如统一安排课程以及更新成绩等。考虑到需要实现信息的动态显示以及高度的便携性,所以本网页采用B/S结构,与此同时采用JSP技术进行动态的页面设计。通过对以上技术的研究与学习,实现一个基于Java的学生选课系统就是本次毕业设计的目的。

  1.1项目架构设计概述

  系统登录界面采用简单的标题,凸显出办公软件的严肃性。标题设计简单的登录按钮与注册按钮,只需要填写用户名(即学号)密码以及四位数验证码就可以登录,密码与验证码错误都会报错。注册界面为简单的用户名与密码注册,默认身份为学生,管理员只能后台添加,老师只能管理员添加或者后台添加。

  进入主界面之后右上角显示推出登录以及修改信息等操作,中间有大标题的欢迎界面,左边设置功能栏。不同的身份有不同的功能权限,学生可以进行查看课程等操作而无法编辑成绩,老师可以对成绩进行编辑,管理员则拥有所有权限并可以对其他身份进行修改[[]]。

  App的每一次数据操作均向特定主机IP及端口发送RESTFUL请求,后台收到请求后通过MYSQL的特定主机IP及3306端口对数据进行持久化操作。[[]]

  后台为每个用户角色及课程提供Controller分发请求返回JSON数据、Service处理必要的逻辑、Mapper操作持久化数据[[

  ]]。

  1.2功能概述

  1.2.1注册

  填写用户名(即学号)、密码以及验证码进行注册,后台通过检索判断用户是否全部完成了填写,确认完成则对用户进行写入数据库的操作。对于过程中不想继续进行注册的用户,提供返回登录功能。

  1.2.2登录

  输入登录信息以及验证码之后,后台进行检索核对信息,没有错误就可以进入对应角色的主界面。

  1.2.3学生

  学生能够进入功能界面点击按钮进行选课,以及对自己所选课程进行条件查询并查看自己的成绩。学生还可以对自己的课程进行个性化编辑,备注等。学生可以修改自己的个人信息以及密码。

  1.2.4教师

  教师可以查看课程信息,查看选课的情况,也可以对课程进行编辑操作,增加课程。教师可以对学生的课程打分,对成绩进行增删改查操作。教师可以修改自己的个人信息以及密码。

  1.2.5管理员

  管理员拥有最高权限,能进行教师和学生的所有操作。管理员可以对成员的身份以及个人信息进行修改操作,也可以增加新的教师或者学生。管理员可以修改自己的个人信息以及密码。

  2.可行性分析

  2.1技术可行性分析

  技术可行性即是开发者使用的技术是否是易用的稳定的以及得到大众认可的技术。本系统服务端采用了Browser/Server进行构建,以及采用了Html5技术和Jsp技术等对主系统进行开发,这样的系统在部署维护等方面都有着稳定安全方便的特点[[

  ]]。

  2.2操作可行性分析

  本系统界面简单易于操作,采用非常简洁移动的登录与注册界面,可通过电脑以及手机自带的浏览器进行访问操作,随时随地都可以进行访问操作。采用Jsp语言基于B/S结构,使系统更加完善。

  2.3经济可行性分析

  本系统基于B/S结构,采用My Sql进行数据的存储,在开发的人力成本上并不高,系统比较简单,开发周期不长,在经济上可行性较高。且使用的软件以及环境都可在消费级市场买到,主要成本基本都在开发与维护。

  3.开发环境搭建

  3.1 Java(13.0.2)

  在官方网站下载安装包,并通过正确流程安装配置好该版本的Jdk,cmd输入java-version检查,如图3-1即为安装成功:

  图3-1 jdk安装完毕

  3.2 My Eclipse(10.4)

  通过正规途径下载My Eclipse的安装包,进行安装。

  3.3 MYSQL(8.0.12)

  通过MYSQL的官方下载途径获得mysql的安装包,设置用户名密码等数据库的基本信息。

  4.数据库设计

  该系统由四个实体构成,分别为用户表、课程、成绩和选课表。用户表负责对所有使用者进行整合管理。课程用来存放课程信息,实现教师与课程的一对多关系。成绩用来存放成绩信息,实现教师与成绩的一对多关系。选课表用来实现用户实体和课程实体的多对多关系[[]]。

  4.1课程

  课程的E-R图如图4-1所示:

  图4-1课程E-R图

  课程表详细信息如表4-1所示:

  表4-1课程表

  字段名称数据类型主键必填备注

  id Int Yes Yes课程ID

  User Int No No教师编号

  c_name Varchar No No课程名称

  C_time Varchar No No开始时间

  C_end Varchar No No截止时间

  c_type Varcher No No课程类型

  C_num Varcher No No限选人数

  C_ks Varcher No No课时

  C_miao Vercher No No课程描述

  C_bz Varcher No No课程备注

  4.2用户

  用户E-R图如图4-2所示:

  图4-2用户E-R图

  用户表详细信息如表4-2所示:

  表4-2用户表

  字段名称数据类型主键必填备注

  id integer Yes Yes用户id

  username varchar No No用户名

  password varchar No No密码

  name varchar No No名字

  sex varchar No No性别

  type varchar No No身份类型

  tel varchar No No联系方式

  address vaecher No No地址

  birthday varcher No No生日

  4.3成绩

  成绩E-R图如图4-3所示:

  图4-3成绩E-R图

  成绩表的详细信息如表4-3所示:

  表4-3成绩表

  字段名称数据类型主键必填备注

  id integer Yes Yes成绩id

  course integer No No课程id

  user integer No No学生id

  a_name varchar No No课程名称

  a_time varchar No No创建时间

  a_price varchar No No分数

  a_ping varcher No No评价

  a_ba varcher No No备注

  4.4选课表

  选课表E-R图如图4-4所示:

  图4-4选课表E-R图

  选课表的详细信息如表4-4所示:

  表4-4选课表

  字段名称数据类型主键必填备注

  id integer Yes Yes选课id

  user integer No No学生id

  course integer No No课程id

  c_timr varchar No No选课日期

  c_name varchar No No选课名称

  c_miao varchar No No描述

  c_status varchar No No选课状态

  c_bz varchar No No备注

  5.项目具体实现

  5.1技术简介

  5.1.1 Hibernate

  Hibernate是ORM(Object_Relative DateBase-Mapping)框架的一种,使Java对象与关系数据库产生一种映射,用于实现直接存取Java对象[[

  ]]。

  5.1.2 Jsp(JavaServer Pages)

  JSP是一种动态网页技术标准,由Sun Microsystems公司主导并创建。JSP部署在服务器上,可以根据客户端发送的请求动态地生成Web网页,然后返回给请求者[[]]。该技术Java语言作为脚本语言,服务于用户的http请求,并且可与服务器上的其他程序协同处理业务需求。

  5.1.3 B/S(Browser/Server)结构

  B/S即为浏览器程序,B/S架构是对C/S架构进行改进后提出的网络结构模式。B/S是一种特殊的C/S,它属于C/S,浏览器只是特殊的客户端[[]]。

  5.2系统流程实现

  5.2.1登录流程

  第一个流程为登录流程。处于安全性,只有登录到系统中才能对信息进行访问以及管理,登录流程如图5-1所示。详细代码见附录1。

  图5-1登录流程图

  5.2.2系统操作流程

  用户打开系统,最先进入的是登录页面,用户根据页面信息填写正确的用户名、密码和验证码进行登录,系统会检查登录信息是否正确,如果正确就会进入对应角色的系统功能页面,不正确返回错误信息,登录失败。系统操作流程如图5-2所示。

  图5-2系统操作流程图

  5.2.3添加新信息流程

  管理员可以对用户、课程、选课信息以及成绩进行添加等操作。学生可以对选课信息进行添加操作。教师可以对课程、选课信息以及成绩进行添加操作。用户们输入要添加的信息,系统会对信息进行验证。如果添加的信息符合要求,则验证成功,添加到数据库,不合法则无法添加,需要重新录入信息。添加新信息流程如图5-3所示。增删改功能模块详细代码见附录2。

  图5-3添加新信息流程

  5.2.4删除信息流程

  所有的角色都可以对自己可添加的信息进行删除,选中单个信息删除,或者勾选多个信息进行批量删除。用户进行此操作时系统会提示是否确定删除,单击确定,系统就会将数据库的信息删除。删除信息的流程如图5-4所示。

  图5-4删除信息流程

  5.2.5修改信息流程

  管理员可以对用户、课程、选课信息以及成绩进行修改等操作。教师可以对课程、选课信息以及成绩进行修改操作。用户们输入要修改的信息,系统会对信息进行验证。如果修改后的信息符合要求,则验证成功,添加到数据库,不合法则无法添加,需要重新输入信息。修改信息的流程如图5-5所示。

  图5-5修改信息的流程

  5.3页面设计实现

  5.3.1登录以及注册页面

  (1)打开网页进入登录界面,在此界面用户进行登录操作,用以进入不同的页面进行交互。输入身份信息后输入验证码并点击登录。登录页面如图5-6所示:

  图5-6登录页面

  (2)点击注册可以进入注册页面,输入注册信息以及验证码,输入的信息不能和库中的重复,符合规范后注册成功。注册页面如图5-7所示:

  图5-7注册页面

  5.3.2用户界面(以管理员admin为例)

  页面布局相同,各种身份的用户根据可进行的操作不同,功能页面也会有所不同。以下只展示管理员admin的用户界面。用户界面如图5-8所示:

  图5-8用户界面

  右上角显示用户名、个人信息以及修改密码按钮。左栏部署用户的功能界面,单击按钮可以展开用户功能。

  5.3.3用户功能界面(以管理员admin为例)

  管理员、教师、学生的页面布局基本完全相同,管理员拥有所有的功能权限,因此以下功能界面只以管理员admin进行演示,管理员拥有对用户、课程、选课信息、成绩的增删改查权限。相关功能如图5-9所示:

  图5-9功能界面

  用户管理,根据相关提示完善信息,可录入用户,成功就可以在查询用户处看到增加的新用户。查询页面如图5-10所示

  图5-10查询页面

  点击右侧的删除按钮,可以进行单个用户的删除,勾选右侧可进行批量删除。点击修改按钮可以进行用户信息的修改,界面和增加用户的基本相同,不再进行展示。

  课程管理,增加课程界面,老师一栏提供数据库的老师选项,不能随意修改。开始时间与结束时间有快捷栏快速选择。增加课程页面如图5-11所示:

  图5-11课程增加页面

  查询课程界面与查询用户界面基本一致,不再演示。

  选课管理,选课界面第一行只能选择学生以及课程,无法进行编辑,输入完基本信息点击保存按钮进行提交。选课页面如图5-12所示:

  图5-12选课页面

  查询界面与以上查询用户界面和查询课程界面基本一致,不再演示。

  成绩管理,增加成绩的第一行信息只能进行选择不能编辑,输入完成点击保存可以实现成绩的上传。增加成绩页面如图5-13所示

  图5-13增加成绩页面

  查询界面与以上各种查询界面几乎一致,不再演示。

  6.系统测试

  系统测试是系统开发的最后一个步骤,用户对系统可用性和可靠性的实现就要通过这个步骤来完成。一般系统测试包含很多种,主要有功能测试、安全测试、可用性测试和性能性测试等。测试的目的是在模拟的系统中运行,以不同的身份与账户进行各种功能的使用,看看在运行过程中是否会出现bug,然后对bug进行修复与调试。所以我们的测试必须严谨、完善和规范[[]]。bug越少,说明系统的出错率越低,用户的体验就约好。

  6.1功能测试

  6.1.1学生功能

  登录成功进入系统主界面,系统菜单显示课程管理、选课管理和成绩管理。在系统菜单点击课程管理打开查询功能。可以看到事先输入的课程数据,填写查询条件并点击查询按钮,可以看到所有符合条件的课程。点击选课管理的增加按钮,学生栏无法选择,只显示登录用户本人。输入信息保存,点击查询可以看到刚选完的课程。点击成绩管理,只显示查询功能,右侧显示课程的成绩信息。输入查询条件,可以按条件检索成绩信息。经过测试,学生的功能没有发生错误。

  6.1.2教师功能

  登录成功进入系统主界面,系统菜单显示课程管理、选课管理和成绩管理。在系统菜单点击课程管理,可以看见增加与查询功能。点击增加,输入课程信息并保存。点击查询可以看到刚才输入的课程信息。点击修改按钮,返回了修改界面,修改信息然后返回查询观看,修改生效。点击选课管理,增加选课信息,可以对刚才测试学生功能所创建的数据进行修改或者删除。点击成绩管理,可以看到增加与查询按钮,点击查询可以看到测试数据。点击增加,输入成绩信息,切换账号,测试用的学生账号可以看到新增成绩。进过测试,教师功能没有发生错误。

  6.1.3管理员功能

  登录成功进入系统主界面,系统菜单显示用户管理、课程管理、选课管理和成绩管理。点击用户管理的增加按钮,增加一个测试用户(身份为学生)。退出登录,登录测试账号,登录成功。返回管理员账号,点击测试课程管理,增加一门新课程,输入关键字查询刚才增的课程。点击选课管理为刚创建的测试用户选课,然后按条件查询刚才编辑的课程,可以看到课程。点击成绩管理给测试用户刚选择的课打分,切换到测试用户,查询选课与成绩,可以看到刚才管理员编辑的数据。进过测试,管理员功能没有发生错误。

  6.2安全性测试

  安全性测试在整个测试过程中非常的重要,本系统的安全性主要以登录安全测试为主。用户可以自由组合密码,以此加强安全性,并通过随机生成的验证码完成人机测试[[]]。经过测试,只有在用户名、密码和验证码全部正确的时候才能够进入系统。

  6.3可用性测试

  本测试用于检验系统的可用性,即逻辑性,可理解性,可读性等。

  测试结果如表6-1所示:

  表6-1测试结果

  测试项测试人员评价

  窗口的位置移动以及大小改变等操作是否正常好

  操作交互方面的设计是否合理好

  功能和信息提示等是否正常好

  模块状态改变时是否更新好

  网页内输入设备的运行是否正常好

  数据的显示是否正确好

  使用与操作的流程是否合理好