基于Web的学生作业管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文题目:基于Web的学生作业管理系统
摘要:近些年来互联网迅速发展,它使的不同地点的人们在任何时间都可以获得自己需要的信息。
同时国际互联网的出现极大地推动了教育的发展。
特别是ASP技术,以其交互性、动态性的特点,大大扩展了互联网的应用范围,也深刻地影响了教育教学领域。
本文阐述了如何运用ASP技术构建一个网上作业提交和批改系统的过程,以期改变过去传统的学生递交作业,老师批改作业的方式,让学生递交作业更加灵活,同时减轻老师的工作量。
繁重本系统主要应用DREAMWEA VER MX开发完成。
Abstract:Recently with the development of INTERNET, people in different place are able to obtain the information which they need at any time. Simultaneously the appearance of INTERNET pushes the development of education forward greatly. Especially the rapidly development of ASP technology expand the applied rage of the INTERNET, and also influenced the educational field deeply, because of the characteristic of the mutuality and dynamics. This article explains the procedure for making use of the ASP technology to build the Assignment Delivery And Correction System. This system can transform the ways students delivering and teachers correcting homework, make the students delivering it with good flexibility and free the teachers from the onerous work.
This system mainly develop by DREAMWEA VER MX
关键词:ASP技术;VBScrip;JavaScrip;教育
Keywords:ASP technology;VBScript;JavaScript;Education
目录
引言
这次我的课题是:基于Web的学生作业管理系统,指导老师是王维亭教授。
因特网(Internet)从诞生距今也不过短短的二、三十年的时间,而在世界各地蔓延开来,更是近十年的事情。
从开始的简单的电子公告牌的发布,到后来用HTML语言所编写的静态网页,再到如今应用ASP服务器端的组件ActiveX Data Object(ADO)访问数据库实现了用户和网站之间的交互试操作,从而为Internet的进一步发展注入了最强有力的动力,同时也使其应用范围大大扩大,很难想象没有数据库支持的BBS,电子商务能如何运行。
以计算机和现代网络技术为特征的现代信息技术极大地促进了社会经济的发展,也引发了一场知识和信息的革命。
现行的教育方式和方法面临着前所未有的挑战。
基于Web的网络作业提交管理系统作为一种新的教学形式具有非常重要的意义和广阔的发展前景。
目前,ASP在满足人们日常生活同时,人们也越来越注意到它在教育教学中的运用。
过去常常有这样的情况,大学中的老师除了有繁重的教学负担以外,往往还有许多科研任务。
教学中难免要布置作业来检测学生的掌握情况,但收作业和批改作业常常成了头疼的事。
规定了交作业的时间,学生却由于疏忽忘带作业本,老师批改完后还要将作业成绩写到成绩簿上,这样费时费力。
因此建立一个基于ASP的交互式作业提交系统和批改系统成为了必须。
同过该系统能实现学生对作业的提交和对以往作业的成绩查询,老师对作业的上传和对学生提交作业数据库的下载批阅及在批阅后的数据库的上传工作。
第一章系统分析与设计
1.1系统目标
现在的一个作业提交批改体系大致使,老师上课布置,学生回家完成,在交给学生代表,通过学生代表交给老师,老师批改好在通过学生代表发给同学等一系列步骤。
在这一体系中浪费了大量的人力和物力,而且还不能很好的在老师和同学之间建立一个桥梁的关系,学生的问题不能很好的反应到老师那里,老又不能很直观的了解学生的情况,对同学在作业中犯的错误也不能立即的纠正。
该系统的目标是要实现一个基于Web的作业提交管理系统,它利用计算机网络高效快捷的特点,使老师和学生可以直接通过网络进行作业的提交和管理,配合课堂教学,更高效、更便捷、更直观的使学生了解自己在学习中那里还有不足,老师可以立即对学生指出学习当中的错误,学生也可以马上了解老师对自己的纠正。
1.2系统功能
系统所具有的功能包括:用户的注册、用户的登录、作业的布置、作业的上传、作业的批改、以及帮助页面和管理员控制功能。
1.3系统用户
系统用户大致分为三类即:管理员、老师、学生。
其中管理员权限最高,学生权限最低。
1.4系统数据流程
学生可以通过系统,在任何一个连接这internet 网的客户终端上,连接作业提交系统,输入密码得到确认后,允许进入,学生就可以将自己的作业通过系统提交到数据库,然后老师也通过客户机,输入密码得到教师权限,可以直接看到学生的作业提交情况,直接可以批改学生提交的作业,然后指出那里还有需要修改的地方
,接着有需要的话还可以接着布置下一次的作业。
同时学生也可以看见老师对自己的纠正而且立即改正,也可以看到老师布置的下次的作业,这样同时节省了大量的人力物力,同时也提高了效率,可以更方便快捷的在同学和老师之间建立一个桥梁的关系,使老师更了解学生的学习情况,使学生更好的掌握知识,不会再因为某些客观因素被耽搁。
1.5学生页面功能
学生页面我设计了9个页面,分别是:
1.学生注册页面:新的学生可以通过它来注册成为用户。
2.学生登录页面:通过同学自己注册的学好和密码登录系统。
3.欢迎页面:可以在上面写一点公告的或者欢迎的话,可以给大家一个亲切的感觉。
4.作业管理页面:就是同学可以通过这个页面了解,老师布置作业的情况和自己提交作业的
学生
老师
情况,具体布置的时间和最后提交的时间,都要在页面里显示。
5.作业提交页面:顾名思义,就是同学做完作业通过这个页面提交到数据库。
6.成绩查询页面:也是一样的通过这个页面,可以了解老师是否对自己的作业进行了批改,批改后成绩怎么样,那里还有错误,都可以从这个页面了解。
7.密码修改页面:就是如果同学觉得自己的密码已经泄漏或者是已经不安全了,可以通过这个页面来修改自己的密码,当然你要知道自己的老密码这样可以防止别人来修改你的密码。
8.还有资料修改页面:这个页面具体负责,修改在注册是填写的个人资料,因为有的同学可能在填写时候粗心大意,那里写错了就可以通过这个页面来修改。
9.最后是是退出页面:这个也顾名思义,就是用户安全的退出系统。
以上9个页面就是我大致的设计,当然其中有的页面还包括子页面,还包括判断页面等,我将在下面的详细说明中介绍。
1.6教师页面功能
教师页面我大致设计了10个页面分别是:
1.教师登录页面:具体负责教师的登录,通过老师自己设定的密码,可以进入教师管理系统。
2.教师注册页面:具体负责新老师用户的建立,通过填写详细资料经过管理员的核实,在通过。
3.欢迎页面:具体也是写点欢迎的话语,让老师感到温馨的感觉。
4.作业管理页面:就是具体查看布置作业的情况,基本包括作业名称、布置时间、最后提交时间和注备。
5.作业布置页面:老师可以通过这个页面,向同学布置下一次的作业内容还有最后的提交时间,以及一些注备等等。
6.作业批改页面:这个页面首先要看到是第几次的作业,然后点击进去可以看到每位同学提交的作业,对每位同学的作业进行批改。
7.提交查询页面:这个页面具体可以查看,同学每次作业的提交情况还有提交作业同学的学号和姓名,以及老师有没有批改过等内容。
8密码修改页面:这个页面就是如果老师觉得自己的密码已经泄漏或者是已经不安全了,可以通过这个页面来修改自己的密码,当然你要知道自己的老密码这样可以防止别人来修改你的密码。
9资料修改页面:这个页面就是对老师在注册的时候填写的资料进行修改和补充。
10.退出页面:顾名思义就是安全的退出系统。
1.7管理员页面功能
管理员页面我大致设计了8个页面分别是:
管理员登录页面:通过输入用户名和密码,登录管理员用户页面。
管理员注册页面:这个页面和学生与老师注册页面基本相同,通过详细填写资料完成注册。
但注册权限要有其他管理员开启的。
欢迎页面:这个页面基本等同与学生和老师的欢迎页面。
用户管理页面:这个页面具体负责,学生、教师、管理员的注册权限开启和关闭。
作业管理页面:这个页面也具有查看作业提交情况的功能,还具有删除作业的功能。
密码修改页面:这个页面也是通过老密码的确认,来更改新的密码。
资料修改页面:这个页面就是修改,注册是填写的详细资料。
退出页面:安全的退出系统。
1.8数据库结构
我设计了1个数据库里面计划了7张表分别是:
管理员数据库:这个表是具体负责,记录管理员用户的用户数据。
教师数据库:这个表是具体负责,记录教师用户的所有数据。
学生数据库:这个表是具体负责,记录学生用户的所有数据。
布置作业数据库:这个表是具体负责,记录教师用户每次布置作业的题目。
提交作业数据库:这个表是具体负责,记录学生用户每次提交作业的数据。
权限数据库:这个表是具体负责,记录在系统中每个用户的权限数据。
在线人数数据库:这个表是具体负责,记录当前在线人数的数据。
第二章系统详细说明
系统说明
1允许学生将作业上传至服务器,这次课未完成的作业上传至服务器,下次课时下载文件继续完成。
(未完成)
2教师可以在后台管理,。
3教师可以在网上布置作业,
4允许学生教师将作业打包下载(未完成)
本程序基于asp技术,引用了无惧无组件上传类,需要FSO,及父目录支持。
在2K pro+sp4+iis5.0测试通过。
需要将程序放在学校服务器上。
此程序目前为开源项目,建议使用IE浏览器,需使用cookie(默认开启)
教师的账号需要系统管理员添加,管理员登陆在main/control/admin_login.Asp
学生直接在点击注册及可注册。
首次使用请运行根目录下install.asp使用时将数据库改在.asp扩展名,并在main/conn.asp和main/control/conn.asp中修改
系统管理员中锁定解锁功能未完成,教师的评分功能未完成
删除教师账号将删除与该教师相关的一切内容,包括学生注册信息
可以设定上传的文件类型,但是.asp.asa.aspx系统不允许上传
若没有添加教师及教师未添加班级,学生不能进行注册
该系统目前只适用一个课程,及学生只能选择一门课程及该课程的授课教师
上面这张图是系统的登录首页,包括学生、教师、管理员都需要经过这张主页的下拉选择框,选择自己相对应的用户,登录该系统的用户页面进行操作。
2.1学生页面详细
上图是学生页面的登录页面,其中的分为两个部分:一个是系统信息包括:已有多少用户访问过该系统、现在当前在线人数、和今天的日期信息,另一个是学生登录功能框包括:学号、密码、验证码的输入,以及注册页面的连接按钮。
1.系统信息部分代码如下:
<table width="70%" border="0" cellspacing="1" cellpadding="4" id="table_01">
<tr>
<td height="27" class="white_bold_blue">系统信息</td>
</tr>
<tr>
<td>已有<%=Application("WhosOn")%>人访问过本系统</td>
</tr>
<tr>
<td>当前在线<%=application("activeUser")%>人</td>
</tr>
<tr>
<td height="27" class="white_bold_blue">info:</td>
</tr>
<tr>
<td>
<%response.write out_year & "年" & out_month & "月" & out_day & "日 " %>
</td>
</tr>
<tr>
<td>
<%response.write out_weekday %>
</td>
</tr>
</table>
其中的数据在线人数和访问过系统的人数数据是从数据库取得的,还有日期数据是从客户机的机内自动取得的。
2.学生登录功注册能框代码如下:
<form method=post action="stu_check.asp?action=login">
<table width="100%" border="0" cellpadding="4" cellspacing="1" id="table_01">
<tr>
<td height="22" colspan="5" class="white_bold_blue">学生登录</td>
</tr>
<tr>
<td width="14%">学 号:</td>
<td colspan="4"><input name="stuNO" type="text" class="input_text_01" size="20" maxlength="20"></td>
</tr>
<tr>
<td>密 码:</td>
<td colspan="4"><input name="pwd" type="password" class="input_text_01" size="21" maxlength="18"></td>
</tr>
<tr>
<td>验证码:</td>
<td colspan="4"><input name="confirm" type="text" class="input_text_01" size="14" maxlength="4">
<%
randomize
Session("confirmcode")=int((rnd)*(9999-1000+1)+1000)
%> <span class="confirmcode"><%=session("confirmcode")%></span> </td>
</tr>
<tr>
<td width="25%" align="center"><A HREF="getpassword.asp">忘记密码</A></td>
<td width="75%" align="center">
<input type="hidden" name="loginstyle" value="学生">
<input type="submit" name="login" value="登录">
<input type="submit" name="login" value="注册">
</td>
</tr>
</table>
</form>
其中学号和密码的输入后,按登录时直接和数据相判断用户是否存在,我加入了验证码功能,验证码时随机产生的是为了提高系统的安全性,防止有人故意想破解密码,还有注册按钮是
连接注册页面,但是需要判断管理员是否把注册功能打开了。
上面的页面就是注册页面:其中要求填写的包括学号、密码、确认密码、昵称、姓名、性别、班级、联系电话、e-mail、密码提示问题、密码提示答案以及注备信息,填写完成后按提交按钮直接提交到数据库中。
其中密码最少不能少于6位,名字必须用中文,班级只能在下拉列表中选择。
注册页面部分代码如下:
<body>
<form method=post action="stu_check.asp?action=register">
<table width="600" border="0" cellspacing="1" cellpadding="4" align="center"id="table_01">
<caption class="red_24pt_font">
学生注册信息表
</caption>
<tr>
<td class="white_bold_blue">用户注册:</td>
<td class="white_bold_blue">以下资料均需要填写,否则不能注册!</td>
<td class="white_bold_blue">说明</td>
</tr>
<tr>
<td>学号:</td>
<td><input name="number" type="text" class="input_text_01" id="number" size="20" maxlength="20"></td>
<td>请输入完整学号,登录时使用!</td>
</tr>
<tr>
<td>密码:</td>
<td><input name="password" type="password" class="input_text_01" id="password" size="21" maxlength="20"></td>
<td>6-18位的密码</td>
</tr>
<tr>
<td>确认密码:</td>
<td><input name="passwordq" type="password" class="input_text_01" id="passwordq" size="21" maxlength="20"></td>
<td>再输入一遍密码,以确认</td>
</tr>
<tr>
<td>昵称:</td>
<td><input name="username" type="text" class="input_text_01" id="username" size="20" maxlength="20"></td>
<td>别人对你的昵称!</td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name" type="text" class="input_text_01" id="name" size="20" maxlength="20"></td>
<td>你的真实姓名(中文)</td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="radsex" value="男" checked> 男 <input type="radio" name="radsex" value="女"> 女</td>
<td>选择你的性别</td>
</tr>
<tr>
<td>班级:</td>
<td>
<select name="class_in" type="text" class="input_text_01" id="class_in" >
<%
rs.movefirst
do while not rs.eof
%>
<option value="<%=rs("TeachClass")%>"selected><%=rs("TeachClass")%></option>
<%
rs.movenext
loop
%>
</select></td>
<td>选择你的所在班级</td>
</tr>
<tr>
<td>联系电话:</td>
<td><input name="telephone" type="text" class="input_text_01" id="telephone" size="20" maxlength="20"></td>
<td>随时能够与你联系的电话</td>
</tr>
<tr>
<td>e-mail:</td>
<td><input name="email" type="text" class="input_text_01" id="email" size="30" maxlength="50"></td>
<td>你的邮件地址,可以接收作业等</td>
</tr>
<tr>
<td>密码提示问题:</td>
<td><input name="question" type="text" class="input_text_01" id="question" size="20" maxlength="20"></td>
<td class="red_12pt_font">请慎重填写!</td>
</tr>
<tr>
<td>密码提示回答:</td>
<td><input name="answer" type="text" class="input_text_01" id="answer" size="20" maxlength="20"></td>
<td class="red_12pt_font">请慎重填写!</td>
</tr>
<tr>
<td>备注:</td>
<td><textarea name="remark" class="input_text_01" id="remark" cols="30" rows="5"></textarea></td>
<td>备注</td>
</tr>
<tr>
<td><input type="hidden" name="registerstyle" value="学生" ></td>
<td align="center"><input type="submit" name="Submit" value="提交">
<input type="reset" name="reset" value="重置"></td>
<td> </td>
</tr>
</table>
</form>
</body>
以上各各填写的选项都会保存到数据库的学生表当中。
页面基本相同。
以上就是学生作业管理页面:
它是通过数据库返回的数据显示在页面上,了解同学自己作业的提交的情况和提交的具体时
间。
以下是部分代码:
<body>
<table height="350" width="740" align="center" cellpadding="0" cellspacing="0">
<tr valign="top">
<td><table width="100%" align="center"cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" color="#0099cc" ><b>当前位置:</b></font><a href="stu_index.asp">首页</a> --> <a href="#">作业管理</a></td> </tr>
<tr>
<td><hr width="100%" size="1" color="#0099cc"></td>
</tr>
</table>
<table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01">
<tr>
<td colspan="2" class="white_bold_blue">作业管理:(作业名称)</td>
<td width="133" class="white_bold_blue">布置时间:</td>
<td width="132" class="white_bold_blue">最后提交时间:</td>
<td width="160" class="white_bold_blue">是否提交:</td>
</tr>
<%if rs.eof then%>
<tr>
<td colspan="5" align="center" class="td_red_12px">当前还没有布置好的作业!<br>请等待任课老师布置作业!</td>
</tr>
<%else%>
<%
rs.movefirst
do while not rs.eof
x=x+1
%>
<tr>
<td width="18"><%=x%></td>
<td width="130"><a href="query_homework.asp?layname=<%=rs("layname")%>"><%=rs("layname")%></a></td> <td width="130"><%=rs("laytime")%></td>
<td width="160"><%=rs("lastrefertime")%></td>
<%
stuNo=session("stuNo")
set rs1=server.createobject("adodb.connection")
set rs1=conn.execute("select * from lay_homework,refer_homework where lay_yname=refer_yname and refer_yname='"& rs("layname") &"' and stuNo='"&stuNo&"'")
if not rs1.eof then
%>
<td> 已提交</td>
<%
else
%>
<td valign="center"> <a href="refer_homework.asp?referhname=<%=rs("layname")%>">未提交</a></td> <%end if%>
</tr>
<%
rs.movenext
loop
session("c")=x
end if
%>
</table></td>
</tr>
</table>
</body>
以上页面就是作业提交页面:
在作业名称里可以选择是提交第几次的作业,在作业内容里就是填写所要提交的内容。
本页面是连接数据库的提交作业表中。
<body>
<table height="350" width="740" align="center" cellpadding="0" cellspacing="0"> <tr valign="top">
<td><table width="100%" align="center" cellpadding="0" cellspacing="0"> <tr>
<td><font size="2" color="#0099cc" ><b>当前位置:</b></font><a href="stu_index.asp">首页</a> --> <a href="#">提交作业</a></td> </tr>
<tr>
<td><hr width="100%" size="1" color="#0099cc"></td>
</tr>
</table>
<%if rs.eof then%>
<table width="650" border="0" cellspacing="1" cellpadding="4" align="center" id="table_01"> <tr>
<td align="center" class="white_bold_blue">作业提交</td>
</tr>
<tr>
<td align="center" class="td_red_12px">当前还没有布置过作业!<br>请等待老师布置后再提交!</td>
</tr>
</table>
<%else%>
<form method=post action="stu_check.asp?action=refer">
<table width="650" border="0" cellspacing="1" cellpadding="4" align="center" id="table_01">
<tr>
<td class="td_blue_14px">作业名称:</td>
<td>
<select name="hname">
<%
if request("referhname")="" then
rs.movefirst
do while not rs.eof
%>
<option selected value="<%=rs("layname")%>"><%=rs("layname")%></option>
<%
rs.movenext
loop
else
%>
<option selected value="<%=request("referhname")%>"><%=request("referhname")%></option>
<%end if%>
</select>
</td>
</tr>
<tr>
<td width="20%" valign="top"class="td_blue_14px"> 作业内容:</td>
<td><textarea name="rhomework" cols=70 rows=25></textarea></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="Submit" value="提交">
<input type="reset" name="reset" value="重置"></td> </tr>
</table>
</form>
<%end if%>
</td>
</tr>
</table>
</body>
以上页面就是成绩查询页面:
通过连接数据库,显示老师是否对我的作业进行批改了,如果批改具体的成绩是多少。
以下是部分代码:
<body><table height="350" width="740" align="center" cellpadding="0" cellspacing="0">
<tr valign="top">
<td><table width="100%" align="center"cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" color="#0099cc" ><b>当前位置:</b></font><a href="stu_index.asp">首页</a> --> <a href="#">成绩查询</a></td> </tr>
<tr>
<td><hr width="100%" size="1" color="#0099cc"></td>
</tr>
</table>
<table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01">
<tr>
<td colspan="2" class="white_bold_blue">作业查询:(作业名称)</td>
<td width="120" class="white_bold_blue">提交时间:</td>
<td width="120" class="white_bold_blue">是否批改:</td>
<td width="100" class="white_bold_blue">成绩</td>
</tr>
<%if rs.eof then%>
<tr>
<td colspan="5" align="center" class="td_red_12px">当前还没有提交过作业!<br>请提交后再查询!</td>
</tr>
<%else%>
<%
rs.movefirst
do while not rs.eof
x=x+1
%>
<tr>
<td width="18"><%=x%></td>
<td width="160"><%=rs("layname")%></td>
<td width="120"><%=rs("refertime")%></td>
<%if rs("change")=0 then%>
<td> <font color="#ff000c">未批改</font></td>
<%else%>
<td> 已批改</td>
<%end if%>
<td><%=rs("grade")%></td>
</tr>
<%
rs.movenext
loop
session("c")=x
end if
%>
</table>
</td>
</tr>
</table></body>
以上页面就是密码就改页面:
是通过输入老密码判断是否正确,在连接数据库修改的用户密码信息。
以下是该页面的部分代码:
<body>
<table height="350" width="740" align="center" cellpadding="0" cellspacing="0">
<tr valign="top">
<td><table width="100%" align="center"cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" color="#0099cc" ><b>当前位置:</b></font><a href="stu_index.asp">首页</a> --> <a href="#">密码修改</a></td> </tr>
<tr>
<td><hr width="100%" size="1" color="#0099cc"></td>
</tr>
</table>
<form name="form1" method="post" action="stu_check.asp?action=modify_pwd">
<table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01">。