大家好,今天给大家介绍基于asp+access的网上教学系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:9610个字28页
包含内容:整套源码+完整毕业论文
资源文件目录简图如下:
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引言
1.1 课题背景
省略
1.2 国内外的研究现状
省略
1.3 本课题研究的意义
本课题研究的意义使老师和学生可不受时间、空间的限制,只要能够上网,就可以随意方便地讨论、聊天以及交流学习心得。它提供丰富的知识库和信息库, 激发学习者的学习兴趣,从而达到让学习者主动构建知识的目的,实现自己获取知识、自我更新甚至创新知识的理想目标。
1.4 本课题的研究方法
首先从网上查阅网络文件管理系统相关资料,了解同类系统的发展现状及趋势。分析网上教学系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机网络技术、ASP与网络数据库相关知识等),选择SQL Server数据库,在ASP环境下运用VBSCRIPT及JAVASCRIPT脚本语言进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,系统开发完毕后,进行调试和运行。
2 《计算机专业英语》网上教学系统的相关理论基础
通过基于Internet互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器端装WEB应用就可以使每个客户端都能浏览使用。
2.1 系统开发环境
本网上教学系统是一个B/S结构的系统,它的发布需要有WEB服务器的支持,且需要数据库系统来方便的对系统数据进行存储,查询,修改,删除,及时更新系统信息,同时需要一种简单,方便的编程工具可以与数据库进行交互。鉴于上述需求,本系统选择IIS +SQL Server+ASP作为开发环境。
2.2 B/S结构
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成3层结构。B/S结构主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
2.3 IIS简介
IIS是Internet信息服务(Internet Information Server)的缩写,它是一种Web服务,主要包括WWW服务器、FTP服务器等,使得在Intranet(局域网)或Internet(因特网)上发布信息成了一件很容易的事。WWW服务提供维护网站和网页,并回复基于浏览器的请求。有了WWW服务和它内置的功能,通过Internet信息服务器可以创建各种各样的Internet应用程序,加上其内置的对数据库连接的支持,IIS的功能就更强大了。SQL数据库信息或其他任何符合ODBC的数据库信息都能在Internet/Intranet上灵活应用。
2.4 SQL Server 简介
SQL Server 具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。它支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。同一个数据库引擎可以在不同的平台上使用,SQL Server 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。SQL Server 关系数据库引擎支持当今苛刻的数据处理环境所需的功能,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。
2.5 ASP简介
ASP全称为Active Server Pages,即动态服务器页面,它是一套微软开发的服务器端脚本环境,ASP内含于IIS 3.0 以上版本中,通过ASP我们可以结合HTML网页、ASP指令建立动态、交互且高效的Web服务器应用程序。ASP脚本在服务器端解释执行,结果自动生成符合HTML语言的主页去响应用户的请求。ASP目前已成为目前应用最广泛的动态网页开发工具,同时应用ASP进行网络化的信息管理系统也逐步得到推广。ASP本身不并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。ASP程序其实是以扩展名为.asp的纯文本形式存在于Web服务器上的,可以用任何文本编辑器打开它。ASP程序中可以包含纯文本、HTML标记以及脚本命令。用户只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。
3 《计算机专业英语》网上教学系统的用户需求分析
3.1 用户角色分析
根据网上学习的整个过程,整个系统要分两个角色:学生和老师(即管理员)。
学生可以在线学习;可以在线测试;可以跟老师或同学交流;可以看看有什么新的公告等等。老师可以修改课程的相关信息;可以管理学生的个人资料;可以上传课程;可以发布公告;可以添加、删除试题等等。每个角色操作的共性是通过密码验证后登录,显示身份信息,通过点击修改密码菜单实现密码更改。角色工作完成后,通过专门的出口退出登录状态。
3.2 具体功能模块划分
根据系统功能需求分析,系统主要划分为以下六个模块。
A学生管理模块功能说明:
用于用户登录,通过用户输入的用户名、密码判断用户份的有效性,有效用户根据用户的角色定向到相应的功能界面,无效用户定向到登录失败页面。若丢失密码,则可以通过你的密码提示和相应的密码答案可以找到自己的密码。若想成为有效用户,则可以注册用户,成功后定向到相应的功能页面。
B.课程概况模块功能说明:
用于用户查看相关课程的概况,若不是有效用户,仍然可以看到相关的课程简介。还可以转向到友情连接界面。
C.网上课程模板功能说明:
只有有效用户可以看到这个模板的内容。通过选择专业来选择课程,然后进入学习内容(学习目的、参阅资料、参阅书目、学习提纲),除了参阅资料是连接到相关网页外,其他都是以DOC形式,这样方便用户,可以直接在线阅读,也可以下载后随时阅读。
D.远程教学模板功能说明:
有效用户可以通过选择学习方式(课件点播和交流与讲座)来学习相关的章节。是以播放器的形式出现在学习者的面前。
E.网络考试模板功能说明:
有效用户可以通过选择在线考试来测试自己学习的情况,考试完了后,可以通过查询学生证号或课程名来查询自己的考试成绩。
F.在线论坛模板功能说明:
有效用户进入讨论主题,可以选择任何一个讨论话题进入后,可以选择新的话题,也可以回复别人的问题。在讨论期间,还可以看见其他人的E—MAIL、HOMEPAGE、QQ。
G…学习资料库模板功能说明:
有效用户通过选择资料类别来选择相应的学习资料来源,这里主要是以连接其他网站为主要方式来学习,即提供学习资料的来源。
H.公告栏模板功能说明:
有效用户可以通过点击相关公告的题目,进入相应的详细内容。了解最近有些什么新的消息或动向。
I.管理员模板功能说明:
用户通过输入的用户名、密码判断用户份的有效性,有效用户根据用户的角色定向到相应的功能界面,无效用户定向到登录失败页面。有效用户可以对前台的各个模板进行添加、删除等修改。
3.3 性能需求
整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。
4 《计算机专业英语》网上教学系统的设计与实现
4.1 系统功能图示例
4.1.1系统前台模块功能示意图(如图1)
学生在首页登录成功后,就进入课程概况。可在导航条上选择需要的相应选项:若在线学习,就点击网上课堂;若查询资料,点击学习资料库,提供了相应的网站网址;若视频学习,点击远程教学;若在线测试,点击网络考试;若留言,点击在线论坛;若想看看公布的信息,就点击公告栏。
图1 系统前台功能示意图
4.1.2系统后台功能示意图(如图2)
老师在登录成功后,就进入了后台管理。也可以在导航栏上选择自己需要的相应选项,进入相应的页面。若查看或删除学生信息,点击学生档;若查看或删除专业名,点击专业管理;若添加或删除课程,点击课程管理;若修改学习资料库,点击学习资料库;若修改网上直播或点播课程,点击远程教学;若修改考试内容,点击网络考试;若发布公告信息,点击公告管理;否则注销用户。
4.3 《计算机专业英语》网上教学系统的功能设计与实现
4.3.1学生登录管理模块的实现
该管理模块需要实现的功能包括学生注册(自动生成编号)、学生登录、找回密码等。
4.3.1.1学生注册
界面的实现是由Register.asp页面体现的。主要是由一些文本框,选择控件,提交、重置、关闭按钮组成。学生的编号是靠程序自动生成的。学号=220+年+月+日+cno
no=trim(rsmax("MAXID"))
if (month(date())<10) then
cmonth="0"+Cstr(month(date()))
else
cmonth=Cstr(month(date()))
end if
if (day(date())<10) then
cday="0"+Cstr(day(date()))
else
cday=Cstr(day(date()))
end if
select case len(int(Right(no,5)+1))
case 1
cno="0000"+Cstr(int(Right(no,5)+1))
case 2
cno="000"+Cstr(int(Right(no,5)+1))
case 3
cno="00"+Cstr(int(Right(no,5)+1))
case 4
cno="0"+Cstr(int(Right(no,5)+1))
case 5
cno=Cstr(int(Right(no,5)+1))
case Else
cno="00001"
end select
intno="220"+Cstr(year(date()))+cmonth+cday+cno
4.3.1.2 学生登录
登录界面由首页default.asp页面体现,它由一些基本的文本框、密码框、登录按钮组成,用户在该页面填写的学生证、密码等有自定义的mycheck()函数来处理信息。该页面代码首先判断学生证、密码是否为空,如果任一项为空就跳出警告,提示用户输入完整信息。如果都不为空就先检查用户输入的学生证、密码跟数据库中的学生证、密码是否一致,如果不一致就显示出错误信息提示用户学生证错误或密码错误。如果匹配就登录成功,就显示课程相关信息。登录的检查代码如下:
if request.Form("UserID")<>"" and request.Form("PWD")<>"" then
session("UserID")=replace(request.Form("UserID"),"'","''")
session("PWD")=replace(request.Form("PWD"),"'","''")
sql="select ID,PWD from dbo.Tab_Student where ID='"&session("UserID")&"'"
set rs=conn.execute(sql)
<script language="javascript">
alert("您输入的学生证号错误,请重新输入!"); <!--弹出一个警告对话-->
history.back(); <!--退回前一页-->
if rs("PWD")=session("PWD") then
session("flag")="登录" %>
<script language="javascript">
alert("您已经成功登录!");
window.location.href="profile.asp";
<script language="javascript">
alert("您输入的密码错误,请重新输入!");
4.3.1.3找回密码
找回密码的页面为getPWD_UID.asp、getPWD_QA.asp、getPWD_New.asp、getPWD_OK.asp依次体现。其中getPWD_UID.asp界面包括一些基本的标签、文本框和按钮。只要你输入你的正确的学生证号,点击“下一步”,就进入getPWD_QA.asp页面,它会自动显示的密码问题,你只要输入正确的密码答案就可以进入getPWD_New.asp页面(若答案错误,则会提示你重新输入),现在就可以输入你容易记住的密码(要输入两次完全一样的),电击“完成”按钮就进入getPWD_OK.asp页面。页面会再次显示新密码并提示你。在这几步过程中都要用到Mycheck()函数,在getPWD_UID.asp页面中检查学生证是否正确,在getPWD_QA.asp页面中检查密码答案是否正确,在getPWD_New.asp页面中检查两次输入的密码是否一致,如果每步都正确就把新密码写进数据库,替换掉以前的密码。将新密码写入数据库的代码如下:
UID=Replace(Request.Form("UID"),"'","''")
If UID<>"" Then
sql="Update Tab_student Set PWD='"&request.Form("PWD1")&"' Where ID='"&UID&"'"
conn.execute(sql)
4.3.2 网络考试管理模块的实现
本模块是采用的框架结构组成。左边是由Mainleft.asp组成,右边是由Mainright组成。根据左边的选项,右边出现相应的内容。其中左边有考生在线考试、考生成绩查询、退出考试系统模块。
4.3.2.1考生在线考试
阅读完考试规则,就可以按规则进行考试,试卷上有考试总时间,考生已经用掉的时间和还剩余的时间。答完后点击“交卷“就可以看到自己的答题情况(还可以看到正确的答案),同时就可以看到自己的考试成绩。考试时间的控制是由以下代码实现:
dim start_time,sec,min,hou
start_time = session("start_time")
sec = second(start_time)
min = minute(start_time)
hou = hour(start_time)
sum = hou*3600 + min*60 + sec
dim real_time,sec2,min2,hou2
real_time = now()
sec2 = second(real_time)
min2 = minute(real_time)
hou2 = hour(real_time)
sum2 = hou2*3600 + min2*60 + sec2
sum_cha = sum2 - sum
aaa =sum_cha\3600
bbb = (sum_cha mod 3600)\60
ccc = (sum_cha mod 3600) mod 60
if(ccc < 10)then
ccc = "0"&ccc
end if
if(bbb < 10)then
bbb = "0"&bbb
end if
if(aaa < 10)then
aaa = "0"&aaa
答题完了后,显示的情况由以下主要代码组成(以单选为例):
sql_2 = "select * from Tab_questions where que_lessonid = "&getlesid&" and que_type = '单选题'"
set rs_2 = server.createobject("adodb.recordset")
rs_2.open sql_2,conn,1,3
rs_2_num = 0
For i=1 to rs_2.recordcount
rs_2_num = rs_2_num + 1
if(request("single_answer["&i&"]") = "")then
response.write("无")
else
response.write(request("single_answer["&i&"]"))
end if
rs_2.movenext
总成绩是由多项选择和单项选择组成的,所以要分别先算出单项选择的成绩,多项选择的成绩,最后才能够计算总成绩。成绩的统计主要代码如下:
if(session("lesid") = "" or session("UserID") = "")then
response.Redirect("../Mainright.asp")
response.End()
end if
response.write(")
dim res_single,res_more
res_single = 0
res_more = 0
getlesid = session("lesid")
sql_1 = "select * from Tab_questions where que_lessonid = "&getlesid&" and que_type = '单选题'"
set rs_1 = server.CreateObject("adodb.recordset")
rs_1.open sql_1,conn,1,3
for i=1 to rs_1.recordcount
getsingle_answer = request("single_answer["&i&"]")
response.write("")
if(instr(rs_1("que_answer"),getsingle_answer) > 0 and (len(getsingle_answer) = len(trim(rs_1("que_answer")))))then
res_single = res_single + 1
end if
rs_1.movenext
next
rs_1.close
set rs_1 = nothing
sql_2 = "select * from Tab_questions where que_lessonid = "&getlesid&" and que_type = '多选题'"
set rs_2 = server.CreateObject("adodb.recordset")
rs_2.open sql_2,conn,1,3
for i=1 to rs_2.recordcount
getmore_answer = request("more_answer["&i&"]")
response.write("")
if((instr(rs_2("que_answer"),getmore_answer) > 0 ) and (len(getmore_answer) = len(trim(rs_2("que_answer")))))then
res_more = res_more + 1
end if
rs_2.movenext
next
rs_2.close
set rs_2 = nothing
response.write("")
single_total = res_single * 2
more_total = res_more * 5
if(session("UserID") <> "" and getlesid <> "")then
sql_3 = "select Name from Tab_Lesson where ID = "&getlesid
set rs_3 = conn.Execute(sql_3)
sql_4 = "insert into Tab_stuResult(stu_id,which_lesson,res_single,res_more,res_subdate) values("&session("UserID")&",'"&rs_3("Name")&"',"&single_total&","&more_total&",'"&Now()&"')"
rs_3.close
set rs_3 = nothing
conn.Execute(sql_4)
end if
4.3.2.2考生成绩查询
选择此选项后,在右边就显示出查询条件和关键字。本设计中只有两个条件:一是考试课程,一是考试时间。选择其中任意一个后,在关键字里输入想查询的相应内容即可,实现的主要代码如下:
getcondition = replace(trim(request("condition")),"'","''")
getkey = replace(trim(request("key")),"'","''")
if(getcondition = "" or getkey = "")then
rssql = "select * from Tab_stuResult where stu_id='"&session("UserID")&"'"
else
rssql = "select * from Tab_stuResult where "&getcondition&" like '%"&getkey&"%' and stu_id='"&session("UserID")&"' order by res_subdate desc"
end if
set rs = server.createobject("adodb.recordset")
rs.open rssql,conn,1,3
rs.pagesize = 5
'实现分页
if rs.eof then
rs_total = 0
else
rs_total = rs.recordcount
end if
dim pageno
getpageno = replace(trim(request("pageno")),"'","")
if(getpageno = "")then
pageno = 1
else
pageno = getpageno
End if
if(not rs.eof)then
rs.absolutepage = pageno
end if
4.3.3在线论坛管理模块的实现
在线论坛模块是不同于以前的模板的一个模板,它是转到另一个新的页面,不同于其他页面风格的。它有一个不同时段打招呼的时间、讨论主题的显示等功能。时钟的实现的主要代码:
var today=new Date();
var month=today.getMonth()+1
if (today.getDay()==1)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期一");}
if (today.getDay()==2)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期二");}
if (today.getDay()==3)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期三");}
if (today.getDay()==4)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期四");}
if (today.getDay()==5)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期五");}
if (today.getDay()==6)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期六");}
if (today.getDay()==0)
{document.write(" "+today.getYear()+"年"+month+"月"+today.getDate()+"日 星期日");}
根据时间来打招呼的主要代码如下:
var today=new Date()
if (today.getHours()>=7&&today.getHours()<13)
{document.write ("上午好!")}
else
{if (today.getHours()>=13 &&today.getHours()<18)
{document.write("下午好!")}
else
{document.write("晚上好!")}}
4.3.4公告栏管理模块的实现
公告栏的主要功能是显示最近发布的新信息,左边显示的标题,右边则显示相应内容。而且这个公告栏在首页也会浓缩地滚动显示出来。主要代码如下:
rs_bbs.pagesize=10
page=CLng(Request("page"))
if page<1 then page=1
rs_bbs.absolutepage=page
for i=1 to rs_bbs.pagesize
if page<>1 then %><a href=<%=path%>?page=1 class="white">第一页</a>
<a href=<%=path%>?page=<%=(page-1)%> class="white">上一页</a>
<%end if
if page<>rs_bbs.pagecount then %>
<a href=<%=path%>?page=<%=(page+1)%> class="white">下一页</a>
<a href=<%=path%>?page=<%=rs_bbs.pagecount%>class="white">最后一页</a>
4.3.5远程教学管理模块的实现
任何一个网上教学系统,都离不开视频,在本系统中,远程教学就是指在线视频学习。其中包括点播和交流与讲座;提供网上直播。这样可以增加学生的学习激情和加强学习内容的记忆。实现此功能的主要代码如下:
function MM_reloadPage(init) {
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}
MM_reloadPage(true);
4.3.6网上课堂管理模块的实现
本系统的网上课堂模块就是提供一些DOC文档的学习资料,可以选择自己的专业,然后选择自己的课程的类别,然后进入相应学习选项。这些学习内容是由教师(即管理员)添加实现的,实现此功能的主要代码如下:
LessonID=Request.QueryString("ID")
If LessonID="" Then
response.Redirect("Classroom.asp")
End If
set rs_lesson=server.CreateObject("ADODB.RecordSet")
sql_lesson="Select * from Tab_Lesson Where ID="&LessonID
rs_Lesson.open sql_lesson,conn,1,3
'查询参阅资料
Set rs_document=Server.CreateObject("ADODB.RecordSet")
sql_document="Select * From Tab_document Where LessonID="&LessonID
rs_document.open sql_document,conn,1,3
If rs_document.eof and rs_document.bof Then
document="暂无参阅资料!"
5 《计算机专业英语》网上教学系统的系统测试
5.2 测试结果
系统在上述软硬件环境下分别系统前台和系统后台的详细设计功能做出测试,结果能够达到预期效果。
学生登录界面即网站的首页,主要功能:学生注册、学生登录、找回密码。(如图3)
图3 学生登录界面示意图
远程教学模板的主要功能:显示网上点播信息,其中包括可见点播和交流与讲座;提供网上直播。(如图4)
图4远程教学界面示意图
在线考试模板主要实现功能:考试规则信息显示;选择考试课程;实时地显示用过的时间和剩余时间;显示考试试题;系统自动阅读;系统自动阅卷;显示考试成绩。(如图5)
图5在线考试界面示意图
在线论坛模板的主要实现功能:显示论坛的主题信息;显示当前系统日期和时间;显示发新贴的超链接;提供分时问候。(如图6)
图6论坛界面示意图
结 论
省略
参考文献
[1]邓文渊,陈惠贞.ASP与网络数据库技术[M].北京:中国铁道出版社,2005。
[2] 邓文渊. 挑战—Dreamweaver MX互动网站百宝箱for ASP[M].北京:铁道出版社,2005。 [3]方睿,刁仁宏.网络数据库原理及应用[M]. 四川:四川大学出版社,2005。
[4]杨仁毅.Dreamweaver MX 2004完全自学手册[M].四川:四川电子音像出版中心,2005。
[5]严亚丁.网站规范化设计实例精讲[M].北京:人民邮电出版社,2005。
[6]陈明.实用软件工程基础[M].北京:清华大学出版社,2001。
[7]宇帆.网页制作与网站建设从入门到精通[M].北京:人民邮电出版社,2006。
致 谢
省略
本项目源码及完整论文如下,有需要的朋友可以点击进行下载
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于asp+access的网上教学系统设计与实现(源码+文档)_asp_BS架构_网上教学系统.zip |