基于web的网上选课系统的设计与开发

摘 要

二十一世纪,计算机技术正朝着一体化和网络化的方向发展。传统的单一计算机应用软件正逐步退出,取而代之的是新一代的综合性的网络性应用软件,实现数据的互通和远程管理,形成信息化社会。信息社会的形成和微电子技术的迅猛发展,对落后、低效的办公方式提出了挑战。信息也是管理的对象,必须加以管理和控制。学生选课系统是将信息技术应用于学生选课信息的管理。随着高校教学制度的改革,学分制和选课制逐渐成为各高校的主要制度。而学生的选课工作也显得更加的重要,学生选课系统的设计和开发工作也势在必行。
本系统是一套基于java平台的学生选课信息管理系统。该系统采用JSP作为编程语言。使用B/S模式的系统架构,数据库使用MySQL建立数据间的转换。本文主要介绍了项目的开发背景、模块设计和后期测试。重点阐述了系统主要发展现状、整体的设计思路、主要技术和解决方案。

关键词:学生选课,B/S架构,JSP

Abstract

In twenty-first Century, computer technology is developing towards integration and networking. The traditional single computer application software is gradually withdrawing, which is replaced by a new generation of comprehensive network application software to realize the interworking and remote management of data, and form an information society. The formation of information society and the rapid development of microelectronic technology pose a challenge to backward and inefficient office work. Information is also the object of management, which must be managed and controlled. Student selection system is the application of information technology to the management of student selection information. With the reform of the teaching system in Colleges and universities, the credit system and the elective system have gradually become the major institutions of higher learning. Students’ elective work is also more important. The design and development of student selection system is imperative.
This system is a student selection information management system based on Java platform. The system uses JSP as a programming language. Use B/S mode of system architecture, database using MySQL to establish data conversion. This article mainly introduces the development background, module design and later testing of the project. The main development status of the system, the overall design ideas, main technologies and solutions are mainly elaborated.

Key words: Student course,B/S,JSP

目 录

摘 要 1
1 绪论 2
1.1选题的依据及意义 2
1.2国内外发展现状 2
1.2.1 学分制发展现状 2
1.2.2 选课管理系统发展现状 3
1.3研究目的 3
2设计技术与开发环境 5
2.1 相关技术介绍 5
2.1.1 JSP简介 5
2.1.2 B/S开发模式 5
2.1.3 mysql简介 6
2.2 开发环境介绍 6
2.2.1 Myeclipse简介 6
2.2.2 系统运行环境 7
3 需求分析和可行性分析 8
3.1 需求分析 8
3.1.1 运行需求分析 8
3.1.2 功能需求分析 8
3.2 数据流程分析 9
3.2.1 系统操作流程 9
3.2.2 数据增加流程 9
3.2.3 数据修改流程 10
3.2.4 数据删除流程 11
3.3 可行性研究 12
3.3.1 经济可行性 12
3.3.2 技术可行性 13
3.3.3 运行可行性 13
3.3.4 时间可行性 13
4 系统设计 14
4.1 系统总体设计 14
4.2 概要设计 14
4.3 数据库概念结构设计 15
4.4 数据库逻辑结构设计 16
5 系统实现 18
5.1 系统登陆模块 18
5.2 系统首页实现 18
5.2.1 系统管理员首页 18
5.2.2 管理员首页 19
5.2.3 教师首页 19
5.2.3 学生首页 20
5.3 密码管理模块实现 20
5.4 用户信息管理模块 20
5.5 选课信息管理模块实现 21
5.5.1 管理员课程信息管理功能 21
5.5.2 学生选课管理功能 21
6 程序测试与评价 22
6.1 程序调试 22
6.2 程序的测试 22
6.2.1 测试的重要性 22
6.2.2 测试用例 22
6.3 系统的特点和优点 23
6.4 系统存在的不足和改进方案 24
6.4.1系统存在的不足 24
6.4.2改进方案 24
6.5 设计收获和心得 25
结 论 27
致 谢 28
参考文献 29

前 言

随着信息化时代的发展,计算机已经渐渐从企业、科学院,走进平常百姓家中,Intrernet遍及生活中的每一个角落,人们可以通过计算机技术实现越来越多便利的功能。当今社会,可以说,我们无时无刻都在与计算机产生千丝万缕的联系,我们可以通过计算机,通过互联网进行网上购物、学习、通讯等等生活中大大小小的活动。计算机技术的使用,逐渐融入到人们生活中的方方面面。在高校的学生信息管理中,学生选课系统是快速发展的计算机技术和网络技术与学校学生选课信息管理理论相结合而产生的一个学生选课信息应用解决方案。学生选课系统将Internet网络技术与现代学生学分制度和选课制度概念相融合,针对计算机网络技术的特点,对学生选课信息进行规划和重构,通过对整个工作过程的分析和总结,将过程中涉及到的信息进行整合、配置,将这些信息转化为一个安全可靠,并且学校专有的信息源,使得整个学生选课流程更加自动、全面、数字化。再以信息源作为基础联系,与现代化的计算机技术相结合,构成最终的学生选课信息系统。从而更加有效的、更明确的支持学校对于学生选课信息的管理和决策。
信息时代的飞速发展,带来的机遇和便利是大家都有目共睹的,顺应时代的发展,紧跟时代发展步伐是每个机构都必须要面对的重要问题,高校作为社会人才的培养中心以及主要输出源,只有加强学校的核心竞争力和提高各高校的现代化的建设和管理能力,才能提高高校的核心竞争力,顺应时代的发展,更全面高效的融入信息化社会。随着学校教学体制的不断改革和发展,高校学分制和选课制度的展开和深入,学生选修课程工作所需的信息管理系统的建立和完善工作也显得愈加重要,为了在各高校竞争中突出我们明显的优势,本文研究了学生选课系统,以帮助学校的学生选课制的完善和提高工作献上一份绵薄之力。

1 绪论

1.1选题的依据及意义
信息时代的到来,给我们带来了许多便利的同时,也带来了更多的挑战,对于高校的学生管理工作,尤其是学生选课信息管理工作,面临着巨大的挑战。原因在于,当前所处的开放式互联网环境下,传统的手工选课已经满足不了目前的状况,不仅费时费力,还有极大的人力成本需要参与其中,可以说,传统模式下的学生选课信息管理,不仅不能适应普通高校层次的发展要求,也已经远远赶不上当前社会发展的快节奏步伐。在互联网技术应用还不是很成熟的早期,各个高校之间的信息交流、学生选课信息的处理都是人工的操作来完成的,随着信息时代的到来和高校招生人数的大幅上涨,传统的学生选课信息管理方式早已不能满足高校对大量数据的处理工作的效率要求,不仅需要耗费大量的人力,整体的工作量也处在一个相当庞大的数量级上,容易造成时间长,效率低等传统人力手工劳作极易产生的问题,而且还有可能出现信息的重复传递等问题,因此,这个过程必须要实现现代化、信息化的更新,于是我们就需要使用新时代下的新技术的应用来改善传统模式带给我们的问题和困难,而学生选课系统就是适应这一时代发展需求应运而生的产物。因此,作为当前时代的先进高校,必须建立一种能够适应新时代发展需要的新型的学生选课信息管理模式,学生选课管理系统就是一种很理想的选择。学生选课管理系统是具有时代意义的高校办公辅助手段,信息化的计算机管理系统的建设是高校顺应时代发展的必由之路,也是提高高校办公效率,提高学生对于学校工作满意度的重要助力。同时,在信息经济时代的大环境下,学生选课的信息化管理也是现代高校信息化建设的重点和核心工作,在高校的信息化建设和发展进程中,起到关键性的作用。
1.2国内外发展现状
1.2.1 学分制发展现状
1917年中国从德国大学引进学分选课制度,在北京大学第一次开始使用。要求学生要进行全面的发展,具备较全面的伦理知识,要涉及到各个方面,也就是:学文科的也要具备一定的自然学科知识,学理科的也要具备一定的文史知识,现在,中国的大部分高等学校已经使用了学分制。要求每个学生在学期间要修满学校要求的学分才能毕业,学生在根据每门课程的学分,要修多少门课,每一门都及格,只有这样才能获得这门课的学分。当所修的总学分够了学校要求的学分数,就可以申请毕业,学分制的选课是没有时间限制的。在高校,学分制的选课可以让学修到自己喜欢的课程和自己喜欢的上课风格,这样,学生就可以自己主动地学习,而不是被迫的去接受知识,这样的教学机制能够开发学生的自主意识,独立意识,能够主动的学习,更加能够发挥学生的特长。
每个高校都有一个自己的选课制度,但主要还是围绕以下的三种:
(1)学生可以根据学校的要求自己选择一部分的课程,及选修课,一部分由教务科统一安排,及必修课。选修部分可以自己选择自己喜欢的老师及班级;必修部分,由教务科统一安排上课,自己专业的班级不能够打乱,不能自己选择老师。
(2)学生可以根据自己的需求来进行自由的选择课程,但是有选修和必修,由教务科统一安排上课,自己专业的班级不能够打乱,不能自己选择老师。
(3)学生可以根据自己的需求来进行自由的选择课程,可以选自己喜欢的老师,自己专业的班级和自己上课的班级是游离的,这样的选课制度称为全面选课制。
1.2.2 选课管理系统发展现状
目前,我国大部分高校都实行的是学分制和选课制,学生可以在每个学期固定的时间自由选择自己的选修课程,但是,这种自由背后所带来的制约因素也更加复杂,工作量也不断增大,而且一般要求的工作周期也较短。而计算机的辅助参与到选课过程中,能够极大改善传统选课方式下,老师和学生工作效率低下,而且急容易出错的情况,包括手工选课带来纸质材料上的大量积累和浪费,存储空间的占用等情况也有了很明显的解决。计算机辅助办公,使得以前一些复杂的逻辑关系,比如排课时各班级各教师的上课时间的科学安排,可以很好的解决课程安排时时间上和空间上极易产生的一些冲突。利用计算机技术的辅助作用,可以是这些工作变得科学、高效,将学校教务信息管理的现代化步伐推上新的高度。
国外的教学科研软件与国内相比要开发的早而且比较成熟。美国早在七十年代末就已经建成NSFNET(国家科学基金网),其课题的申报和之后课题的进展状况的汇报都会在网上进行。其网上教务管理系统也已非常完善,很多的教学过程,学生只需要在家就能通过互联网全部完成。所有的这些都表明,基于互联网的现代化、信息化校园建设已经深入校园建设的方方面面。而我们的选课系统的开发和完善工作也势在必行。
1.3研究目的
本课题的目的是使高校的学生选课管理工作能够更加高效、有序进行,简化学生选课的操作流程,提高教师以及学校相关管理部门的选课工作管理和审核的效率,通过对不同功能模块的整合重构,实现整个选课流程中各个阶段,各种角色的不同细节功能,使得整个过程趋于自动化和信息化,并实现对于人工操作的复查,使得整个学生选课系统更加完备,高效。
如何开发一个实用的学生选课信息系统,是整个设计过程的一大难题。通过对学生选课工作进行深入的分析和研究,从学生到老师,再到教务处等相关部门的了解,对整个选课流程有较为完善的理解。本文从功能模块、数据格式、通用性三个方面进行细化分析论述,提出学生选课管理系统设计具体的理论依据和实现方法。

2设计技术与开发环境

2.1 相关技术介绍
2.1.1 JSP简介
JSP全称Java Server Pages,是一种动态网页开发技术,JSP是一种Java servlet,主要用于实现Java web应用程序的前端页面。一个JSP页面主要由HTML代码、小脚本、声明、表达式、注释和指令等元素组成,JSP通常与servlet一同使用,servlet作为控制器,是一个Java源程序,主要用来处理客户端的请求,接受请求给出回应,在服务器端书写相应的功能。
JSP+servlet的组合中,JSP主要用于做客户端界面的展示,而servlet用来处理各种业务逻辑,实现核心的功能。
2.1.2 B/S开发模式
B/S开发模式:Browser代表浏览器,Server代表服务器模式。是WEB兴起之后产生的一种新的开发模式较之前的C/S(Client/Server)基于客户端和服务器开发模式有着简化了系统的开发、维护和使用的优点。
客户机/服务器(C/S)兴起于上世纪九十年代左右。主要是由客户机、服务器、数据库这三个重要组成部分所构成,由客户机运行客户端的程序之后,向服务器发送请求,再由服务器将数据传递给数据库,数据库对数据进行处理后,将数据返还服务器端,这时服务器端再将处理的结果传递给客户机,由客户机在程序上面显示处理得到的结果。这是C/S的处理过程,这个模式的交互性很强,界面操作比较直观简单,因为采用的点对点的结构模式,所以安全性有足够的保障,因为系统内各部分的负荷比较均衡,效率也有一定的保障。但是这种模式的缺陷过于明显,成本难以控制,系统的升级也会过于臃肿和复杂,所以这种系统架构逐渐被人们所淘汰。
进入21世纪,网络信息技术飞速发展,我们不需要采用落后臃肿的C/S技术,浏览器/服务器(B/S)就应运而生了,因为网络技术的快速发展,当代的系统设计多是依托互联网而产生的。B/S模式的三层逻辑结构较C/S系统有着质的提升。在表示层的浏览器通过Internet的HTTP协议与应用层的Web服务器传输数据后,执行CGI程序,将Web服务器和数据库服务器之间建立联系,由数据库对数据进行处理后,将数据发送到web服务器端,再由Web服务器传输至客户端的浏览器。
基于B/S模式开发的系统,用户不需要安装复杂的客户端,只需要拥有一台与网络连接的计算机即可,可以节约客户计算机的储存空间,缩减用户对新系统的学习成本,进一步提高用户的使用体验。而且因为JSP的良好的拓展性,用户可以在后期对系统进行充足的扩充,而不需要进行很大的追加投资,节省了无谓的成本。
其次,它对用户的体验必须要着重谈及。对于C/S模式下的系统,因为系统的个性化极强,不同人难以简单上手操作系统,一般必须要经过耐心细致的培训。而采用B/S模式搭建的系统,客户端就是支持HTML的浏览器,没有过于复杂的界面,即使是新职员也能迅速上手并掌握。B/S模式的使用浏览器作为前端的做法,令 MIS系统更容易进行平时的维护。
最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。现代物流企业必定会和网络相连结,所以这个特性使得B/S比C/S更加适合作为物流管理系统开发的模式,它能支持现代企业电子化办公转变的需求,从长远来看,更适合现代企业发展的潮流。
实际上,对于B/S和C/S两种模式而言。没有绝对的优劣之分,他们各有优缺点,从哲学上讲是两个互补的系统。B/S模式的功能较C/S模式有所弱化,没法实现具有强烈个性化要求的设计,所以未来应该会采用C/S与B/S相结合的混合开发模式,但是现在看来,更加适合轻量的学生选课信息管理系统的举措是采用B/S模式来开发。
2.1.3 mysql简介
MySQL数据库是时下比较流行的一种数据库,与Oracle数据库同属于Oracle公司,因为其使用的是最常用的SQL查询语句对数据库进行管理,所以在使用上提供和很大的便利,不需要再单独学习相关的查询语句格式。对于中小型的项目来说,Mysql数据库可以满足设计者的大部分需求,加上其开源的特点,所以本次设计将采用Mysql数据库。
MySQL是一个数据库管理系统,它也是一个关系型数据库。它是一个开源软件,使用时不用支付相关费用,还可以对其源代码进行更改和更新,以便满足用户的需要。与其他的一些数据库软件相比,MySQL更容易掌握和使用。它可以在各种操作系统平台上运行,可以安装服务器上,还可以安装在桌面系统中,MySQL可靠性和扩展性比较强,在速度方面也被人关注。所以在开发网站和应用程序时运用MySQL是一个非常不错的选择。
2.2 开发环境介绍
2.2.1 Myeclipse简介
MyEclipse是Eclipse一组插件集,它集成了很多开发工具和包,方便开发者更加快捷开发Java Web相关的程序,比如提供了对spring、structs、jsp直接开发的支持,提供了CSS/HTML/XML的编辑工具等。
由于插件众多,很多在Eclipse中复杂的操作在MyEclipse中只需要简单的配置之后就可以自动加载出来,方便快捷,是很适合初学者使用的一块编程软件。随着java的发展,Myeclipse也变得越来越强大,不仅可以开发PC端的应用,还可以开发手机应用,连接所需要的程序与数据库来实现平台的运行与发布。同时,Myeclipse还支持开源项目的开发与编写。
2.2.2 系统运行环境
本系统开发IDE为IntelliJ IDEA,开发语言为Java。因此,本系统可以跨平台运行,需要的运行环境为:
JDK版本:JDK1.8及以上;
运行平台:Windows7及以上版本或者Linux等系统;
MySQL数据库支持:MySQL5.5及以上版本。

3 需求分析和可行性分析

3.1 需求分析
随着信息化时代的发展和到来,越来越多的东西开始步入信息化,人们对于信息化时代下各种高新技术的使用也有了更高的认同感。现在越来越多的人喜欢用计算机来处理各种复杂的事务,现代高校也都通过计算机网络技术来信息化的管理学生和老师的各项事务。当今高校中,基本都有属于自己的网络平台,甚至于各个学校部门都有专属的学生管理平台,方便了各种学生和教师管理事务的进行。网上选课是学生日常的主要管理工作,涉及学校、院系、学生、老师等多个方面,伴随着学校教学体制的不断改革和发展,尤其是学分制、选课制的展开和深入,学生选修课程的信息管理系统的建立和完善工作也越来越重要。
3.1.1 运行需求分析
本系统是采用B/S开发模式,结合MySQL数据库开发技术来设计的。系统是针对高校的学生选课信息管理工作而设计开发的一个专有的、独立的管理系统。采用JSP技术构建一个符合当前高校实际需求的高效实用的学生选课信息管理系统,目的是为高校学生选课管理工作的发展提供强有力的技术支持,从而达到信息化时代的标准要求。本系统具有标准学生选课信息管理工作中所具有的完整的学生选课信息管理步骤,完全的虚拟现实实现。真正实现节约资源、提高效率、业务处理的同时完整的实现学生选课信息管理系统的全部功能。
3.1.2 功能需求分析
具体的功能需求包括内容如下:
(1)用户管理功能:管理员可在此管理登录系统的教师和学生的相关信息;
(2)选课信息管理功能:管理员可在此发布和修改课程信息,包括课程性质和任课教师等信息;
(3)公告管理功能:系统管理员可在此发布和修改系统公告,公告内容所有登录用户都可以查看,只有系统管理员有权发布、修改和删除;
(4)学生选课功能:学生可在此查看自己可选的选修课程信息,并选择自己的课程。必修课不可自主选择,只能选择选修性质的课程;
(5)学生成绩管理功能:管理员可在此进行学生成绩的管理,包括成绩录入、成绩修改等功能;
(6)密码修改功能:用户可在此修改自己的登录密码,管理员有权修改教师和学生的密码;
(7)班级管理功能:管理员可管理班级的学生名单和学生信息以及课表信息等。
该系统可实现管理员即学校管理部门对于学生以及教师选课工作的统一管理,方便学生选课工作的顺利进行,实现了选课信息的发布与学生端的选课功能,也可通过系统对课程的信息及学生成绩进行管理。界面简洁,操作简单,用户体验性良好,信息安全性也较高,大大提高了工作效率。
3.2 数据流程分析
3.2.1 系统操作流程
整个系统的操作流程图如图3.1所示:
在这里插入图片描述

图3.1 系统操作流程图

3.2.2 数据增加流程
添加相关信息时,主要分为编号字段和其他基本信息,其中编号字段由系统自动生成,而且无法修改,其他信息由相关用户负责输入,系统会对数据是否符合系统的规定进行判断,若符合规定就写入并保存至数据库中,否则提示用户重新输入相关数据。数据增加流程图如图3.2所示:
在这里插入图片描述

图3.2 数据增加流程图

3.2.3 数据修改流程
用户需要修改信息时,需要先选中所要修改的记录,然后输入修改之后需要的数据,系统会判断输入的数据的是否符合相关的规定,如果符合则保存至数据库相应位置,否则提示用户重新输入。数据修改流程图如图3.3所示:
在这里插入图片描述

图3.3 数据修改流程图

3.2.4 数据删除流程
当用户需要删除数据时,先选中需要删除的记录或信息,单击界面删除按钮,系统会提示用户进行确认,确认删除之后,系统会删除数据库中对应的数据。数据删除流程图如图3.4所示:
在这里插入图片描述

图3.4 数据删除流程图

3.3 可行性研究
传统的学生选课管理,使用的是人工记录的方式,对于人力、物力、时间等都消耗较大,整体速度慢,出错率还很高,所以我们应该积极使用先进的科学技术,来改善传统的管理模式,进而提高高校的整体办公效率,降低办公过程的成本。我们的学生选课系统主要有以下特点:
3.3.1 经济可行性
经济可行性研究是对于组织的经济现状和投资能力进行分析和对比,对整个系统的设计运行以及后期维护过程中产生的费用进行相应的估算,对系统完成之后有可能产生的社会和经济效益进行预估。由于本系统是作为学校毕业设计由我们学生自行开发的,所以在经济上的投入很小,而系统完成之后可以为今后的高校学生选课管理工作提供一个高效的参考方式,为学校的管理工作提供了很大的方便,节省时间,缩减人力,维护成本低,估算整个系统的开发费用和完成之后使用过程中的运行、维护成本,本次研究开发的学生选课系统可以取代传统的学生选课管理模式下的业务流程,减少整个过程的人力投入成本,相应节省了大量的资金,并且极大的提高了对于学生选课信息的收集效率,以及学校管理部门和老师对于选课信息的处理效率,明显缩短了信息的处理周期,并且所有涉及的用户的参与更加简单,界面更直观,系统中各个用户权限的分配也更加适应相关的制度,大大减少了学校的管理成本。因此,总的来说,本项目开发所产生的经费咋经济上是可以接受的,并且本项目完成并实施之后可以达到提高工作效率,降低管理成本的目的,节省大量开支。所有的开支都不是很大,所以本项目在经济上是可行的。
3.3.2 技术可行性
技术可行性主要考虑使用当前存在的技术能否顺利的完成既定的设计开发目标,硬件和软件配置是否能够满足开发所产生的需求。本次需要的开发的学生选课信息系统,主要使用的是当前比较流行的JSP技术,使用该技术来创建并使用JS脚本语言,结合HTML代码来制作动态网页实现相关内容的显示。即可高效的实现整个系统的各个功能模块,不需要编译,编写简单,可以直接在服务器的端口上执行,使用系统自带的文本编辑器即可实现编辑功能,不需要使用浏览器。因此整个系统的学习较为简单,调试难度也较小。软件方面,由于系统使用的B/S模式已经发展的相对成熟,所以软件开发的平台可行。因此对于本次开发在技术上是绝对可行的。
3.3.3 运行可行性
系统运行的可行性分析,需要考虑当前环境下所存在的技术是否能够将本项目中的技术成功运行,并达到高效运转的程度。同时更需要考虑到的是:对于系统的管理员进行相关的培训,实际分析对于所给出的时间是否能够将既定的开发任务完成等。
我国目前信息化的发展已达到一个相当高的水平,各方面工作人员的职业素质也有很大的提升,所以本系统在运行上具备了可行性。
3.3.4 时间可行性
从时间上看,在几个月的毕业设计时间里,结合大学专业课程中所学的相关知识,并学习相关的新知识新技术,之后开发学生选课信息系统,时间上可能会有些紧,但是也不是完全不可能实现,在这几个月的时间里,我合理的安排加上自己的努力使得整体的功能基本可以实现。
综上所述,开发本次系统从经济上、从技术上、从时间上等都是完全可靠的。

4 系统设计

4.1 系统总体设计
系统的设计首先的要求就是功能上的完备,其次还需要考虑到用户的操作体验,也就是界面的友好性,所以,对于整个系统的设计来说,功能模块的设计与实现是重中之重。由于本系统针对的是一般性质的高校学生选课管理工作,适用于大部分的学分选课制高校使用,具有一般适用性,系统最终实现的功能基本能够满足高校对于学生选课信息管理这项工作的整体业务流程。因此,在总体上,需要先将整个系统划分为几个大类别,之后再细化每个大类别之下的小模块,逐个设计实现,增加细节的功能及操作。
系统功能模块划分情况如图4.1所示:
在这里插入图片描述
图4.1系统功能模块图

4.2 概要设计
在整个设计的前期,我们通过系统的需求分析,明确了自己要开发设计的软件是要实现怎样的功能,需要做到什么样的一个程度,基本构建出一个系统目标的大致逻辑模型。之后我们需要把构建好的逻辑模型转换为物理模型,最后再针对我们的物理模型实现最初的系统需求。
4.3 数据库概念结构设计
在一个应用程序的设计过程中,数据库的设计是很重要的一部分,数据库的选择是整个数据库设计工作中最首要的工作,选择好的数据能使整个应用程序的后台设计以及后期运行使用都事半功倍。
本次的软件的数据库将用mysql进行设计和管理。数据库安全性就是保证数据库信息的保密性,完整性,一致性和可用性,防止非法用户越权使用数据库从而窃取,更改或破坏数据库中数据[6],将提供一些安全措施来保证数据库的安全。根据以上章节对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体E-R图如图4.2所示:
在这里插入图片描述

图4.2系统实体E-R图
4.4 数据库逻辑结构设计
本系统的数据之间的关系比较清晰,根据学生选课信息管理系统的实际需求,主要设计出数据库的表如下:
admin管理员信息表
列 名 数据类型 长度 说 明
id int 4 编号
name varchar 50 管理员ID
password varchar 50 管理员密码
Realname varchar 50 增加时间
Sex varchar 50 性别
age varchar 50 年龄
address varchar 50 地址
tel varchar 50 电话
addtime varchar 50 时间

xs学生信息表
列 名 数据类型 长度 说 明
id int 4 编号
xh varchar 50 帐号
mm varchar 50 密码
xm varchar 50 姓名
dh varchar 50 班级

Bj班级信息表
列 名 数据类型 长度 说 明
id int 4 编号
Bt varchar 50 名称
Nr varchar 50 教师
Sj varchar 50 说明

Kc课程信息表
列 名 数据类型 长度 说 明
id int 4 编号
Mc varchar 50 内容
Sj varchar 50 时间
Member varchar 50 用户

Cj成绩信息表
列 名 数据类型 长度 说 明
id int 4 编号
xh varchar 50 学号
Km varchar 50 科目
Cj varchar 50 成绩
sj varchar 50 时间

Gg公告信息表
列 名 数据类型 长度 说 明
id int 4 编号
Mc varchar 50 内容
Sj varchar 50 时间
Member varchar 50 用户

5 系统实现

5.1 系统登陆模块
本模块主要实现用户登录的功能。将整个系统的用户分为四种不同的身份,用户登录时需要根据自己的身份进行选择登录,用户输入登录账号和密码之后,会先在客户端对输入的数据进行验证,验证通过之后会将数据提交给服务器端,提交的数据会由服务器端与数据库中的相关信息做对比,如果二者不相符返回错误提示信息,否则登录成功,进入系统主界面。
系统登陆界面主要实现整个系统的登录功能,包括山东交通学院特色景色的展示以及相关的欢迎信息,其实际的运行结果如图5.1所示:
在这里插入图片描述
图5.1系统登陆界面

5.2 系统首页实现
由于不同身份的用户所具有的的权限不同,用户通过不同身份登录后会根据身份显示不同的功能菜单,用户可以通过点击左侧功能列表按钮跳转到相关的页面来完成相应的功能。除学生用户首页外,其他用户首页会标明每个用户的登录名称和身份。每个用户首页的功能模块包括密码信息管理模块和系统注销模块以及每个身份所特有的一些功能模块,具体的分配情况如下:
5.2.1 系统管理员首页
系统管理员首页特色功能模块为公告信息管理模块,整个系统只有系统管理员可进行系统公告的发布、修改和删除等操作,而其他用户只具有公告信息的查看权限。所以其首页主要分为密码修改模块、公告管理模块以及注销模块。实际运行效果如图5.2所示:
在这里插入图片描述

图5.2 系统管理员首页

5.2.2 管理员首页
管理员是整个系统的权限比较集中的身份,主要负责学生、班级和教师信息的管理、课程课表信息管理、学生成绩管理以及选课信息管理等主要功能。管理员代表着学校以及二级学院的主要教学管理部门,负责教师和学生基本登录信息的管理,课表的安排、课程信息管理、学生成绩的录入管理等功能,所以其首页功能模块较多,是整个系统的设计重点和逻辑核心部分,其实际运行效果如图5.3所示:
在这里插入图片描述

图5.3 管理员首页界面

5.2.3 教师首页
教师在整个系统中的全校较小,主要是一些信息的查看权限,并没有实际的管理权限,其首页主要由个人信息查看模块、学生成绩查看模块和课表信息查看模块组成,方便日常课程教学信息的查询。实际运行效果如图5.4所示:
在这里插入图片描述

图5.4 教师首页界面

5.2.3 学生首页
学生在系统中作为主要参与者,主要是课程、课表信息以及个人信息的查看功能,以及选课信息管理功能模块。也是系统的核心功能模块,学生用户登录之后,可以通过选课信息管理模块,对管理员发布的选课信息进行查看,并对自己感兴趣的选修课进行选课。实际运行效果如图5.5所示:
在这里插入图片描述

图5.5学生首页界面

5.3 密码管理模块实现
每个用户都可以通过首页的密码管理界面,实现对自己的登录密码的修改。管理员有权修改学生和教师的用户登录密码,方便管理。实际运行效果如图5.6所示:
在这里插入图片描述

图5.6 密码管理模块

5.4 用户信息管理模块
用户信息管理模块是管理员模块的主要功能,主要实现管理员对用户信息的增加、删除、修改、查找操作,管理员可对教师和学生用户的信息进行相关的管理操作,用户信息管理的运行结果如图5.7所示:
在这里插入图片描述
图5.7用户信息管理

5.5 选课信息管理模块实现
选课信息管理子模块的主要功能就是管理员对选课信息进行增删改查的操作,即增加选课信息、修改选课信息、删除选课信息、查询选课信息。
对学生方面开放课程信息查询和选课功能。实现信息的管理与交互。
5.5.1 管理员课程信息管理功能
管理员课程信息管理的运行结果如图5.8所示:
在这里插入图片描述
图5.8课程信息管理界面

5.5.2 学生选课管理功能
学生选课功能实现如图5.9所示:
在这里插入图片描述
图5.9 学生选课管理界面

6 程序测试与评价

6.1 程序调试
在系统设计过程中,出现一些错误是不可避免的。对于一些语法上的错误,在程序运行时系统会自动提示,并且要求立即改正,否则程序无法正常运行,因此,这样的错误都比较容易发现和改正。但是,还有一类错误是程序执行的时候由于错误的操作或者是一些公式的逻辑错误导致的错误结果,这类的错误隐蔽性比较强,时有时无,所以对于这类错误的发现与纠正是调试过程中比较费力的一类。
6.2 程序的测试
6.2.1 测试的重要性
测试工作对于整个系统的质量起到了至关重要的作用,测试开始的越早,测试的系统方面越全面,整个系统的质量就越有保障。越早发现的系统中存在的问题,修复的难度也越小,在模块集成之前把一些问题提前解决,可以保证项目后期的顺利运行,否则将会消耗更大的时间去修复系统的功能。
6.2.2 测试用例
(1) 用户登录测试
用户登录信息测试过程如表6.1所示:
表6.1 用户登录测试表
测试目的 操作流程 测试用例 预测结果 测试结果
用户登录 填写用户名密码,点击首页【登录】按钮 用户名:1
密码:a 登录失败 提示错误信息
用户名:li
密码:123456 登录成功 登录成功

(2) 信息发布测试
信息发布测试过程如表6.2所示:

表6.2 信息发布测试表
测试项目 操作流程 测试用例 预测结果 测试结果
信息发布 管理员登陆后点击首页【信息】按钮,发布信息 空 发布失败,弹出提示按钮 发布失败,提示请填写内容
选课工作开始 发表成功 发表成功

(3)后台管理登录测试
后台管理登录测试过程如表6.3所示:
表6.3 后台管理登录测试
测试目的 操作流程 测试用例 预测结果 测试结果
后台管理登录 点击首页填写用户名密码,点击首页【登录】按钮 用户名:li
密码:123456 登录失败 提示错误信息
用户名:a
密码:a 登录成功 登录成功

6.3 系统的特点和优点
本系统设计时,参考了许多优秀网站的设计优点,从前端的界面到后台的功能实现,都秉承这用户体验第一位的原则,在实现基本功能的基础上,努力使用户的操作体验达到最完美的水平,在兼顾功能完备的前提下,界面更加友好,学习和维护更加便利。总的来说,系统具有以下优点和特点:
(1)与其他的普通管理系统相比,本系统的最大的优势在于,系统的设计具有高度的针对性,专门为高校学生选课管理工作而设计,因为该项工作的特殊性、复杂性,在系统中也设计了独特的安全模块。
(2)系统的整体位移性能较高,因为使用的JSP是基于JAVA语言所编写的,所以在跨平台方面有着其独特的优势,用户只需安装相应的JDK,即可实现整个系统的使用,直接在服务器端运行模拟服务器也是可以的。数据库系统方面使用的是MySQL,实现了动态的查询、更新和输入等操作,并为整个系统提供了强大的管理功能。
(3)系统管理的信息内容涵盖面广,方便对于数据的维护工作尤其是一些比较通用的字段,为了预防手动输入时产生的错误,多数信息采用单选或列表下拉框等备选的方式来进行数据的输入,用户只需要通过鼠标点击选择就可以完成数据的输入工作。这样的方式不单是为用户带来方便,整体的办公效率也有了很大的提高,而且将错误发生的可能性降到最低,保证工作的完成质量,也从另一方面提高了用户的使用体验。
(4)用户界面友好,使用方法简单易学。基本熟悉简单计算机操作的用户就能熟练掌握系统的操作方法,也为教学管理工作提供了极大的便利。
6.4 系统存在的不足和改进方案
6.4.1系统存在的不足
本系统的功能设计在功能上基本能够满足学生选课工作的基本功能,能够基本实现学生选课管理工作的信息管理和查询等功能,但是因为毕业设计时间上的不足,整体来讲还不够完善,存在许多缺点和不足之处,主要体现在:
(1)界面设计方面,由于时间关系,系统主要还是以实现功能为前提,对于界面的美化工作有所欠缺,主要表现形式以把表格加文字为主,颜色搭配等方面都有不足之处,对于整个系统的用户感官体验提升还有所不足。
(2)数据库和部分代码存在冗余,由于实际操作设计经验的欠缺,在很大一部分系统的数据库设计开发中,系统代码都存在冗余,导致系统的运行质量不够好。
(3)后台的管理功能不够完善,由于多方面的原因,人力和时间缺乏,设计开发本系统后台方面管理的功能不是特别完善。一些逻辑可能没有做到特别的完善。
6.4.2改进方案
针对于本系统产生不足,在以后的日子里,我准备进一步对系统进行改进,方案如下:
(1)对于系统的界面,我会在之后的系统中加入更多的元素,并且学习最新的前端技术,例如bootstrap、jQuery等前端的美化和动态效果,使整个界面更加的美观,提高用户视觉体验。
(2)对于数据库和系统代码冗余的问题,我要进一步简化程序中的代码,利用JAVA独有的封装、继承等特点,更加高效的改进代码,对数据库冗余的可以利用数据库连接池技术使操作数据库的性能提高;可以进一步规范化数据库的关系模式,因此冗余现象得以减少。
6.5 设计收获和心得
系统的设计已经基本告一段落,整个系统也已初具规模,虽然相比于专业的信息管理系统还有所差距,甚至说相差甚远,但我认为这样的一个过程,不应该单单的看重结果,认真的体味这个设计过程中的点点滴滴,积累这其中的优点与不足,也是人生路上不可多得的一份收获。这个过程,是对大学四年所学知识的大考验,也是对自己四年学习生活之后成长的检验,在过程中体会自己的不足,追求更高层次的知识和能力。下面主要是我在本次毕业设计中的几点体会和看法:
(1)没有规矩不成方圆,没有计划的盲目操作最后也只会是一团乱麻,在整个系统的设计过程中,我们先把系统的整体设计工作分成可行性研究,问题定义,需求分析,总体分析,详细设计,编码和测试单元,综合测试以及最后运行维护等多个阶段,逐个击破,系统设计得以完善。认真做好每个小模块,积少成多,才得以实现最终的大目标。
(2)对于编程软件以及编程语言的体会,在大学的专业课程中,我们已经学过C、C#、Java、Android等多种编程语言,这些语言虽然都各有特点,但是在实际的运用中我们会发现,这些语言不管是从逻辑、语法、函数等方面,都有着千丝万缕的联系,这也对我的以后的学习之旅有了更加明确的方向,可以说编程的乐趣,对于我才刚刚开始。通过整个设计过程的学习,使我的逻辑性有了极大的提高,对于面向对象的程序设计也有了更深的理解。但是,本次设计过程涉及到的技术也只是整个编程世界的冰山一角,以后还会有更多的新事物等着我去发现和学习。
(3)对于毕业设计的体会,从最开始的选题,到确定题目,搜集资料,学习技术,再到动手设计和分析系统,这其中所经历的事情,远没有最开始想的那么简单,但是,虽然过程很艰难,但是收获之后的喜悦还是让我有了深深的满足感。整个过程,是一个不断更新自己的过程,一个个新问题的出现,只有努力的提高自己,从书本、老师那里汲取更多的能量,充实自己,才能在困难到来时迎刃而解,滴水穿石,非一日之功。人生就是一个不断积累,不断学习的过程,越是艰苦,越是压力大,最后成功后带来的喜悦和满足也越大。虽然毕业设计已经算是告一段落,但是整个系统的设计还没有结束,在以后的工作中,我也会尽我的努力,将整个系统完善的更好。对于自己,应该像这个过程中一样,发现问题,及时解决,人生也是一样,只有发现问题,才能更好的提高。

结 论

几个月的毕业设计时间转眼就过去了,在这个过程中,我充分的将大学四年的知识与实际的需求相结合,制作了一个较为完整的系统,虽然以前也接触过一些小型的模块或者是小系统的设计,但是那些都只是一些皮毛的东西,真正的从一个系统的需求开始,一步步分析总结,到整个系统前后台的设计,真的比想象中还要复杂,不经要求我们在技术上有过硬的水平,还要对整个系统完成的功能有充分的了解,这就要求我们必须要通过调研的方式来完整的理解整个系统要达到的目标,在这个过程中,不仅和身边的同学有了更多的交流和沟通,还和老师有更加深入的了解,不仅仅了解到了关于学生选课工作的复杂,也体会到了老师们在整个的学生选课期间工作难度之大,各种各样的问题会以你意想不到的方式出现,可能学生能看到的只有自己一个人和老师的交流,但是老师们要考虑的是整个学校几千学生同时进行的一项庞大的工程。我也深深体会到了老师们的辛苦和无私。整个设计的过程,也是我对过去几年所学知识的巩固和练习,在这之中也发现了自己的很多不足,虽然很多课程学习时感觉还可以,但是到了真正要使用的时候,才发现自己的基础并没有想象中那么的扎实,这也警醒着我以后的学习生活路上,必须要更加的脚踏实地,只有一步一个脚印,才能让自己的路走得更加顺畅。
虽然这次的开发的项目已经有了一定的成效,但是我深知距离专业的水平还有很大的差距,加上学校制度的不断改革,系统开发的需求也在不断增加,所以在以后的开发过程中继续丰富和完善都是很有必要的,以下三个方面具体的说明了我对本次设计开发的项目构想展望:
1.系统通用性的问题
当前的系统已经基本能够满足一般高校的学生选课管理工作。下一步要考虑的就是整个系统的推广工作,以及整个系统的通用性,对于所有系统的适配性。逐渐推广到更大范围的学校真正投入使用,使整个系统更加趋于完善和规范。
2.系统的完善性问题
虽然系统已经实现了基本的功能,但是在一些信息的更改和审核工作的细化功能方面还是不够完善,对于信息的真实性审核功能也有待完善,所以信息的在线核实工作是系统未来完善的主要努力方向。
3.与其他部门系统相对接的问题
将学生选课系统与高校的办公管理系统等相关系统进行有效的对接,实现学校各部门之间信息的共享也是今后开发的重点。

致 谢

经过几个月的时间,最终完成了自己的毕业设计。在这个整个的项目开发中,很多人都给予我相关的技术支持和指导。在此对帮助和支持我的老师和同学表示感谢。
感谢指导老师赵颖老师一直以来对我提供的帮助。在项目的设计过程,给我们提供有关的设计方案。使我们可以更加快速的设计出项目的运行方案。在遇到相关的技术的问题时,提供给我们相应的技术参考资料使我们快速的寻找相关的结局方案。感谢老师的一直对我们的项目进度表示关注。提供方方面面的技术支持。感谢在项目开发期间的同学对我们提供的技术帮助。分享他们项目的成功经验,一起交流解决数据传输、网络连接等问题。
感谢CSDN,博客园等相关IT技术网站到来的开放性的技术资料。使我们可以更加快速的解决项目中用的问题,以及提供给我们便捷的插件和数据包等资源。对我们项目的开发提供了巨大的帮助。
通过几个月充实而又紧张的毕设过程,深刻体会到了自己对于大学掌握的知识的一次质的飞跃,感谢这期间老师和同学们对我的关心和帮助,让我能够为大学四年的学习画上一个完美的句号。回忆四年大学生活,感谢我的母校,感谢身边的老师和同学给了我一次次的关键性帮助,是他们让我在这个学校里感觉到了家一般的温暖,非常荣幸能够加入物联这个大家庭中。
经过此次毕设让我认识到,想要完成一项庞大的任务,单单有技术是不够的,还需要有详细可行的计划作为支撑,才能把整个过程进行的井井有条,相信这段经历,将成为我人生路上最宝贵的一笔财富。

参考文献

[1]薛华成.管理信息系统.北京:清华大学出版社,2009.
[2]耿祥意,张跃平.JSP实用教程(第二版).清华大学出版社,2010.10.
[3]刘斌著.精通JaveWeb 整合开发.电子工业出版社,2012.5 .
[4]王趾成.软件工程(第二版).大连理工大学出版社.2012.
[5]Paul DuBois. MySQL[M]. Addison-Wesley Educational Publishers, Inc, USA, 2013
[6]萨师煊.数据库系统概论(第四版),高等教育出版社,2011.5.
[7]陈志泊,李冬梅,王春玲编.数据库原理及应用教程. 北京:人民邮电出版社,2012.3.
[8]王璞.网页制作三剑客.北京:清华大学出版社.2013.
[9]吴建,张旭东.JSP网络开发入门与实践.人民邮电出版社,2012.
[10]杨选辉.信息系统分析与设计.北京:清华大学出版社,2011.

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于学生选课系统的数据库设计,我可以给您一些建议。 首先,需要确定系统中需要存储哪些信息。通常包括以下内容: 1. 学生信息:包括学生ID、姓名、性别、出生日期、联系方式等。 2. 课程信息:包括课程ID、课程名称、授课教师、上课时间、上课地点等。 3. 选课信息:包括学生ID、课程ID、选课时间、成绩等。 4. 教师信息:包括教师ID、姓名、性别、出生日期、联系方式等。 5. 班级信息:包括班级ID、班级名称、班主任等。 6. 学院信息:包括学院ID、学院名称、院长等。 接下来,可以考虑如何设计数据库表结构。一般来说,可以按照实体关系来设计表结构,比如学生、课程、选课、教师、班级、学院等。 例如,可以设计以下表结构: 1. 学生表(student):包括学生ID、姓名、性别、出生日期、联系方式等字段。 2. 课程表(course):包括课程ID、课程名称、授课教师、上课时间、上课地点等字段。 3. 选课表(select_course):包括学生ID、课程ID、选课时间、成绩等字段。 4. 教师表(teacher):包括教师ID、姓名、性别、出生日期、联系方式等字段。 5. 班级表(class):包括班级ID、班级名称、班主任等字段。 6. 学院表(college):包括学院ID、学院名称、院长等字段。 注意,在设计表结构时需要考虑到数据的完整性和一致性,需要设置适当的约束条件和关联关系。 希望以上建议对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值