1、河北农业大学 本科毕业论文(设计)题 目:基于高校教学管理系统的设计与实现习题作业管理模块摘 要当前社会高度发展,对教育的需求超过了人们的想象,而传统的教育资源有限并会受到时间空间等多方面的限制,从而而研制和开发的一种基于网络的Browser/Server模式并可在Internet/Intranet网络环境下运行的应用软件。以实现这种方便性与互动性、开放性集于一身的教育体制,以对当前传统的教育模式提供必要的补充。本系统主要通过使用B/S模式,对习题作业信息资源进行全面、系统的管理。在整个系统开发的过程中,运用了软件工程的基本概念、相关技术和方法。并且采用Myeclipse 6.0、 SQL S
2、erver2000、PhotoShop、Dreamweaver等软件完成该系统的设计。此系统采用当前较为流行的B/S(浏览器/服务器)结构。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了管理员发布管理公告、教师管理、设置班级、课程;老师在线发布作业、批改作业、网上答疑;学生上传作业、查看作业信息、提出疑问的功能。关键词:作业管理;习题发布;无组件上传;ADO;ASP;AbstractHeight of current social development, the demand for education beyond peoples imagination, but t
3、he 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 a
4、nd 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 develop
5、ment, 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
6、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 quest
7、ion of the function.Keywords: Job management;problem;no upload component;ADO;ASP;目 录1 概述11.1问题的定义21.2 研究背景和意义42 开发平台与技术52.1 Dreamweaver52.2 B/S模式系统及其特点52.3 ASP 简介52.4 access简介62.5 无组件上传技术简介63 系统需求分析73.1 开发背景分析73.2 功能需求分析73.2.1管理员部分的主要功能要求73.2.2教师部分的主要功能要求73.2.3学生部分的主要功能要求73.3 系统功能图73.4 登陆系统流程图84 总体设
8、计与实现104.1 数据库设计104.2数据库逻辑分析104.3数据库表设计104.4 页面设计124.4.1 登录界面124.4.2公告管理界面124.4.3作业发布界面134.4.4作业评分界面134.4.5作业上传下载界面144.4.6用户管理界面145 主要代码165.1登录代码165.2上传链接代码165.3上传函数代码18总结24致谢25参考文献261 概述1.1问题的定义随着网络技术的发展,目前多种类型的网校、教育站点、网络教育学院如雨后春笋般蓬勃兴起,使得网上教育成为当今教育的热点。人们禁不住向往着一个全新的教育体制基于Internet/Intranet教育网的教育体制,在这种
9、体制下,不受时间、空间和地域的限制,不受应用软件的限制,通过计算机网络可扩展至全社会的每一个角落,甚至是全世界,这是真正意义上的开放大学。但是目前,虽然开发出相应的软件产品,但这些开发出来的软件产品不仅价格昂贵,而且对于专业课程设置不一、教育模式方法不同的各种高校来说,往往还要进行二次开发甚至根本无法应用。我校的教学特点是专业多,课程设置复杂,教师讲课门数多,教师上课及学生听课的教室不固定,教师的教学任务和学生的学习任务比较繁重,这样导致教师和学生的沟通少,不利于提高教学质量。因此,针对本校的专业课程设置,根据教学模式以及教师和学生的需求来开发在线教学系统是必要的。1.2 研究背景和意义为学校
10、各位老师提供了一个可靠的软件,更好的让学生提交作业。传统的手工操作方式,容易对自己身体疲劳,统计错误,且速度慢。这套系统可以提高管理效率和水平。网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。2 开发平台与技术2.1 DreamweaverDreamweaver是美国MACROME
11、DIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页【1】。2.2 B/S模式系统及其特点客户器/服务器系统的主要优点为能最大体现客户和服务器或客户间的交互性。作为本基于B/S模式的教学管理系统主要特点表现为:学生和老师的交互,学生几乎可以随时和老师进行互动,学生学习中问题的提出,老师对相应问题进行回答;老师通过该系统平台发布有关通知,布置作业题目、家庭学习任务等,学生既可及时地通过该系统平台得到相关信息,并可通过该系统提交自己完成的任务或作业等;老师对
12、重点难点课件或教授视频的上传,学生通过该系统加强对相应重点难点内容的学习;学生并可以通过该系统及时及时与相应老师进行交流【2】。2.3 ASP 简介ASP(读作“csharp”)作为Microsoft的下一代面向对象的语言产品能够让开发人员在IIS平台上快速地建立大量的应用程序。按照微软给出的定义,asp是一种源自于c和c+的简单的、现代的、面向对象的和类型安全的程序设计语言。asp为程序员提供了开发飞速发展的Web应用程序所需的强大而灵活的功能。asp和Java的核心与c+比较有着相同的优势和局限,比起c+,asp将更容易被人们理解和接受,未来大量NET平台的应用将由ASP开发。与HTML相
13、比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息【3】。(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库
14、、发送Email或访问文件系统等。(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取【4】。 (7)方便连接ACCESS与SQL数据库. (8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击。2.4 access简介美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下:(1)完善管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能【5】。(2)强大
15、的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等【6】。2.5 无组件上传技术简介当通过Http的POST方式上传文件时,待上传文件与表单数据一同被浏览器封装成了二进制流发送到服务器。ASP环境中Request内置对象下的BinaryRead方法可以将封装的二进制流原样读出【7】。通过分析读取出的二进制数据,可以得到待上传文件的
16、完整二进制数据,将这部分数据保存为文件,则上传工作即可完成【8】。3 系统需求分析3.1 开发背景分析该系统的开发主要是为提高目前学校作业管理的效率,重点解决了作业管理混乱、教师携带批改不方便、远程教学却无法远程提交或批改作业等问题,有效地利用了各学校现有的电脑与网络资源,促进学校全面展开信息化教学,也能使相关人员利用互联网就可以足不出户的了解到学校现有设备的情况。同时也给老师和学生提供一个互相交流的平台,可以实现垮空间、跨时间的交流,不仅节约了资源和时间,学生也能及时从老师获取反馈信息,提高学习成绩,极大地提高了工作、学习效率。为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配
17、 置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网【9】。3.2 功能需求分析3.2.1管理员部分的主要功能要求管理员登录功能,根据权限进入管理员相应的页面的功能。管理员发布公告、管理公告(查看、修改、删除)的功能。管理员修改密码的功能。管理员设置学生、科目、班级,管理,功能页面同样具有查看、修改、删除的功能。3.2.2教师部分的主要功能要求登录功能,根据权限进入教师相应的页面的功能发布公告的功能布置作业,下载学生反馈,给出分数评价的功能3.2.3学生部分的主要功能要求学生登录功能,根据权限进入学生相应的页面的功能学生查看公告的功能学生查看个
18、人资料的功能提交作业,查看分数评价的功能3.3 系统功能图习题作业管理系统注册登录密码找回学生用户登录教师用户登录管理员用户登录查看成绩打包下载作业发布修改作业添加班级添加用户数据库管理上传作业下载作业查看作业发布修改成绩删除作业添加专业通用模板修改密码查看个人资料注销系统图3-1 系统功能图3.4 登陆系统流程图图3-2系统流程图4 总体设计与实现4.1 数据库设计数据库设置采用access2007管理作业数据库。数据库文件都存储在datebase目录下。本系统采用access2007作为数据库,主要因为其以下特性:(1)集成环境、处理多种数据信息 。Access基于Windows操作系统下
19、的集成开发环境,该环境集成各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行【10】。 (2)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接【11】。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intr
20、anet的应用。42数据库逻辑分析数据库的逻辑分析可分为以下几步:( 1 ) 将概念结构转换为一般的关系、网状、层次模型;( 2 ) 将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;( 3 ) 对数据模型进行优化【12】。针对本系统所涉及的实体,以及实体间的关系,我所列出如下属性组合:作业课程(编号,课程名称,标题,附件,说明)课程类别(编号,所属专业,教师人数,学生人数)公告(编号,标题,内容)个人信息(用户名,真实姓名,性别,专业,类别,电话)4.3数据库表设计根据需求分析,需要将用户录入的用户信息及课程信息存储到到数据库中,便于用户以后查看。表4-1为所发布作业的数
21、据表。表4-1作业课程字段名字段类型宽度索引备注编号Int8名称文本7主索引作业所属课程的名称标题文本12教师发布作业的标题附件2M发布作业时的附件点评文本150老师手动键入批语内容备注8K对作业的详细描述表4-2为课程类别数据表,通过建立课程类别,对课程编号进行索引,记录筛选所选课程的学生教师人数。表4-2课程类别字段名字段类型宽度索引备注编号文本10主索引课程ID所属专业文本10学生人数Int10选学的学生人数教师人数Int10开设该学科教师人数表4-3为公告模块数据表,通过建立公告的数据库,可以记录教师以及管理员所发布的公告信息。表4-3公告字段名字段类型宽度索引备注编号Int8标题文本
22、12教师发布公告的标题内容备注8K对公告的详细描述表4-4是个人信息数据表,建立个人信息数据库,记录教师学生的个人信息,对用户名的索引,可以记录查询个人相关信息。表4-4个人信息字段名字段类型宽度索引备注用户名Int12主索引真实姓名文本12性别文本12专业 文本20所属专业类别文本20教师or学生电话Int204.4 页面设计4.4.1 登录界面当系统登陆时,首先出现的是一个用户登陆的界面, 输入正确的用户名和密码后才能进行操作,否则将不能进行操作。如下图4-1所示:图4-1 登录界面4.4.2公告管理界面登陆成功后,拥有教师权限的操作员可以对公告进行管理。界面如下图4-2所示:图4-2 公
23、告管理界面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登录代码登录系统的代码如下:用户登陆用户名:密码:退出登陆5.2上传链接代码本系统采用无组件上传模式,首先编写一个上传函数asp,然后使用链
24、接语句调用此函数,上传链接的代码如下:文件上传%dim upload,file,formName,formPath,iCountdim uname,upic,unopedim checkcodeset upload=new upload_5xsoft 建立上传对象formPath=./uploadfileif right(formPath,1)/ then formPath=formPath&/iCount=0Response.Write(文件上传成功!)for each formName in upload.objFileset file=upload.file(formName)if fi
25、le.FileSize0 thenfile.SaveAs Server.mappath(formPath&file.FileName)checkcode=upload.form(checkcode)uname=upload.form(uname)upic=formPath&file.FileNameSaveFileName = file.FileNameResponse.codepage=636Response.Buffer = TrueResponse.Addheader Content-Type,text/html; charset=gb2312Server.ScriptTimeout=9
26、9dim actact=upload.form(act) Response.write & SaveFileName &文件上传成功!Response.Write()Response.Write(window.opener.document.getElementById(&act&).value = UploadFile/&SaveFileName&;)Response.Write(window.close();)Response.Write()iCount=iCount+1end ifset file=nothingnextset upload=nothing 删除此对象Htmend iCo
27、unt& 个文件上传结束!sub HtmEnd(Msg)set upload=nothingResponse.Write()Response.Write(alert(内容已经提交!);)Response.Write(window.opener.location.reload();)Response.Write(window.opener.parent.location.reload();)Response.Write(window.close();)Response.Write()response.endend sub%5.3上传函数代码通过上述链接可直接调用上传函数的asp,上传函数的代码如
28、下:%dim Data_5xsoftClass upload_5xsoftdim objForm,objFile,VersionPublic function Form(strForm) strForm=lcase(strForm) if not objForm.exists(strForm) then Form= else Form=objForm(strForm) end if end functionPublic function File(strFile) strFile=lcase(strFile) if not objFile.exists(strFile) then set Fi
29、le=new FileInfo else set File=objFile(strFile) end if end functionPrivate 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=化境HTT
30、P上传程序 Version 2.1 set objForm=Server.CreateObject(Scripting.Dictionary) set objFile=Server.CreateObject(Scripting.Dictionary) if Request.TotalBytes1 then Exit Sub set tStream = Server.CreateObject(adodb.stream) set Data_5xsoft = Server.CreateObject(adodb.stream) Data_5xsoft.Type = 1 Data_5xsoft.Mode
31、 =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) iFo
32、rmStart=iFormStart+iStart+1 while (iFormStart + 10) 0 thenset theFile=new FileInfo取得文件名iFindStart = InStr(iFindEnd,sInfo,filename=,1)+10iFindEnd = InStr(iFindStart,sInfo,1)sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)theFile.FileName=getFileName(sFileName)theFile.FilePath=getFilePath(sFileN
33、ame)theFile.FileExt=GetFileExt(sFileName)取得文件类型iFindStart = InStr(iFindEnd,sInfo,Content-Type: ,1)+14iFindEnd = InStr(iFindStart,sInfo,vbCr)theFile.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)theFile.FileStart =iInfoEndtheFile.FileSize = iFormStart -iInfoEnd -3theFile.FormName=sFormNameif no
34、t objFile.Exists(sFormName) then objFile.add sFormName,theFileend ifelse如果是表单项目tStream.Type =1tStream.Mode =3tStream.OpenData_5xsoft.Position = iInfoEnd Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3tStream.Position = 0tStream.Type = 2tStream.Charset =gb2312 sFormValue = tStream.ReadText tStream.C
35、loseif objForm.Exists(sFormName) then objForm(sFormName)=objForm(sFormName)&, &sFormValueelse objForm.Add sFormName,sFormValueend ifend ifiFormStart=iFormStart+iStart+1wend RequestData= set tStream =nothingEnd SubPrivate Sub Class_Terminate if Request.TotalBytes0 thenobjForm.RemoveAllobjFile.RemoveA
36、llset objForm=nothingset objFile=nothingData_5xsoft.Closeset Data_5xsoft =nothing end ifEnd 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 GetFi
37、leExt = 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 functionEnd ClassClass FileInfo dim FormName,FileName,FilePath,FileSize,FileExt
38、,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