版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录引言31.问题定义及内容简介41.1问题的定义41.2 内容简介42.研究背景与研究意义42.1 研究背景42.2 研究意义43.开发平台与语言简介43.1 ASP 简介43.2 Access简介54.系统需求分析及可行性分析54.1 系统需求分析54.1.1 系统功能体系图54.1.2 目标54.1.3 用户的特点54.1.4 假定与约束64.1.5 基本功能64.1.6 对性能的规定64.1.7 限制条件64.2 系统难点分析65.总体设计75.1 数据库设计75.1.1 数据表75.1.2 数据库各表的描述说明85.2 主要功能的界面及编码85.2.1 管理员添加用户的界面与编码8
2、5.2.2 用户管理界面105.2.3 教师添加班级的界面与编码135.2.4 教师布置作业的界面与编码155.2.5 教师下载及批改作业的界面与编码195.2.6 学生用户注册的界面与编码205.2.7 学生上传作业的界面与编码205.2.8 学生查看自己作业提交情况及得分的界面与编码206.结束语246.1本系统的优点246.2本系统的不足之处及发展意见246.3在系统设计与实现过程中的收获247.参考文献24引言本作业提交系统是基于B/S结构,在IIS平台上使用ASP与ACCESS开发的,主要目的是解决学校机房管理上机作业的问题。因为传统的对学生作业管理是在服务器上建立一个FTP服务器,
3、然后对学生用户设置一个专门的帐号,只允许对作业进行上传,然后学生将作业上传到服务器里对应的班级文件夹下面,传统方式无法解决的问题有:不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。而这套系统正是出于这个目的,为了解决上面的问题而设计的。系统对于复杂的问题都采用程序的方式解决了。系统分了管理员、教师、学生用户,管理员须要的操作只是添加专业,添加班级,添加管理员或教师用户都是通过网页的形式展示出来。而教师无须向以前那样,只需要发布作
4、业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先上传后下节课再下载回来接着做。系统用程序的方式解决了那些非常复杂的操作,比如对文件夹的创建等,所有的角色只需要简单的几步操作就可以完成,非常简单实用。1.概述1.1问题的定义解决传统的FTP服务器不能够满足作业上传的要求下:1教师发布作业必须到服务器上建立文件夹2教师发布作业由在黑板上写的形式改为在网页上写再发布3教
5、师不能对作业进行限制如大小,类型,过期时间4教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载5教师无法发布成绩改为通过网页发布成绩6学生一次未完成的作业可以先上传再下载,完成之后再上传。7学生上传作业只须点一个按钮,无须选择要上传的目录1.2 内容简介通过网页的形式来完成作业提交的管理。首先讲述开发平台的特点,和所使用的开发语言的简介。再介绍研究的背景与意义并对系统进行需求分析与可行性分析,最后进行详细的设计。通过此文档,可以让读者了解作业上传系统的大至流程,对于其中的功能也有一定的了解,知道作者的实现原理及使用的方法。2.研究背景与研究意义2.1 研究背景为学校老师提供
6、了一个可靠的软件,更好的让学生提交作业。传统的手工操作方式,容易对自己身体疲劳,统计错误,且速度慢。这套系统可以提高管理效率和水平。2.2 研究意义 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。3.开发平台与语言简介3.1 ASP 简介ASP作为Microsoft的下一代面向对
7、象的语言产品能够让开发人员在IIS平台上快速地建立大量的应用程序。按照微软给出的定义,asp是一种源自于c和c+的简单的、现代的、面向对象的和类型安全的程序设计语言。asp为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。asp和Java的核心与c+比较有着相同的优势和局限,比起c+,asp将更容易被人们理解和接受,未来大量NET平台的应用将由ASP开发。 3.2 Access简介Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图
8、形用户界面两项特点,是 Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。4.系统需求分析及可行性分析4.1 系统需求分析4.1.1 系统功能体系图作业提交系统注册登录密码找回学生用户登录教师用户登录管理员用户登录查看成绩打包下载作业发布修改作业添加用户管理用户数据库管理上传作业下载作业查看作业发布修改成绩删除作业系统设置通用模板修改密码查看个人资料注销系统 4.1.2 目标完成一套网上的作业提交系统,免费提供给学校机房
9、使用,将所有源代码公开,方便别人学习,也希望更多的人参与本系统的开发。4.1.3 用户的特点用户是机房管理员,对计算机技术比较了解,学校教师专业教师能很快熟悉系统的使用方法,非专业教师也能很快掌握,学校学生能很快学会使用系统。4.1.4 假定与约束 1如果压缩文件夹的功能不能解决,那么只有教师到服务器拷贝文件夹 2如果学校觉得系统不能满足学生作业上传的需要,那么将不能放在机房,供学生使用 3如果遇到一些技术问题无法解决,那么将会加大系统的开发周期 4如果此系统在离开学期之前都无法开发成功,那么也不能提供给机房使用。4.1.5 基本功能1学生注册2学生、教师、管理员密码找回功能3不同用户登录进入
10、不同的界面4学生作业的查看5学生作业成绩的查看6学生作业上传7教师布置作业8教师删除作业9教师修改作业 10教师发布成绩 11教师修改成绩 12教师下载作业 13管理员添加教师用户 14管理员添加管理员用户 15管理员添加专业 16管理员添加班级 17个人资料的查看 18个人密码的修改4.1.6 对性能的规定1要求系统支持ACCESS数据库2要求必须安装IIS4.1.7 限制条件1 学生不可以进行教师与管理员的页面2 教师也不可以进入管理员页面,还有学生页面3 管理员也不可以进行学生和教师面页4 每个学生登录进入之后只能看到自己班级的作业,不可以看到别的班级的作业5 每个教师登录只对自己发布的
11、作业进行管理,不可以对别的教师发布的作业进行管理6 当学生注册时输入的学号必需与选定的班级匹配。7 不同的用户使用修改密码都只能修改自己的密码,无法修改他人的8 不同的用户使用个人数据功能时,也是只可以看到自己的信息不可以看到他们的信息9 学生上传作业的类型,大小,时间等,受到教师发布作业的约束4.2 系统难点分析本系统最大的难点是对作业的上传,由于FileSystemObject的局限,所以ASP最大的难题就是文件上传,大多解决法就是安装第三方上传组件。可第三方组件有很多问题,有的组件要注册,有的组件要在表单中加上他的版权信息。还有的就是组件的兼容问题及很多虚拟主机不支持上传组件。化境无组件
12、上传是全网络首次提出的利用ado控件实现了上传。本系统再上传作业的源程序上就是引用了化境无组件上传。5.总体设计5.1 数据库设计5.1.1 数据表5.1.2 数据库各表的描述说明config表存放的是本系统的相关配置参数。manager表存放的是管理员及教师的帐号与密码等数据。member表存放的是学生用户的帐号与密码等数据。homework表存放的是教师布置的作业信息。upload_info表存放的是学生上传的作业的相关信息。5.2 主要功能的界面及编码5.2.1 管理员添加用户的界面与编码代码:<%LANGUAGE="VBSCRIPT" CODEPAGE=&qu
13、ot;936"%><%const need_purview=3%><!-#include file="./localhost.asp"-><!-#include file="show_error.asp"-><!-#include file="./purview.asp"-><%response.expires=0%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"
14、 "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>添加管理组成员</title><link href="./eric.css" rel="stylesheet" type="text/css"><
15、;/head><body><form name="add_manager" method="post" action="admin_check.asp?action=add_manager"> <table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01">
16、<tr> <td width="120" class="white_bold_blue">添加管理组成员</td> <td width="240" class="white_bold_blue"> </td> <td width="212" class="white_bold_blue">说明:</td> </tr> <tr> <td>用户
17、名:</td> <td><input name="username" type="text" class="input_text_01" id="username" size="20" maxlength="20"></td> <td>请使用英文1-20</td> </tr> <tr> <td>密码:</td> <td><input nam
18、e="password" type="password" class="input_text_01" id="password" size="20" maxlength="20"></td> <td>8-20位的密码</td> </tr> <tr> <td>确认密码:</td> <td><input name="passwordq" type=&qu
19、ot;password" class="input_text_01" id="passwordq" size="20" maxlength="20"></td> <td>再输入一遍密码,以确认</td> </tr> <tr> <td>教师名:</td> <td><input name="teacher_name" type="text" class="
20、;input_text_01" id="teacher_name" size="20" maxlength="20"></td> <td> </td> </tr> <tr> <td>权限:</td> <td><select name="purview" id="purview"> <option value="2">普通教师
21、</option> <option value="3">系统管理员</option> </select></td> <td class="red_12pt_font">当前系统设定权限后不可更改,请慎重</td> </tr> <tr> <td>备注:</td> <td> <textarea name="remark" cols="30" rows="3&qu
22、ot; class="input_textarea_01" id="remark"></textarea></td> <td>可以不填</td> </tr> <tr> <td colspan="3" class="center"><input type="submit" name="Submit" value="提交"> <inp
23、ut type="reset" name="Submit2" value="重置"></td> </tr> </table></form></body></html>5.2.2 用户管理界面代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=3%><!-#include file="./localhost.a
24、sp"-><!-#include file="conn.asp"-><!-#include file="./lockip.asp"-><!-#include file="show_error.asp"-><!-#include file="./purview.asp"-><%response.expires=0%><SCRIPT language=javascript>/确认窗口function ConfirmDel(id)ur
25、l="show_detail_info.asp?action=del_manager&id="+idif(confirm("确定要删除该账号吗?删除将不能恢复!所有该教师布置的作业和学生上传的作业将删除!以及相关学生的注册信息。请慎重!?")location=url</SCRIPT><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title&
26、gt;用户管理</title><link href="./eric.css" rel="stylesheet" type="text/css"><style type="text/css"><!-.style1 color: #FF0000-></style></head><body><table width="600" border="0" align="center&quo
27、t; cellpadding="4" cellspacing="1" id="table_01"> <tr> <td width="50" class="white_bold_blue">用户名</td> <td width="50" class="white_bold_blue">姓名:</td> <td width="90" class="white_
28、bold_blue">班级:</td> <td width="70" class="white_bold_blue">备注:</td> <td width="90" class="white_bold_blue">权限:</td> <td width="90" class="white_bold_blue">操作:</td> </tr> <%dim sql_5
29、0sql_50="select * from eric_manager"call opendb()set rs=conn.execute (sql_50)do while not rs.eof%> <tr> <td width="50"><%=trim(rs("eric_manager")%></td> <td width="50"><%=trim(rs("teacher")%></td> <td w
30、idth="90"><%=trim(rs("class_e")%></td> <td width="70"><%=trim(rs("remark")%></td> <td width="90"> <% if rs("purview")=2 then response.write "普通教师" elseif rs("purview")=3 thenresp
31、onse.write "系统管理员<span class='style1'>* </span> " end if %></td> <td width="200" class="center"><input name="modify" type="button" id="modify" onclick="window.location.href='show_detail_info.as
32、p?action=update_manager&id=<%=rs("id")%>'" value="修改"> <input type="button" name="is_lock" value="<%dim actif rs("is_lock")=false thenact="锁定"elseact="解锁"end ifresponse.write act%>" onclick
33、="window.location.href='show_detail_info.asp?action=lock_manager&id=<%=rs("id")%>&is_lock=<%=act%>'"> <input name="del" type="submit" id="del" value="删除" onclick="return ConfirmDel(<%=rs(&
34、quot;id")%>)"></td> </tr> <%rs.movenextloopcall closers()call closedb()%></table></body></html>5.2.3 教师添加班级的界面与编码代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=2%><!-#include file="./localhost.
35、asp"-><!-#include file="show_error.asp"-><!-#include file="./purview.asp"-><%response.expires=0if session("purview")>2 thencall error("对不起,该系统目前该功能只对教师开放,如有需要,请自建一个教师帐号!-><a href='control/admin_main.asp' target='_parent
36、39;>返回管理首页</a>")call Iserror()response.endend if%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&
37、quot;><title>网上作业提交系统</title><link href="./eric.css" rel="stylesheet" type="text/css"><style type="text/css"><!-.style3 color: #FFFFFF; font-weight: bold; font-size: 14px; -></style></head><body><form name=
38、"form1" method="post" action="admin_check.asp?action=add_class"> <table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01"> <tr> <td width="181" clas
39、s="white_bold_blue">添加班级:</td> <td width="226" class="white_bold_blue"></td> <td width="165" class="white_bold_blue">说明:</td> </tr> <tr> <td>添加你教的班级:</td> <td><input name="class_e
40、r" type="text" class="input_text_01" id="class_er" size="20" maxlength="20"></td> <td>如:计科0701班</td> </tr> <tr> <td colspan="3"><span class="red_bold_14pt_font">注意:</span> &l
41、t;table width="500" border="0" align="center" cellpadding="4" cellspacing="1" id="table_02"> <tr> <td width="16" height="16" align="center" valign="middle" bgcolor="#0099CC" clas
42、s="style3">1</td> <td width="464" class="red_12pt_font"> 在添加完成该操作后,系统会创建以此命名的文件夹,请不要随意改动(如更名,会大来大量的数据操作!),或者删除,学生的作业都将提交到该文件夹下面,一旦删除,则所有该班级的作业都将删除,无法恢复,请慎重! </td> </tr> <tr> <td width="16" height="16" align="c
43、enter" valign="middle" bgcolor="#0099CC" class="style3">2</td> <td>如果你教授多个班级,请一个添加完成后,继续添加</td> </tr> <tr> <td height="16" align="center" valign="middle" bgcolor="#0099CC" class="style
44、3">3</td> <td>只用添加了班级才能布置作业给相应的班级</td> </tr> <tr> <td height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3"></td> <td>还有什么疑问,可以问系统管理员</td> </tr> <tr> <
45、td height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3">5</td> <td class="red_12pt_font">当前系统班级文件夹建立后,不允许改名,下一版支持</td> </tr> </table> <br></td> </tr> <tr> <t
46、d colspan="3" class="center"><input type="submit" name="Submit" value="提交"> <input type="reset" name="Submit2" value="重置"></td> </tr> </table></form></body></htm
47、l>5.2.4 教师布置作业的界面与编码代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=2%><!-#include file="./localhost.asp"-><!-#include file="conn.asp"-><!-#include file="show_error.asp"-><!-#include file="./purv
48、iew.asp"-><%response.buffer=true%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title&
49、gt;布置作业</title><link href="./eric.css" rel="stylesheet" type="text/css"><style type="text/css"><!-.style3 color: #FFFFFF; font-weight: bold; font-size: 14px; -></style></head><body><form name="form1" metho
50、d="post" action="admin_check.asp?action=add_homework"> <table width="600" border="0" align="center" cellpadding="4" cellspacing="1" id="table_01"> <tr> <td width="163" class="white_bold_b
51、lue">布置作业:</td> <td width="237" class="white_bold_blue"> </td> <td width="172" class="white_bold_blue">说明</td> </tr> <tr> <td>作业名称:</td> <td><input name="homework_name" t
52、ype="text" class="input_text_01" id="homework_name" size="20" maxlength="20"></td> <td>如:圆弧连接</td> </tr> <tr> <td>当前是否允许上传作业:</td> <td><input name="is_upload" type="radio" valu
53、e="1" checked> 允许上传 <input type="radio" name="is_upload" value="-1"> 不允许上传</td> <td>该功能可以用在限制时段交作业</td> </tr> <tr> <td>面向的对象:</td> <td><select name="object_e" size="3" multiple cla
54、ss="select_01" id="object_e"> <%if session("purview")>2 thenresponse.clearcall error("对不起该功能目前只对普通开放,系统管理员如有需要,请另建一教师账号,使用该功能!")call Iserror()response.endend ifdim sql_61sql_61="select eric_manager,class_e from eric_manager where eric_manager=
55、9;" & session("teacher") & "' and class_e<>''"call opendb()set rs=conn.execute(sql_61)if rs.eof thencall closers()call closedb()response.clearcall error("当前该教师没有班级,不能布置作业!请先添加授课班级或请与系统管理员联系!")call Iserror()response.endelsedim class_eclass_
56、e=rs("class_e")call closers()call closedb()if Instr(class_e,"|")>0 thenarray_class_e=split(class_e,"|")for i=0 to ubound(array_class_e)response.write "<option value='" & array_class_e(i) & "'>" & array_class_e(i) & &q
57、uot;</option>"nextelseresponse.write "<option value='" & class_e & "'>" & class_e & "</option>"end ifend if%> </select></td> <td>按住ctrl选择多个班级</td> </tr> <tr> <td>内容:</td> &
58、lt;td><textarea name="content" cols="30" rows="8" class="input_textarea_01" id="content"></textarea></td> <td> </td> </tr> <tr> <td>上传相关文件:</td> <td> </td> <td&
59、gt; </td> </tr> <tr> <td colspan="3"><span class="red_bold_14pt_font">注意:</span> <table width="500" border="0" align="center" cellpadding="4" cellspacing="1" id="table_02"&
60、gt; <tr> <td width="16" height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3">1</td> <td width="464" class="red_12pt_font"> 在添加完成该操作后,系统会创建以此命名的文件夹,请不要随意改动(如更名,会带来大量的数据操作!),或
61、者删除,学生的作业都将提交到该文件夹下面,一旦删除,则所有该次作业都将删除,无法恢复,请慎重! </td> </tr> <tr> <td width="16" height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3">2</td> <td>如果你要布置多个作业,请一个添加完成后,再继续添加</td>
62、</tr> <tr> <td height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3">3</td> <td>只用添加了班级才能布置作业给相应的班级</td> </tr> <tr> <td height="16" align="center" valign=&qu
63、ot;middle" bgcolor="#0099CC" class="style3"></td> <td>还有什么疑问,可以问系统管理员</td> </tr> <tr> <td height="16" align="center" valign="middle" bgcolor="#0099CC" class="style3">5</td> <td
64、class="red_12pt_font">当前版本系统不允许更改作业名称!</td> </tr> </table></td> </tr> <tr> <td colspan="3" class="center"><input type="submit" name="Submit" value="提交"> <input type="rese
65、t" name="Submit2" value="重置"></td> </tr> </table></form></body></html>5.2.5 教师下载及批改作业的界面与编码代码: grade=trim(request.form("grade")If grade>=0 and grade <=100 Then'成绩为有效数字id=trim(request.querystring("id")'过
66、滤字符if id<>"" Thencall opendb()set rs=conn.execute("select * from upload_info where id=" & id)if rs.eof Thencall error("非法参数!")call Iserror()response.Endelsehomework_name=rs("upload_homework_name")class_object=rs("class_e")end Ifcall closers
67、()call closedb()end Ifcall opendb()conn.execute("update upload_info set grade='"& grade &"',edit_time='"&now()&"' where id="&id)call closedb()Elsecall error("输入的成绩无效!")call Iserror()End Ifresponse.redirect "manage_homew
68、ork.asp?action=homework_detail&homework_name="&homework_name&"&class_object="&class_object5.2.6 学生用户注册的界面与编码5.2.7 学生上传作业的界面与编码5.2.8 学生查看自己作业提交情况及得分的界面与编码代码:<%LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%const need_purview=1%><!-#include
69、file="localhost.asp"-><!-#include file="conn.asp"-><!-#include file="lockip.asp"-><!-#include file="show_error.asp"-><!-#include file="purview.asp"-><html><head><meta http-equiv="Content-Type" conte
70、nt="text/html; charset=gb2312"><title></title><link href="eric.css" rel="stylesheet" type="text/css"><SCRIPT language=javascript>function openScript(url, width, height) var Win = window.open(url,"openScript",'width='
71、; + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no,status=n0' );</SCRIPT></head><body><% dim sql_80 sql_80="select * from homework where object_class='" & session("student_class") & "' and homework_n
72、ame<>'' order by id desc"'使最近的一次作业排在最前, sql_81= "select * from upload_info where class_e='" & session("student_class") & "' and upload_username='" & session("student") & "' order by id desc"'
73、使最后上传的文件排在最前面 call opendb() set rs=conn.execute(sql_80) if not rs.eof then array_01=rs.getrows()'取得SElECTa Recordset的二维数组 rows_01=ubound(array_01,2)'取得array_01第二维的下界 'set rs=rs.NextRecordset '使用Nextrecordset激活下一个recordset call closers() set rs=conn.execute(sql_81) if not rs.eof then is_upfile=true array_02=rs.GetRows '再次取得第二个SElECTb Recordset的二维数组 rows_02=ubound(array_02,2)'取得array_02第二维的下界 else is_upfile=false
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论