基于web的教学管理系统.docx
- 文档编号:29841887
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:32
- 大小:669.85KB
基于web的教学管理系统.docx
《基于web的教学管理系统.docx》由会员分享,可在线阅读,更多相关《基于web的教学管理系统.docx(32页珍藏版)》请在冰豆网上搜索。
基于web的教学管理系统
摘要:
由于教育大众化,学生数量不断扩大,学校管理者的负担也不断增加。
为减轻学校负担并提高管理效率,学校可以利用网站对学生和教师等进行管理。
该系统主要包括三个部分:
学生、教师和管理员。
其中学生的功能有学生登录、个人信息维护和教师信息查询。
教师的功能有教师登录、个人信息维护等。
管理员部分的主要内容有管理员登录、课程信息管理、学生信息管理和教师信息管理等。
通过分析,本系统采用JAVA语言和Struts框架开发。
为节省费用,数据库采用SQLServer2000。
最后结合自己编写的教学管理系统,给出一个完整的,可实际使用的系统。
虽然系统功能不是很完善,但是本系统采用模块化编程技术,将来系统维护和升级会很容易。
关键词:
教学管理系统;Struts;Java;SQLServer
TheDesignandimplementationofWEB-basedteachingmanagement
system
Abstract:
Becauseeducationpopularization,thenumberofstudentsisgrowing,theburdenofschooladministratorscontinuetoincrease.Inordertoalleviatetheburdenandimprovetheefficiencyofschoolmanagement,schoolscanusethesitetomanagerstudentsandteachers.
Thesystemincludesthreeparts:
students,teachersandadministrators.Studentscanlogin,maintenanceofpersonalinformationandfindouttheinformationofteachers.Teacherscanlogin,safeguardpersonalinformation.Administratorofthemaincontentsofanadministratortologin,managementtheinformationofcurriculum,managementtheinformationofallthestudentsandmanagementtheinformationofalltheteachers.Throughanalysis,thesystemusesJAVAlanguageandframeworkforthedevelopmentofStruts.Tosavecosts,thedatabaseusedSQLServer2000.Finally,preparedbytheirownteachingmanagementsystems,isacomprehensive,practicaluseofthesystem.
Thesystemisnotperfect,butthissystemismodularprogrammingtechnology,systemmaintenanceandupgradingwillbeveryeasyinthefuture.
Keywords:
TeachingManagementSystem;Struts;Java;SQLServer
第1章引言
1.1开发背景
随着社会的发展,教育面向大众化,越来越多人可以进入学校去学习,学校和学生的规模不断扩大,学校需要管理的东西越来越多,越来越复杂,如果单靠人力去管理,很容易出现差错。
因此,本系统的任务就是开发一个教学管理系统,由计算机进行一系列的操作,比如学生修改自己的信息、根据课程名查询成绩、查询本学期的成绩、查询不及格的成绩、以及选课、查看选课结果和查看自己教师信息等;教师也可以修改自己信息、查看选自己课程的学生并且接受或则拒绝学生选课和登记学生考试分数;另外还有管理员,管理员可以维护系统的基本信息,比如添加和修改学生信息,添加和修改教师信息,添加和修改课程信息等。
这样就减轻了学校管理人员的负担,方便了师生之间的交流,促进了了学生之间的学习。
1.2开发目标
本系统设计的目的主要有两个:
1.方便学校的管理,提高工作效率。
随着教育的大众化,学校的规模不断扩大,学生不断增多,如果还是采用人工的方法去管理,会消耗很多的人力和财力,也很容易出错。
但是,如果使用计算机管理就很方便,可以减轻学校管理人员的负担,减少财政开支。
2..方便学生与教师的交互。
以为使用这个系统,教师可以很容易的看到自己的学生,并录入成绩,可以接受或拒绝学生选课。
学生也可以很容易找到自己教师的信息,以便及时与学生联系,这就加强了学生与教师之间的交流,有利于学习进步。
第2章系统简介
2.1系统的开发环境
操作系统:
Windowsxp
DBMS:
SQLServer2000
服务器:
tomcat5.5版本
2.2运行环境
服务器:
pentium41.7GHZ以上,512M内存,windowsxp或2000系统
客户机:
pentium41.7GHA以上,256M内存,windowsxp或2000系统
2.3开发工具简介
2.3.1JAVA、JSP及Struts
JAVA是最近几年流行起来的编程语言,由于它具有很多优点,比如平台独立,安全稳定,动态下载,实时互动等,被迅速推广,为很多程序员所接受,学习的人越来越多。
随着服务器端的应用日益受到重视,大家发现JAVA在服务器端的应用的优异特性,时至今日,除微软外,近乎所有的服务器都用JAVA作为标准。
JAVA作为软件开发的一种革命性的技术,其地位已经确定下来[1]。
JSP是以JAVA为基础的一种网页技术。
它继承了JAVA的优势,是一种与平台无关的动态网页开发技术,它在HTML网页中调用JavaBean。
在逻辑关系比较复杂的大型站点中,可以借助Servlet和JSP的交互关系及JavaBean的协助,将这两个结构分开开实现[2]。
当服务器遇到JSP网页请求时,通过这些JavaBean访问数据库,然后将需要的结果再发送到HTML上,让用户看到自己需要的结果。
由于本国的IT行业发展很快,ASP技术已经不能满足社会需求。
还有网站技术的迅速发展,其技术从ASP开始转到JSP技术,这个时候可以处理一定的业务逻辑。
但是在JSP中,其层次很混淆,即使使用JSP处理浏览器的请求,再调用JavaBean代码去处理业务逻辑,仍然摆脱不了页面中夹杂着JAVA代码的命运,而且JSP很难把视图层,控制层和业务逻辑层真正的分开。
如果让其他的人去维护和修改这些代码,那将是非常头疼的事情。
然而Struts的出现却改变了这种情况,它能把这三个层次彻底的分开,其中提供很多技术,比如其封装了Servlet去控制页面的流程,提供很多的标签库方便程序员调用,还有就是它提供了用于国际化的框架,可以根据不同的配置文件等[3]。
由于其适合中大型企业,具有很大的使用价值,被迅速推广,并不断得到升级。
2.3.2SQLServer2000数据库
SQLServer2000数据库是一种关系型数据库。
这种关系型数据库有很多优点,我们能将有相向属性的对象对立的存储在表中。
对每个表来说,我们可以新增,删除,修改表中的任何数据而不会影响表中的其他数据。
第3章系统分析
3.1可行性分析
本系统应能体现出信息化建设,方便学校的管理和使用,同时在费用上可以节约开支。
可以从四个方面对系统进行可行性分析:
1)技术可行性:
本人学习JAVA已有2年时间,在大学的几年中,本人先后学习过JAVA,JSP,Struts等,并经常写一些小代码。
对这几种语言比较熟悉,可以熟练应用。
一些常遇到的错误也能自己解决。
经过调查和研究,对于教学系统的流程本人也有较深刻的理解,能够较快的进行系统分析和设计,并用程序实现。
2)经济可行性:
由于JAVA的很多资料和插件都是开员源的,可以免费在网上下载到,比如Tomcat是免费的、开源的WEB服务器,支持运行Servlet/JSP的WEB容器[4]。
另外本系统运用SQLServer2000数据库。
它们具有强大的可以跨平台的特点,部署和运行的费用几乎为零,可以实行。
3)运行可行性:
由于以前的学校网络很多都采用的ASP技术,这种技术已经不能满足社会的需求,而JAVA有很多优点,符合当前的应用条件,是当前主要的WEB编写语言。
4)社会可行性:
在现在的社会中,很多软件都是使用传统的技术。
而使用传统的JSP来生成HTML页面,业务逻辑和显示逻辑混淆在一起,代码维护量大,开发效率低[5]。
.而以前的代码没有或很少使用MVC结构,对其升级和维护有很大的麻烦,很多学校都在考虑采用新的技术来代替以前的技术。
3.2性能分析
“教学管理系统”是专门针对学校,方便学校管理设计的。
该软件对学生部分,教师部分,课程部分,选课部分,管理员部分分别进行了设置。
功能强大:
该软件以学校为应用对象,结合当前和未来发展的管理需求提供实用的管理模式,提高学校的管理效率。
用户界面操作简洁:
考虑到管理人员可能计算机知识较少,本系统采用业务人员熟悉的业务流程、简单的提示和操作方式,能够让不熟悉此软件的管理人员也能快速使用这个软件去完成自己需要做的工作。
系统性能稳定:
本系统遵守规范软件工程管理,采用面向对象技术,用SQLServer作为后台数据库,在技术上和应用上保证了系统的稳定性
通过使用教学管理系统,能够减轻教务人员负担,减少学校的开支,促进学生与教师以及学生之间的交流,达到提高管理效率的目的。
3.3业务流程分析
为了让用户更加了解这个软件是如何运行的,本人在这里简要介绍一下业务流程。
什么叫业务流程呢?
简单的说不论做什么事情,都有一个过程,把这个过程的主要步骤记下来,就是业务流程。
在现实生活中,很多流程是不能也很难清楚的说出来,但是如果用图表来表示就容易了,下面我们就用图表来说明:
我们先来看学生的业务流程,如图3.1:
图3.1学生业务流程
接着,我们来看教师的业务流程,如图3.2:
图3.2教师业务流程
最后,我们来看下管理员的业务流程,如图3.3:
图3.3管理员业务流程
第4章系统设计
4.1系统结构设计
“教学管理系统”主要有三个部分组成,它们是管理员模块,教师模块和学生模块。
其中每个模块又包含若干小的功能。
4.1.1学生模块
在学生模块中包括很多子功能,学生可以根据自己的用户名和密码登录,然后操作其中的板块部分。
比如学生登录、个人信息维护、按课程名查询成绩、本学期成绩查询、不及格成绩查询、选课和教师信息查询,这几个功能之间的关系可以用图4.1来表示:
图4.1学生部分的子模块
4.1.2教师模块
在教师模块中包括很多子功能,教师可以根据自己的用户名和密码登录,然后进行相关的操作。
比如个人信息维护、查看哪些学生申请选修自己的课程、拒绝学生选课、同意学生选课和录入分数。
这几个功能之间的关系可以用图4.2来表示:
图4.2教师部分的子模块
4.1.3管理员模块
在管理员模块中包括很多子功能,管理员可以根据自己的用户名和密码登录,然后进行一系列操作。
比如添加课程信息,修改课程信息,添加学生信息,修改学生信息,添加教师信息,修改教师信息等。
它们之间的关系也可以用下图4.3的关系来表示:
图4.3管理员部分的子模块
当然,学生模块、教师模块、课程模块和管理员模块都属于教学管理系统,它们之间也存在一定的关系,这个关系也可以用下面的图4.4表示
图4.4管理员和各模块的关系
本系统的程序流程图如图4.5:
图4.5本系统程序流程图
4.2数据库设计
数据库模块是这个系统的最重要的模块,所有的JSP页面的编写都离不开数据库,以为所有的数据的存储和取出都是与数据库进行交互的。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效的存储数据,满足各种用户的应用要求[6]。
数据库的设计方法有很多,主要为新奥而良方法,基于E-R模型的设计方法和3NF的设计方法。
由于学校数据处理的数据比较多,考虑到实用及费用问题,本系统采用SQLServer作为数据库。
另外本系统采用面向对象的技术和模块化的方法,把每个对象作为一个单独的类封装起来,使它与外部分开,当以为维护或升级代码需要改动代码时,更加容易修改。
所谓模块化技术是指把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成来构成一个整体,可以完成指定的功能,满足用户的要求[7]。
经分析,这个系统中的实体有课程、学生、教师和管理员。
其中学生的属性有姓名学号、密码、性别、年龄和电话。
教师的属性有教师号、姓名、密码、性别、年龄、职称、电话和邮箱。
课程的属性有课程号、课程名、教师号和备注。
管理员的属性有职工号、姓名、密码、性别、年龄和电话。
其中学生与教师是多对多的关系,学生与课程是多对多的关系,管理员与教师为多对多关系,管理员与学生为多对多关系,管理员与课程为多对多关系,这些关系可以用E-R图表示出来,如图4.6。
图4.6E-R图
本系统数据库中共有6张表,它们分别是:
管理员表manager;学生表student;教师表teacher;课程表course;选课表choosecourse;中间表middle。
下面本人们将列出具体的表及其表结构:
表4.1管理员表(manager)
字段名
类型
长度
关键字
备注
id
varvhar
50
是
管理员职工号
name
varvhar
50
否
管理员姓名
password
varvhar
50
否
管理员密码
sex
varvhar
50
否
性别
age
varvhar
50
否
年龄
tel
varvhar
50
否
电话
表4.2学生表(student)
字段名
类型
长度
关键字
备注
stuid
varvhar
50
是
学号
stuname
varvhar
50
否
学生姓名
password
varvhar
50
否
学生密码
sex
varvhar
50
否
性别
age
varvhar
50
否
年龄
classname
varvhar
50
否
班级
tel
varvhar
50
否
电话
表4.3教师表(teacher)
字段名
类型
长度
关键字
备注
teaid
varvhar
50
是
教师职工号
teaname
varvhar
50
否
教师姓名
password
varvhar
50
否
教师密码
sex
varvhar
50
否
性别
age
varchar
50
否
年龄
job
varvhar
50
否
职称
tel
varvhar
50
否
电话
varchar
50
否
邮箱
表4.4课程表(course)
字段名
类型
长度
关键字
备注
couid
varvhar
50
是
课程号
couname
varvhar
50
否
课程名
teaid
varvhar
50
否
教师号
shuoming
varvhar
50
否
备注
表4.5选课表(choosecourse)
字段名
类型
长度
关键字
备注
stuname
varvhar
50
是
学生名
couname
varvhar
50
是
课程名
teaid
varvhar
50
否
教师号
item
varvhar
50
否
学期
表4.6中间表(middle)
字段名
类型
长度
关键字
备注
stuname
varvhar
50
是
学生号
couname
varvhar
50
是
课程名
markk
varvhar
50
否
标志
teaid
varvhar
50
否
教师号
第5章系统实现
本系统主要有三个模块,分别是学生模块,教师模块和管理员模块。
但每个模块中又分很多小的子功能,下面是这些模块的实现方法。
当用户打开网页时,先进入主页面:
学生,教师和管理员可以从这里进入各自的登录界面,其截图为图5.1:
图5.1主页面
5.1学生模块
5.1.1学生登录
学生登录录界面如图5.2:
图5.2学生登录页面
当学生输入用户名和密码并登录时,它会根据用户名去数据库中查找相应的密码,并与学生输入的密码比较。
如果相同则登录成功,否则登录失败。
其中在数据库中搜寻密码的主要代码为:
StringstrMySql="select*fromstudentwherestuname='"+name+"'";
验证从页面取得密码是否与从数据库中取得的密码是否相同时的主要代码为:
if(password.equals(studentdao.getPassword(name)))
session.setAttribute("studentlogin",name)
当学生输入的姓名和密码都正确后,可以跳到学生功能选择页面,其界面如图5.3:
图5.3学生功能选择页面
可以看出,学生功能选择页面中也分几个部分,每个部分还可细分。
5.1.2学生查询成绩
1.当学生把鼠标放在成绩查询上时,会有好几个选项,当点击按课程名查询,会跳到另一页面,其界面为图5.4:
图5.4按课程名查询页面
当学生输入课程名时,会显示出课程名和分数,其界面如图5.5:
图5.5本学期成绩查询结果页面
这个功能的主要实现代码为:
StringstrMySql="select*fromchooosecoursewherestuname='"+stuname+"'and'"+couname+"'";
2.当学生把鼠标放在成绩查询上时,会有好几个选项,当点击不及格成绩查询时,会跳到另一个页面,并查出所有不及格成绩,并列出来,其界面为图5.6:
图5.6不及格成绩查询结果页面
这个功能的主要实现代码为:
StringstrMySql="select*fromchoosecoursewherestuname='"+name+"'andmark<60";
3.当学生把鼠标放在本学期成绩查询上时,会跳到另一个页面,并查出本学期所有成绩,并列出来,其界面为图5.7:
图5.7本学期成绩查询结果页面
这个功能的主要实现代码为:
StringstrMySql="select*fromchoosecoursewherestuname='"+name+"'anditem='"+itemm+"'";
5.1.3个人信息维护
当学生把鼠标放在个人信息维护模块上时,会跳到另一个页面,并列出自己的所有信息,但并不是所有的信息都能够修改,只能修改自己的密码和联系方式,其界面为图5.8:
图5.8:
修改个人信息页面
其主要实现代码分为2步,先找到这个学生的信息:
StringstrMySql="select*fromstudentwherestuname='"+name,+"'";
然后在修改自己的信息:
Stringsql="updatestudentsetstuid='"+stuid+"',stuname='"+stuname+"',password='"+password+"',sex='"+sex+"',age='"+age+"',classname='"+classname+"',tel='"+tel+"'wherestuid='"+stuid+"'";
5.1.4课程信息
1.当学生点击课程信息时,也会出现很多选项,可以分别选着。
当点击选课时,会跳到选课页面,当学生输入课程号并提交时,即可选课。
其界面为图5.9:
图5.9选课界面
其主要代码也分为2步实现,先找到选修课程及带课教师的信息:
StringstrMySql="select*fromstudents,choosecoursecc,coursec,teachertwheres.stuname=cc.stunameandcc.couname=c.counameandc.teaid=t.teaidandc.shuoming='"+item+"'";
然后再进行选课,其主要的实现代码为:
Stringsql="insertintomiddlevalues('"+stuname+"','"+couname+"','"+markk+"','"+teaid+"')";
2.当学生点击选课结果查询时,可以看到自己申请选课是否选上。
其界面为图5.10:
图5.10选课结果页面
其主要实现代码为:
StringstrMySql="select*frommiddlewherestuname='"+name+"'"
3.当学生点击教师信息查询模块时,可以看到教师信息,包括各种联系方式,但是教师的其他信息是不允许学生看到的,所以查不到。
其界面为图5.11:
图5.11教师信息查询页面
当学生需要查询自己教师的信息并联系教师时,可以使用这个功能。
其主要代码为:
StringstrMySql="select*fromstudents,choosecoursecc,coursec,teachertwheres.stuname=cc.stunameandcc.couname=c.counameandc.teaid=t.teaidands.stuname='"+stuname+"'"
5.2教师模块
5.2.1教师登录
用户进入教师登录页面时,可以从这里登录,其界面为图5.12:
图5.12教师登录页面
当教师输入用户名和密码并登录时,它会根据用户名去数据中查找相应的密码,并与教师输入的密码比较。
如果相同则登录成功,否则登录失败。
其中在数据库中搜寻密码的主要代码为:
StringstrMySql="select*fromteacherwhereteaname='"+name+"'";
当用户从教师界面登录时,可以进入教师功能选择页,其主页面如图5.13所示:
图5.13教师功能选择页面
5.2.2个人信息维护
当教师从个人信息维护进入时,可以修改自己的个人信息,其界面为图5.14:
图5.14修改个人信息页面
当教
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 教学管理 系统