《网上选课系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《网上选课系统的设计与实现毕业论文.doc(31页珍藏版)》请在三一办公上搜索。
1、本科生毕业论文(设计)题目 网上选课系统的设计与实现 姓名 韩立媛 学号 2009145533 院系 计算机科学学院 专业 软件工程 指导教师 王华 职称 副教授 2013 年 5月 20日曲阜师范大学教务处制目 录摘要1关键词1Abstract1Key words11 引言11.1 网上选课系统开发的必要性11.2 学生网上选课系统的发展与开发现状11.3 学生网上选课系统的目的以及意义12 相关软件及技术介绍22.1 学生网上选课系统的架构22.2 学生网上选课系统的服务器22.3 学生网上选课系统所用框架22.4 学生网上选课系统的使用语言32.5 数据库33 系统需求分析33.1 用户
2、需求分析33.2 业务流程介绍43.3 可行性分析54 系统设计74.1 系统总体设计74.2 系统详细功能模块设计75 详细设计125.1 学生子系统125.2 管理员子系统155.3 教师子系统195.4 网站测试216 系统关键代码部分237 总结27致谢28参考文献28网上选课系统的设计与实现软件工程 韩立媛指导教师 王华摘要:随着在校大学生人数的不断增加,高校专业设置也越来越细化,可供学生选择的课程也越来越广泛,随之而来的是教务人员的负担愈发加重,因此需要用电子化、信息化的产品改善教务人员的处境,以简便易行的电脑操作代替繁琐的手工报表设计,从而提高教务工作的效率。本文根据实际需要,选
3、择了以Model View Controller(MVC)框架的PHP + MySql + CodeIgniter + easyUI 来开发,分别从学生子系统、教师子系统、管理员子系统等方面设计该系统,能方便的实现学生和教师信息管理,课程管理,学生选课等功能,该系统能够提高教务工作的效率,具有良好的可操作性,能够满足教务管理和学生网上选课的教学管理需求。关键词:选课系统 PHP(Hypertext Preprocessor) MySql CodeIgniter easyUI MVCDesign and Implementation of the Online Course Selection
4、System Software Engineering Han LiyuanTutor Wang HuaAbstract: With the increasing number of college students, the settings of the colleges majors are more and more refined, and the courses for students to choose are more and more widely. Followed by the heavier burden of colleges staffs, therefore w
5、e need to develop a system that is functional and reliable to satisfy the students selective course arrangement of colleges, and prove the convenience and simplicity. This system chooses MVC framework based on PHP, MySql, CodeIgniter and easyUI with the actual demands. According to the needs of thos
6、e staffs, teachers and students, Combined with the actual situation, it made a relatively detailed system requirements analysis. This article introduces the function of the system characteristic and the design process from the student subsystem, teacher subsystem, the administrator subsystem. It con
7、tains some functions which are like normal other systems, such as student and teacher information management, curriculum management, student course selection, and other functions. The system can improve the efficiency of the educational administration work, and has good operability; it can also sati
8、sfy the teaching management needs of the educational administration management and the students online courses teaching management needs.Key words:Courses Selection System; PHP;MySql; CodeIgniter ; easyUI;MVC1 引言1.1 网上选课系统开发的必要性从学生的角度来说,由于学校教学制度的改革,传统的教学模式即学生按照学校安排好的课程上课,已经不能适应现在大部分高等院校开始实行的学生的自主选课模
9、式型的教学手段,如果仍然通过纸上的方式选课,一方面浪费大量的人力、物力资源,另一方面浪费时间。而且在人为的统计过程中难免出现差错。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,只要学生在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作对学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。网上选课系统就是针对在校学生和教师使用。1.2 学生网上选课系统的发展与开发现状进入
10、21世纪以来,国内各高校都在积极推动教育体制的改革,为培养更为优秀的新世纪复合型人才做出努力。然而在80年代以前,计算机还没有在国内普及各高校学生选课都是手工完成,不仅教师的工作量大,而且学生查询和检索也很麻烦。 80年代后期,少数高校开始实行学年学分制,学生有了一定程度的选课自由,学生在学校只需要修满学分就可以毕业,并且可以根据自己的喜好选择科目。并且随着PC机的普及,有些高校已经开始应用电脑进行日常管理工作。这时,学生选课系统诞生了。但是,这些系统大多是基于DOS或者Windows的单机版本,不仅界面不友好,而且功能薄弱。各科系之间的数据交流只能借助软盘为中介,费时费力。随着高校的规模扩大
11、,教育体制改革的深化,这类系统已经不能适应管理上的要求。 90年代后期以来,各高校纷纷建立自己的高速校园网;在技术上,客户机/服务器体系结构已经非常成熟,同时浏览器/服务器体系结构正在兴起,这些都为创建大型的学生选课系统创造了条件,满足了数据集中存放,管理运作分布执行的需求。中心数据库存放学生选课系统的相关数据,管理人员通过网络访问数据库进行业务管理:学生和任课教师可以通过浏览器查询相关数据。目前国内高校均有自己的选课系统。 使用学生网上选课系统成为现代教务管理工作必不可少的一部分。现今,在学生网上选课系统的架构上绝大多数均采用B/S结构。而在使用语言上,目前常用的开发选课系统的程序语言有AS
12、P、JSP、PHP多种程序语言,其中以这三种最为常见。1.3 学生网上选课系统的目的以及意义本系统开发的目的,不仅给原本繁杂的人工选课工作减少了不少教务工作量,还在于使学生可以根据兴趣跨专业选课,多了解掌握感兴趣的学科知识,而且选课可能会为学生毕业后多提供一条就业出路。本文所探讨此学生网上选课系统的研究意义,除了在于提高教务工作效率,为学生网上选课的自由度和公平性提供更佳的操作平台。之外,从学院发展管理层面,还有以下方面的作用:(1)有利于把握学生偏好和就业走向偏好趋势包括两个方面:一是学生的个人喜好。网上的自主选课系统无疑真实地反映了学生的兴趣喜好,能够直接地观察到学生对知识的兴趣动向,有利
13、于因材施教。二是一定程度上反映出就业走向。教育与就业息息相关,能否顺利就业是学生最为关注的问题之一,也成为学生学习的动力。观察学生网上选课情况也能反映出学生对此课程或行业的态度,从而两项结合,双向选择既能够激发学生学习兴趣,也能够更精准地把握行业发展就业动向。(2)为学校增设新专业等发展方向提供参考“专业结构有待调整优化”是前文提及的高职院校办学现今存在的问题,学院对于专业的考虑,一方面来自于外部,既参考了国家发布的教育规划,如国家中长期人才发展规划纲要(20102020 年)中强调“要大力开发经济社会发展重点领域急需紧缺专门人才,发展目标为到 2020 年,在装备制造、信息、生物技术、新材料
14、、航空航天、海洋、金融财会、国际商务、生态环境保护、能源资源、现代交通运输、农业科技等经济重点领域培养开发急需紧缺专门人才 500 多万人;在教育、政法、宣传思想文化、医药卫生、防灾减灾等社会发展重点领域培养开发急需紧缺专门人才 800 多万人”,第三方提供的红绿牌专业信息,还要结合地区发展情况,另一方面来自于内部,学生网上选课系统的设置,能够使学院领导清楚地看到哪些课程座无虚席,哪些课程门庭冷落,便于分析原因,有效把握各个专业发展动向,进行综合性衡量。2 相关软件及技术介绍2.1 学生网上选课系统的架构传统的 C/S(Client/Server)架构需要将软件下载到每一个客户端,系统升级时需
15、对每个客户端进行升级(或需用户自身手动升级),耗费大量人力,同时如遇到众人同时下载会造成网络拥堵,耗时,效率不高;且因 C/S 自身的条件限制,出于事务保密性考虑,“传统 C/S 架构的系统仅限于在局域网使用,无法满足企业对于任何用户任何地点都可以使用系统的应用需求”。 B/S(Browser/Server)架构即浏览器和服务器结构。与传统的 C/S 体系结构相比,B/S 结构大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,服务器则集中了所有的应用逻辑。开发、维护等几乎所有工作也都集中在服务器端。同时当需要对该系统进行升级时,只需更新服务器端的软件,而不必更换客户端软件,减轻了
16、系统维护与升级的成本与工作量,方便普通用户使用。局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。目前,学生网上选课系统开发的架构主要是应用B/S使用的程序,本系统设计也采用的是B/S架构。2.2 学生网上选课系统的服务器WampServer就是Windows Apache Mysql PHP集成安装环境,即在
17、window下的apache、php和mysql的服务器软件。WampServer是一款由Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包,免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。本系统用Wampserver作为系统的服务器软件。2.3 学生网上选课系统所用框架CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 Co
18、deIgniter 可以减少代码的编写量,并将精力投入到项目的创造性开发上。CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许网页中只包含很少的脚本。模型(Model)代表数据结构。通常来说,模型类将包含取出、插入、更新数据库资料这些功能。视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。控制器(Controller)是模
19、型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果不需要使用这种分离方式,或是发觉维护模型比想象中的复杂很多,可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和现有的脚本合并使用,或者允许自行开发此系统的核心库。2.4 学生网上选课系统的使用语言目前,最常用的三种动态网页设计语言:ASP(Active Server Page),PHP(Hypertext Preprocessor)和JSP(Java Server Pages)。ASP 意为“动态服
20、务器页面”, 是一种服务器端脚本编写环境,可以用来创建和运行动态网页或 Web 应用程序。JSP(Java Server Pages)是一种动态网页技术标准,技术与 ASP 技术相类似,其是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。用 JSP 开发的 Web 应用是跨平台的,既能在 windows 下运行,也能在其他操作系统上运行。PHP(Hypertext Preprocessor)亦可产生动态网页程序,具有很好的不同平台间的可移植性,可在许多的不同种的服务器、操作系
21、统、平台上运行,如Linux,Windows20,WindowsNT、WindowsXP和Win7等平台。也可和许多数据库系统结合,PHP具有丰富的函数接口,支持几乎所有流行的数据库,在数据库上具有很大选择余地。它还支持Apache等通用web服务器,代码无需改动或做些微改动就可在不同的Web服务器、不同的操作系统下运行。在稳定性上,ASP过一段时间就会使系统不稳定,需要重开作业系统,而且ASP对数据库的操作方面不稳定,一个小的错误往往导致数据库的瘫痪。PHP在许多的站点使用上,不但长期使用不会有问题,而且程序的稳定性也不错。当然最稳定的是JSP,因为它是由作业系统负责控制,不会因为程序的错误
22、而导致web服务器的不稳定。就系统安全而言,ASP是最差的。在没有经过微软的IISServicepack处理,使用:$data就可以看到ASP的原始码。PHP和JSP在这一方面,在许多商业和非商业使用时,没有什么安全上的问题。ASP只能在windows平台才能充分发挥其价值,JSP只有对JAVA熟悉的人能用的很好。而PHP几乎可以在所有平台上运行,易学易用。PHP在新增功能方面及改版方面是最有活力,本身为免费共享软件,如果想要一个PHP现在没有的新性能时,很快就有人为PHP编程而加上此种特性。基于以上特性,所以本系统选择PHP为开发语言。2.5 数据库目前常见的数据库有 Access、Sql
23、Server、MySql 等多种数据库形式,几种数据库各有优缺点,其中与 PHP 语言最为相配的是 MySql 数据库。而选择 MySql 软件的另一原因,是因为它完全自由使用,其体积小、速度快、总体拥有成本低,选用此数据库十分合适。并且WampServer里就包含MySql数据库,从而开发起来就更方便快捷。3 系统需求分析3.1 用户需求分析3.1.1 倾听各层面用户需求1.教务人员:传统手工安排选课有很多不便,很多工作内容需人工记忆,对各系各学科所在选修课程数量的总体把握及各年级学生报名人数的统计也费时费力,多头分段工作还易出现差错;希望可以采用新的排课方式减轻工作量,改善上述提出的问题,
24、减少人员分工。2.教师:管理课程方便,操作简单不繁琐。3.学生:操作便捷,多了解即将选择的课程情况;希望改变授课模式,使课程听得懂、学得会又活泼有趣;尽可能多增加一些其他学科的基础课程,对跨专业学习很感兴趣。3.1.2 整合各方面意见,进行需求分析(1)操作界面美观大方,简洁,操作方便。(2)根据不同用户需求添加相应功能:教务人员业务信息管理:非指定的用户不能对相关功能进行编辑或改动;能够实现对选课信息的集中管理,添加、删除、编辑课程相关信息;添加学生信息,管理教师及学生用户;汇总整理相关数据;管理在线留言。教师业务信息管理:教师可编辑、修改课程相关信息;能够查看所有选课课程,及学生网上选课的
25、人数、人员名单、课程的时间和地点。学生业务信息管理:修改个人密码;可以查看全部选课内容,自主选课;可以看到截止至选课确认前的选课人数,“确认”后不能更改所选课程;查看所选课程的授课时间和地点。3.1.3 功能特点根据上面所述,对系统进行了划分,分为三个主要功能,即登录控制、排课和选课,分别对应三个子系统,即登录子系统、排课子系统和选课子系统。其中,登录子系统是前提,排课子系统是基础,选课子系统是关键。登录子系统区分排课者(即系统管理员),教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断起相应具有的权限,进行不同的操作。排课子系统主要供排课者使用,其中设定选课时间段,进行排课并检
26、测排课冲突,发布选课信息都是选课的前提和基础。选课子系统是本系统要实现的最终目的。选课子系统主要供学生选课使用。在这里可以进行预选可有关的活动,包括课程浏览查询、选课、退选课程。3.2 业务流程介绍根据上面相关内容,对用户需求进行调查、对用户需求所做的分析,现将本学生网上选课系统的业务流程做出如下分析:1 教务管理员登录系统,注册新的教师或其他管理员用户。按照已批准的下一学期教学计划,录入选课课程。2 新注册的教师或者管理员登录到系统,修改默认的密码,对所授课程进行添加和维护。3教务管理员为学生进行注册,根据其学号设定用户名和填写实际姓名,系统采取实名制。学生注册成功后,修改个人密码,查看系统
27、所提供的选课信息,并在规定时间内,可以根据自己的兴趣进行选课。4学生网上选课按照先来后到的顺序进行选课安排,学生如有因特殊原因,欲改选或退选,需由教务管理员实现。5教务管理员核对选课列表,整理维护选课信息无误后,发布最终选课结果,公布授课时间和上课地点,备份资料。6 选课结束后,学生登录系统,能够看到所选课程开设情况。系统的业务流程图如图1所示。添加学生信息学生登录管理员登录学生成绩考核查询课表生成选课序列,形成课表学生选课添加选课课程注册教师及其他管理员用户图1 网上选课系统流程图3.3 可行性分析3.3.1 提供方案的可行性(1)专业结构优化前文中已经提到,“本系统开发的目的,不仅给原本繁
28、杂的人工选课工作减少了不少教务工作量,还在于使学生可以根据兴趣跨专业选课,多了解掌握感兴趣的学科知识;而且选课可能会为学生毕业后多提供一条就业出路”,满足学生的发展需求是实现学生顺利就业保障之一。(2)打破教学刻板化教师可提供一些基础课程,既与现下热门的职业技能证书有关,又不涉及太艰深专业背景知识,指导跨专业的学生熟悉了解;并按照知识的学习梯次或根据证书的等级,分批安排授课,如针对大一学生开设入门知识、大二开设中级内容,大三开设高级内容等。系内亦可组织本系学生学习他系课程,如果申报人多,则可聘请他系教师在不影响其正常教学的情况下,开班授课。(3)选课公平合理此选课系统按年级划分选课内容,以保证
29、学生选出适合自己知识背景的课程,学院的电脑数量能够满足该系同一年级学生同时上网选课的要求。采用集中学生上网选课的方式,尽可能地使学生在同样的时间内,查看同样的选课内容,选出自己喜欢的可能,保证学生在选课过程中公平性、合理性。3.3.2 开发技术的可行性系统打算采用 B/S 结构,客户端只需有浏览器,能够进行网络链接即可;登陆服务器管理相关信息。而服务器端只需要有可以运行 PHP 程序的解释器即可。技术层面上,利用 PHP 和 MySQL 作为系统开发工具使得技术应用得到保障。这两种技术的选择原因已在前文部分阐述,技术已经比较成熟,且 WampServer为自由使用软件,资金成本上得到很大节省和
30、优化,可以说整个系统是软件投入成本为零,仅需一定硬件成本,功能较为完善,这就保证了系统的经济可行性。目前本系统规模小,灵活程度高,正适合采用这种技术。学生网上选课系统充分利用网络交互性、开放性的特点,实现数据收集管理及统计,可以更好地为教学、为师生服务。且学院提供专业的软硬件维护团队,更为今后学生网上选课系统的扩大和发展提供有力支援。系统可在 Windows 操作平台中使用,开发环境为 Windows XP 和 Netbeans IDE7.2 for PHP + CodeIgniter。利用 PHP 结合 MySQL 数据库来进行开发。WamperServer 作为此学生网上选课系统的服务器,
31、处理效率相对较高,能够基本满足系统实时在线要求。3.3.3 操作管理的可行性对于操作此选课系统的三种角色,即教务管理员、教师、学生,均可实现简便易行的操作管理,功能简单明了。(1)该软件的功能为:学生选课信息更新、选课查询、成绩查询以及密码管理。学生选课信息更新:添加选课学生、删除选课学生、修改选课学生信息。查询功能:记录浏览和条件查询。密码管理功能:允许合法用户对密码进行修改。(2)性能:方便数据的录入,使查询速度大大提高。(3)系统的输入:选课学生所包含的信息。(4)系统的输出:查询结果和各类报表。(5)数据安全和保密:系统对不同权限的用户提供不同的功能模块,有一定权限的用户可以进行操作,
32、一般的用户只能进行查询的操作。3.3.4 软、硬件环境要求硬件环境:服务器端/客户端:处理器 :Intel Pentium 4内存:256M硬盘空间:10G软件环境:服务器端/客户端:操作系统:linux, windows, unix网络协议:TCP/IP浏览器 :Internet Explorer6.0 以上制作工具:PHP MySQL CodeIgniter easyUI本系统是通过用easyUI来完成学生网上选课系统的界面设计以及外观构架设计;并用CodeIgniter框架运用到系统中,完成数据的调用和处理,系统的后台上用 MYSQL 作为数据库支持,提供基本的表信息。3.3.5 安全管
33、理由于此选课系统是在网络平台上操作,且面向全体师生,确保系统的安全性和师生信息的安全尤为重要。为此,采用下列方法:(1) 严格规定及设置:强调每位用户在成功登录后,可以自设密码。系统不设置保存密码功能。(2)用户权限明确划分:系统共有管理员、教师和学生这三种用户,用户在使用系统前必须登陆,角色分开,管理员综合管理整个系统,教师编辑课程相关内容,学生网上选课。(3)数据库创建和编辑:维护数据的安全性和完整性十分重要。本系统首先要求管理员保证数据不能被别人随意访问,防止无关人员对数据文件进行拷贝、修改和删除;其次在 windows 操作系统中保护 MySQL 数据文件,设置一定访问权限,使其只能进
34、行“只读”操作;最后,为了避免用户对数据库进行直接操作,教务管理员是通过此学生网上选课系统提供的界面,创建、编辑或删除后台数据库中的数据,对数据库的一切操作都在系统实现,提高数据库的安全性。4 系统设计4.1 系统总体设计4.1.1 总体构想及原则系统采用的是目前广泛应用的 B/S 平台架构,采取 Apache+ PHP+My Sql 的模式设计完成。事先设置好 WAMP 开发环境,继而利用 PHP5 和 CodeIgniter等知识完成开发。总体目标是综合运用 PHP5 技术和 MySql 数据库,根据开发目的和前面章节已做的需求分析,实现行之有效且简便易行的学生网上选课服务,教务人员则通过
35、这一系统平台上完成对选课等相关内容的信息化管理。总体设计原则是系统开发将彻底贯彻以人为本的理念,切实为用户着想,保证系统的安全性、实用性和可操作性,达到预期设计目的,方便系统的升级、扩展和日后与教务系统软件互联,充分发挥计算机节省人力的巨大作用,最大程度上满足用户需求。4.1.2 功能模块设计根据需求分析,系统从教务管理员子系统模块、教师子系统模块和学生子系统模块进行设计。系统管理员在设定好各种角色的权限后,在注册新号时,会根据角色进行分类;用户输入账号和密码口令登录后,根据此分类,进入不同的页面,使用的功能也不尽相同。系统开发出的功能将体现在每个用户子系统管理功能中,三个模块均为用户,在登录
36、系统的流程上是一致的。如图2所示。用户登录验证身份进入系统学生子系统教师子系统管理员子系统否是图2 网上选课登录系统流程图(1)管理员子系统:用户信息管理、课程信息管理、后台管理、系统信息管理。(2)教师服务子系统:课程管理、个人信息管理、查看选课信息。(3)学生服务子系统:个人信息管理、选课、查看信息。4.2 系统详细功能模块设计4.2.1 管理员子系统这一子系统部分的设计及开发主要是用以完成管理员对整个系统的管理,管理员用户拥有最高级别的权限:既可以管理授课教师和选课学生的信息,又可以对其他的一般管理员的权限进行设置及管理。非指定的用户不能对相关功能进行编辑或改动,这部分子系统在系统运作中
37、起着最为重要的作用。其主要功能有:(l)用户管理:用户管理分为学生管理和教师管理及其他教务管理员三部分。这三部分均包括添加和删除用户功能,分配用户名,对用户密码进行初始化分配。(2)系统维护:维护系统正常运转,此处管理员权责非教务人员,而是由专业软件技术人员负责。(3)选课管理: 对选课信息集中管理,添加、编辑和删除选修课程信息,审核学生提交的选课申请信息。(4)留言管理:具有撰写、删除留言,浏览他人留言的功能。4.2.2 教师子系统教师通过用户名和密码进入系统后,可实现的功能有:(1)个人信息:修改个人密码。(2)课程管理:分两块内容:一是添加选课,进行课程介绍,设定开课时间和课程结束时间,
38、限定选课人数和学分;二是当自己有觉得适合同上学的课程可供学生选择的话,可以申请开课。(3)学生名单:教师将会看到选择自己所授课程的学生人员名单,可以进行对学生成绩的打分。4.2.3 学生子系统学生用户通过已有的用户名及密码,进入此学生网上选课系统后,可实现的主要功能有:(l)个人信息:修改初始密码。(2)自主选课:学生进行选课操作时,可看到页面显示课程相关信息,在“课程描述”部分能够清楚该门课程是否有学习背景等方面要求;选课确认之前,会有提示,一旦确认,即为提交,无法改选。课程达到限定人数,不能继续报名。(3)查看信息:分为两种,一种是在选课过程中,上一点中提到的可以“实时观看到所有课程其他同
39、学选报数字”,另一种是选课结束后,能够看到所选课程通过,可以查看上课时间和地点。系统的功能模块如图3所示。网上选课系统管理员子系统查看信息已选说课表其他管理员信息教师子系统学生子系统学生名单选课信息已选课表选课信息查看信息自主选课个人信息查看信息课程查询个人信息教师信息学生信息申请开课编辑修改选课增删选课信息编辑选课信息用户管理系统信息管理选课管理图 3 网上选课系统的功能模块图4.2.4 数据库设计学生网上选课系统的重要用途之一,是通过处理大量的数据来获得学生选课的结果并在满额等情况下对学生的课程选择进行调整,这就要求系统必须能够存储和管理大量数据。在这样的需求条件下,建立一个具有良好性能的
40、数据库,可以使整个系统提供更加迅捷、准确的数据,为此学生网上选课系统设计成功提供保障。(1) 数据结构这一部分主要是进行数据库的逻辑设计,就是将数据系统功能的要求、功能模块的划分等方面的内容与逻辑层次组织到一起,用来确定选课系统各部分的数据项,并能够用数据结构来分析选课的数据流。这一数据库的ER图如图4所示。编号学号NM1Ns学生密码姓名权限选课课程课程号课程名授课老师上课时间课程名上课时间课程号授课老师上课地点任课成绩教师课程号教师编号姓名密码权限所属院系教师编号.管理员管理教室学院公告编号名称联系方式创建时间编号名称姓名密码编号权限登陆账号编号标题内容创建时间创建者NMMMMM图4 网上选
41、课系统的E-R图(2) 数据库结构模型1.管理员信息表标识:tb_admin管理员信息表包括编号、登录账号、姓名、密码、创建时间、权限、上次登录IP、上次登录时间8个字段,如表1所示。表1 管理员信息表名称字段名称类别主键非空编号idintYesNo登录账号uidncharNoNo姓名namencharNoNo密码pwdncharNoNo创建时间createatvarcharNoNo权限rootncharNoNo上次登录IPlastipvarcharNoNo上次登录时间lasttimevarcharNoNo2.学生信息表标识:tb_student学生信息表包括编号、学号、姓名、密码、创建时间、
42、权限、上次登录IP、上次登录时间、家庭住址、联系方式、所属院系11个字段,如表2所示。表2 学生信息表名称字段名称类别主键非空编号idintYesNo学号uidncharNoNo姓名namencharNoNo密码pwdncharNoNo创建时间createatvarcharNoNo权限rootncharNoNo上次登录IPlastipvarcharNoNo上次登录时间lasttimevarcharNoNo家庭住址hometownncharNoNo联系方式telintNoNo所属院系majorncharNoNo3.教师信息表标识:tb_teacher教师信息表包括编号、登录、姓名、密码、创建时间
43、、权限、上次登录IP、上次登录时间、家庭住址、联系方式、所属院系11个字段,如表3所示。表3 教师信息表名称字段名称类别主键非空编号idintYesNo登录号uidncharNoNo姓名namencharNoNo密码pwdncharNoNo创建时间createatvarcharNoNo权限rootncharNoNo上次登录IPlastipvarcharNoNo上次登录时间lasttimevarcharNoNo家庭住址hometownncharNoNo联系方式telintNoNo所属院系majorncharNoNo4教室信息表标识:tb_room教室信息表包括教室编号、教室名称2个字段,如表4所
44、示。表4 教室信息表名称字段名称类别主键非空编号idintYesNo名称namevarcharNoNo5学院信息表标识:tb_college教室信息表包括编号、名称、联系方式、创建时间4个字段,如表5所示。 表5 学院信息表名称字段名称类别主键非空编号idintYesNo名称namevarcharNoNo联系方式telintNoNo创建时间createatvarcharNoNo6.课程信息表标识:tb_course学生信息表包括编号、课程号、课程描述、授课教师、是否开课、上课地点、上课时间、时间段、课程周数、是否必选课10个字段,如表6所示。表6 课程信息表名称字段名称类别主键非空编号idintYesNo课程号uidncharNoNo课程描述desncharNoNo授课教师tescherncharNoNo是否开课isopenbooleanNoNo上课地点roomncharNoNo上课时间timevarcharNoNo时间段periodncharNoNo课程周数longsintNoNo是否必选课ismustbooleanNoNo7.公告信息表标识:tb_info管理员信息表包括发布信息的编号、信息标题、信息内容、创建时间、创建者5个字段,如表7所示。表7公告信息表名称字段名称类别主键非空发布信息的编号idintYes