学生选课管理系统的设计与实现 ()_第1页
学生选课管理系统的设计与实现 ()_第2页
学生选课管理系统的设计与实现 ()_第3页
学生选课管理系统的设计与实现 ()_第4页
学生选课管理系统的设计与实现 ()_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

1、本科生毕业论文(设计)学生选课管理系统的设计与实现姓 名:胡俊鹏 指导老师:李懿 合作老师:李懿 专 业:计算机科学与技术 提交日期: 目 录中文摘要6外文摘要7引言81绪论91.1课题研究的目的意义91.2国内外发展趋势91.3本文主要工作101.4本文组织结构102系统需求分析112.1 结构化分析112.2 功能需求描述162.3 非功能需求描述163系统设计173.1系统总体结构设计173.2功能模块高层设计174数据库设计204.1概念设计(E-R图)204.2逻辑结构234.3物理设计265系统功能实现295.1登陆页面模块295.2学生注册页面295.3管理员模块305.4学生模

2、块345.5教师模块366系统测试377总结与展望42参考文献43致 谢44学生选课管理系统的设计与实现 胡俊鹏指导老师:李懿 合作导师:李懿(浙江中医药大学医学技术学院,杭州,浙江 310053)摘 要:随着社会的高速发展,学生数和学校课程种类也随之上升,过去学校传统的选课模式已无法满足现有的需求,因此开发一个功能强大的信息管理系统,是现在学校所不可缺少的。学生选课管理系统无论是在学校的管理方式快捷系统性上,还是在信息传达的速度准确性上,都有着相比过去纸制化的办公方式无可比拟的优势。本文将参考现有的学校选课系统,以及目前主流的开发工具和数据库,设计并实现一个学生选课管理系统。该系统使用B/S

3、模式,以 JSP作为开发技术,提供管理员后台管理、学生成绩管理以及学生选课查询三个独立的模块。考虑到系统的安全性和代码的可重用性,关键代码将采用JavaBean进行封装处理,数据库将采用MySQL数据库。关键词:学生选课管理系统;JSP;B/S结构;JavaBeanThe Design and Implementation of the student course management systemHu JunPengDirector:Li Yi Associate Director:Li Yi(College Of Medical Technology, Zhejiang Chinese

4、Medical University, Hangzhou, China, 310053)Abstract: With the rapid development of society, students and more types of school curriculum, the traditional model of course of study in the past school has can't meet the needs of existing, thus developing a powerful information management system, i

5、s indispensable to school now. Students' course selection management system both in the schools management style and quick systemic, and on the speed of information accuracy, has compared to the past paper office way incomparable advantages. This article will refer to the existing school selecti

6、on system, as well as the current mainstream development tools and database, design and implement a student course management system. The system USES the B/S mode, and USES JSP as the development technology, providing three independent modules for administrator background management, student perform

7、ance management and student selection. Given the security of the system and the reusability of the code, the key code will be encapsulated with JavaBeans, and the database will be MySQL.Key Words: student elective management system; JSP; B / S structure; JavaBean引 言现今,Internet国际互联网的迅速发展,使得更多的学校开始注重信

8、息化对学校的管理和工作效率发展的有益作用,以及在学校管理上能提供很大的帮助。信息服务,越来越成为学校一项不可或缺的工具。现在的学校都已不满足于纸制化办公和低效的管理方式。信息管理系统,在管理方式的完善度上、信息传达的速度上及信息的精确性上,能提供强大的功能,正是如今学校所需要的。开发一个功能强大的学生选课管理系统,能加强学生选课管理的规范化和合理化。学生选课管理系统可以迅速地记录大批量的学生数据,还能对其信息进行修改,方便学生用简便的方法快速地找到需要的课程信息,并且能够在线对选修课程进行选择,并通知重新学习等一系列功能,实现了由传统的手工化向信息化的转变。Eclipse是一个开放源代码的、与

9、NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,是当今著名的开源项目之一。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse将来的目标不单单是作为专门开发Java程序的IDE环境,依照平台的体系结构,通过插件,使之能扩展到其它语言的开发,甚至还能作为一种专业的图片绘制工具。 MYSQL 数据库引擎提供完整的XML支持。其关系数据库引擎具备了可伸缩性、可用性及安全功能,这正是构成大Web 站点的数据存储组件所需的共能。MYSQL的关系

10、数据库引擎,还提供目前的复杂数据处理环境所具备的功能,不但能保护数据的完整性,还能帮助管理过万并发修改数据库的用户将花费降到最低,除此之外,其分布式事务支持充分保护任何分布式数据更新的完整性。JSP是在普通的Html中嵌入了Java代码的一个脚本,它由JSP容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为Class文件,最终,服务器解释的是Class文件。JSP是Sun公司J2EE架构中重要的部分。Tomcat是一个免费的开源Servlet容器。基于Tomcat的开发其时主要是JSP和Servlet的开发,而Tomcat短小精悍,配置方便,能满足需

11、求,因此在这种情况下选择Tomcat。同时,Tomcat和Eclipse结合起来,加上MVC 的框架实现本次毕业设计的要求。JSP作为网络服务器端编程环境之一,已经成为开发信息化平台快速、高效的重要工具。凭借着其强大的功能,使之成为一种广而使用服务器技术。伴随网络技术的逐渐成熟,JSP在网络编程中也显得更加重要。1 绪论1.1 课题研究的目的意义过去学校一般采用传统人工的方式来管理文件资料,显然,这样的管理方式已经不能满足现今的设计需求,它存在着效率低,安全性低等诸多弊端,此外久而久之,这必然会产生大量复杂的文件和数据,给查找、更新和维护带来很多的困难和弊端。随着社会的高速发展,计算机技术也日

12、渐成熟,其强大的作用被人们越来越深刻地认知, 学生选课管理系统已经成为现在学校不可或缺的部分,与传统的手工操作相比,其管理学生的选课信息有着不可比拟的优势,它能帮助用户提供详细信息和快捷查询的功能,这不仅对于学校的管理者,还是教师学生来说,都是非常重要的。信息管理系统的高可靠性安全性、便捷快速的信息查询、庞大的储存量、低成本等, 可以有效的提高人事劳资管理的效率,帮助企业更加科学化、正规化地管理,加快与世界接轨。1.2 国内外发展趋势伴随教育产业化进程的逐步推进,高校的规模正不断扩大,如何合理利用教学资源,有效地加强教学管理工作,已成为各大高校十分关注的问题。目前,在教学管理方面,特别是学生学

13、籍管理、成绩管理等方面都普遍采用了网络化管理技术,而对于毕业设计这一重要的教学环节,和其他教学课程一样,普遍采用传统的单机管理模式,主要进行毕业设计基本信息和成绩的输入输出工作,而对于毕业设计的选题、毕业设计过程中管理,以及毕业设计效果的统计分析等工作还没有纳入管理系统中。目前随着教学改革的不断深入,学校办学规模的不断扩大,如何有效地增强教学管理水平,充分调动学生的学习积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。国外的教学科研软件开发比国内起步早,早在世纪七十年代初,美国就已建成了国家科学基金网,并且在80年代中期,美国国家科学基金会在全美国建立了6个超级计算机中心,以满足各

14、大学及政府机构为促进其研究工作的迫切要求。其网上教学教务管理系统十分强大,全球各国学生只需坐在家中,通过网络便能实现入学的报名、课程选择、科目考试、论文设计、最终获得学位。随着全球化的发展,当今世界越来越多的学校具备了较大规模的学校信息管理系统,已经成为现在学校不可或缺的部分。1.3 本文主要工作参考现有学校选课系统功能设计,以及目前主流的开发工具和数据库,本次设计将使用eclipse开发,测试工具为tomcat,使用MySQL工具创建数据库,系统设计语言为JSP。开发的系统需基本可以实现一个小型的信息化平台所具备的管理方式和工作流程,主要工作实现师生和课程信息的增删查改功能;学生选课和课程信

15、息查询功能;教师对自己课程学生的管理;新闻信息的增删查该功能,师生登陆后查看新闻公告;考试信息的增删查该功能,师生登陆后查看考试相关信息;用户个人信息修改。1.4 本文组织结构本文共划分为七章,每章的工作如下: 第一章:主要介绍课题的研究的目的意义,以及国内外发展现状。 第二章:讨论和确定系统的需求分析。 第三章:介绍总体设计和详细模块设计。 第四章:介绍系统的数据库设计。 第五章:介绍系统主要功能的实现和界面。 第六章:测试系统的有效性,健壮性。 第七章:总结全文,指出现有的不足之处,并对未来的研究工作做出展望。2 系统需求分析2.1 结构化分析(1)学生选课流程图如图2-1所示。图2-1

16、选课流程图(2)新闻信息管理流程图如图2-2所示。图2-2 新闻信息管理流程图()3考试信息管理流程图如图2-3所示。图2-3 考试信息管理流程图(4)学生信息管理流程图如图2-4所示。图2-4 学生信息管理流程图(5)教师信息管理流程图如图2-5所示。图2-5 教师信息管理流程图(6)班级信息管理流程图如图2-6所示。图2-6 班级信息管理流程图(7)课程信息管理流程图如图2-7所示。图2-7 课程信息管理流程图(8)用户信息管理流程图如图2-8所示。图2-8 用户信息管理流程图(9)教师执教管理流程图如图2-9所示。图2-9 教师执教流程图(10)学生评分流程图如图2-10所示。图2-10

17、 学生评分流程图(11)查询课程信息流程图如图2-11所示。图2-11 查询课程信息流程图(12)查询现有课程流程图如图2-12所示。图2-12 查询现有课程流程图2.2 功能需求描述(1)学生用户功能需求可以修改学生自己的基础信息;查看自己现有的课程信息和未选择的课程信息,对课程可以进行添加,删除操作,方便学生修改自己的课程;可以查看管理员发布的新闻信息和考试相关信息。(2)教师用户功能需求可以修改教师自己的基础信息;查看自己现有的执教课程信息,以及每个课程下所有已选择学生的信息,在课程结束后可以为每个学生打分;可以查看管理员发布的新闻信息和考试相关信息。(3)管理员功能需求可以编辑发布新闻

18、信息和考试相关信息,删除无效的信息;可以查看所有学生用户的账号信息;可以查看所有的课程以及课程下的选课学生人数;维护师生信息,班级信息和课程信息;将学生信息与相关班级匹配,课程信息与相关教师匹配。(4)界面要求界面简洁,功能易理解,用户使用方便。2.3 非功能需求描述非功能需求顾名思义,指的是去除系统各模块的功能行为外的所有方面,与系统的性能密切相关,这部分的需求主要从以下的六个方面考虑:(1)可用性:每个用户可以快速理解系统的功能使用。(2)实现需求:尽可能多的实现计算机的使用。 (3)界面需求:界面简洁,提供用户方便的使用操作。(4)可靠性:能检测出用户错误的操作。(5)数据库完整性: 设

19、计数据库的完整性约束,使数据在逻辑上具有一致性、正确性、有效性和相容性。(6)数据库安全性:有效保护每个用户的数据安全,并为每个用户的数据进行备份,每个用户有自己的功能使用权限。3 系统设计3.1 系统总体结构设计系统总体结构主要分为三大模块:学生模块、教师模块和管理员模块。系统功能架构如图3-1所示。图3-1 系统功能架构图3.2 各模块功能的设计(1)新闻管理管理员可以实现新闻信息的编辑和发布,之后师生用户可进行浏览,如图3-2所示。图3-2 新闻管理模块(2)考试信息管理员实现考试信息的编辑与发布,之后师生用户可以浏览,如图3-3所示。图3-3 考试信息管理模块(3)学生管理管理员录入学

20、生信息,学生信息关联到班级,具备学生照片上传功能,如图3-4所示。图3-4 学生信息管理模块(4)教师管理管理员维护教师信息,如图3-5所示。图3-5 教师管理模块(5)班级管理管理员维护班级信息,如图3-6所示。图3-6 班级信息管理模块(6)课程管理管理员维护课程信息,课程信息关联到教师,如图3-7所示。图3-7 课程信息管理模块(7)系统用户管理系统管理员身份用户,如图3-8所示。图3-8 系统用户管理模块(8)我的执教教师登陆后可以查询自己所执教的课程,如图3-9所示。图3-9 教师执教管理模块(9)我的学生教师登陆后,系统自动查出该教师所执教的课程下的所有学生,教师可以对学生进行评分

21、等操作,如图3-10所示。图3-10 我的学生管理模块(10)可选课程学生登陆后在本功能可以查询自己未选的课程,选择后则在我的课程中显示被选的课程,如图3-11所示。图3-11 可选课程模块 (11)我的课程本功能显示该生所选的全有课程,如果课程有分数则可显示出来,对于没有分数的课程学生可以对其进行撤销操作,如图3-12所示。图3-12 我的课程模块4 数据库设计与实现4.1 概念设计(E-R图)(1)系统E-R图如图4-1所示。图4-1 系统ER图(2)系统用户ER图如4-2所示。图4-2 系统用户实体图(3)学生E-R图如图4-3所示。图4-3 学生实体图(4)班级E-R图如图4-4所示。

22、图4-4 班级实体图(5)课程E-R图如图4-5所示。图4-5 课程实体图(6)我的课程E-R图如图4-6所示。图4-6 课程实体图(7)新闻公告E-R图如图4-7所示。图4-7 新闻公告实体图4.2 逻辑结构利用Mysql创建一个名为xsgl的数据库,该数据库中含有六张数据库表,每个表的逻辑结构如下所示:(1)kc(课程信息表)存放课程相关的数据,表kc的结构如图4-8所示。图4-8 表kc的结构(2)bj(班级对应信息表)存放班级相关的数据,表bj的结构如图4-9所示。图4-9 表bj的结构(3)student(学生信息表)存放学生相关的数据,表student的结构如图4-10所示。图4-

23、10 表student结构(4)sysuser(系统用户信息表)存放系统用户相关的数据,表sysuser的结构如图4-11所示。图4-11 表sysuser结构(5)notice(通知公告信息表)存放通知公告相关的数据,表notice的结构如图4-12所示。图4-12 表notice结构(6)bj(班级信息表)存放班级相关的数据,表bj的结构如表图4-13所示。图4-13 表bj结构4.3 物理设计参照上面的关系模型,将为选课系统设计总共6张数据表,表与表之间会存在相同的数据,因此在创建数据表时,需要考虑以下原则: 单独实体对象对应一个表,多个实体分开存放在不同的数据库表中;若需要继续划分实体

24、,要求划分后实体的复杂度小于当前开发的实体;表中数据必须与表名称相关,表字段尽量越少越好;多对多的关系尽量不出现。下面将详细介绍每个表的结构设计,和所存放的数据信息。系统数据库设计如图4-14所示。图4-14 学生选课系统数据库结构班级表如图4-15所示。图4-15 班级表课程表如图4-16所示。图4-16 课程表学生选课信息表如图4-17所示。图4-17 学生选课信息表公告信息表如图4-18所示。图4-18 公告信息表学生信息表如图4-19所示。图4-19 学生信息表系统用户表如图4-20所示。图4-20 系统用户5 系统功能实现5.1 登陆页面模块用例实现学生用户的注册、学生账号的登录、教

25、师账号登陆和管理员账号登陆。主要功能是实现管理员、师生用户登录本选课系统。系统会接受从此页面提交的用户名和密码,然后会在后台进行数据处理,在数据库中查询已注册的用户名,如果有相匹配的数据,系统会将这个用户的权限以及密码提取出来,并且赋予两个字符串变量,判断用户登入输入的密码是否与数据库提取出的密码一致,如果相同,用户进入相应的页面,反之会提示密码错误。登录模块如图5-1所示。图5-1 登录模块5.2 学生注册页面此模块主要功能是为学生注册设计。学生用户登录到网站后首先进行注册功能主要包括学生的登录名、密码、姓名、专业、班级等信息,首先将从注册页面提交上述信息到后台进行处理,如果查到数据库中存在

26、相同的用户名,系统提示该用户已经存在,反正数据库进行数据的插入操作,页面提示注册成功,学生之后便可进行选课操作。注册模块如图5-2所示。图5-2 学生注册模块5.3 后台管理模块帮助管理员实现以下的功能:新闻和考试信息编辑、发布、删除;专业班级课程以及师生的管理。(1)新闻公告页面模块用例主要包括新闻信息的添加、修改、删除、查询操作。此模块主要功能是为了方便的通知教师、学生一些公告信息设计。主要包括新闻信息 的添加、修改、删除、查询操作,在发布信息后,师生可以登录后进行查看,能够在第一时间方便的知道教师的一些通知消息。新闻公告模块如图5-3所示。图5-3 新闻公告模块(2)考试信息页面模块用例

27、主要包括考试信息的添加、修改、删除、查询。此模块主要功能是为了方便通知教师、学生相关的考试信息。后台成功发布考试相关信息后,师生可以登录后进行查看,能够在第一时间方便的知道管理员的一些考试通知消息。考试模块如图5-4所示。图5-4 新闻公告模块(3)专业管理页面用例主要包括专业信息的添加、修改、删除、查询。此模块主要功能是实现学生专业相关信息的管理。添加学生信息时,通过数据库查询专业的方式将专业信息赋值给下拉菜单以便录入学生信息时方便的选取学生所在专业信息。专业模块如图5-5所示。图5-5 专业管理页面模块(4)学生班级用例主要实现对班级相关信息的增删查改功能。在管理员添加学生信息后,通过数据

28、库查询专业的方式将学生所属专业的班级信息赋值给下拉菜单以便录入学生信息时方便的选取学生所在班级信息。班级信息模块如图5-6所示。图5-6 班级信息模块(5)学生管理页面模块用例包括学生信息的添加、修改、删除、查询。此模块主要功能是为了管理学生信息而设计,使学生的信息成为动态的管理,主要包括学生信息的添加、修改、删除、查询操作,主要包括学生的登录名、密码、专业、班级等信息,首先将从学生添加页面提交上述信息到后台进行处理,按照用户名在数据库中进行查询,如果查到该用户则提示该用户已经存在,否则进行数据库的插入操作,操作成功后弹出添加成功。之后此学生就可以进行登录操作了。学生信息模块如图5-7所示。图

29、5-7 学生信息页面(6)教师管理模块主要实现教师相关信息的增删改查功能。此模块主要功能是为了管理教师信息而设计,主要包括教师信息的添加、修改、删除、查询操作,主要字段为教师的登录名、密码、姓名、性别等信息,首先将从教师添加页面提交上述信息到后台,数据库中已经存在该用户名,否则进行数据库的插入操作,操作成功后弹出添加成功。之后此教师就可以进行登录操作了。学生信息模块如图5-8所示。图5-8 教师管理页面(7)课程管理页面主要实现课程有关信息的增删改查功能。此模块主要功能是为了管理课程信息而设计,主要包括课程信息增删改查,课程参数有:课程名、专业要求、上课学期、授课老师、上课时间地点、每节课时间

30、、限选名额等,首先将从课程添加页面提交上述信息到后台,数据库中有该课程名,页面显示课程已存在,否则进行数据库的插入操作,操作成功后弹出添加成功。之后此课程就可以进行使用了。当学生进行选课完成后在此页面的报选人数可以查看详细的学生名单,课程信息模块如图5-9所示。图5-9 课程信息模块(8)系统信息页面模块用例包括系统管理员信息的添加、修改、删除、查询。此模块主要功能是为了管理系统管理员账号,实现管理员相关信息的增删改查功能,主要包括管理员的账户密码等参数。系统信息模块如图5-10所示。图5-10 系统信息模块5.4 学生模块学生模块用例包括学生公告、学生考试、学生可选课程、我的课程(1)学生公

31、告页面包括新闻浏览、新闻查询。学生用户登录后,可以查看浏览管理员发布的新闻公告信息,新闻公告按照时间倒叙查询数据库将最新发布的公告信息显示在第一行,同时还设计了查询功能,可以通过公告的标题进行模糊查询操作,能够在第一时间进行公告信息的查阅。学生新闻信息模块如图5-11所示。图5-11 学生新闻信息模块 (2)学生考试页面模块用例包括考试信息、考试查询。学生用户登录后,可以查看浏览管理员发布的考试公告信息,新闻公告按照时间倒叙查询数据库将最新发布的公告信息显示在第一行,同时还设计了查询功能,可以通过公告的标题进行模糊查询操作,能够在第一时间进行公告信息的查阅。学生考试模块如图5-12所示。图5-

32、12 学生考试模块 (3)学生可选课程页面包括学生选课、课程查询。学生用户登录后,可以查看浏览自己的可选课程,此课程信息由管理员发布,同时根据专业划分,学生身份是哪个专业的学生登陆后在我的可选课程中就显示哪个专业的所属课程,学生登录后将学生登录名赋值给全局变量SESSION,通过此变量来判断学生的专业,学生可以根据自己的兴趣爱好来选择自己喜欢的课程,学生可选课程模块如图5-13所示。图5-13 学生可选课程模块 (4)我的课程页面模块用例包括查询已选课程、课程撤销。学生用户登录后,可以点击我的课程页面查看自己所选择的课程审批情况以及分数情况,和课程的详细信息,主要包括课程名称、学期、学分、课时

33、、教师、成绩以及此课程的详细信息,老师没有通过审核之前学生还可以对自己的选课信息进行撤销操作,我的课程模块如图5-14所示。图5-14 我的课程模块5.5 教师模块主要包括新闻公告、考试信息、我的执教、我的学生。(1)我的执教信息页面模块用例包括执教信息查看、执教信息查询。教师用户登录后,可以点击我的执教信息进行查看和课程的详细信息,主要包括课程名称、学期、学分、课时、教师、成绩以及此课程的详细信息,老师可以通过课程名对自己的执教信息进行查询,我的执教信息模块如图5-15所示。图5-15 我的执教信息模块(2)我的学生模块用例包括学生信息查询、学生评分。教师用户登录后,可以点击我的学生信息进行

34、查看选择自己所教课程的学生的的详细信息,主要包括课程名称、学期、学分、评分操作,老师可以通过课程名对自己的学生成绩信息进行查询,我的学生信息模块如图5-16所示。图5-16 我的学生信息模块6 系统测试6.1 测试用例下面为学生选课管理系统各功能模块测试图(1) 教师信息管理模块测试如图6-1所示。图6-1 教师信息管理模块测试图(2)班级管理模块测试如图6-2所示。图6-2 班级管理模块测试图(3)学生管理模块测试如图6-3所示。图6-3 学生管理模块测试图(4)课程管理模块测试如图6-4所示。图6-4 课程管理模块测试图(5)学生选课模块测试如图6-5所示。图6-5 学生选课模块测试图(6)我的课程模块测试如图6-6所示。图6-6 我的课程模块测试图(7)我的学生模块测试如图6-7所示。图6-7 我的学生模块测试图(8)可选课程模块测试如图6-8所示。图6-8 可选课程模块测试图(9)我的课程模块测试如图6-9所示。图6-9 我的课程模块测试图7 总结与展望通过这次印象深刻的毕业设计,让我不管在编程能力上,还是学习工作的方法上,都有了很大的收获,让我深刻懂得了做事

温馨提示

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

最新文档

评论

0/150

提交评论