基于bs模型的学生作业管理系统学生模块.docx
《基于bs模型的学生作业管理系统学生模块.docx》由会员分享,可在线阅读,更多相关《基于bs模型的学生作业管理系统学生模块.docx(29页珍藏版)》请在冰豆网上搜索。
基于bs模型的学生作业管理系统学生模块
河北农业大学
本科毕业论文(设计)
题目:
基于B/S模型的学生作业管理系统—学生模块
摘要
通过对网络的了解,已经有不少高等学校推出了自己的作业上传系统,学生根据老师的安排提交作业,老师对学生的作业进行批阅和管理。
大都是通过E-mail完成,作业管理比较混乱,而且存在很多缺陷。
例如:
查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。
由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式,系统就荒废了。
开发学生作业管理系统的目的是有效地解决作业管理混乱局面。
此系统是基于B/S模式运用JSP技术构建一个网上作业提交和批改系统的过程,教师可以在线布置作业和对已布置作业列表有效管理。
教师可以在线对学生作业进行批阅和下载管理,大大提高作业管理效率。
学生可以在线提交作业,查看作业状态,查看教师评语。
关键词:
学生作业管理系统,JSP技术,B/S模式。
Abstract
Throughthenetworktounderstand,therehavebeenmanyuniversitieshaveintroducedoperatinguploadsystem,studentssubmitworkaccordingtothearrangementoftheteacher,teachertostudent'smarkingjobandmanagement.Mostlybye-mail,operationmanagementischaotic,buttherearemanydefects.Forexample:
queryisnotcomprehensive,easilyleadtosysteminstability,lackofmanagement,lackofdatabase,dataupdate,andeasytolose.Duetothesedisadvantagescausedbyuserdistrustofthesystem,andwentbacktothetraditional"copy,paste"method,systemwasruined.
Thedevelopmentofstudentjobmanagementsystemisdesignedtoeffectivelysolvethejobmanagementconfusion.ThissystemisintheprocessofB/SmodeltoconstructanonlineassignmentsubmissionandcorrectionsystemusesbasedonJSPtechnology,teacherscanonlinehomeworkandhaveeffectivelayoutmanagementjoblist.Teacherscanonlinereviewsanddownloadmanagementofstudentwork,greatlyimprovetheworkingefficiencyofmanagement.Studentscansubmithomeworkonline,toviewthestatusofthejob,seetheteachercomments.
Keywords:
JSPtechnology,studentjobmanagementsystem,B/Smodel
1.绪论1
1.1课题背景1
1.2课题研究的依据和意义1
1.3国内外概况1
1.4课题的主要研究工作2
2.实现技术2
2.1基于B/S模式的开发架构2
2.2JSP技术3
2.3过滤器3
2.4MVC设计模式4
2.5MyEclipse企业级工作平台4
2.6MySQL数据库4
3.需求分析4
3.1系统的总体需求5
3.2学生模块客户端实现的功能5
3.3性能需求分析6
4.系统设计与实现6
4.1学生模块分析6
4.1.1学生登录及修改个人资料6
4.1.2学生功能需求7
4.2数据库设计7
4.3系统实现9
4.3.1整个系统结构9
4.3.2详细设计9
5.总结16
参考文献17
致谢17
1.绪论
飞速发展的信息技术改变着人们的思维方式和学习方式,在这样的背景下,教育也越来越走向网络化、虚拟化、国际化、个性化,人们开始非线性学习,开始在虚拟社区中求生存,在这种信息化环境下,教师的教学方式、学生的学习方式都会发生革命性的变革,计算机辅助教学、网络教学等信息技术与课程整合的方式在学校教学中获得越来越广泛的应用。
1.1课题背景
互联网的广泛应用也深深影响了教育教学领域,远程教育平台已经慢慢走入人们的生活,但当今的教育模式还是以传统教育模式为主,教室广泛使用多媒体教程。
现在的作业提交和批改还是传统模式,教师布置下作业,学生做在作业本上,然后再交给老师,教师批改以后发还给学生,步骤繁琐,效率低。
网络化教育提供了教育改革的一个新的发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。
通过Internet/Intranet来实现网上作业提交,是现代教育的一个具体实现,具有很重要的现实意义。
学生作业管理系统可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。
1.2课题研究的依据和意义
随着互联网迅速发展,人们在任何时间任何地点都可以轻松获取所需要的信息,同时互联网的发展极大推动了教育事业的发展,特别是JSP技术,它具有极强的扩展能力和良好的伸缩性,将动态页面与静态页面良好分离,并提供了良好的数据库访问能力,大大提高了互联网的应用范围,互联网的广泛应用也深深影响教育教学领域。
本文所介绍的基于B/S模型的学生作业管理系统是基于开放的JSP应用技术开发设计的,其主要特性是能动态、实时的完成学生作业的提交与批改,且具有高效的交互性,更有效的处理客户请求,易于维护和更新。
1.3国内外概况
自上世纪90年代,在线作业系统在国外迅速的发展,出现了较多综合的,跨学科的在线作业系统。
例如:
美国北卡罗来纳州州立大学物理系开发的WebAssign,自1997年建成至今,已有250所大学和学院,150所gaoz使用WebAssign,2002年至2003年,每学期有超过90,000的学生登录WebAssign,有超过9百万份的提交作业。
2001年,教育部颁布的《基础教育课程改革纲要(试行)》指出:
“要大力推进信息技术在教学过程中的普遍应用,促进信息技术与学科课程的整合,逐步实现教学内容的呈现方式、学生的学习方式、教师的教学方式和师生互动方式的变革,充分发挥信息技术的优势,为学生的学习和发展提供丰富多彩的教育环境和有力的学习工具。
近年来,我国基于网络的在线作业系统的发展也非常迅速,如下所示:
表1.1在线作业管理系统发展史
主要体现形式
主要优点
主要不足
第一阶段
E-mail或Ftp
比以往的邮寄形式快捷、方便。
教师评价作业工作量比较大、归类整理比较麻烦,师生间交互比较差。
第二阶段
基于某门网络课程的在线作业管理系统
专门的提交功能与评价功能能使师生的评价、提交作业活动更直观,并提高了交互水平。
教师需要自己或请专业人士专门开发系统,加大教师负担,在线作业管理系统的通用性被忽略,容易造成重复开发和资源浪费。
第三阶段
较通用的、支持多学科的在线作业管理系统
提高多学科的通用性,功能比较强大,提高了教学交互、减轻了教师负担。
目前在我国的发展虽然有此趋势,但并不成熟、实际使用效果有限。
现阶段,我国的大多数在线作业系统还是停留在第二阶段,一般都以作业模块的形式嵌在网络教学平台中,大都具有教师统计成绩、学生上查看成绩等功能。
通过对比国内外的在线作业管理系统可以看出,国外设计的系统比较成熟,而且国内还处于探索阶段,特别是在线作业系统的通用性、功能及完善的评价体系方面,需要进一步的改善和提高。
目前,湖南工程学院享受到网络互动教学的便利,学生下课后能在网上获得教学课件、视频音频教学辅助材料,使用数字图书馆系统,交作业和老师批改作业,都能直接在网上完成。
1.4课题的主要研究工作
本设计实现一个基于B/S模型的学生作业管理系统—学生模块,完成学生的登录,作业的浏览、下载与上传。
本软件利用了JSP技术、多线程技术,采用B/S架构构建,B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件即可。
但是服务器将担负更多的工作,对数据库的访问和应用程序的执行都将在服务器上完成。
即当浏览器发出请求后,其数据请求、加工、返回结果以及动态网页生成等工作全部由Web服务器完成。
2.实现技术
2.1基于B/S模式的开发架构
B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的结构。
B/S模式主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、javascript、…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。
与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。
在现代的开发平台中已经大量的使用了B/S开发模式,不管是使用何种动态Web实现手段,其操作形式都是一样的,核心操作的大部分都是围绕着数据库进行的。
但是如果直接使用编程语言进行数据库的开发则程序员要处理许多诸如事务、安全等操作,所以现在的开发往往都会通过中间件进行过渡,即程序运行在中间件上,并且通过中间件进行数据库的操作,而具体一些相关的处理,如事务、安全等完全由中间件负责,这样程序员只需要负责具体功能的开发即可,此种模式如图2.1所示。
开发平台
中间件
数据库
操作系统
JavaEE
Tomcat
Windows
图2.1B/S模式开发架构
2.2JSP技术
JSP是JavaServerPages的缩写,是由Sun公司倡导、众多业界领先的公司参与制定的一种动态交互式网页技术标准,它为创建动态内容的Web页面提供了简单便捷的实现方法。
JSP一经问世便得到了广大网站建设者的喜爱与追捧,很快在网站开发与设计领域普及开来。
Sun公司推出的这种新型的网络开发语言之所以会在交互网页上具有无可比拟的优势,是因为它具有以下几个方面的特点:
1、JSP的语法基本上和Java是相同的,有Java基础的读者可以很方便的使用JSP,没有Java语言基础的读者也一样可以成为JSP编程的高手。
2、JSP直接内嵌在HTML中,非常简单易用,大大降低了程序设计开发的难度。
3、JSP程序中可以直接嵌入Java代码,也可以直接运用Java所提供的各类包,这样就大大加强了JSP程序本身的功能。
4、JSP程序在被请求执行时,服务器端相关软件产生Servlet的执行文件,存储于服务器内存中,并将结果返回到客户端,JDBC提供了与数据库产品无关的数据库连接方式,因此JSP程序与客户端系统无关,可以非常方便地跨平台使用。
2.3过滤器
Filter是在Servlet2.3之后增加的新功能,当需要限制用户访问某些资源或者在处理请求时提前处理某些资源时,即可使用过滤器完成。
过滤器是以一种组建形式绑定到Web应用程序当中的,与其他Web应用程序组件不同的是,过滤器是采用“链”的方式进行处理的。
如图2.2所示。
图2.2过滤器的操作原理
2.4MVC设计模式
MVC设计模式都是以Servlet为主题展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP完成。
它强制性地使应用程序的输入、处理和输出分开。
MVC设计模式被分为3个核心层,即模型层、显示层和控制层。
它们各自处理自己的任务,各层的任务如下。
1、显示层(View):
主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。
2、控制层(Controller):
主要负责所有的用户请求参数,判断请求是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示。
3、模型层(Model):
完成一个独立的业务操作组件,一般都是以JavaBean的形式进行定义的。
2.5MyEclipse企业级工作平台
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其支持各种开源产品。
在MyEclipse中支持Ajax、HTML、JSP、EJB、Servlet等开发,同时也支持Tomcat、JBoss等服务器的快速配置。
2.6MySQL数据库
MySQL由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一个关联型数据库管理系统,关联数据库将数据保存在不同的表中而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
目前MySQL被广泛地应用在Internet上的中小型网站中,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站的数据库。
MySQL是一种自由软件,非常适合中小企业和个人应用的需求。
它是一个基于client/server体系结构真正的多用户,多线程的SQL数据库服务器端软件。
3.需求分析
3.1系统的总体需求
本系统的最终用户只有管理员、教师和学生。
不同的人根据选择自己的角色通过账号和密码进行登录验证进入系统,执行相应的功能,如果是首次登录系统可以进行注册。
管理员主要对学生和教师进行管理。
教师主要作业管理、课程管理,作业管理包括发布作业,批阅作业。
教师对学生作业可以在线下载单个学生作业然后对其评分。
对已批阅的学生作业则显示已批阅。
学生可以查看自己所选课程的作业,通过上传提交自己的作业。
查看作业时,系统自动显示没交作业、已经评阅的作业以及为查看的作业,同时学生可以自己选修课程。
如图3.1所示。
图3.1系统的功能模块
3.2学生模块客户端实现的功能
1.学生登录
在客户端,学生输入其用户名和密码,然后点击登陆按钮,建立与服务器的连接。
通过LoginAction验证登录信息,如果账号或密码错误,则提示账号或密码错误。
2.学生注册
如果是首次登录,需要注册才能进入系统。
点击学生注册跳到注册页面,填好信息点击注册,建立与服务器的连接,通过RegAction验证该学生信息是否存在,若存在会出现提示信息。
如果没有并且注册成功会有注册成功提示信息。
3.学生信息管理
学生成功登录系统后,可以对自己的信息进行查看和修改。
修改信息只能修改电话和邮箱。
4.学生作业管理
学生作业管理是整个系统的核心。
点击学生作业管理,查看学生所选修课程的作业,作业的状态分为四种情况:
(1)交作业:
只要作业没超过提交时间并且没有被老师评阅就可以交作业,如果不是第一次交作业会把之前的作业覆盖。
交作业是通过上传文件到Uupload文件下实现的。
(2)已过期:
学生未在规定的时间内交作业。
(3)未查看:
学生在规定的时间内已提交作业,正在等待教师查阅。
(4)教师已经对学生的作业进行查看。
5.密码修改
学生通过自己的账号、密码、角色、以及旧密码可以修改自己的密码,通过edit_Pass对自己的信息进行验证,信息正确才能修改自己的密码。
3.3性能需求分析
(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,使程序具有较高的容错性能。
(2)宜操作性,程序简单易懂,容易上手使用。
设计界面是简化界面,模拟学校网站设计规划。
(3)安全性能,设置了过滤器,只能通过登陆成功才能进入系统。
直接在地址栏输入页面网址,都不能进入而是跳到登陆界面。
(4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
4.系统设计与实现
4.1学生模块分析
4.1.1学生登录及修改个人资料
登录页面是整个系统的入口,应当做好安全防范,防止没有经过登录验证而访问此系统。
学生登录系统后,可以修改个人的相关资料及密码。
表4.1学生登录及修改个人信息功能需求
功能编号
功能名称
功能描述
1
登录功能
验证帐号和密码是否匹配,并给出相应的提示信息
2
修改个人资料
修改一些基本资料。
3
更改密码
需先验证原密码,如正确方可将更改密码。
4.1.2学生功能需求
学生登录系统后,拥有选课管理和作业管理(查看自己作业情况、交作业以及查看老师反馈。
)。
表4.2学生功能需求
功能编号
功能名称
功能描述
1
选课管理
查看该学生可以选择的所有课程,进行选择。
2
作业管理
1.查看自己作业所处的状态。
2.交作业3.查看老师批阅作业的反馈
4.2数据库设计
利用MySQL创建数据库sjms,其中学生模块设计主要有5个表。
(1)学生信息表sjms_students,目的用于验证学生的身份,其字段如表4.3。
表4.3学生信息表(sjms_students)
列名
值类型
是否可为空
默认值
说明
studentID
varchar(20)
否
学生ID(主键)
name
varchar(20)
否
姓名
pwd
varchar(20)
否
密码
sex
varchar(10)
否
性别
subject
varchar(50)
否
专业
college
varchar(20)
否
院系
phone
varchar(20)
是
电话
email
varchar(50)
是
邮箱
role
varchar(10)
否
角色
(2)学生选课表sjms_stucourse,目的用来存放学生选课信息,其字段如表4.4。
表4.4学生选课表(sjms_stucourse)
列名
值类型
是否可为空
默认值
说明
studentID
varchar(20)
否
学生ID(主键)
courseID
varchar(20)
否
课程ID(主键)
(3)课程表sjms_course,目的用来存放课程信息,其字段如表4.5。
表4.5课程表(sjms_course)
列名
值类型
是否可为空
默认值
说明
courseID
int(3)
否
课程ID(主键)
coursename
varchar(20)
否
课程名
teacherID
varchar(20)
否
教师ID
remarks
varchar(20)
否
备注
(4)学生作业表sjms_stuhomework,目的用来存放学生提交信息,其字段如表4.6。
表4.6学生作业表(sjms_stuhomework)
列名
值类型
是否可为空
默认值
说明
studentID
varchar(20)
否
学生ID(主键)
CourseID
int(3)
否
课程号(主键)
Time
int(3)
否
作业次数(主键)
Content
varchar(50)
否
作业内容
Score
varchar(20)
否
“未评分”
评分
comment
varchar(20)
否
“未评论”
评论
(5)作业表sjms_homework,目的用来存放作业信息,其字段如表4.7。
表4.7作业表(sjms_homework)
列名
值类型
是否可为空
默认值
说明
Time
int(3)
否
作业次数(主键)
CourseID
int(3)
否
课程号
name
varchar(20)
否
作业名
content
varchar(30)
否
作业题目内容
remarks
varchar(20)
否
备注
closetime
varchar(20)
否
作业截止时间
publishtime
varchar(20)
否
作业发布时间
4.3系统实现
4.3.1整个系统结构
图4.1系统结构图
4.3.2详细设计
4.3.2.1用户登录
登录页的用户类型有管理员、教师和学生,默认显示是教师。
此页是进入系统的唯一入口,未经登录的用户一律不准访问其它页面。
实现此功能主要有两方面实现:
(1)对输入用户进行身份验证:
通过对角色,账号,密码,查找数据库是否已经存在该用户,如果数据库中存在该用户会跳到指定页面。
若不存在,会出现提示信息,不能进入该系统,只能重新注册。
实现该功能的类是com.edu.sjms.web.action.LoginAction。
(2)在地址栏输入地址,只能跳到登录界面,实现此功能使用过滤器。
图4.2登陆界面
4.3.2.2学生注册页面
学生注册,首次登入系统的学生需要注册才能登入系统,注册时需要判断该学生是否已经存在,若存在会出现提示信息不能再次注册。
图4.3学生注册界面
4.3.2.3学生信息管理界面
学生信息管理主要是学生对自己的信息进行修改,其中学生能够自己修改的信息有手机号码,和邮箱,其他信息不能自己修改。
图4.4学生信息管理界面
4.3.2.3学生作业管理页面
学生作业管理,学生作业分为四种状态:
(1)交作业:
只要作业没超过提交时间并且没有被老师评阅就可以交作业,如果不是第一次交作业会把之前的作业覆盖。
交作业是通过上传文件到Uupload文件下实现的。
(2)已过期:
学生未在规定的时间内交作业。
(3)未查看:
学生在规定的时间内已提交作业,正在等待教师查阅。
(4)已评分:
教师已经对学生的作业进行查看。
图4.5学生作业管理界面
判断作业状态代码:
<%Stringid=request.getParameter("id");
try{
ArrayListlist=null;//Jiao_hk学生作业上交实体
list=(ArrayList)DbOperaterFactory.