2024年2月6日发(作者:)
摘 要
学生的教育已经成为了每个家庭关注的话题,教育是关系到学生未来的重要因素,良好的教育是学生成才的基础。每个门课的均衡发展更为重要,任何一课的落后都是影响到孩子的整体成绩。为了不让学生出现偏科的现象,现在大部分家长都会对偏科的科目进行课外补习。现在的校外培训机构也很多,家长如何对培训机构进行了解和熟悉是很重要的问题,不仅了解平台的收费,更为重要的是了解到平台中的教师信息,以便能为学生选择更为合适的家教,能最好的为学生提供学习上的帮助。
培训机构课程管理系统的设计与实现是采用MyEclipse平台进行项目的开发,通过Java对代码进行设计和开发,通过MySQL数据库对系统数据进行存储。系统中包括了学生、教师和管理员三种用户。学生用户可以通过网页进行注册登录,查看课程并选择课程进行缴费,缴费的课程可以进行老师的评价、作业的上传以及进行请假申请。可以查看管理员发布的消息通知。教师用户可以进行消息查看、请假管理、作业管理、评价学生以及个人信息管理。管理员用户包括了课程安排、教师管理、学生信息管理、学生和教师考勤、教师工资管理。
培训机构课程管理系统的出现提供了一个培训机构和家长沟通的桥梁,实现了在线缴费、发布作业、请假为一体的信息化管理系统。
关键词:教育;Java;作业管理; 教师考勤
ABSTRACT
The education of students has become a topic of concern for every family. Education is an
important factor related to the future of students, and good education is the basis of students'
success. The balanced development of each course is more important. The backwardness of
any course affects the overall performance of children. In order not to let students deviate
from the subject, most of the parents will now make up for the extracurricular subjects. Now
there are many out of school training institutions. It is very important for parents to
understand and be familiar with the training institutions. It is not only to understand the fees
of the platform, but also to understand the teacher information in the platform, so that they
can choose more suitable tutors for students and provide the best learning help for students.
The design and implementation of the training organization course management system is
to use MyEclipse platform to develop the project, to design and develop the code through
Java, and to store the system data through MySQL database. The system includes students,
teachers and administrators. Students can register and log in through the web page, view
courses and select courses to pay for. The paid courses can be evaluated by teachers, uploaded
homework and applied for leave. You can view message notifications published by
administrators. Teachers can view messages, ask for leave management, homework
management, evaluate students and personal information management. The administrator user
includes course arrangement, teacher management, student information management, student
and teacher attendance, teacher salary management.
The emergence of course management system in training institutions provides a bridge for
communication between training institutions and parents, and realizes an information
management system integrating online payment, release of homework and leave.
Key words:
Education; Java; job management; teacher attendance
目 录
1 引言 .............................................................. 1
1.1研究背景 ..................................................... 1
1.2研究意义 ..................................................... 1
1.3研究现状 ..................................................... 1
1.4 主要研究内容 ................................................. 2
2 系统分析 .......................................................... 3
2.1可行性研究 ................................................... 3
2.2需求分析 ..................................................... 3
2.2.1 功能需求分析 ........................................... 3
2.2.2 数据需求 ............................................... 5
2.2.3 开发技术 ............................................... 6
3 总体设计 .......................................................... 8
3.1 结构设计 ..................................................... 8
3.2 数据库概念结构设计 ........................................... 9
3.3 数据库逻辑结构设计 .......................................... 11
3.4 数据库表结构设计 ............................................ 11
4 系统详细设计与实现 .............................................. 15
4.1学生用户模块 ................................................ 15
4.1.1 用户注册 .............................................. 15
4.1.2 用户登录 .............................................. 16
4.1.3 课程缴费 .............................................. 17
4.1.4 我的课程 .............................................. 19
4.1.5 我的作业 .............................................. 20
4.2 教师模块 .................................................... 20
4.2.1 我的课程 .............................................. 20
4.2.2作业管理 ............................................... 21
4.3 管理员模块 .................................................. 22
4.3.1 教师管理 .............................................. 22
4.3.2学生信息管理 ........................................... 23
4.3.3课程管理 ............................................... 23
4.3.4 考勤管理 .............................................. 24
4.3.5公告信息管理 ........................................... 25
5 系统测试 ......................................................... 26
5.1测试环境 .................................................... 26
5.2测试目的和方法 .............................................. 26
5.3功能模块测试 ................................................ 26
5.4 测试总结 .................................................... 27
结论 ............................................................... 28
参考文献 ........................................................... 29
致 谢 ............................................................. 30
天津职业技术师范大学2020届本科生毕业设计
1 引言
1.1研究背景
培训机构已经成为了近年来最为热门的行业之一,伴随着人们对于教育的重视越来越高,校外培训服务是学生课外辅导课程的主要场所,能对学生提供针对性的教学,快速的提升学生的成绩。如何选择合适的培训机构和教师已经成为了众多家长最为头疼的问题,传统的模式都是通过别人介绍来选择家教,这样的方式可能不能保证能找到适合自己孩子的培训机构和教师。家长无法实现了解到培训机构具体的课程收费标准,也无法准确的了解到每个课程的任课教师的具体情况,在选择上有很大的局限性。现在的培训结构都没有良好的管理模式,都不具备反馈机制,家长无法对学生的学习情况和遇到的问题进行反馈,都是学生自己消化。对于培训机构来说,传统的方式做不到信息的及时共享传递,只能通过广告、宣传单的形式在一个区域内进行宣传推广,可以获取的资源较少,不利于培训机构中心业务的扩展。
1.2研究意义
培训机构课程管理系统是把培训机构的信息展示、业务处理与信息技术结合在一起,实现信息的共享,以及业务的自动化管理模式。把培训机构中心中的课程收费标准、公告信息、作业、学生请假等信息整合在一起,通过建立一个完善的服务管理流程,不仅提高了自身管理的水平和服务的质量,而且能让更多的客户参与到系统中,实现培训机构的信息跨区域的推广传播。培训机构课程管理系统是一个B/S模式的网站,在网站前台中展示了培训机构中心的各种信息,让家长在给学生报课程之前实现对培训机构有一个全面的了解,能选择更为适合自己孩子的教师。培训机构课程管理系统实现了培训机构与客户之间建立关系的纽带,对于客户来说,通过网络渠道了解培训机构,选择家教更加的方便。对于培训结构来说,通过网络可以达到快速的推广,推广的区域不受限制,可以带来更多的客户。培训机构课程管理系统的应用给客户带来了方便,完善的体制确保了培训的服务质量,提高了培训中心的信誉。同时学生可以在线请假和查看教师发布的课程作业,实现了学生与培训结构的互动。
1.3研究现状
在国内培训结构的发展从无到有,现在国内的培训结构已经达到了将2万个,为小学、初中、高中中提供各种文化课的培训以及特长的培训。培训机构的出现是为了帮助学生提高成绩、学习特长。每个培训机构的课程设置、收费标准、师资力量都不一样,而且国内大部分培训机构都是线下宣传推广,有些开展了微信公众号的方式进行课程的
1
天津职业技术师范大学2020届本科生毕业设计
推广,但都是单一的课程宣传,没有在线缴费和互动,不利于学生家长对于课程的了解,在学习中也无法反馈相应的问题。,另一方面,由于理念不新和管理不善,某些培训机构无法提供高质量的服务,在公众中留下了“只重宣传,不重教学”的不良印象。为了完善培训市场环境,采用网络化的培训课程管理,明确课程管理的价值取向,加强对于课程开发、实施、评价各个环节的管理,完善课程管理的组织机构,贴近社会需求开发课程,提升课程管理的信息化水平,加强课程管理人员保障,以特色课程形成竞争优势,实现可持续发展。形成一套完善的培训机构课程管理系统,完善培训市场,为客户提供良好的培训课程。
在国外最早的现代培训行业发展起源于美国,随着IT与经济的发展,在大部分发达国家有发展处了比较完善的机构管理系统,在欧美一些发达国家,特别注重对中小学生素质教学的培训,大部分培训结构主要对中小学生特长的培养和教育。完善的培训体制和流程确保了培训的质量,对课程的科学合理的设计更有利中小学生的个人成长。
1.4 主要研究内容
培训机构课程管理系统的设计与实现主要是为了让学生能够选择需要的课程进行缴费,并对自己已经上课的课程进行评价教师和请假,查看老师布置的作业任务,并上传自己做好的作业。教师在系统中可以查看自己所带课程的所有学生信息,并可发布课后作业以及对学生的作业进行批改。管理员可以在系统中进行教师、学生、课程、公告等基本信息的管理,可以查看所有学生的考勤请假信息,并添加每个教师的工资。系统的完成能够实现培训结构的课程管理信息化、高效化,提高教学的质量和效率,为每个学生带来高质量的教学服务。
2
天津职业技术师范大学2020届本科生毕业设计
2 系统分析
2.1可行性研究
(1)技术可行性分析
培训结构课程管理系统采用的是Java开发语言、Tomcat服务器、JSP页面以及MyEclipse开发平台来实现的。Java开发语言容易掌握,面向对象的特点编程更容易上手。Tomcat服务器下载免费的资料即可,启动服务就可以运行程序。在MyEclipse开发平台中具有免费的Tomcat服务器和JDK环境变量,不需要另外在进行安装配置,配置环境变量也容易出错。数据库方面我选择用体积小、运行占用内存小的MySQL数据库,对数据库主要是增删改查语句,与Java程序的连接采用JDBC的形式连接也比较方便,做一个类库主要是连接数据的操作就可以,包括了数据库帐号、密码、驱动,以及两个方式,执行数据的写和读。所以在技术方面实现培训结构课程管理系统是可行的。
(2)操作可行性
培训机构课程管理系统是一个基于网络性质的客户端、服务器系统,培训结构课程管理系统心的各课程信息都可以在网站前台进行展示,客户可以在任意地方进行浏览和操作,注册登陆的客户可以进行课程进行缴费。然后教师就可以看到有哪些学生选择了课程。前台和后台信息的展示都是实时的,方便了学生和家长对培训机构的了解。整个系统的页面设计简单大方、操作方便。
(3)社会可行性
校外培训已经成为了现在中学生必不可少的一部分,请一个好的家教对学生的学习可以达到事半功倍的效果。但现在培训机构很多,如何选择一个适合自己孩子的培训机构和教师已经成为了家长最为关注的问题,培训机构的选择不仅要具有良好的信誉,而且教师的教学水平也要达到一定的水平。培训机构课程管理系统台的建立可以为培训机构和学生家长建立一个信息传递的平台,在平台中家长可以获取到培训机构和教师的基本信息,为选择家教提供参考。培训机构课程管理系统建立的良好的管理服务体制,也可以为提高学生成绩提供可靠的保证。所以培训机构课程管理系统的建立符合现在人们的需求。
2.2需求分析
2.2.1 功能需求分析
培训机构管理系统在功能上主要是满足学生选择课程进行缴费,缴费成功后就代表学生已经上了这门课,就可以查看这么课的课程作业、评价教师以及如果不能及时上课,可以进行在线请假。满足教师查看自己的课程所有上课的学生,以及发布自己上课时的
3
天津职业技术师范大学2020届本科生毕业设计
作业。满足管理员的管理需求。
(1)学生用户的功能需求如下。
①注册登录:每个学生都可以注册个人信息,包括了用户账号、登录密码、姓名、年级。登录成功的用户可以选择课程进行缴费,未登录的用户不能进行缴费。
②课程缴费:可以查看到培训机构的发布的所有课程信息,课程信息包括了课程名称、上课时间、节数、人数、教师姓名、费用。登录的用户显示教师姓名、费用和选择按钮,否则不显示。缴费时需要把学生id、课程id插入到缴费信息表中。
③评价教师:学生登录后在个人中心中可以查看到自己所缴费的课程,就是自己所上的课程,可以对课程的教师进行评价操作。
④请假:学生可以对自己所上的课进行请假。
⑤我的作业:学生可以查看到自己所上课的课程作业,是查看到自己未上交的作业,上交后的作业不再显示。未上交的作业可以选择自己的作业进行上交。
(2)教师模块的功能需求如下。
①个人信息管理:可以对教师的个人资料进行更新。
②我的课程:教师登录成功后可以查看到自己所教的课程信息,包括了课程名称、上课时间、节数、上课时间,并可以查看到该课程的上课学生信息。
③作业管理:教师可以对自己所教的课程发布作业。
(3)管理员模块的功能需求如下。
①教师管理:可以对教师的个人信息进行添加,教师信息包括了工号、姓名、职称等,并且添加的教师工号不能重复。
②学生信息管理:对所有注册的学生进行添加,并可以删除。
③课程信息管理:可以对培训机构内的课程信息进行添加,课程信息包括了课程名称、上课时间、节数、教师、课程费用等。
④考勤管理:可以查看所有课程每节课的学生请假记录。
⑤公告信息管理:管理员可以发布培训机构内部的消息通知,然后学生、教师都可以查看到。
⑥财务管理:可以对培训机构内所有的教师的工资进行添加和查看。
学生、教师、管理员用例图分别如图2-1,2-2,2-3所示。
4
天津职业技术师范大学2020届本科生毕业设计
注册登录选择课程缴费评价教师学生用户请假我的作业
图2-1 学生用户用例图
教师管理学生信息管理课程信息管理考勤管理管理员公告信息管理财务管理
图2-2 管理员用例图
个人信息管理我的课程教师作业管理
图2-3 教师用例图
2.2.2 数据需求
(1)记录所有的学生用户信息,学生用户信息包括了账号、登录密码、姓名、年级,其中登录账号在数据库中是唯一存在的。
(2)记录所有培训机构内部的教师信息,教师信息包括了教师工号、姓名、职称、联系电话。其中教师工号是数据表中唯一存在的。
(3)记录培训机构发表消息公告信息。消息公告信息包括了公告标题、公告内容、发布时间。
5
天津职业技术师范大学2020届本科生毕业设计
(4)记录所有的用户缴费信息,缴费信息包括了课程id、学生用户id、缴费时间。
(5)记录所有学生对教师的评价信息,评价信息包括了课程id、用户id、评价内容。
(6)记录教师对学生的评价信息,评价信息包括了课程id、用户id、评价内容。
(7)记录学生每节课的请假信息,请假信息包括了课程id、用户id、请假时间。
(8)记录培训机构所有的课程信息,课程信息包括了课程名称,上课时间,节数,教师id,费用,人数。
(9)记录所有教师发布的作业信息,作业信息包括了课程id,作业标题,作业内容,发布时间。
(10)记录所有学生上交的作业,作业信息包括了课程作业id、学生用户id、作业文件。
2.2.3 开发技术
(1)Java开发语言
Java语言是sun公司开发的一种被称作革命性的编程语言,之所以被称做革命性的编程语言是它与其他编程语言有着根本性的区别。其他的编程语言会随着环境的变化而发生变化,而Java语言编写的程序需要提供Java虚拟机就可以相容。Java语言的几大优点如下:
①面向对象性
面向对象的编程语言更符合人们的思维模式,可以更形象的把生活中的物品比作编程语言中的对象,而物品的具有的功能又可比作对象中的方法。同时引入类的概念,用来创建包括状态描述和方法定义的对象的模版[4]。
②多线程性
Java内具有多线程的机制,可以同时处理多个并发执行的任务,一个任务分配一个线程,相互之间互不干扰,直到执行完成返回指定的结果后结束该线程即可。
③安全性
Java的应用程序的执行只被限制正在Java的虚拟环境中,不访问和控制计算机内部的文件和程序。当一个Java恶意代码或病毒文件被下载在计算机内,不会对计算机造成任何影响。
④动态性
Java语言中类可以是程序员自己编写的,也有的是条用类库中固定的类,但不管是编写的还是固定的类都是动态的,类库升级后不需要重新对程序进行编译[5]。
(2)MySQL数据库
MySQL数据库是用C和C++程序语言编写的关系型的数据库。可以支持多种操作
6
天津职业技术师范大学2020届本科生毕业设计
系统使用的数据库,并可以同时运行多个任务的多线程的数据库。具有为多种编程语言提供API数据访问的接口,具有优化的SQL算法可以提供数据库的查询速度,在执行效率上也比别的数据库提高了很多。它能够作为一个单独的应用程序应用在客户端服务器网络环境中,也可以作为一个库嵌入到其他的软件中并提供多种语言支持。MySQL数据库自身的容量下、查询速度快、代码是开源的的特点,所以现在很多中小型的应用系统都采用MySQL数据库做为数据的存储平台。MySQL数据库的主要用途如下:
①关系型的数据库可以建立不同的表,分类存储不同的数据,方便用户对数据的检索和访问。
②存储的数据可以共享给不同的用户,并可以设置不同的访问权限来保证数据的安全性。
③具有完善的数据查询分析功能,通过表与表之间连接的关键字段联系在一起实现数据的组合查询,查询出完整的数据集合
7
天津职业技术师范大学2020届本科生毕业设计
3 总体设计
3.1 结构设计
培训机构课程管理系统的设计与实现在功能上包括了学生用户模块、管理员模块、教师模块组成。系统的结构图如图3-1所示。
管理员信息管理员ID管理员姓名图3-1系统结构图
管理员密码
(1)学生用户模块
①注册登录:主要实现了学生个人信息的注册和登录验证。
②课程缴费:选择对应的课程进行在线缴费,缴费成功后就代表选择了这门课程进行上课。
③评价教师:学生选择了课程后,可以对该课程的任教老师进行评价。
④请假:学生可以选择自己所上的课,进行在线请假。
⑤我的作业:上传自己课程下的作业。
(2)管理员模块
①教师信息管理:主要实现了对培训机构内部的所有教师的个人资料进行添加和管理。
②学生信息管理:对前台注册的学生进行查看和删除。
③课程信息管理:对培训结构内部的课程进行添加和管理,课程信息包括了课程名
8
天津职业技术师范大学2020届本科生毕业设计
称、上课教师、费用、人数等。
④考勤管理:可以查看到每节课的请假信息以及考勤信息。
⑤公告信息管理:管理员可以发布一些有关培训机构的公告通知,学生和教师都可以查看到。
⑥财务管理:主要实现了对教师工资信息的添加和查看。
(3)教师模块
①个人信息管理:教师登录后可以对自己的个人资料进行修改。
②我的课程:教师可以查看到自己所教的课程以及该课程下的所有学生信息。
③作业管理:对学生上传的作业进行批改。
3.2 数据库概念结构设计
(1)管理员概念结构图如图3-2所示。
管理员信息管理员ID管理员姓名管理员密码
图3-2 管理员概念结构图
(2)教师工资信息概念结构图如图3-3所示。
工资信息工资ID教师ID月份工资金额
图3-3 教师工资概念结构图
(3)用户缴费信息概念结构图如图3-4所示。
用户缴费信息用户缴费ID课程id用户id缴费时间
图3-4 用户缴费信息概念结构图
(4)教师信息概念结构图如图3-5所示。
9
天津职业技术师范大学2020届本科生毕业设计
教师id教师新教师编号联系电话教师职称教师姓名登录密码
图3-5 教师信息概念结构图
(5)学生考勤信息概念结构图如图3-6所示。
学生考勤信息课程id考勤时间用户id考勤id考勤日期
图3-6学生考勤信息概念结构图
(6)课程信息概念结构图如图3-7所示。
课程id课程名称上课时间人数节数课程信息教师id费用
图3-7 课程信息概念结构图
(7)公告信息概念结构图如图3-8所示。
公告信息公告id公告标题发布时间公告内容
图3-8 公告信息概念结构图
(8)评价教师信息概念结构图如图3-9所示。
评价教师信息评价id课程id评价内容用户id
图3-9 评价教师信息概念结构图
(9)学生请假信息概念结构图如图3-10所示。
10
天津职业技术师范大学2020届本科生毕业设计
学生请假信息请假id课程id请假时间用户id
图3-10 学生请假信息概念结构图
(10)用户信息概念结构图如图3-11所示。
用户信息用户id年级用户账号登录密码姓名
图3-11用户信息概念结构图
(11)作业信息概念结构图如图3-12所示。
作业信息作业id发布时间课程id作业标题作业内容
图3-12 作业信息概念结构图
3.3 数据库逻辑结构设计
(1)管理员信息(管理员id,管理员姓名,管理员密码)
(2)教师工资信息(教师工资id,教师id,工资金额,月份)
(3)用户缴费信息(用户缴费id,课程id,用户id,缴费时间)
(4)教师信息(教师id,教师编号,教师姓名,登录密码,教师职称,联系电话)
(5)学生考勤信息(学生考勤id,课程id,用户id,考勤状态,考勤时间)
(6)课程信息(课程id,课程名称,上课时间,节数,教师id,费用,人数)
(7)公告信息(公告id,公告标题,公告内容,发布时间)
(8)评价教师信息(评价id,课程id,用户id,评价内容)
(9)学生请假信息(请假id,课程id,用户id,请假时间)
(10)用户信息(用户id,用户账号,登录密码,姓名,年级)
(11)作业信息(作业id,课程id,作业标题,作业内容,发布时间)
3.4 数据库表结构设计
(1)管理员信息表,如表3-1所示。
11
天津职业技术师范大学2020届本科生毕业设计
表3-1管理员信息表
列名
userId
userName
userPw
类型
int
varchar
varchar
宽度
11
50
50
说明
管理员id,主键
管理员姓名
管理员密码
(2)教师工资信息表,如表3-2所示。
表3-2教师工资信息表
列名
id
jiaoshiID
gongzi
yuefen
类型
int
int
varchar
varchar
宽度
11
11
255
255
说明
教师工资id,主键
教师id,外键
工资金额
月份
(3)用户缴费信息表,如表3-3所示。
表3-3用户缴费信息表
列名
id
kechengID
yonghuID
shijian
类型
int
int
varchar
varchar
表3-4教师信息表
列名
id
bianhao
name
mima
zhicheng
dianhua
类型
int
varchar
varchar
varchar
varchar
varchar
宽度
11
255
255
255
255
255
说明
教师id,主键
教师编号
教师姓名
登录密码
教师职称
联系电话
宽度
11
50
50
50
说明
用户缴费id,主键
课程id
用户id
缴费时间
(4)教师信息表,如表3-4所示。
(5)考勤信息表,如表3-5所示。
表3-5考勤信息表
列名
id
kechengID
yonghuID
zhuangtai
shijian
类型
int
int
varchar
varchar
varchar
宽度
11
11
255
255
255
说明
考勤id,主键
课程id,外键
用户id,外键
考勤状态
考勤时间
(6)课程信息表,如表3-6所示。
表3-6课程信息表
12
天津职业技术师范大学2020届本科生毕业设计
列名
id
kechengming
shijian
jieshu
jiaoshiID
feiyong
renshu
类型
int
varchar
varchar
int
int
int
int
宽度
11
255
255
11
11
11
11
说明
课程id,主键
课程名称
上课时间
节数
教师id,外键
费用
人数
(7)公告信息表,如表3-7所示。
表3-7公告信息表
列名
newsid
biaoti
neirong
shijian
类型
varchar
varchar
text
varchar
宽度
50
500
200
说明
公告id,主键
公告标题
公告内容
发布时间
(8)评价教师信息表,如表3-8所示。
表3-8 评价教师信息表
列名
id
kechengID
yonghuID
pingjianeirong
类型
int
int
varchar
varchar
宽度
11
11
255
500
说明
评价id,主键
课程id,外键
用户id,外键
评价内容
(9)评价学生信息表,如表3-9所示。
表3-9评价学生信息表
列名
id
kechengID
yonghuID
pingjianeirong
类型
int
int
varchar
varchar
宽度
11
11
255
500
说明
评价id,主键
课程id,外键
用户id,外键
评价内容
(10)请假信息表,如表3-10所示。
表3-10 请假信息表
列名
id
kechengID
yonghuID
qingjiashijian
类型
int
int
varchar
varchar
宽度
11
11
255
255
说明
请假id,主键
课程id,外键
用户id,外键
请假时间
(11)用户信息表,如表3-11所示。
表3-11 用户信息表
13
天津职业技术师范大学2020届本科生毕业设计
列名
yonghuID
yonghuNumber
denglumima
xingming
nianji
类型
varchar
varchar
varchar
varchar
varchar
宽度
255
255
255
255
255
说明
用户id,主键
用户账号
登录密码
姓名
年级
(12)作业信息表,如表3-12所示。
表3-12 作业信息表
列名
id
kechengID
zuoyebiaoti
zuoyeneirong
shijian
类型
int
int
varchar
varchar
varchar
宽度
11
11
255
500
255
说明
作业id,主键
课程id
作业标题
作业内容
发布时间
14
天津职业技术师范大学2020届本科生毕业设计
4 系统详细设计与实现
4.1学生用户模块
4.1.1 用户注册
用户注册信息中包括了用户账号、密码、确认密码、姓名、年级组成。两个密码控件都是利用了文本框的类型设置为password,年龄控件控制了不能输入除数字以外的字符,电话控件设置了最大属性长度maxlength为11。点击注册按钮后触发onclick事件,进入到脚本中的checkyonghu()方法,获取各个控件的输入值,验证都不能为空,验证两次输入的密码是否相同。最后把表单提交到yonghu_中的yonghuReg方法获取各个输入项目的值,再在liuService中的panduan_zhanghao方法验证输入的用户账号是否存在,如果不存在就直接执行用户注册信息的插入语句,否则提示该帐号已经注册过,不能重复注册。用户注册页面效果图如图5-1所示。
图5-1 用户注册
用户注册功能流程图如图5-2所示。
String s=n_zhanghao(yonghuNumber);
n(s);
if(("yizhan"))
{
ribute("message", "该帐号已经注册过,不能重复注册");
ribute("path", "qiantai/userinfo/");
String targetURL = "/common/";
dispatch(targetURL, req, res);
}
else
{
String sql="insert into
15
天津职业技术师范大学2020届本科生毕业设计
t_yonghu(yonghuID,yonghuNumber,denglumima,xingming,nianji) values(?,?,?,?,?)";
Object[] params={yonghuID,yonghuNumber,denglumima,xingming,nianji};
学生注册输入注册内容提示不能为空是是否为空否提示用户名不能重复是用户名是否重复否注册成功
图5-2 注册功能流程图
4.1.2 用户登录
学生登录是以用户名和密码为条件进行登录的。在页面中输入用户名和密码后点击登录按钮,会先触发脚本中的checkyonghu (),在该方法中先验证输入的用户账号和密码控件的值是否为空,都不为空的情况下进入到loginService中的login方法按用户账号和密码为条件查询t_yonghu信息表,如果查询的结果不存在就返回no,如果正确就返回yes,同时把查询到的用户各个信息值在yonghu模型中,用session保存起来,同时保存学生的登录类型UserType为1。在前台callback接收到返回的值,如果为no就提示用户名或密码错误,如果为yes就提示登录成功,并跳转到主页面。同时页面中会验证session中的yonghu值是否为空,不为空时显示用户中心和安全退出的超级链接,如为空就显示注册和登录的超级链接。用户登录页面效果图如图5-3所示。
16
天津职业技术师范大学2020届本科生毕业设计
图5-3 用户登录
用户登录流程图如图5-4所示。
开始输入账号和密码是是否为空否查询数据表否返回结果行数是否大于0是登录成功结束
图5-4 用户登录流程图
String sql="select * from t_yonghu where yonghuNumber=? and denglumima=?";
Object[] params={userName,userPw};
4.1.3 课程缴费
点击课程列表可以查看到培训机构的所有课程信息,课程信息包括了课程名称、上课时间、节数、人数组成、教师姓名、费用,查看该页面时会先验证session中的yonghu是否有值,如果存在就显示教师姓名、费用和选择按钮。否则不显示这三项。点击选择
17
天津职业技术师范大学2020届本科生毕业设计
后进入到课程缴费页面,该页面会先根据用户的id和课程id为条件查询课程缴费信息表,如果存在记录就代表该用户已经缴费过该课程,不能再进行重复缴费,否则就把课程id、用户id、当前时间插入到课程缴费信息表中,代表可学生已经选择了该课程。课程缴费页面效果图如图5-5所示。
图5-5 课程缴费
课程缴费流程图如图5-6所示。
开始选择课程点击缴费是验证是否重复缴费否缴费成功结束
图5-6 课程缴费流程图
String s=jiaofeiyanzheng(kechengID,yonghuID);
18
天津职业技术师范大学2020届本科生毕业设计
n(s);
if(("yizhan"))
{
ribute("message", "你已经缴费过该课程,不能重复缴费");
ribute("path", "kecheng?type=kechengQuery");
String targetURL = "/common/";
dispatch(targetURL, req, res);
}
else
{
String sql="insert into t_jiaofei(kechengID,yonghuID,shijian)values(?,?,?)";
Object[] params={kechengID,yonghuID,shijian};
4.1.4 我的课程
我的课程是通过登录学生的用户为条件查询课程缴费信息表,在我的课程中可以进行评价教师和请假。评价教师就是对上课的课程的老师进行评价操作,点击评价后进入到页面,评价是在kecheng_servlet中的pingjiaAdd方法中进行的,获取到课程id、评价内容、学生用户id一起插入到评价记录表。请假是在qingjiaAdd方法中获取课程id、请假时间、学生用户id一起插入到请假信息表中。我的课程页面效果图如图5-7所示:。
图5-7 我的课程
String kechengID=ameter("kechengID");
String qingjiashijian=ameter("qingjiashijian");
HttpSession session=sion();
Tyonghu yonghu=(Tyonghu)ribute("yonghu");
String yonghuID=ghuID();
String sql="insert into
t_qingjia(kechengID,yonghuID,qingjiashijian)values("+kechengID+",'"+yonghuID+"','"+qingjiashijian+"')";
19
天津职业技术师范大学2020届本科生毕业设计
4.1.5 我的作业
我的作业是查询到学生未提交的老师布置的作业,数据的查询是在kecheng_servlet中的Mykecheng方法中实现的。先获取session中的用户id查询课程缴费信息表,查询到自己所上的课程,然后根据课程查询课程的作业,查询的作业信息包括课程名称、上课时间、作业标题、作业内容、布置时间,点击上传后进入到页面,选择自己的作业文件,点击提交后进入到zuoye_servlet 中的zuoyeshangchuan方法进行上传,上传中需要上传作业文件、教师布置的作业id、学生用户id插入到学生作业信息表。我的作业页面效果图如图5-8所示。
图5-8 我的作业
HttpSession session=sion();
Tyonghu yonghu=(Tyonghu)ribute("yonghu");
String yonghuID=ghuID();
List kechengList=new ArrayList();
String sql="select c.*,gming,,n as
kechengshijian,g,, from t_jiaofei c left join (select a.*, from t_kecheng a
left join t_jiaoshi b on iID=) as d on gID= where ID=?";
Object[] params={yonghuID};
4.2 教师模块
4.2.1 我的课程
我的课程是根据登录教师的id为条件查询该教师所教授 的课程信息,点击查看可以显示该课程下的所有学生。数据是通过zuoyeg_servlet中的mykecheng方法来查询的,通过获取session中的jiaoshi 中的教师id查询t_kecheng信息表。我的课程页面效果图如图5-9所示。
20
天津职业技术师范大学2020届本科生毕业设计
图5-9 我的课程
HttpSession session=sion();
Tjiaoshi jiaoshi=(Tjiaoshi)ribute("jiaoshi");
int jiaoshiID=();
List kechengList=new ArrayList();
String sql="select * from t_kecheng where jiaoshiID=?";
Object[] params={jiaoshiID};
4.2.2作业管理
作业管理是教师对自己所带的课程进行布置作业以及查看学生上传的作业。页面这种先查询到该教师所带的所有课程,根据课程来进行布置作业。点击每个课程中的布置链接,进入到页面,页面中包括了作业的标题和内容,验证不为空后进入到zuoyeg_servlet中的zuoyeAdd方法,获取作业的标题、内容、课程id、当前时间一起插入到作业信息表中。作业添加成功后,该课程下的每个学生就可以看到。然后点击课程中的查看作业就可以查看到每个学生上交的作业。作业管理页面效果图如图5-10所示。
图5-10 作业管理
String zuoyebiaoti=ameter("zuoyebiaoti");
String zuoyeneirong=ameter("zuoyeneirong");
int kechengID=nt(ameter("kechengID"));
String shijian=new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String sql="insert into t_zuoye(zuoyebiaoti,zuoyeneirong,kechengID,shijian)
values(?,?,?,?)";
Object[] params={zuoyebiaoti,zuoyeneirong,kechengID,shijian};
21
天津职业技术师范大学2020届本科生毕业设计
4.3 管理员模块
4.3.1 教师管理
教师信息中包括了教师工号、姓名、职称、联系电话组成。点击添加按钮后触发onclick事件,进入到脚本中的check()方法,获取各个控件的输入值,验证都不能为空,。然后把表单提交到jiaoshi_中的jiaoshiAdd1方法获取各个输入项目的值,再在liuService中的panduan_zhanghao方法验证输入的教师工号是否存在,如果不存在就执行教师添加信息的插入语句,否则提示该教师编号已经存在,不能重复添加。教师添加页面效果图如图5-11所示。
图5-11 教师添加
if(("yizhan"))
{
ribute("message", "教师账号不能重复");
ribute("path", "admin/jiaoshi/");
String targetURL = "/common/";
dispatch(targetURL, req, res);
}
else
{
String sql="insert into t_jiaoshi(bianhao,name,zhicheng,dianhua,mima)
values(?,?,?,?,?)";
Object[] params={bianhao,name,zhicheng,dianhua,mima};
22
天津职业技术师范大学2020届本科生毕业设计
4.3.2学生信息管理
学生信息管理中查询了所有注册过的学生信息,信息是通过yonghu_中的yonghuMana方法方法获取所有的会员信息,把查询的数据放在yonghuList链表中,并在页面中循环读取出来。每一行会员信息都有一个主键yonghuID,点击删除后进入到yonghuDel方法中获取yonghuID,以yonghuID为条件删除t_yonghu信息表,删除成功后返回到管理页面。学生信息管理页面效果图如图5-12所示。
图5-12 学生信息管理
String id=ameter("id");
String sql="delete from t_yonghu where yonghuID=?";
Object[] params={id};
4.3.3课程管理
课程信息中包括了课程名称、任课教师、上课时间、节数、费用、人数。其中任课教师是页面初始化是绑定了所有教师的id和name,是select下拉列表控件。节数、费用、人数是TextBox控件,并设置了控件只能输入数字。点击添加按钮后触发onclick事件,进入到脚本中的check()方法,获取各个控件的输入值,验证都不能为空,。然后把表单提交到kecheng_中的kechengAdd方法获取各个输入项目的值,插入到t_kecheng信息表中。课程添加页面效果图如图5-13所示。
23
天津职业技术师范大学2020届本科生毕业设计
图5-13 课程添加
String sql="insert into t_kecheng(kechengming,shijian,jiaoshiID,feiyong,renshu,jieshu)
values(?,?,?,?,?,?)";
Object[] params={kechengming,shijian,jiaoshiID,feiyong,renshu,jieshu};
4.3.4 考勤管理
考勤管理中包括了学生请假记录的查询、学生每节课的考勤情况的添加和查询。请假记录信息中包括了课程名称、教师姓名、上课时间、请假人姓名、请假时间,并可以按照姓名和请假时间进行单一查询。信息的查询是通过kecheng_中的qingjiaQuery方法来实现的。考勤添加是以课程为单位,添加一节课的所有学生是考勤情况,考勤状态包括了正常、请假和迟到三种,是批量添加学生考勤记录的。每一个学生输入上对应的考勤状态,考勤日期是一个,点击提交后进入到kaoqin_中kaoqinAdd方法,该方法中获取课程id、考勤日期、学生用户id、考勤状态,其中学生用户id和考勤状态是获取了多个值放在一个数组中,然后循环数组把每个学生的考勤插入到考勤记录表中。考勤添加页面效果图如图5-14所示。
图5-14 考勤添加
24
天津职业技术师范大学2020届本科生毕业设计
String[] yonghuID=ameterValues("yonghuID");
String[] zhuangtai=ameterValues("zhuangtai");
int kechengID=nt(ameter("kechengID"));
String shijian=ameter("shijian");
String sql="insert into t_kaoqin(yonghuID,zhuangtai,kechengID,shijian) values";
for (int i = 0; i < ; i++)
{
if(i==-1)
{
sql+="("+yonghuID[i]+",'"+zhuangtai[i]+"',"+kechengID+",'"+shijian+"')";
}
else
{
sql+="("+yonghuID[i]+",'"+zhuangtai[i]+"',"+kechengID+",'"+shijian+"'),";
}
}
4.3.5公告信息管理
公告添加页面中包括了公告标题和公告内容两个控件,输入后点击提交按钮,触发onclick事件进入到脚本中的check方法验证两个控件的输入值是否为空,都不为空后再进入到news_中的newsAdd执行公告的插入操作,公告的id是获取当前时间并转换为字符类型做为唯一值,并获取当前时间做为公告的发布时间一起插入到公告信息表中。公告添加页面效果图如图5-15所示。
图5-15 公告添加
String newsid=f(new Date().getTime());
String biaoti=ameter("biaoti");
String neirong=ameter("content");
String shijian=new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String sql="insert into t_news(newsid,biaoti,neirong,shijian) values(?,?,?,?)";
Object[] params={newsid,biaoti,neirong,shijian};
25
天津职业技术师范大学2020届本科生毕业设计
5 系统测试
5.1测试环境
(1)处理器:Inter(R) Core (TM)2 Duo T5750
(2)内存:2GB以上
(3)硬盘:500G
(4)操作系统:Windows 7以上版本
(5)数据库:MySQL5.0
(6)Web服务器:Tomcat 6.0版本
5.2测试目的和方法
培训机构课程管理系统测试的目的是为了发现系统中存在的潜在问题,让系统在功能、性能方面更加的完善。确保系统投入运行后更加的稳定、可靠。测试的方法采用了黑盒测试,通过黑盒测试对系统中的每个功能模块进行详细的测试,通过设计多种测试条件、输入结果都验证结果是否正确。
5.3功能模块测试
(1)学生用户注册测试用例如表6-1所示。
表6-1学生用户注册测试用例
编制人
测试目的
测试条件说明
测试步骤
测试名称 学生用户注册测试
验证学生用户注册功能是否正确,不合法的数据是否有提示,合法数据是否可以添加成功
启动tomcat,运行出首页,进入注册页面
(1)
(2)
(3)
(4)
(1)
(2)
(3)
(4)
无
测试日期 2020.5.5
在注册页面中不输入信息,点击注册
在注册页面中输入不相同的密码和确认密码。点击注册
在注册页面中输入重复的账号
在注册页面中输入合法的账号、密码、姓名、年级,点击注册
提示对应的控件不能为空
提示密码和确认密码不一致
提示该帐号已经注册过,不能重复注册
提示注册成功,请登录
输出结果
测试结果
备注
测试人员
通过 □不通过 □无法测试
(2)课程缴费信息测试用例如表6-2所示。
表6-2课程缴费测试用例
26
天津职业技术师范大学2020届本科生毕业设计
编制人
测试目的
测试条件说明
测试步骤
测试名称 课程缴费测试
测试课程缴费功能是否正确
启动tomcat,运行出首页,登录一个学生用户,选择一个课程
(1) 点击课程列表,选择一个已经缴费的课程进行缴费
(2) 点击课程列表,选择一个未缴费的课程进行缴费
(3) 点击确定缴费
(1) 提示你已经缴费过该课程,不能重复缴费
(2) 提示缴费成功
通过 □不通过 □无法测试
无
测试日期 2015.5.5
输出结果
测试结果
备注
测试人员
(3)课程添加测试用例如表6-3所示。
表6-3 课程添加测试用例
编制人
测试目的
测试条件说明
测试步骤
输出结果
测试结果
备注
测试人员
测试名称 课程添加测试
验证课程添加是否成功,不合法的数据验证是否成功
启动tomcat,运行出首页,进入到管理员登录页面,登录成功
(1) 课程信息中各个输入项未输入任何信息,点击添加。
(2) 课程信息中各个输入项都输入合法的信息,点击添加。
(1) 提示对应的控件信息不能为空
(2) 提示添加成功
通过 □不通过 □无法测试
无
测试日期 2015.5.10
5.4 测试总结
经过对系统功能进行了详细的测试,系统在功能方面变的更加的完善,在执行过程和流程中也更加的完善。满足了学生、教师、系统管理员的基本需求。
27
天津职业技术师范大学2020届本科生毕业设计
结论
培训机构课程管理系统基本实现了学生、教师和系统管理员要求的基本功能,在前台中学生可以注册登录,实现选择课程可以交费,可以上传作业、可以请假和评价教师。教师可以查看所带课程的学生,发布作业等。管理员可以对课程、教师、公告等信息管理。从开始做设计的不知所措,到如今整个设计和论文的完成,整个过程自己收获了很多,包括技术、写作能力以及问题的分析处理能力都提高了很多,毕业设计是对自己四年所学知识的一次检测,也是自我提高、自我改善的一个过程。设计是采用
MyEclipse开发平台和MySQL数据库来完成的,开发语言是Java,自己在页面设计方面的能力不足,很多的CSS样式都设计的不美观,还有自己在MySQL数据库方面的能力也不足,对SQL语句的基本语法掌握的不够熟练。这两个方面在以后要多加学习。通过这次毕业设计,我认识到了自己的不足,以前只学习一些理论知识,对于实际项目的开发缺乏经验,这次做一个完整的系统,才明白只有把理论知识运用到实际中,才能对知识掌握的更加的熟练,才能认识到自己在哪个方面的能力欠缺。培训机构课程管理系统的主要优点如下。
(1)学生对自己所上的课程可以进行评价教师的功能,方便培训结构可以收到学生对教师的教学效果反馈。
(2)学生可以在线进行请假,培训结构管理员在考勤记录中就可以查看到。
(3)学生可以进行在线上传作业,教师可以下载后进行批改。
培训机构课程管理系统虽然在功能实现上满足了预期设计的需求,但系统还存在着不少的缺陷,现例举如下。
(1)在前台页面设计中缺少美观效果,在页面的布局,图片的选择,颜色的搭配上不够协调,导致整个页面的效果不够美观,
(2)在功能方面上,应加入一个教师和学生的互动模块,让教师登陆后可以查看到家长反馈的问题并进行回复,实现了互动交流的效果。
通过完成培训机构课程管理系统,自己在编程方面的能力提高了很多,MyEclipse开发平台和MySQL数据库也更加的熟悉了。完成这个系统也是自我价值的体现,自信心也提高了,对未来的工作也充满了期待。软件开发是一个漫长而枯燥的工作,遇到问题不能急躁,要一步一个脚印来完成,不断的学习和探索才能在这个领域中有所成就。毕业设计的结束,代表着我的大学也即将结束,在进入到社会中,也要不断的学习充实自己才能跟上时代的发展和进步,只有不断的学习新的技术,才能满足社会发展的需求,成为一个对社会有贡献的人才。
28
天津职业技术师范大学2020届本科生毕业设计
参考文献
[1] 王飞飞.MySQL数据库应用[M]. 北京:中国铁路出版社,2014.
[2] 李刚.疯狂Java讲义[M]. 北京:电子工业出版社,2014.
[3] 梁勇.Java语言程序设计[M]. 北京:机械工业出版社,2015.
[4] 郭静. 基于JSP的动态网页开发技术[J]. 科技展望, 2016(8):40-42.
[5] 邓碧华. 基于JSP技术的网页开发应用分析[J]. 电脑编程技巧与维护,
2016(4):77-78.
[6] 唐坚刚,张沈兵.计算机辅助教学网站设计与实现[J].软件导刊,2016(09):111-114.
[7]贾文潇,叶慧莉.Java Web开发中的乱码问题[J].电子测试,2016(7):20-23.
[8]张冬姣,王萍.关于Java Web应用程序安全技术分析[J].电脑迷,2016(9):36-39.
[9] 周晓娟,王法能,毛劲松.基于B/S的WEB数据库技术[J].航空计算技术,2015(8):47-50.
[10] 凯S.霍斯特曼.Java核心技术系列[D]. 北京:机械工业出版社,2016.
[11] 田燕琴,宋黎.MIS系统的面向对象开发方法[J].福建电脑.2013(11):60~61.
[12]梁银妮. Web网站中动态网页设计技术的应用和实现[J]. 数字技术与应用,
2017(1):83-83.
[13]Java开发语言的开发平台与J2EE编程技术问题研究[J]. 田家旗. 信息技术与信息化. 2016(04)
[14]Java Web快速开发框架中部分关键技术初步研究[D]. 王循.吉林大学. 2015
[15]基于Spring的MVC框架设计与实现[J]. 张宇,王映辉,张翔南.计算机工程.2010(04)
29
天津职业技术师范大学2020届本科生毕业设计
致 谢
培训机构课程管理系统毕业设计的完成,意味着我将离开我四年学习和生活的大学校园。毕业的完成首先要对我的指导老师表示感谢,在毕业设计期间老师从设计的定位、内容规划以及一些细致方面的处理上都给于了我很大的帮助。老师科学严谨的工作方式和态度也影响了我。我认真的完成毕业设计的各项内容,严格按照工作时间来进行,老师都会定期检查我完成内容,不完善和缺失的部分都帮我指出来,最终我的毕业设计在规定的时间内保质保量的完成了。
同时还要感谢在我大学的学习中遇到的各位老师,你们在四年中的每一课堂上对我的教育我都印象深刻,你们授予我的专业知识给我的毕业设计的顺利完成打下了良好的基础,也为我以后走向工作岗位有了的鉴定的信念。感恩之情在这里简单的几句话无法表达我的心情,只能对你们说声谢谢。
感谢学院,在这里我收获的不仅仅是知识和技能,在实践能力、表达认知能力都有了很大的提高,也具有了广阔的视野。感谢学院提供的良好的学习环境和平台。
30
本文发布于:2024-02-06 14:40:29,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170720162961418.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |