资源描述
河北农业大学
本科毕业论文(设计)
题 目:基于高校教学管理系统的设计与实现—习题作业管理模块
摘 要
当前社会高度发展,对教育的需求超过了人们的想象,而传统的教育资源有限并会受到时间空间等多方面的限制,从而而研制和开发的一种基于网络的Browser/Server模式并可在Internet/Intranet网络环境下运行的应用软件。以实现这种方便性与互动性、开放性集于一身的教育体制,以对当前传统的教育模式提供必要的补充。
本系统主要通过使用B/S模式,对习题作业信息资源进行全面、系统的管理。在整个系统开发的过程中,运用了软件工程的基本概念、相关技术和方法。并且采用Myeclipse 6.0、 SQL Server2000、PhotoShop、Dreamweaver等软件完成该系统的设计。
此系统采用当前较为流行的B/S(浏览器/服务器)结构。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了管理员发布管理公告、教师管理、设置班级、课程;老师在线发布作业、批改作业、网上答疑;学生上传作业、查看作业信息、提出疑问的功能。
关键词:作业管理;习题发布;无组件上传;ADO;ASP;
Abstract
Height of current social development, the demand for education beyond people's imagination, but the traditional education resources are limited and will be subject to time and space and other constraints, and the development of a software application and development of Browser/Server mode based on network and can be run in the Internet/Intranet environment. In order to realize the convenience and interactivity, opennessof the education system, in order to provide the necessary supplement to the present traditional educational pattern. This system mainly through the use of B/S mode, comprehensive, system ofexercises homework information resource management. In the process of system development, using the basic concepts, relevant technology and methods of software engineering. Design and using Myeclipse 6, SQLServer2000, PhotoShop, Dreamweaver and other software to complete the system.
This system uses the current popular B/S (Browser / server) structure.Through the analysis, a series of demand design, coding, testing work on the system, allowing the system to achieve the management, teacher management administrator issued announcement, set the class teacher,curriculum; published online homework, homework, online Q & A; studentsupload homework, view the job information, the question of the function.
Keywords: Job management; problem; no upload component; ADO; ASP;
目 录
1 概述 1
1.1问题的定义 2
1.2 研究背景和意义 4
2 开发平台与技术 5
2.1 Dreamweaver 5
2.2 B/S模式系统及其特点 5
2.3 ASP 简介 5
2.4 access简介 6
2.5 无组件上传技术简介 6
3 系统需求分析 7
3.1 开发背景分析 7
3.2 功能需求分析 7
3.2.1管理员部分的主要功能要求 7
3.2.2教师部分的主要功能要求 7
3.2.3学生部分的主要功能要求 7
3.3 系统功能图 7
3.4 登陆系统流程图 8
4 总体设计与实现 10
4.1 数据库设计 10
4.2数据库逻辑分析 10
4.3数据库表设计 10
4.4 页面设计 12
4.4.1 登录界面 12
4.4.2公告管理界面 12
4.4.3作业发布界面 13
4.4.4作业评分界面 13
4.4.5作业上传下载界面 14
4.4.6用户管理界面 14
5 主要代码 16
5.1登录代码 16
5.2上传链接代码 16
5.3上传函数代码 18
总结 24
致谢 25
参考文献 26
1 概述
1.1问题的定义
随着网络技术的发展,目前多种类型的网校、教育站点、网络教育学院如雨后春笋般蓬勃兴起,使得网上教育成为当今教育的热点。人们禁不住向往着一个全新的教育体制—基于Internet/Intranet教育网的教育体制,在这种体制下,不受时间、空间和地域的限制,不受应用软件的限制,通过计算机网络可扩展至全社会的每一个角落,甚至是全世界,这是真正意义上的开放大学。
但是目前,虽然开发出相应的软件产品,但这些开发出来的软件产品不仅价格昂贵,而且对于专业课程设置不一、教育模式方法不同的各种高校来说,往往还要进行二次开发甚至根本无法应用。我校的教学特点是专业多,课程设置复杂,教师讲课门数多,教师上课及学生听课的教室不固定,教师的教学任务和学生的学习任务比较繁重,这样导致教师和学生的沟通少,不利于提高教学质量。因此,针对本校的专业课程设置,根据教学模式以及教师和学生的需求来开发在线教学系统是必要的。
1.2 研究背景和意义
为学校各位老师提供了一个可靠的软件,更好的让学生提交作业。传统的手工操作方式,容易对自己身体疲劳,统计错误,且速度慢。这套系统可以提高管理效率和水平。
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。
2 开发平台与技术
2.1 Dreamweaver
Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页【1】。
2.2 B/S模式系统及其特点
客户器/服务器系统的主要优点为能最大体现客户和服务器或客户间的交互性。作为本基于B/S模式的教学管理系统主要特点表现为:学生和老师的交互,学生几乎可以随时和老师进行互动,学生学习中问题的提出,老师对相应问题进行回答;老师通过该系统平台发布有关通知,布置作业题目、家庭学习任务等,学生既可及时地通过该系统平台得到相关信息,并可通过该系统提交自己完成的任务或作业等;老师对重点难点课件或教授视频的上传,学生通过该系统加强对相应重点难点内容的学习;学生并可以通过该系统及时及时与相应老师进行交流【2】。
2.3 ASP 简介
ASP(读作“c-sharp”)作为Microsoft的下一代面向对象的语言产品.能够让开发人员在IIS平台上快速地建立大量的应用程序。按照微软给出的定义,asp是一种源自于c和c++的.简单的、现代的、面向对象的和类型安全的程序设计语言。asp为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。asp和Java的核心与c++比较有着相同的优势和局限,比起c++,asp将更容易被人们理解和接受,未来大量.NET平台的应用将由ASP开发。与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息【3】。
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取【4】。
(7) 方便连接ACCESS与SQL数据库.
(8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击。
2.4 access简介
美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下:
(1)完善管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能【5】。
(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等【6】。
2.5 无组件上传技术简介
当通过Http的POST方式上传文件时,待上传文件与表单数据一同被浏览器封装成了二进制流发送到服务器。ASP环境中Request内置对象下的BinaryRead方法可以将封装的二进制流原样读出【7】。通过分析读取出的二进制数据,可以得到待上传文件的完整二进制数据,将这部分数据保存为文件,则上传工作即可完成【8】。
3 系统需求分析
3.1 开发背景分析
该系统的开发主要是为提高目前学校作业管理的效率,重点解决了作业管理混乱、教师携带批改不方便、远程教学却无法远程提交或批改作业等问题,有效地利用了各学校现有的电脑与网络资源,促进学校全面展开信息化教学,也能使相关人员利用互联网就可以足不出户的了解到学校现有设备的情况。同时也给老师和学生提供一个互相交流的平台,可以实现垮空间、跨时间的交流,不仅节约了资源和时间,学生也能及时从老师获取反馈信息,提高学习成绩,极大地提高了工作、学习效率。
为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配 置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网【9】。
3.2 功能需求分析
3.2.1管理员部分的主要功能要求
管理员登录功能,根据权限进入管理员相应的页面的功能。
管理员发布公告、管理公告(查看、修改、删除)的功能。
管理员修改密码的功能。
管理员设置学生、科目、班级,管理,功能页面同样具有查看、修改、删除的功能。
3.2.2教师部分的主要功能要求
登录功能,根据权限进入教师相应的页面的功能
发布公告的功能
布置作业,下载学生反馈,给出分数评价的功能
3.2.3学生部分的主要功能要求
学生登录功能,根据权限进入学生相应的页面的功能 Ø
学生查看公告的功能 Ø
学生查看个人资料的功能 Ø
提交作业,查看分数评价的功能
3.3 系统功能图
习题作业管理系统
注册
登录
密码找回
学生用户登录
教师用户登录
管理员用户登录
查看成绩
打包下载作业
发布修改作业
添加班级
添加用户
数据库管理
上传作业
下载作业
查看作业
发布修改成绩
删除作业
添加专业
通用模板
修改密码
查看个人资料
注销系统
图3-1 系统功能图
3.4 登陆系统流程图
图3-2系统流程图
4 总体设计与实现
4.1 数据库设计
数据库设置采用access2007管理作业数据库。数据库文件都存储在datebase目录下。本系统采用access2007作为数据库,主要因为其以下特性:
(1)集成环境、处理多种数据信息 。Access基于Windows操作系统下的集成开发环境,该环境集成各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行【10】。
(2)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接【11】。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
4.2数据库逻辑分析
数据库的逻辑分析可分为以下几步:
( 1 ) 将概念结构转换为一般的关系、网状、层次模型;
( 2 ) 将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;
( 3 ) 对数据模型进行优化【12】。
针对本系统所涉及的实体,以及实体间的关系,我所列出如下属性组合:
作业课程(编号,课程名称,标题,附件,说明)
课程类别(编号,所属专业,教师人数,学生人数)
公告(编号,标题,内容)
个人信息(用户名,真实姓名,性别,专业,类别,电话)
4.3数据库表设计
根据需求分析,需要将用户录入的用户信息及课程信息存储到到数据库中,便于用户以后查看。表4-1为所发布作业的数据表。
表4-1作业课程
字段名
字段类型
宽度
索引
备注
编号
Int
8
名称
文本
7
主索引
作业所属课程的名称
标题
文本
12
教师发布作业的标题
附件
2M
发布作业时的附件
点评
文本
150
老师手动键入批语
内容
备注
8K
对作业的详细描述
表4-2为课程类别数据表,通过建立课程类别,对课程编号进行索引,记录筛选所选课程的学生教师人数。
表4-2课程类别
字段名
字段类型
宽度
索引
备注
编号
文本
10
主索引
课程ID
所属专业
文本
10
学生人数
Int
10
选学的学生人数
教师人数
Int
10
开设该学科教师人数
表4-3为公告模块数据表,通过建立公告的数据库,可以记录教师以及管理员所发布的公告信息。
表4-3公告
字段名
字段类型
宽度
索引
备注
编号
Int
8
标题
文本
12
教师发布公告的标题
内容
备注
8K
对公告的详细描述
表4-4是个人信息数据表,建立个人信息数据库,记录教师学生的个人信息,对用户名的索引,可以记录查询个人相关信息。
表4-4个人信息
字段名
字段类型
宽度
索引
备注
用户名
Int
12
主索引
真实姓名
文本
12
性别
文本
12
专业
文本
20
所属专业
类别
文本
20
教师or学生
电话
Int
20
4.4 页面设计
4.4.1 登录界面
当系统登陆时,首先出现的是一个用户登陆的界面, 输入正确的用户名和密码后才能进行操作,否则将不能进行操作。如下图4-1所示:
图4-1 登录界面
4.4.2公告管理界面
登陆成功后,拥有教师权限的操作员可以对公告进行管理。界面如下图4-2所示:
图4-2 公告管理界面
4.4.3作业发布界面
拥有教师权限的操作员可以发布作业。界面如下图4-3所示:
图4-3作业发布界面
4.4.4作业评分界面
拥有教师权限的操作员可以对作业评分。界面如下图4-4所示:
图4-4作业评分界面
4.4.5作业上传下载界面
任何权限的操作员可以对作业进行上传下载。界面如下图4-4所示:
图4-4作业上传界面
图4-5作业下载界面
4.4.6用户管理界面
管理员可以对用户管理,修改用户信息及密码。界面如下图4-6所示:
图4-6用户管理界面
5 主要代码
5.1登录代码
登录系统的代码如下:
<form action="checklogin.asp" method="post" class="login"><%
if(session("UserLogin")="") then
%><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" colspan="2" align="center" valign="middle" class="title">用户登陆</td>
</tr>
<tr>
<td width="80" height="30" align="right" valign="middle">用户名:</td>
<td><label>
<input name="uname" type="text" id="uname" class="inp1" />
</label></td>
</tr>
<tr>
<td height="30" align="right" valign="middle">密 码:</td>
<td><label>
<input name="upass" type="password" id="upass" class="inp1" />
</label></td>
</tr>
<tr>
<td height="30" colspan="2" align="center" valign="middle">
<input type="submit" name="Submit" value=" " class="inp2"/>
<input type="button" name="Submit2" value=" " onclick="window.open('reg.asp');" class="inp3"/>
</td>
</tr>
</table>
<%
else
%><a href="quitlogin.asp" target="_top">退出登陆</a>
<%end if%></form>
5.2上传链接代码
本系统采用无组件上传模式,首先编写一个上传函数asp,然后使用链接语句调用此函数,上传链接的代码如下:
<%Server.ScriptTimeOut=5000%>
<!--#include FILE="upload_5xsoft.inc"-->
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>文件上传</title>
</head>
<body><%
dim upload,file,formName,formPath,iCount
dim uname,upic,unope
dim checkcode
set upload=new upload_5xsoft ''建立上传对象
formPath="../uploadfile"
if right(formPath,1)<>"/" then formPath=formPath&"/"
iCount=0
Response.Write("</span>文件上传成功!")
for each formName in upload.objFile
set file=upload.file(formName)
if file.FileSize>0 then
file.SaveAs Server.mappath(formPath&file.FileName)
checkcode=upload.form("checkcode")
uname=upload.form("uname")
upic=formPath&file.FileName
SaveFileName = file.FileName
Response.codepage=636
Response.Buffer = True
Response.Addheader "Content-Type","text/html; charset=gb2312"
Server.ScriptTimeout=99
dim act
act=upload.form("act")
Response.write "<span style=""color:red;"">"& SaveFileName &"</span>文件上传成功!"
Response.Write("<script language='Javascript'>")
Response.Write("window.opener.document.getElementById("""&act&""").value = ""UploadFile/"&SaveFileName&""";")
Response.Write("window.close();")
Response.Write("</script>")
iCount=iCount+1
end if
set file=nothing
next
set upload=nothing ''删除此对象
'Htmend iCount&" 个文件上传结束!"
sub HtmEnd(Msg)
set upload=nothing
Response.Write("<script language='Javascript'>")
Response.Write("alert('内容已经提交!');")
' Response.Write("window.opener.location.reload();")
' Response.Write("window.opener.parent.location.reload();")
Response.Write("window.close();")
Response.Write("</script>")
response.end
end sub
%>
</body>
</html>
5.3上传函数代码
通过上述链接可直接调用上传函数的asp,上传函数的代码如下:
<%
dim Data_5xsoft
Class upload_5xsoft
dim objForm,objFile,Version
Public function Form(strForm)
strForm=lcase(strForm)
if not objForm.exists(strForm) then
Form=""
else
Form=objForm(strForm)
end if
end function
Public function File(strFile)
strFile=lcase(strFile)
if not objFile.exists(strFile) then
set File=new FileInfo
else
set File=objFile(strFile)
end if
end function
Private Sub Class_Initialize
dim RequestData,sStart,vbCrlf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,theFile
dim iFileSize,sFilePath,sFileType,sFormValue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
Version="化境HTTP上传程序 Version 2.1"
set objForm=Server.CreateObject("Scripting.Dictionary")
set objFile=Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes<1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set Data_5xsoft = Server.CreateObject("adodb.stream")
Data_5xsoft.Type = 1
Data_5xsoft.Mode =3
Data_5xsoft.Open
Data_5xsoft.Write Request.BinaryRead(Request.TotalBytes)
Data_5xsoft.Position=0
RequestData =Data_5xsoft.Read
iFormStart = 1
iFormEnd = LenB(RequestData)
vbCrlf = chrB(13) & chrB(10)
sStart = MidB(RequestData,1, InStrB(iFormStart,RequestData,vbCrlf)-1)
iStart = LenB (sStart)
iFormStart=iFormStart+iStart+1
while (iFormStart + 10) < iFormEnd
iInfoEnd = InStrB(iFormStart,RequestData,vbCrlf & vbCrlf)+3
tStream.Type = 1
tStream.Mode =3
tStream.Open
Data_5xsoft.Position = iFormStart
Data_5xsoft.CopyTo tStream,iInfoEnd-iFormStart
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
tStream.Close
'取得表单项目名称
iFormStart = InStrB(iInfoEnd,RequestData,sStart)
iFindStart = InStr(22,sInfo,"name=""",1)+6
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFormName = lcase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))
'如果是文件
if InStr (45,sInfo,"filename=""",1) > 0 then
set theFile=new FileInfo
'取得文件名
iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
theFile.FileName=getFileName(sFileName)
theFile.FilePath=getFilePath(sFileName)
theFile.FileExt=GetFileExt(sFileName)
'取得文件类型
iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
iFindEnd = InStr(iFindStart,sInfo,vbCr)
theFile.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)
theFile.FileStart =iInfoEnd
theFile.FileSize = iFormStart -iInfoEnd -3
theFile.FormName=sFormName
if not objFile.Exists(sFormName) then
objFile.add sFormName,theFile
end if
else
'如果是表单项目
tStream.Type =1
tStream.Mode =3
tStream.Open
Data_5xsoft.Position = iInfoEnd
Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sFormValue = tStream.ReadText
tStream.Close
if objForm.Exists(sFormName) then
objForm(sFormName)=objForm(sFormName)&", "&sFormValue
else
objForm.Add sFormName,sFormValue
end if
end if
iFormStart=iFormStart+iStart+1
wend
RequestData=""
set tStream =nothing
End Sub
Private Sub Class_Terminate
if Request.TotalBytes>0 then
objForm.RemoveAll
objFile.RemoveAll
set objForm=nothing
set objFile=nothing
Data_5xsoft.Close
set Data_5xsoft =nothing
end if
End Sub
Private function GetFilePath(FullPath)
If FullPath <>"" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function
Private function GetFileExt(FullPath)
If FullPath <>"" Then
GetFileExt = mid(FullPath,InStrRev(FullPath, ".")+1)
Else
GetFileExt = ""
End If
End function
Private function GetFileName(FullPath)
If FullPath <>"" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function
End Class
Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileExt,FileType,FileStart
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
FileType = ""
FileExt = ""
End Sub
Public function SaveAs(FullPath)
dim dr,ErrorChar,i
SaveAs=true
if trim(fullpath)="" or FileStart=0 or FileName="" or right(fullpath,1)="/" then exit function
set dr=CreateObject("Adodb.Stream")
dr.Mode=3
dr.Type=1
dr.Open
Data_5xsoft.position=FileSta
展开阅读全文