Java 课程设计:师生交流系统
1.1 课设题目
信息商务学院学生成绩综合管理系统的综合与开发
2.1 课设目的
《Java 程序设计》课程是计算机专业的一门专业必修课程,针对课程进行为期两周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、逻辑思维能力和软件开发能力,为学生进入编程领域作好充足准备。
本次课程设计要求学生用 JSP+MySQL 技术在 Windows 平台下开发我院学生成绩综合管理系统,通过成绩管理系统的开发能够切实提高学生的程序设计水平,从实践中认识面向对象程序设计的开发思想。
2.2 开发环境
- 操作系统:Windows
- 开发工具:MyEclipse
- Java 中间件服务器:Tomcat
- 数据库: MySQL
二、课设内容
学生的成绩管理是我院教务管理工作中的一项重要内容,随着办学规模的扩大和招生人数的增加,建立一个学生成绩管理系统是非常必要的。为了提高成绩管理的效率,本次课设将由老师指导学生完成“基于 JSP+MySQL 的信商学生成绩综合管理系统的设计与开发”,学生按照老师预先录制的系统开发视频进行参考开发,最后完成的程序能够简单实现我院学生成绩的基本管理。系统主要分为三个模块:学生模块、教师模块和教务人员模块。
2.1 学生模块
- 学生登录:学生用自己的账户信息可以登录系统。
- 退出系统:学生可以退出系统。
- 成绩查询:学生可以查询自己各科的成绩。
- 在线留言:学生可以给任课老师留言。
2.2 教师模块
- 教师登录:教师用自己的账户信息可以登录系统。
- 退出系统:教师可以退出系统。
- 成绩录入:教师可以录入所教课程的所有学生成绩。
- 留言回复:老师可以对学生的留言进行回复。
2.3 教务人员模块
- 教务人员登录:教务人员自己的账户信息可以登录系统。
- 退出系统:教务人员可以退出系统。
- 学生管理:包括添加学生信息、修改学生信息、学生信息列表和删除学生。
- 老师管理:包括添加教师信息、修改教师信息、学生信息列表和删除学生。
- 成绩管理:教务人员可以管理所有老师录入的成绩信息。
三、需求分析
本系统是服务于教师学生的教务管理系统,其主体包括教务员系统、教师系统、学生系统。它是一个教学管理服务的信息系统,它必须能够根据使用者的需求,及时提供所需的信息以及完成所需的操作。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
3.1 教务员需求分析
教务员可以对教师的信息进行管理:添加教师、删除教师、修改教师的信息;对学生的信息就行管理:添加学生、删除学生、修改学生的信息;对学生成绩进行管理:录入成绩、删除成绩、修改成绩;对个人信息进行管理:查看个人信息、修改个人信息。当完成自己所需的功能之后,就可以退出登录。
3.2 教师需求分析
教师登陆之后可以录入学生成绩,查看已录入学生的成绩列表;查看学生的留言情况,回复学生的留言;对个人信息进行管理:查看个人信息、修改个人信息。当完成自己所需的功能之后,就可以退出登录。
3.3 学生需求分析
学生登陆之后可以查看自己的各科成绩;给老师留言,查看留言情况(是否被回复);对个人信息进行管理:查看个人信息、修改个人信息。当完成自己所需的功能之后,就可以退出登录。
3.4 可行性分析
通过对教务网的各个功能方面进行了具体的了解之后,现在对教务系统的实际使用情况进行分析。用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,采用构架实现 Java 类与数据库之间的转换和访问。
3.4.1 技术可行性
教务系统是供教师和学生登录,用于查看成绩、留言等功能,所以不需要很复杂的设备,一般的硬件设备就可以。本系统采用的是 JSP、Servlet 和 MySQL 开发,采用 JDBC 方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于 JSP、Servlet 功能强大,而 MySQL 灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用 JSP、Servlet、MySQL 是开发轻平台的最佳组合从而说明本系统在技术方面可行。本课题具有的特点:开发工作量小,开发周期短。
3.4.2 社会可行性
在当今世界电脑普及的时刻,人们已经习惯用哪个电脑办公,结果自然会产生大量的电子文件,这些文件有宝贵的历史价值,但是我们如果将更多地实践花费在寻找这些文件上,既费时又费力。本软件就是为了方便此需求而开发的。让学校各个部门,每个教师和学生能够有效的掌握,有效的共享文件资源,及促进教务管理的信息化、规范化和集成化;教师可以更方便的登记学生的成绩,还可以查看留言;学生更方便的查看自己的成绩信息。实现了计算机的智能化管理,以提高工作效率和经济效益。
3.4.3 操作可行性
随着信息的发展,教师可以把有用的信息直接存储在教务管理系统里面,不需要安装软件,直接在网上打开就可以使用,非常方便;并且只需登录账号就能进入,方便学生教师的使用。所以在操作上是可行的。
四、设计过程
4.1 总体设计
整个教务管理系统的运行离不开数据库的支持,数据库在整个系统的运行发挥着不可忽视的作用。没有了数据库的支撑,系统就无法运行。由此可见,系统离不开数据库,在系统开发之前必须首先保证数据库的准备工作已经准备就绪。教务管理系统主要使用的是 MySQL 数据库和 MyEclipse 进行开发的,在开发系统时需要先连接 MySQL 数据库连接然后再建一个数据库,取名为 grademanage,根据对教务管理系统总体功能需求分析设计出了 5 个表分别用于存放不同的信息以便实现其具体的功能。这些表分别是:admin(教务人员表)、student(学生信息表)、teacher(教师信息表)、grade(成绩信息表)、msg(留言信息表)。
这个教务系统一共分为三个系统:学生系统、教师系统、教务员系统。
学生模块:
学生根据自己的账号密码进行登录,登录成功以后,可以查看自己的成绩;可以在线给老师进行留言,查看自己的留言情况以及老师是否回复了自己的留言;还可以对个人信息进行管理,可以修改和查看个人信息,完成所有操作之后就可以退出登录。(如图 4-1)
教师模块:
教师用自己的账号密码进行登录,登陆后可以添加学生的成绩;查看已经添加成功的学生的成绩;可以查看给学生自己留言且对学生的留言进行回复;教师还可对自己的信息进行管理,修改和查看个人信息,当完成所有操作之后就可以退出登录。(如图 4-2)
教务人员模块:
教务人员用自己的账号密码进行登录,登陆成功之后可以添加学生信息、删除学生信息、添加教职工信息、删除教师信息、添加学生成绩、修改成绩、查看成绩等,还可以对个人信息进行管理,修改和查看自己的信息,完成操作之后就可以退出登录。(如图 4-3)
(图 4-3)
4.2 详细设计
4.2.1 数据库设计
数据库的建立,我分为了五个表,分别为:student(学生信息表)、teacher(教师信息表)、admin(教务人员表)、grade(成绩信息表)和 msg(留言信息表)。
student
student 表分为五个部分:学生编号 student id、学生学号 son、学生姓名 student name、学生登录密码 pwd、学生专业 major。
teacher
teacher 表分为四个部分:教师编号 teacher id、教师账号 gon、教师名字 teacher name、教师登录密码 pwd。
admin
admin 表分为四个部分:教务人员编码 admin id、使用者身份 user name、教务人员登录密码 pwd、教务人员姓名 name。
grade
grade 表分为六个部分:成绩编码 grade id、学科 course、学生编码 student id、录入成绩的教师姓名 teacher name、成绩 score、录入日期 add time。
msg
msg 表分为八个部分:留言编码 msg id、标题 title、内容 content、留言时间 add time、学生编码 student id、留言老师姓名 teacher name、回复内容 reply content、回复时间 reply time。
4.2.2 MyEclipse 设计及程序构成
在 eclipse 中新建 grademanage 为项目名的 Web 项目,将程序包放入 src 和 WebRoot 中,总的列表为:
各个输入界面、显示界面,用于信息的输入输出及显示(如表 4-4):
login.jsp | 登录界面 |
---|---|
logout.jsp | 退出系统 |
saveteacher.jsp | 保存教师信息 |
savestudent.jsp | 保存学生信息 |
savegrade.jsp | 保存成绩 |
savemsg.jsp | 保存留言信息 |
(表 4-4)
Student(如表 4-5):
myGrade.jsp | 个人成绩 |
---|---|
showmsg.jsp | 留言查看 |
myreceivemsg.jsp | 我的留言 |
myreply.jsp | 我的回复 |
(表 4-5)
Teacher(如表 4-6):
teacherAddedGrade.jsp | 添加成绩 |
---|---|
showmsg.jsp | 查看留言 |
reply.jsp | 回复留言 |
listgrade.jsp | 成绩列表 |
(表 4-6)
Admin(如表 4-7):
editstudent.jsp | 编辑学生 |
---|---|
editteacher.jsp | 编辑教师 |
editgrade.jsp | 编辑成绩 |
delstudent.jsp | 删除学生 |
delteacher.jsp | 删除教师 |
delgrade.jsp | 删除成绩 |
liststudent.jsp | 学生信息列表 |
listteacher.jsp | 教师信息列表 |
listgrade.jsp | 成绩信息列表 |
(表 4-7)
4.2.3 运行结果
学生模块
学生系统操作要满足学生能够用学号登录,查看自己的成绩,给老师留言,查看留言情况,对个人信息进行管理。学生在登录页面输入自己的学号和密码,登陆进去首页,进入主页面。
在学生首页左侧是信息栏:成绩管理,留言管理和个人管理。点击成绩查询,就可以看到各科老师录入的分数,在学号栏里面输入学号也可以进行查找。在这里链接 mygrade.jsp,链接数据库 grade 表,就可以直接进入。
在留言管理里面,学生可以给自己喜欢的老师进行留言,也可以向老师请教问题,也可以查看留言是否被回复情况。在这里面填入标题,想要留言的老师以及要留言的内容,点击留言就留言成功了;留言成功之后就自动跳转到 show msg.jps 页面,显示出刚才留言的情况。点击留言管理-我要留言,自动链接 mymsg.jsp 进行留言;点击留言管理-查看留言,自动链接 showmsg.jsp 进行留言查看及回复情况,老师没有回复,回复栏里面就会显示否(未查看回复)。
教师模块
教师系统的操作要满足教师能够录入学生的成绩,查看成绩列表,查看留言,回复留言,个人信息管理。输入教师的工号和密码就可以登录进去。进入主页面,页面左侧分为三个栏:成绩管理,留言管理,个人管理。教师可以录入学生成绩,点击录入成绩网页跳转自动链接到 teacher-AddedGrade.jsp 页面,就显示出来录入成绩的页面;填入课程名称,学生以及分数,所有填写完成点击保存,如果保存成功就会链接 savegrade.jsp 里面的保存成功然后自动跳转到 listgrade.jsp 页面,显示出来已录入的学生的成绩;如果信息填写不当就会显示出录入失败,就会自动返回到成绩录入页面,重新录入成绩。
教师查看学生的留言情况:点击留言管理里面的我的留言,网页自动跳转到 myreceivemsg.jsp 页面,显示出学生给老师的留言情况,包括学生姓名、专业、留言标题、留言内容、留言时间。在每条留言的末尾有操作条,点击查看留言详情,页面自动跳转到 receive.jsp 页面对学生的留言进行回复,回复成功之后就会跳转到 receivemsg.jsp 页面,这时学生系统 showmsg.jsp 页面老师回复情况就会显示出是(已回复),如果输入错误就会显示回复失败,返回重新回复。
教务员模块
教务系统的操作要求管理人员进入系统之后能够对老师信息进行管理:添加教师、删除教师、修改教师信息;对学生信息进行管理:添加学生、删除学生、修改学生信息;对成绩进行管理:添加成绩、修改成绩。教务人员输入自己的账号密码进入,自动链接 listadmin.jsp,跳转到管理员页面。左侧信息栏分为四个栏:教师管理、学生管理、成绩管理、个人管理。
教务人员可以添加学生信息,点击学生管理里面的添加学生,自动链接 editstudent.jsp,跳转到添加学生页面;填入学生学号、姓名、密码和专业,点击保存,如果保存成功就会链接 liststudent.jsp 页面,显示出已录入的学生列表,如果保存失败就自动返回重新填写信息。在学生信息列表一栏,最后一条有个操作,点击编辑,就会跳转到 editstudent.jsp 页面对学生信息进行修改,点击删除就会自动链接 deltstudent.jsp,删除该学生的所有信息。
教务人员可以添加教师信息,点击教室管理下面的添加教师,页面自动链接到 editteacher.jsp,跳转到页面添加老师,填入工号,姓名,密码;如果操作正确点击保存就会自动链接 listteacher.jsp 跳转到已录入的教师的信息列表,如果失败就自动返回到编辑页面重新编辑。在教师列表最后一栏有个操作,点击编辑页面链接 editteacher.jsp,对教师信息进行修改,点击删除就会链接 delt
teacher.jsp,删除特定教师的全部信息。
教务人员还可以管理学生的成绩,点击成绩管理里面添加成绩,自动链接到 editgrade.jsp,就显示出来录入成绩的页面;填入课程名称,学生以及分数,所有填写完成点击保存,如果保存成功就会链接 savegrade.jsp 里面的保存成功然后自动跳转到 listgrade.jsp 页面,显示出来已录入的学生的成绩;如果信息填写不当就会显示出录入失败,就会自动返回到成绩录入页面,重新录入成绩。
4.2.4 操作完成数据库显示
系统上操作完成以后可以在数据库里面查看自己在网页上保存或生成的一些记录,它会在数据库里面自动生成。
student 表
通过表可以看到学生的各个信息:学生编号 student id、学生学号 son、学生姓名 student name、学生登录密码 pwd、学生专业 major。
teacher 表
通过表可以看到教师的各个信息:教师编号 teacher id、教师账号 gon、教师名字 teacher name、教师登录密码 pwd。
admin 表
通过表可以看到教务人员的各个信息,包括教务人员编码 admin id、使用者身份 user name、教务人员登录密码 pwd、教务人员姓名 name。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xpScgKFK-1672102693022)(https://www.writebug.com/myres/static/uploads/2021/10/28/e7bebeee751c45d3bb383ea7104412cf.writebug)]
grade 表
通过表可以看到各个学生的各科的成绩的信息:成绩编码 grade id、学科 course、学生编码 student id、录入成绩的教师姓名 teacher name、成绩 score、录入日期 add time。
msg 表
五、调试过程
5.1 出现问题
- 编码问题,输入是有错误
- 有错误但是不影响运行
- 界面设计有时内容看不到
- 网页不显示,错误 404
- 网页不显示,错误 500
- 连接数据库出现问题或数据库连接异常
- 运行出错
5.2 解决方案
- 通过网上查找发现是编码问题,修改编码内容使问题解决。
- 小的语法错误软件可以自动解决。
- 搜索之后发现时覆盖性错误,进行内容修改,得到解决。
- 查看代码,超链接出现错误,地址错误。
- 代码错误,出现乱码,修改代码。
- 数据库未开启,连接到的地址发生错误。企鹅数据库默认八小时未连接自动断开连接,且无法再次连接。
- Tomcat8.5 版本不兼容,应采用 tomcat7.0 及以下版本运行
六、小结
经过两周多的 Java 课设实验,我学到了很多关于 JavaWeb 的知识。在这之前也没有接触过数据库,通过看视频知道怎么创建数据库,怎么在 MyEclipse 里面写 CSS 里面相关代码,这让我觉得所有知识都是环环相连的,让我能够把所学的知识联系起来,对我知识的巩固实践有很大的帮助。
这次课设的任务是设计一个包括学生模块、教师模块、教务人员模块的一个教务系统。首先先分析这个项目能够实现什么需求。学生模块里面学生能够自己登陆,查看成绩,修改信息,给老师留言;教师模块里面教师能够添加学生成绩,修改信息,查看学生留言,回复学生留言;教务人员系统里面管理员能够对学生、教师信息进行添加、修改、删除,能够录入学生成绩,修改成绩等。然后就是设计。这个阶段就是根据需求对整个系统进行设计,例如系统框架设计、数据库设计等等。接下来就是代码实现,此阶段是将网站项目设计的结果转换为计算机可运行的程序代码。最后就是运行结果,对此进行调试了。这些看此简单的过程,每一步都不容易,都需要认真去分析。尤其是编写代码时,由于自己的技术知识上水平不广,遇到了很多问题;还有就是自己没有良好的编程习惯,没有注释,自己看着都蒙了;编程的结构不好,维修和改代码就是很慢。
通过这次课设实验,我深深感觉到自己在实践应用中多学的知识很匮乏,让我体会到职业生涯要具备很多专业的知识,也让我知道很多做项目的方法。做程序一定要提前做好规划,这样会避免在系统开发过程中出现的混乱,并且在对程序进行修改时也能减少附带的错误。系统不可能是完美的,我们要做的就是在实现需求的基础山尽量减少用户的操作的繁琐,为用户提供方便便利、尽量使系统人性化。要充分利用网络的便利,遇到一些想不通的地方可以上网查询,对平时没有及时对所学的知识进行扩展和提高。同事周围的同学也是很好的老师,有些问题自己不懂也可以向同学请教。不要局限于课本中的知识,最好的方法就是编程,在实践中学习。我们不可能掌握所有的内容,没有什么一劳永逸,所以我们要学会学习,学会现学现用,不断的学习,才能让自己变得更好。
♻️ 资源
大小: 2.91MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87249055