高校选课系统的设计与实现
本科毕业设计(论文)
题 目: 高校选课系统的设计与实现
英文题目:The Design and Implementation of The Elective Course System for College
学 院: 信息工程学院
专 业: 信息管理与信息系统
姓 名:
学 号:
指导教师:
2019 年 3 月 10 日
毕业设计(论文)独创性声明
该毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。文中除了特别加以标注和致谢的地方外,不包含其他人或其他机构已经发表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明并表示了谢意。
作者签名:
日期: 年 月 日
毕业设计(论文)使用授权声明
本人完全了解青岛滨海学院有关保留、使用毕业设计(论文)的规定,即:学校有权保留送交毕业设计(论文)的复印件,允许被查阅和借阅;学校可以公布全部或部分内容,可以采用影印、缩印或其他复制手段保存该毕业设计(论文)。保密的毕业设计(论文)在解密后遵守此规定。
作者签名: 导师签名: 日期: 年 月 日
摘 要:高校选课系统是根据对青岛滨海学院网上选课系统分析的基础上,对网上选课的流程进行科学整理、归纳和功能的精简,最终建立一个简单、易操作的选课系统。它针对当前学校选课活动而开发,具有针对性和易用性。本系统通过wamp集成开发环境开发,使用MySQL数据库管理系统,运用HTML+CSS设计了用户登录、课程管理、系统管理、基础信息管理、选课管理、导出课表、用户管理等功能模块。
高校选课系统的开发采用了B/S的架构,PHP+MySQL的结合,保证了本系统使用便捷、操作简单、运行稳定。
关键词: 选课系统 管理系统 学生选课
Abstract:The
Elective Course System for College is according to Based on the System Analysis
of Online Course Selection in Qingdao Binhai College, Scientific arrangement, induction and streamlining of the process
of online course selection, Finally, establish a
simple and easy to operate course selection system. It is developed for current school course selection activities and
has relevance and ease of use. The system is
developed through wamp integrated development environment, using MySQL database
management system, and using HTML + CSS to design user login, course
management, system management, basic information management, course selection
management, export schedule, user management and other functional modules.
The development of The Elective Course System for College adopts the B/S
architecture and the combination of PHP + MySQL, ensuring that the system is
convenient, simple to operate, and stable.
Key words:Elective
Course System Management System Student selection
目 录
1 绪论… 1
1.1 系统开发的背景和意义… 1
1.2 国内外研究现状… 1
1.2.1 国内研究现状… 1
1.2.2 国外研究现状… 2
1.3 研究内容… 3
2 程序设计技术相关知识… 4
2.1 B/S结构… 4
2.2 PHP技术… 4
2.3 MySQL数据库… 4
2.4 Dreamweaver介绍… 4
2.5 本章小结… 5
3 选课系统需求分析… 6
3.1 系统总体功能概述… 6
3.2 系统功能需求分析… 7
3.2.1 学生子系统功能… 7
3.2.2 教师子系统功能… 7
3.2.3 管理员子系统功能… 8
3.3 系统非功能需求分析… 9
3.3.1 系统性能需求… 9
3.3.2 技术和业务的适应性… 10
3.4 可行性分析… 10
3.4.1 经济可行性分析… 10
3.4.2 技术可行性分析… 10
3.4.3 操作可行性分析… 10
3.5 本章小结… 11
4 选课系统的设计… 12
4.1 系统的总体设计… 12
4.2 系统的功能模块设计… 12
4.2.1 选课模块设计… 12
4.2.2 基础信息模块设计… 13
4.2.3 登录模块设计… 14
4.2.4 课程管理模块设计… 15
4.3 系统的数据库设计… 15
4.3.1 概念结构设计… 15
4.3.2 数据库表的设计… 16
4.4 本章小结… 18
5 选课系统的实现… 19
5.1 数据库连接配置… 19
5.2 系统登录实现… 19
5.3 学生模块实现… 21
5.3.1 选课功能实现… 21
5.3.2 信息维护功能实现… 22
5.3.3 选课表导出实现… 23
5.4 教师发布课程实现… 24
5.5管理员模块实现… 25
5.5.1 用户管理功能实现… 25
5.5.2 修改密码功能实现… 27
5.6 本章小结… 28
6 选课系统的测试… 29
6.1 测试方法… 29
6.2 系统功能测试… 29
6.3 系统性能测试… 29
6.4 本章小结… 30
总 结… 31
参考文献… 32
致 谢… 33
1
绪论
1.1 系统开发的背景和意义
近年来,信息通信技术和网络技术的发展,信息技术已经被广泛应用到各行业各领域中,各行各业都在加快现代化建设的步伐。[1]随着国家教育改革的不断深入,绝大多数高校的教学管理制度都已经从学年制转变为学分制模式,学生选课机制则是学分制的核心组成部分,而选课群体较大、过程复杂较难管理[2]的问题突出,而且高校学生的选课工作又是一项复杂而又繁琐的工作,这更加凸显了学生选课管理系统的重要性。当前,学生选课系统是目前各大专科及本科院校不可缺少的组成部分,对于学校的教务工作来说尤为重要。[3]建立了独立的学生选课系统学生可以自主的结合自己的选课兴趣和学校提供的教学资源进行选课。
高校选课系统利用计算机和各种网络终端设备完成课程管理,便于增强学生选课的自主性,提高学生的学习积极性,提高学校的教学管理质量和教学效益,所以,分析与设计高校选课系统具有相应的价值与意义。
1.2 国内外研究现状
1.2.1 国内研究现状
随着计算机学科以及网络技术的发展,互联网技术的普及,我国高校的学生选课系统开始有了发展与进步。如今,国内已经有多个高等院校认识并设计研发学生选课信息系统,并且有了一定的发展,基本上实现了教学管理工作网络化、系统化。与政务系统、财务系统等大规模信息 管理系统发展模式相类似,我国教务系统的无纸化、信息化过程也是经历了由C/S阶段逐渐向B/S阶段过渡,并且两种软件架构同时并存的发展过程。[4]在第一个时期,高校选课系统的研发人员利用C/S结构在局域网内进行开发,大大提升了教务人员的工作效率,但是需要相关的硬件设备作为支撑。到了第二个阶段,随着高新技术时代的到来,移动智能终端的普及应用,单机登陆的网上选课模式难以继续适用下去,据此提出了开发出基础web的网上选课系统。借助于网络环境下的软件开发技术和互联网平台,我国高校的教务管理逐渐过渡到B/S架构下的信息管理阶段,教务管理人员、教师和学生可以在不同地理位置实时登录选课信息管理系统,对课程信息、选课申请、开课申请等不同的选课业务流程进行分布式操作[5]。以往我国大多数学校的教务系统以及学生网上选课管理系统还是多年前采用传统软件开发技术实现的,比如Windows
DNA(Distributed Internet Application)、组件技术(COM+)、VB等。[6]然而,各高校间在硬件设施等方面存在差异,因此国内的网上选课系统整体上看了发展存在参差不齐的情况。所以,国内高校选课系统的发展需要进一步的统一进行规划发展。
1.2.2 国外研究现状
对于学生选课管理系统的发展,国外的发展历程主要包括了以下三个不同的 阶段进行,其中第一阶段为单机的学生选课管理系统,当时国外的互联网技术还 没有广泛的普及,计算机刚刚成为一项新兴的事物兴起,因此当时的学生选课管 理系统只能是单机的管理系统,其功能相对单一,并且只能对于操作的人员使用, 数据不能够进行共享,无法实现整个学校的集成管理[7]。第二阶段为基于C/S模式的学生选课管理系统,该阶段的发展的选课管理系统是以客户端和服务器的管理系统,系统的管理人员需要将学生选课管理系统进行不同客户端的安装,通过局域网进行网络之间的互联,所有的使用人员需要通过到指定的安装客户端的计算机上进行相应的系统操作,这种方式的学生选课管理系统存在的问题是用户使用不方便,并且需要安装的客户端机器相对集中,因此第二代的学生选课管理系统仍然存在一定的不足[8]。而第三阶段的学生选课管理系统则是基于B/S模式的系统,该阶段即浏览器和服务器方式的学生管理系统,该方式能够使得用户只要存在互联网的情况下就可以方便用户的数据共享[9]。在欧洲,随着计算机技术以及互联网技术的飞速发展,智能教育以及智能课堂已经成为教育的一个重要部分[9]。现代化的计算机技术改变了学校的教育方式,课程不再拘泥于课堂上,教师将每一节的课程录制上传到选课系统中,让学生自己选择时间去观看、学习,不理解的地方重复学习,这样既以学生喜闻乐见的方式调动起了学生的学习积极主动性,也保证了学生的学习效率与质量,这也算是种通过计算机技术对教育进行的一次创新。
综上所述,随着信息技术的发展和高校人数的增加,开发一个基于网络的高校网上选课信息系统是各高校必须完成的一项重要指标。另外,随着智能设备终端的应用及技术的成熟,C/S结构的网上选课系统已逐渐显示出其在用户体验度上的动能缺乏。基于以上的分析,有必要采用B/S 架构,运用PHP动态网页技术和MySQL关系型数据库,建立一个高校选课系统,系统的实际功能需与高校教务管理活动的实际相匹配,满足教务管理人员、学生、教师的使用需求。
1.3 研究内容
本系统在对青岛滨海学院网上选课系统分析的基础上,对网上选课的流程进行科学整理、归纳和功能的精简,结合现有高校选课系统的功能,设计出一套高效实用的选课系统,论文将从功能、结构、系统的特点和建设步骤几方面进行论述。
(1)开发工具选择
高校选课系统采用B/S的结构,以浏览器的显示为系统界面,主要用来设计系统功能的工具是wamp5集成开发环境以及Dreamweaver网页开发工具,其功能在系统内部有源代码直接完成。
(2)系统预计实现功能
高校选课系统有以下几个功能模块:用户管理、课程管理、选课管理、课表查看、系统管理等。
用户管理:添加、修改教师和学生的用户信息(包括登录账号、密码的创建与修改等)。
课程管理:课程信息的制定、输入、修改(包括课程编号、课程名称、课程学分等)。
选课管理:学生选择课程信息。
查看课表:学生选课活动结束后,可以进入系统查看自己的课表。
系统管理:修改密码及退出系统。
2 程序设计技术相关知识
2.1 B/S结构
B/S架构,指的是系统采用浏览器和服务器架构模式,通过web浏览器来实现系统的功能界面,系统所有可见的活动都在浏览器中进行,涉及到系统内部逻辑结构的在服务器端(Server)进行,即所谓的两层B/S结构。B/S架构近些年随Internet的发展而在浏览器中运行的应用软件。这种模式简化了客户端,将系统的功能结构统一放到服务器上,通过网络的形式实现数据的传输,浏览器通过Web Server同数据库进行数据交互,削减了客户端对系统服务器的运行维护成本,系统服务器对客户端的需求配置,减轻了系统维护与升级的成本和工作量。因为B/S的结构模式一对客户端的配置要求不高,二又便于系统的维护与更新,所以本系统采用B/S结构。
2.2 PHP技术
PHP(超文本预处理器)是一种易于学习和使用的服务器端的通用开源脚本语言,PHP文件后缀名为*.php。PHP
独特的语法混合了C、Java、Perl以及PHP自创的语法。用PHP做出的动态页面与其他的编程语言ASP,JSP相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML的效率要高许多;PHP还可以对文件代码进行加密和优化,使代码运行更快、更稳定、安全。
2.3 MySQL数据库
MySQL是一种开放源代码的关系型数据库管理系统,可以兼容使用SQL
server中的函数、存储过程,全面支持SQL的GROUP
BY和ORDER
BY子句,支持聚合函数。并通过结构化查询语言SQL查询语句对数据库系统进行管理;也可以使用MySQL自由的功能,在phpMyAdmin通过指针在页面点击完成数据库及数据表的创建及维护。MySQL以其体积小、运行快、兼容性好、操作简单的优势,已被广泛地应用在Internet上的中小型网站中。因为MySQL可以工作在不同的平台上,而且MySQL和PHP的搭配可以更好的兼容,所以本系统采用MySQL数据库。
2.4 Dreamweaver介绍
Adobe Dreamweaver,简称“DW”,是款专业化的网页编辑制作软件。DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器,使用所见即所得的接口,利用对HTML、CSS、JavaScript等内容的支持,设计师和程序员可以在几乎任何地方快速制作和进行网站建设。
2.5 本章小结
本章主要介绍了系统开发时所使用的开发结构,相关技术及软件,重点介绍了PHP脚本语言和MySQL数据库的优势。
3 选课系统需求分析
3.1 系统总体功能概述
高校选课系统以为高校的用户提供课程管理相关的服务为目的,基本实现用户对课程的查询与选择、成绩更新与查看以及用户基本信息的维护等操作,具有实用性、可靠性和适用性,可以对系统的数据库进行动态管理,防止混乱,使用该系统有利于使系统在课程管理中发挥更大的作用,充分利用教学资源,实现工作过程的信息化,提高教育教学质量和工作质量。高校选课系统的主要使用者为高校内的学生、教师、管理员用户,每一个用户在系统内都有各自的使用权限及功能(如图3-1所示)。
图3-1 高校选课系统总体功能图
从以上的总体功能图中可以看出来,学生用户在系统中的活动中主要集中在以下的四个模块中:(一)学生选课管理:学生结合自己的情况,选择对应的课程(二)基础信息维护:学生可以查看、维护个人信息(三)查看课表:选完课程,学生可以查看自己已选课程及课程安排(四)系统管理:该模块用于学生修改自己的账号密码。
相应的教师用户主要活动集中在以下四个模块中:(一)课程管理:教师可以发布课程、修改课程信息(二)选课学生查看:教师可以查看该课程上课学生人数(三)基础信息维护:教师可以查看、维护个人信息(四)系统管理:用于教师修改自己的账号密码。
同理,管理员用户的活动体现在以下四个模块中:(一)用户管理:后台管理人员可以对学生和教师的基础信息进行登记及维护(二)课程管理:后台管理人员可以修改、删除课程信息(三)系统管理:后台管理人员维护所有使用系统用户的账号密码。
3.2 系统功能需求分析
经过对系统总体功能模块的分析,可以将系统划分为三个子系统:学生子系统、教师子系统、管理员子系统,通过在每个子系统内实现不同的操作功能来确保系统总体功能的实现。以下分别对各子系统进行说明。
3.2.1 学生子系统功能
学生子系统主要实现功能是学生的选课功能,导出查看已选课的课表信息,以及基础信息维护功能等。详细来讲,学生子系统有如下功能(学生子系统功能结构图如图3-2):
(1)学生选课模块
模块提供学生选课功能,学生可以查看到所有可供选择课程的课程名、课程号、学分、授课教师、课程类型、课时并且选课。
(2)课表查看模块
模块完成学生查看已经选上的课程信息。
(3)基础信息维护模块
此模块主要用于学生查看及修改自己的学号、姓名、密码、性别、入学时间、班级、电话、邮箱、地址。
(4)系统管理模块
模块在学生子系统中的功能为修改当前学生的密码。
图3-2 学生子系统功能结构图
3.2.2 教师子系统功能
教师子系统主要完成发布、修改自己的课程信息,查看自己已教授的课程,查看选择自己课程的学生信息等功能。详细来讲,教师子系统有如下功能(教师子系统功能结构图如图3-3):
(1)课程管理模块
该模块的功能是教师可以根据计划灵活的发布与修改课程,包括课程编号、课程名称、课程学时、课程学分、课程类型、上课时间、上课地点。此外,教师还可以查看自己已经教授过的课程。
(2)已选课学生查看模块
本模块的功能是学生选上课后,教师可以查看到选修了自己教授课程的学生信息。
(3)系统管理模块
模块在教师子系统中的功能为修改当前登录教师的密码。
图3-3 教师子系统功能结构图
3.2.3 管理员子系统功能
管理员子系统主要完成用户管理、课程管理、系统管理等功能。详细来讲,管理员子系统有如下功能(管理员子系统功能结构图如图3-4):
(1)用户管理模块
本模块的功能是后台管理员可以在登录系统对学生和教师进行学籍的注册,以及更新注册在系统内的学生和教师的基础信息。
(2)课程管理模块
本模块的功能是管理员可以给任课教师修改、删除课程信息,包括课程编号、课程名称、课程学时、课程学分、课程类型、上课教师、上课时间、上课地点。
(3)系统管理模块
模块在管理员子系统中的功能为管理员修改系统中的学生和教师的密码。
图3-4 管理员子系统功能结构图
3.3 系统非功能需求分析
网上选课系统除了以上的各功能需求需要满足外,还具有非功能需求,即为满足用户的业务需求,而必须具有的除系统功能需求外的特性,通常包含了系统的性能需求,以及对技术和业务的适应性等。
3.3.1 系统性能需求
系统软件性能是软件的一种非功能特性,它关注的不是系统软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。
为了实现预期的系统功能,高校选课系统采用了PHP+MySQL数据库+Apache集成环境进行动态网站的建设,供其用户通过系统页面在前端进行基本操作,同时实现后台数据的交互等。
为了实现快捷使用,提高网站的时效性,高校选课系统通过对MySQL数据库进行分析设计,设置主键约束、触发器、外键约束等实现同步管理多重信息及其快速办公的目的。
同时高校选课系统还对系统进行了可靠性的分析,可靠性之与在规定的一段时间和条件下软件维持其性能水平的能力有关的一组属性。具体包括:
(1)稳定性
建立网上选课系统的过程中,应高度起重视稳定性和对环境的适应性。选用成熟的技术PHP+MySQL和稳定的开发工具Dreamweaver,以保证网站运行的稳定。
(2)吞吐量
网上选课系统的设计与开发,应当吸取现有的选课系统在选课期间时同时访问系统造成的网络服务器瘫痪,系统崩溃影响到实际选课活动的问题,通过良好的设计确保系统可以同时支持大批量用户访问数据的需求。
(3)信息服务指标
该指标指系统实际运行时,从检索信息到反馈给使用者信息的响应时间不超过3秒。
(4)兼容性
在系统的开发过程中,要充分考虑本系统与现有信息化应用系统或在建应用系统之间的相互兼容性、集成性、界面风格一致性,及数据描述的一致性,主要指的是系统可以在不同的终端稳定运行。
3.3.2 技术和业务的适应性
网上选课系统是基于web浏览器开发的,具有易用性,涉及到美工和用户界面,人机交互工程,交互式设计,心理学等多方面知识,方便用户对系统进行操作,在业务适应性上是可行的。
另外,网上选课系统的设计与实现以及后期运行维护都使用开源免费的PHP技术的PHP5.2版本来完成,兼容性良好,支持多种脚本语言,在技术适应性上是可行的。
3.4 可行性分析
3.4.1 经济可行性分析
由于计算机的价格是可控的,另外,本系统是基于PHP技术,PHP是开源免费的,不仅减少了开发成本而且提高了开发效率,也是高校选课工作发展的大势,其也有比较宽阔的市场。因此,本系统开发在经济上是可行的。
3.4.2 技术可行性分析
系统采用HTML开发友好美观的人机界面,方便用户理解和操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台成熟可行。在硬件方面,随着如今科技的飞速发展,硬件更新速度越来越快,且可靠性越来越高,因此硬件平台能够满足本系统所需。
3.4.3 操作可行性分析
系统正是为了减少人工操作的繁杂而产生的,界面设计时充分考虑管理人员的习惯,使得操作简单,使用者不需要掌握太多的专业技术,非常容易就能完全掌握系统的全部操作流程。因此,开发系统在操作上是可行的。
3.5 本章小结
本章首先对选课系统的总体功能进行了概述,包括系统的功能需求分析和性能需求分析,再对选课系统各具体功能进行了分析概述,最后通过经济、技术、操作可行性的分析、论证,确保系统及开发需求的切实可行。
4 选课系统的设计
详细设计的任务是具体描述每个模块应完成的功能,根据系统需求分析文档,
把代码开发阶段的设计基础都准备好,能够得出一个准确而详细的描述目标系统 的文档或者工程图,然后被程序员或者编写系统的软件人员直接编写成某种形式的业务逻辑。详细设计的目标是每个模块的功能不只是在逻辑上是正确的,更重要的是在设计过程中,使程序员尽可能容易理解系统要实现的目标和设计思想。[11]
4.1 系统的总体设计
根据对高校选课系统功能需求、非功能需求的分析,系统设计开发的功能将结合UML语言的用例图来进行分析设计。
经过分析得到高校选课系统中有三个参与者:学生、教师、管理员,系统中主要涉及到的用例有用户管理用例、基础信息用例、班级管理用例、课程管理用例、选课用例、导出课表用例等。
通过用例图的绘制,可以清晰的使系统开发人员了解到高校选课系统的软件需求模型及系统的总体功能与各子系统功能的结构关系。
以下通过系统总体用例图展现了各参与者与系统中各功能的交互过程(如图4-1)。
图4-1 高校选课系统总体用例图
4.2 系统的功能模块设计
4.2.1 登录模块设计
高校选课系统为了方便用户的使用与系统的维护,将学生、教师、管理员这些使用用户的登录界面集成到了统一的一个登录界面中。当用户登录系统时,系统要求用户填写登录名、登录密码以及登录用户身份和验证码,填写不完整,系统不会提交数据,而且还发出填写不完整的提示信息;填写完成后系统根据用户所选的身份信息将用户名和信息发给后台数据库进行匹配,匹配成功用户进入对应身份信息的系统管理界面并在页面跳转之前显示登录成功的对话框。根据以上对高校选课系统登录模块的描述,设计出了如图4-2的选课系统登录模块的活动图。
图4-2 选课系统登录模块的活动图
通过绘制活动图来对选课系统登录模块功能流程的描述,可以使系统开发人员更加清楚地把握登录模块的数据处理流程,使用合理的程序编码进行系统设计实现。
4.2.2 密码修改模块设计
高校选课系统的设计过程考虑到用户更改初始密码的情况,每一个系统用户都可以登录自己的系统页面或者交给管理员登录系统修改账号密码。用户登录系统后,点击修改密码按钮,依次输出原始密码、两次新密码经过系统验证成功后密码修改成功。基于以上的分析描述,设计出了如图4-3的密码修改模块的活动图。
图4-3 密码修改模块的活动图
通过绘制活动图来对选课系统登录模块功能流程的描述,可以使系统开发人员更加清楚地把握登录模块的数据处理流程,使用合理的程序编码进行系统设计实现。
4.2.3 基础信息模块设计
选课系统设计完成后需要管理员再后台导入添加教师、学生的信息到数据库中,以保证教师、学生能够正常的使用系统。系统中用户信息添加的操作流程为:管理员在用户信息管理界面中,点击添加学生信息,依次导入学生的数据信息到MySQL数据库完成用户信息的上传。基于以上的分析描述,设计出了如图4-4的添加用户信息的顺序图。
图4-4 添加用户信息的顺序图
通过设计添加用户信息的顺序图的过程,使开发人员清楚地认识到选课系统用户管理信息的数据处理流程,有利于选课系统用户信息管理功能模块的实现。
4.2.4 选课模块设计
高校选课系统的核心功能是选课活动,网上选课活动的进行有利于减少教务处人员的排课压力,提高选课的效率。选课活动的操作流程为:学生成功登录系统后,可以通过课程管理中的我要选课进入选课界面,学生可以浏览到所有教师开出的课程信息,从中选择自己喜欢的课程到自己的课表中,学生选完课程后,对应的开课教师和管理员也可以查看到学生的选课信息。通过以上的分析描述,设计出了如图4-5的选课活动的顺序图。
图4-5 选课活动的顺序图
通过设计选课系统中选课活动的顺序图,有助于使开发人员把握选课系统选课信息流以及各数据表之间的联系,有利于作为选课系统核心功能的选课活动的实现和数据库的创建优化。
4.3 系统的数据库设计
4.3.1 概念结构设计
数据库概念结构设计是在对系统的需求分析基础上,按照一定的方法将其抽象为不依赖于具体机器而独立存在的逻辑模型,最普遍的逻辑模型是E-R图。
在高校选课系统中存在以下几个实体:管理员、教师、学生、课程。各实体间存在一定的联系,可用实体联系模型表示为图4-6的逻辑模型。
图4-6 高校选课系统E-R图
4.3.2 数据库表设计
根据绘制的高校选课系统E-R图以及对高校选课系统的需求分析,结合数据库创建的基本原则,系统已MySQL为数据库服务器搭建了高校选课系统的数据库系统gxxkxt命名的数据库。创建的各数据表如下表:
表4-1 学生信息表
字段名
数据类型
长度
约束
备注
Id
Int
5
Pk
自动增长
xuehao
Varchar
15
Null
Password
Varchar
15
Null
Name
Varchar
50
Null
Sex
Varchar
2
Null
Class
Varchar
10
Null
Zhuanye
Varchar
15
Null
Xueyuan
Varchar
15
Null
Minzu
Varchar
10
Null
Jiguan
Varchar
20
Null
Shengri
Datetime
Null
Ruxueshijian
Datetime
Null
Photo
Varchar
50
Null
Beizhu
Varchar
100
Null
Addtime
timestamp
CURRENT_TIMESTAMP
自动获取
表4-2 教师信息表
字段名
数据类型
长度
约束
备注
Id
Int
5
pk
自动增长
Teacherid
Int
15
Null
Name
Varchar
20
Null
Password
Varchar
15
Null
Shengri
Datetime
Null
Idcard
Varchar
20
Null
Sex
Varchar
2
Null
Zhicheng
Varchar
10
Null
Photo
Varchar
50
Null
Course
Varchar
20
Null
Phone
Varchar
11
Null
Beizhu
Varchar
100
Null
addtime
timestamp
CURRENT_TIMESTAMP
自动获取
表4-3 管理员信息表
字段名
数据类型
长度
约束
备注
Id
Int
5
pk
自动增长
Username
Varchar
10
Null
Password
Varchar
10
Null
Addtime
timestamp
CURRENT_TIMESTAMP
自动获取
表4-4 课程信息表
字段名
数据类型
长度
约束
备注
Id
Int
5
pk
自动增长
Courseid
Int
10
Null
Coursename
Varchar
20
Null
Xuefen
Varchar
5
Null
Xueshi
Varchar
5
Null
Xuankerenshu
Varchar
3
Null
Teacher
Int
15
Null
Beizhu
Varchar
100
Null
addtime
timestamp
CURRENT_TIMESTAMP
自动获取
表4-5 选课信息表
字段名
数据类型
长度
约束
备注
Id
Int
5
pk
自动增长
Courseid
Int
10
Null
Coursename
Varchar
20
Null
Xuefen
Varchar
5
Null
Xueshi
Varchar
5
Null
Place
Varchar
20
Null
Teacher
Int
15
Null
Student
Varchar
15
Null
addtime
timestamp
CURRENT_TIMESTAMP
自动获取
4.4 本章小结
本章首先对系统的总体设计进行介绍,其次逐个介绍系统所包含的功能模块以及每个模块的子功能的设计,然后根据UML建模对系统的流程进行设计,并进行相应的流程图的设计。最后,进行数据库概念结构设计为数据库的创建与优化奠定基础。
5 选课系统的实现
5.1 数据库连接配置
通过对数据库进行UML分析得出来数据库的关系模式、进而在MySQL数据库系统中建立高校选课系统的数据库文件,但是数据库只有与应用软件系统相联系起来才能起到数据库对数据的管理和整合作用。不同的应用软件不能够直接建立联系,需要通过一定的桥梁来将二者关联起来,在PHP系统实现PHP与MySQL的结合,需要引入conn.php文件,通过输入匹配的数据库系统的服务器名称、主机名称、用户名称、密码以及统一的字符集来实现。
高校选课系统通过引入以下PHP文件链接到mysql数据库,实现数据的交互:
5.2 系统登录实现
高校选课系统的登录模块是系统用户使用系统最先接触到的界面,其界面的布局效果一定要简洁、易于用户的操作使用。另外,前台用户与后台管理员都使用同一个界面登录系统,所以在系统权限身份的位置使用了下拉列表的形式,来将不同身份的用户区分开来。在这个系统中,使用者需要填写并提交用户名、密码、验证码和身份信息,到login.php中根据用户所选的身份信息进行匹配验证,验证通过系统进入到对应身份的管理界面,否则,系统返回到上一级首页并通知用户登录失败,让用户重新核对信息,再次提交(高校选课系统登录界面如图5-1)。高校选课系统登录模块主要实现代码:
图5-1 高校选课系统登录页面图
5.3 学生模块实现
5.3.1 选课功能实现
学生成功登录系统后,可以通过课程管理中的我要选课进入选课界面,学生可以浏览到所有教师开出的课程信息,从中选择自己喜欢的课程到自己的课表中,学生选完课程后,对应的开课教师和管理员也可以查看到学生的选课信息。课程选择界面如图5-2,选课核心代码如下:
图5-2 学生选课功能界面图
5.3.2 信息维护功能实现
学生登录系统后,在个人信息管理页面可以查看到自己注册的基础信息,并对基础信息进行完善与修改,然后将数据提交给业务逻辑层,经过业务逻辑层对数据的处理整合,将数据提交给数据库层,从而将学生提交的信息交给数据库系统。提交完成后学生可以通过刷新页面,将存入的数据显示到界面中。学生基础信息界面如图5-3,核心代码如下:
if ($addnew==“1” )
{
x u e h a o = xuehao= xuehao=_POST[“xuehao”];
p a s s w o r d = password= password=_POST[“password”];
n a m e = name= name=_POST[“name”];
s e x = sex= sex=_POST[“sex”];
b a n j i = banji= banji=_POST[“banji”];
z h u a n y e = zhuanye= zhuanye=_POST[“zhuanye”];
x u e y u a n = xueyuan= xueyuan=_POST[“xueyuan”];
m i n z u = minzu= minzu=_POST[“minzu”];
j i g u a n = jiguan= jiguan=_POST[“jiguan”];
c h u s h e n g r i q i = chushengriqi= chushengriqi=_POST[“chushengriqi”];
r u x u e n i a n f e n = ruxuenianfen= ruxuenianfen=_POST[“ruxuenianfen”];
p h o t o = photo= photo=_POST[“photo”];
b e i z h u = beizhu= beizhu=_POST[“beizhu”];
s q l = " u p d a t e s t u d e n t x i n x i s e t x u e h a o = ′ sql="update studentxinxi set xuehao=' sql="updatestudentxinxisetxuehao=′xuehao’,password=‘ p a s s w o r d ′ , n a m e = ′ password',name=' password′,name=′name’,sex=‘ s e x ′ , b a n j i = ′ sex',banji=' sex′,banji=′banji’,zhuanye=‘ z h u a n y e ′ , x u e y u a n = ′ zhuanye',xueyuan=' zhuanye′,xueyuan=′xueyuan’,minzu=‘ m i n z u ′ , j i g u a n = ′ minzu',jiguan=' minzu′,jiguan=′jiguan’,chushengriqi=‘ c h u s h e n g r i q i ′ , r u x u e n i a n f e n = ′ chushengriqi',ruxuenianfen=' chushengriqi′,ruxuenianfen=′ruxuenianfen’,photo=‘ p h o t o ′ , b e i z h u = ′ photo',beizhu=' photo′,beizhu=′beizhu’
where xuehao= ‘".$_SESSION[“username”]."’";
mysql_query($sql);
echo
“”;
}
图5-3 学生基础信息界面图
5.3.3 选课表导出实现
选课表的导出功能是学生在选课活动结束后,课表信息已经确定时,通过将网上的课程信息保存到客户端的一个功能。这个功能的实现依靠于在学生的选课信息界面设置一个button按钮,把整个课表信息的内容放入table标记,当用户点击button按钮时触发button的onclick事件"javascript:location.href=‘kebiao_listxls.php’,就会将table标记中的内容提交给业务层,在业务层中通过设定好的规则处理数据格式,然后将经过业务层处理过的数据输出到客户端,选课表导出活动完成。选课表界面如图5-4,核心代码如下:
$sql=“select * from coursexinxi order by id desc”;q u e r y = m y s q l q u e r y ( query=mysql_query( query=mysqlquery(sql);
r o w s c o u n t = m y s q l n u m r o w s ( rowscount=mysql_num_rows( rowscount=mysqlnumrows(query);
for( i = 0 ; i=0; i=0;i< r o w s c o u n t ; rowscount; rowscount;i++)
{
?>
图5-4 选课表界面图
5.4
教师发布课程实现
课程管理是高校选课系统的核心,课程管理的第一步是先由任课教师开授课程,填写课程的课程号、课程名、上课地点、学分、学时、可选人数、备注等信息(如图5-5)。课程发布功能代码如下:
if
($addnew==“1” )
{
c o u r s e i d = courseid= courseid=_POST[“courseid”];
c o u r s e n a m e = coursename= coursename=_POST[“coursename”];
x u e f e n = xuefen= xuefen=_POST[“xuefen”];
x u e s h i = xueshi= xueshi=_POST[“xueshi”];
x u a n k e r e n s h u = xuankerenshu= xuankerenshu=_POST[“xuankerenshu”];
r e n k e j i a o s h i = renkejiaoshi= renkejiaoshi=_POST[“renkejiaoshi”];
b e i z h u = beizhu= beizhu=_POST[“beizhu”];
s k d d = skdd= skdd=_POST[“skdd”];
//ischongfu(“select id from coursexinxi
where renkejiaoshi=’”.$renkejiaoshi."’");
s q l = " i n s e r t i n t o c o u r s e x i n x i ( c o u r s e i d , c o u r s e n a m e , x u e f e n , x u e s h i , x u a n k e r e n s h u , r e n k e j i a o s h i , b e i z h u , s k d d ) v a l u e s ( ′ sql="insert into coursexinxi(courseid,coursename,xuefen,xueshi,xuankerenshu,renkejiaoshi,beizhu,skdd) values(' sql="insertintocoursexinxi(courseid,coursename,xuefen,xueshi,xuankerenshu,renkejiaoshi,beizhu,skdd)values(′courseid’,‘ c o u r s e n a m e ′ , ′ coursename',' coursename′,′xuefen’,‘ x u e s h i ′ , ′ xueshi',' xueshi′,′xuankerenshu’,‘ r e n k e j i a o s h i ′ , ′ renkejiaoshi',' renkejiaoshi′,′beizhu’,’$skdd’)
";
mysql_query($sql);
echo “”;
}
图5-5 课程发布界面图
5.5管理员模块实现
5.5.1 用户管理功能实现
系统建设完成,只有管理员一个用户,教师与学生用户的信息都需要通过管理员的登录注册才能够使用系统。以教师的注册信息为例,管理员进入教师信息管理页面,点击添加教师信息,添加教师的教工号、姓名、密码、出生年月、身份证、性别、职称、照片、主教课程等信息,将信息提交到数据库服务器中的教师信息表中,完成教师信息的登记(如图5-6)。教师信息登记完成,管理员可以查看在职教师信息的信息并对其信息进行修改维护(如图5-7)。用户管理功能代码如下:
if ($addnew==“1” )
{
g o n g h a o = gonghao= gonghao=_POST[“gonghao”]; n a m e = name= name=_POST[“name”];
p a s s w o r d = password= password=_POST[“password”];
c h u s h e n g n i a n y u e = chushengnianyue= chushengnianyue=_POST[“chushengnianyue”];
i d c a r d = idcard= idcard=_POST[“idcard”];
s e x = sex= sex=_POST[“sex”];
z h i c h e n g = zhicheng= zhicheng=_POST[“zhicheng”];
p h o t o = photo= photo=_POST[“photo”];
z h u j i a o k e c h e n g = zhujiaokecheng= zhujiaokecheng=_POST[“zhujiaokecheng”];
p h o n e = phone= phone=_POST[“phone”];
b e i z h u = beizhu= beizhu=_POST[“beizhu”];
ischongfu(“select
id from teacherxinxi where gonghao=’”.$gonghao."’");
s q l = " i n s e r t i n t o t e a c h e r x i n x i ( g o n g h a o , n a m e , p a s s w o r d , c h u s h e n g n i a n y u e , i d c a r d , s e x , z h i c h e n g , p h o t o , z h u j i a o k e c h e n g , p h o n o , b e i z h u ) v a l u e s ( ′ sql="insert into teacherxinxi(gonghao,name,password,chushengnianyue,idcard,sex,zhicheng,photo,zhujiaokecheng,phono,beizhu) values(' sql="insertintoteacherxinxi(gonghao,name,password,chushengnianyue,idcard,sex,zhicheng,photo,zhujiaokecheng,phono,beizhu)values(′gonghao’,‘ n a m e ′ , ′ name',' name′,′password’,‘ c h u s h e n g n i a n y u e ′ , ′ chushengnianyue',' chushengnianyue′,′idcard’,‘ s e x ′ , ′ sex',' sex′,′zhicheng’,‘ p h o t o ′ , ′ photo',' photo′,′zhujiaokecheng’,‘ p h o n e ′ , ′ phone',' phone′,′beizhu’)
";
mysql_query($sql);
echo
“”;
}
图5-6 教师信息登记图
0) { ?>图5-7 在职教师信息查询图
5.5.2 修改密码功能实现
高校选课系统中的用户可以登录系统自行修改系统的登录密码。以管理员修改密码为例,管理员登录系统,在修改密码模块,输入旧密码、新密码、重复新密码,可以将新修改的密码同步到数据库系统中,等到下次登录时便可以生效。修改密码界面如图5-8,系统代码如下:
0) { if(mysql_result($query,0,"pwd")==$pwdy) { $sql="update admin set pwd='$pwd' where username='".$_SESSION['username']."'"; $query=mysql_query($sql); echo ""; } } ?>图5-8 修改密码图
5.6 本章小结
本章在经过选课系统的分析设计基础上,进行选课系统各功能模块的实现过程,首先说明数据库的连接配置,其次,根据使用选课系统的三个用户分别介绍各用户的主要使用功能的实现方式。
6 选课系统的测试
6.1 测试方法
信息系统测试的方法分为静态擦拭方法和动态测试方法,静态测试方法包括桌面检查和代码会审等,动态测试方法有黑盒测试法和白盒测试法。
高校选课系统在部署实施前需要对系统的功能与实现情况进行测试,根据测试报告及时修改调整系统运行中的问题。由于主要对选课系统的各功能进行测试,所有使用黑盒测试的方法进行系统测试。
6.2 系统功能测试
系统功能测试的主要任务:(一)检测系统与数据库能否正常连接,数据库约束设置是否合理;(二)检测系统中的功能模块是否与开题报告中陈述的功能相一致,符合系统设计说明书的要求;(三)检测系统中各子系统是否可以正常运行,各项功能能否顺利实现。系统测试结果如表6-1。
表6-1 测试结果表
系统测试内容
页面显示结果
测试结果
用户登录系统
登录成功
测试通过
添加系统用户
添加成功
测试通过
维护用户信息
修改成功
测试通过
添加课程信息
添加成功
测试通过
课程信息维护
维护成功
测试通过
选择课程
选课成功
测试通过
课表导出查看
课表导出成功
测试通过
6.3 系统性能测试
系统性能测试阶段的任务是看设计开发出的系统是否真正的与设计的初衷一样,系统操作便捷简单、易于使用维护。高校选课系统的性能测试主要检测系统的稳定性、吞吐量、信息服务指标和兼容性。
经过对系统性能的测试,高校选课系统的系统运行稳定,从检索信息到反馈给使用者信息的响应时间不超过3秒,系统兼容性良好在不同的主机上可以实现系统的运行,能够满足预期的需求。
6.4 本章小结
本章首先介绍系统测试的目的与方法,然后结合系统的使用需求,使用黑盒测试的方法,按照系统的功能模块划分开来,逐一进行测试,保证系统的各个功能模块能够稳定运行。同时进行系统性能测试,保证测试结果能够满足用户的正常使用。
总
结
文章从绘制组织结构图对高校选课系统的业务需求分析开始,在前人对网上选课系统分析的基础上,运用信息系统分析与设计结构化开发方法,通过UML建模语言对系统静态结构与系统动态结构分析,描绘出了高校选课系统的基础模型。在系统实现过程中运用开发语言(HTML超文本标记语言)、开发工具(Dreamweaver CS6网页开发软件)和数据库管理系统(MySQL)等,搭建开发环境(PhpStudy集成开发环境),编写代码,使高校选课系统的学生选课功能、课程管理功能、课表导出查看功能、基础信息维护功能、用户管理功能等功能模块能够按照预期的需求来实现。
但是由于自身的项目经验缺乏和专业技术的局限,没有充分考虑到选课系统实际运行中的其他相关问题及技术模块,使系统在一些逻辑功能上还存在一定的逻辑缺陷、功能缺陷;而且,系统前端界面从整体设计到布局优化,因为不能够灵活运用CSS的标签,而不能达到自己期望的要求。
参考文献
[1] 吕相宜.江西财经职业学院学生选课信息管理系统的研究与分析[D].云南大学, 2015.
[2] 赵江川,刘敏,薛文.学分制下的选课管理探析[J].科技视界,2016
(03):148.
[3] 宋翔,刘新强.基于B/S的学生信息数据库设计与研究[J].电子设计工程,2012,20(5):58-60.
[4] 李帅,黄克敏,杨义,等.高校学生选课系统的研究与设计[J].电脑知识与技术,2017(9):99-100.
[5] A. Zare, A. Shekarey. The effects of social, familial, and personal factors on students’ course selection in Iranian technical schools[J].Procedia-Social
and Behavioral Sciences,2010,9:295-298.
[6] 王瑛. 基于B/S结构的网上选课管理系统的设计与实现[D].江西财经大学,
2017.
[7] 李林.学生管理系统的研究与实现[J].中国科技博览,2015(21):236-237.
[8] 颜杰群,林丽蓉. .基于Excel VBA的高校学生管理系统开发[J].宁波教育学院学报,2015,17(4):83-87.
[9] 杨艳梅.唐山科技职业技术学院选课系统设计与实现[D].湖北工业大学,
2017.
[10] 沈力. JSP 技术研究[J].科技资讯,2014,09:111-112.
[11] 古吉虎,基于开源软件的高职网络教学平台的研究与实践[D].广西师范学院,2012.
致
谢
经过几个月的努力,我终于完成了毕业设计的开发与毕业论文的撰写,在这个进度中,我由于各方面的原因遇到了许多的困难、障碍,影响了整体进度的执行,不过最终都在指导老师的帮助下和各位学者的研究成果的启发中,得到了解决。
在这里,感谢我的指导老师昝冬平老师,尽管您有着来自忙碌的教学工作和生活中压力,但您仍然抽出来时间为我审查、修改、规范论文,一直到论文定稿、答辩。
感谢参考文献中列出的学者专家,有了你们的辛勤探索与研究,才有了我今天更容易的完成这份毕业设计。
感谢大学里曾将教授国我的所有任课教师,你们对待学习工作一丝不苟、严谨细致的学风、态度将是我一直努力奋斗的方向。
最后,由于个人的研究水平有限,恳请各位专家、学者对论文中不当的地方予以指正。