《计算机实验室教学管理系统的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《计算机实验室教学管理系统的设计与实现毕业设计论文.doc(35页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)计算机实验室教学管理系统的设计与实现论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:计算机实验室教学管理系统的设计与实现摘 要随着计算机应用比例逐年增多,实现计算机实验室教学管理自动化也变得越来越必要,它既可以方便老师管理学生的基本数据,也可以使学生在上机的时候能够在线提交实验报告,上机后对实验结果进行保存。该毕业设计采用B/S模式开发,采用ASP实现前后台的数据交互,SQL Sever 2000作为数据库服务器。该系统实现了计算机实验室教学管理的自动化,系统分为管理员(老师)和学生两种权限,主要实现了实验环境的配置、学生信息的管理、老师信息的管理
2、、班级的管理、实验报告的管理等功能。学生可以利用此系统修改上机的密码、做实验、提交实验报告;管理员(老师)可以通过该系统查看学生的实验报告,设置班级、老师、学生的基本信息等。关键词:ASP;SQL Sever;教学管理The Design and Implementation of Computer Laboratory Teaching Management System AbstractWith continuously development of computer application, automation of computer lab management becomes mo
3、re and more necessary, which can not only convenience teacher in managing basic data of student ,but also convenience student in submitting experiment report online and saving experiment result.This system is based on B/S mode. ASP dynamic web technology is used as its main development language to a
4、chieve data interactivity between foreground and background. SQL Server 2000 is used as a database server in background. The computer lab management system implements automatism of computer lab management, which has two authorizations-manager and student. The main functions of the system are experim
5、ent environment deployment,,student information management, teacher information management, class management and experiment report management. Students can update password, do experiment and submit experiment reports in this system, teachers can query experiment report, set information of class, tea
6、cher, student. and so on. .Key words: ASP;SQL server 2000;teaching management 目 录论文总页数:24页1引言11.1课题背景11.2本课题研究的意义11.3本课题研究的方法12开发语言及平台简介12.1开发语言12.1.1ASP简介12.1.2SQL server 2000语言简介32.1.3Javascript简介42.2B/S模式简介43系统功能模块设计43.1系统概述43.2主要功能模块43.3数据库结构设计63.4计算机实验室教学管理系统的设计与实现73.4.1登陆界面73.4.2系统菜单93.4.3常规设置
7、143.4.4用户管理163.5系统主关键点测试193.5.1进入系统首页测试193.5.2老师管理表测试193.5.3学生管理表测试203.5.4软件路径设置测试203.5.5实验报告的搜索测试21结 论21参考文献22致 谢23声 明241 引言1.1 课题背景随着计算机信息技术的发展,计算机在教育领域应用日趋广泛。计算机上机的比例逐年增多;为了计算机实验室的管理更加方便,也使学生在上机的时候能够更灵活的处理所遇到的问题,上机后学生的上机的结果的保存与收集都是需要考虑的问题。本毕业设计利用internet技术,开发一个计算机实验室的教学管理系统。1.2 本课题研究的意义随着计算机信息技术的
8、发展,计算机在教育领域应用日趋广泛。计算机上机的比例逐年增多;为了计算机实验室的管理更加方便,也使学生在上机的时候能够更灵活的处理所遇到的问题,上机后学生的上机的结果的保存与收集都是需要考虑的问题。本毕业设计利用internet技术,开发一个计算机实验室的教学管理系统。老师可以利用此系统配置实验环境,管理班级、老师、学生的基本信息,查看学生的实验报告,收集学生上机实验结果。学生可以利用此系统,缴交作业、交流学习心得等。要求能够为每门课程、每个老师提供比较完善的解决方案.通过本系统的设计和开发不仅可以考查我综合运用以前所学知识的能力,同时也使我了解了当今网编程的一些新技术;锻炼了我的实际动手能力
9、,对于我以后工作能力的培养具有重要的意义1.3 本课题研究的方法本次毕业设计应首先分析计算机实验室教学管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,选择ASP+ SQL Server进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,保存好相关的设计文挡,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。其中,计算机实验室教学管理系统是典型的信息管理系统,该系统的开发主要包括后台数据库的建立.维
10、护和前端应用程序的开发三个方面。对于前者要求建立数据一致性和完整性强,前台应用程序系统要求应用程序功能完备, 易于使用和界面友好等等。2 开发语言及平台简介2.1 开发语言2.1.1 ASP简介Microsoft Active Server Pages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS 3.0和4.0中,通过ASP我们可以结合HTML网页、 ASP 指令和 ActiveX元件建立动态、交互且高效的WEB服务器应用程序。在ASP中必担心所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览
11、器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页内容。通过ASP可以结合HTML网页。ASP指令建立动态、交互且高效的WEB服务器应用程序。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。ASP程序其实是以扩展名为.使用VBScript、Jscript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。1. 无须使用compile编辑,容易编写,可在服务器端执行。2. 使用普通的文本编辑器,
12、如 Windows 的记事本,即可进行编辑设计。3. 与浏览器无关(Browser Independence),用户端只要使用可执行 HTML 码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。Active Server Pages 所使用的脚本语言(VBScript、Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。4. Active Server Pages 能与任何ActiveX scripting语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他
13、脚本语言,譬如 REXX、Perl、Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。 5. Active Server Pages的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃也提高了程序的安全性。6. 可使用服务器端的脚本来产生客户端的脚本。7. 物件导向(Object-oriented)。8. ActiveX Server Components(ActiveX 服务器元件)具有无限可扩充性。可以使用Visual Basic、Java、Visual C+、COBOL等编程语言来编写你所需要的ActiveX Server
14、Component。ASP(Active Server Pages)提供五个内置的“对象”(object),可直接调用。1. Request:取得用户信息。2. Response:传送信息给用户。3. Server:提供访问服务器的方法(methods)和属性(properties)的功能。4. Application:一个应用程序,可以在多个主页之间保留和使用一些共同5. Session:一个用户.可以在多个主页之间保留和使用一写共同的信息.在多个主页之间共享信息.ASP开发的应用程序,可以在多个主页之间保留和使用一些共同的信息,ASP提供两种使用范围,如下:1. Application:
15、Applicationd的所有信息,在一个应用程序,多个主页之间,可以让所有用户共同使用。2. Session:Session的所有信息,仅适用于一个用户。 2.1.2 SQL server 2000语言简介SQL Server是“结构化查询语言(Structured Query Language)的简称。SQL是用户操作关系数据库的通用语言,SQL虽然叫结构化查询语言,其查询操作确实是数据库中的主要操作,包含数据定义、数据操纵和数据控制等与数据库有关的全部功能。SQL语言是1974年由Boyce和Chamberlin提出的。SQL Server语言的特点:SQLserver之所以能被用户和业
16、界所接受并成为国际标准,是因为它是一个综合的,功能强大且又简洁易学的语言,其主要特点有:(1) 一体化;(2) 高度非过程化;(3) 语言简洁;(4) 有多种方式使用。SQL Server语言的组成可分为以下几部分:(1) 数据定义语言(Data Definition language):实现定义、删除和修改数据库对象的功能。(2) 数据查询语言(Date Query language):实现查询数据的功能。(3) 数据操纵语言(Date Manipulation language):实现对数据库数据的增加、删除和修改功能。(4) 数据控制语言(Date Control language):实
17、现控制用户对数据库的操作权限的功能。SQL Server允许用户在高层数据结构上工作,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。数据库,顾名思义,是存入数据的仓库。只是这个仓库是建立在计算机存储设备上的,而且数据是按一定格式存放的。长期储存在计算机内的、有组织的、可共享的数据集合是数据库的一个简单定义。数据库管理是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理。管理的主要内容有:数据库的建立、数据库的调整、数据
18、库的重组、数据库的重构、数据库的安全控制、数据的完整性控制和对用户提供技术支持。介于SQL Server一系列以上的优点,所以在开发本系统时采用SQL Server2000,作为数据库工具。2.1.3 Javascript简介JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java
19、与HTML折衷的选择。JavaScript是一种新的描述语言,它可以被嵌入到HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件,而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。2.2 B/S模式简介B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在
20、前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据.3 系统功能模块设计3.1 系统概述老师可以利用此系统配置实验环境、管理班级、老师、
21、学生的进本信息、查看学生的实验报告;学生可以通过该系统做实验,提交实验报告等。3.2 主要功能模块本系统根据学生和管理员两种身份划分了3大模块:系统菜单、常规设置、用户管理。如图3.1所示。计算机实验室教学管理系统系统菜单常规设置用户管理系统帐号管理教师管理/教师添加学生管理/学生添加软件路径设置职务设置班级设置登录密码设置实验报告管理我的报告/添加报告系统主页图3.1系统功能模块图其中学生可以操作的模块有各模块如下:系统主页、登录密码设置、我的实验报告/添加报告。管理员可以操作的模块有:系统主页、登录密码设置、实验报告管理、班级设置、职务设置、软件路径设置、学生管理/学生添加、教师管理/教师
22、添加、系统帐号管理。1. 系统菜单管理:1) 实验报告的管理:管理员(老师)可以搜索、查看学生的实验报告;2) 登录密码设置:修改自己的登录密码。2. 常规设置管理:1) 班级设置管理:对班级的添加和删除已经不存在或者不需要使用该系统的班级;2) 职务设置:对任课老师的添加或者删除;3) 软件路径设置:对学生进行实验所需的软件环境进行配置。3. 用户菜单:1) 学生信息管理:对新进的学生名单进行添加,对已经离校或者不需要再上机的学生名单进行删除;2) 教师信息管理:对新的老师的添加,对已经离校的老师或者已经不再进行授课的老师的删除;3) 系统管理员管理:对系统管理员帐号的设置和修改。3.3 数
23、据库结构设计该系统的数据库中主要包括四张表,分别是SQL系统环境信息表(system),老师编号已及姓名信息表(class),实验报告信息表(articla),测试的老师已及学生信息表(user)。功能如表4.1所示。表3.1数据库表介绍数据表描述systemSQL系统环境信息表class老师编号已及姓名信息表articla实验报告信息表user测试的老师已及学生信息表1. 系统环境信息表system系统环境信息表用于存放用户的帐号等信息。包括软件编号(id)、软件图片(photo)、软件路径(filedepth)、用户类型(title)、其中ID作为主关键字,该表结构如下表所示。表3.2系统
24、环境信息表字段名数据类型及长度说明备注idInt(4)软件编号主关键字photoChar(50)软件图片Not nullfiledepthChar(100)软件路径not nulltitleInt(4)软件类型 not null2. 老师、班级信息表 class该表存放了用户的详细信息。包括老师、班级编号(ID)、用户类型(channleID)、用户名称(title)老师班级详细编号(orderID)其中,用户编号(id)为主关键字。该表结构如下表所示。表3.3老师、班级信息表 class字段名数据类型及长度说明备注idInt(4)班级、老师编号主关键字ChannleIDInt(4)用户类型名
25、No nulltitleChar(50)用户名称No nullorderIDInt(4)老师、班级详细编号No null3. 实验报告信息表Article该表存放了实验报告的各个信息。包括实验报告编号(ID)、实验报告名(title)、实验报告内容(content)、实验报告者的姓名(author)、实验报告者的编号(userID)学号(usernumber)、真实姓名(turename)实验报告提交时间(updatetime)。其中实验报告编号是主关键字,该表结构如下表所示。表3.4实验报告信息表Article字段名数据类型及长度说明备注idInt(4)实验报告编号主关键字titleChar
26、(500)实验报告名No nullcontentChar(6000)实验报告内容No nullauthorChar(500)实验报告者的姓名No nulluserIDInt(4)实验报告者的编号No nullUsernumberInt(6)学号No nullTurenameChar(500)真实姓名No nullUpdatetimeChar(10)提交时间No null4. 测试的老师已及学生信息表user该表介绍了该系统的所有测试用户信息。包括测试编号(id)、用户类型(usertype)、测试的人员类型(usernumber)、登陆密码(password)、真实姓名(turename)、性
27、别(sex)、测试者所在班级或老师类型(classes)、测试时间(prevtime),其中职位编号(id)为主关键字。该表结构如下表所示。表3.5测试的老师已及学生信息表字段名数据类型及长度说明备注idInt(4)编号主关键字usertypeint(4)职位名No nullUsernumberChar(10)测试人员类型No nullPasswordChar(50)登陆密码No nullTurenameChar(500)真实姓名No nullSexChar(500)性别NullclassesChar(500)测试者所在的班级或者老师类型nullprevtimeChar(10)测试时间null
28、3.4 计算机实验室教学管理系统的设计与实现3.4.1 登陆界面登陆界面是用于老师和学生登录计算机实验室教学管理系统的界面,其风格如图所示:图3.2系统登录界面当用户登陆的时候,首先用户填写登陆信息表单,然后通过myflag.asp取得用户填写的信息并连接数据库表user中的password和usernumber来验证用户是否合法。如果合法就进入计算机实验室管理系统的主界面admin_left.asp,如果不合法系统则会提示输入合法的用户名和密码。系统登陆界面的主要代码如下:Set rs=Server.CreateObject(Adodb.Recordset)rs.open Select *
29、From R_User where UserNumber=&UserNumber& and Password=&Password&,conn,1,3 /数据库的查询 验证用户登录的合法性IF not(rs.bof and rs.eof) Then IF Password=rs(Password) Then rs(Login)=rs(Login)+1 /如果登录的密码和用户名正确就进入下一个连接rs(PrevTime)=rs(Lastlogin) /上次登录的时间rs(PrevIP)=rs(LoginIP) /上次登录的IPrs(Lastlogin)=Now()rs(LoginIP)=CFUse
30、rIP() rs.updateSession(ID)=rs(ID) /调用session对象,存储用户 Session(UserType)=rs(UserType) /调用session对象,存储用户类型Session(UserNumber)=rs(UserNumber) /调用session对象,存储用户帐号或者学号Session(TrueName)=rs(TrueName) /调用session对象,存储用户的真实姓名Session(PrevTime)=year(rs(PrevTime)&-&month(rs(PrevTime)&-&day(rs(PrevTime) /调用session对
31、象,存储用户上次登陆的时间Session(PrevIP)=rs(PrevIP) /调用session对象,存储用户上次登陆的IPSession.Timeout=100 End IF rs.close Set rs=nothing conn.close Set conn=nothing /关闭数据库连接,释放内存 response.Redirect Admin_Index.asp / 重定向进入到系统主页 response.End()Elsers.closeSet rs=nothingconn.closeSet conn=nothing /关闭数据库连接,释放内存response.Redirec
32、t Index.asp / 重定向到系统主页3.4.2 系统菜单1. 系统主页当用户通过登录界面index.asp登陆成功后就会进入系统主页,如图3.3所示:图3.3管理员登录主界面系统主页由三个大的框架作成:admin_top.asp、admin_left.asp、admin_main.asp。在admin_top.asp中可以看到登录者的姓名,上次登录的时间和IP;在admin_left.asp中,如果登录者是学生,则进入如图3.4所示系统主界面,当学生要做实验时,直接点击主界面右部的图标就可以进入实验环境,进行实验。实验环境是在软件路径设置system.asp中实现的,在左侧的系统菜单里
33、面可以查看已提交的实验报告,可以写实验报告并提交,还可以进行登陆密码的设置。如果登录者为管理员(老师),则进入如图3.3左所示的主界面, 实验报告的管理:管理员(老师)可以搜索、查看学生的实验报告;登陆密码设置:修改自己的登录密码;班级设置管理:对班级的添加和删除已经不存在或者不需要使用该系统的班级;职务设置:对任课老师的添加或者删除;软件路径设置:对学生进行实验所需的软件环境进行配置;学生信息管理:对新进的学生名单进行添加,对已经离校或者不需要再上机的学生名单进行删除;教师信息管理:对新的老师的添加,对已经离校的老师或者已经不再进行授课的老师的删除;系统管理员管理:对系统管理员帐号的设置和修
34、改。图3.4学生登录的主界面主界面程序的实现需要调用myflag.asp。myflag.asp的主要代码如下:PageUrl=Lcase(request.servervariables(script_name) /获的文件路径PageUrl=Mid(PageUrl,InstrRev(PageUrl,/)+1) /按位输出的文件名字Select Case PageUrl /判断数据PageUrl的值Case admin_index.asp onflag=1 IF Session (UserType)onflag Then Call NoPage() End IFCase admin_left.a
35、sp onflag=1 IF Session(UserType)onflag Then Call NoPage() End IFCase admin_main.asp onflag=1 IF Session(UserType)onflag Then Call NoPage() End IFCase admin_top.asp onflag=1 IF Session(UserType)onflag Then Call NoPage() End IFCase article.asp onflag=1 IF Session(UserType)onflag Then Call NoPage() End
36、 IFCase password.asp onflag=1 IF Session(UserType)onflag Then Call NoPage() End IF Case manage_article.asp onflag=2 IF Session(UserType)onflag Then Call NoPage() End IFCase Else /当PageUrl和以上的所有的文件名都不匹配,就执行该操作 onflag=10 IF Session(UserType)onflag Then Call NoPage() End IFEnd Select /终止Select Case2. 我
37、的报告/报告的添加这两个功能只有学生有权限进行操作。“我的报告”是在学生提交实验报告后,为了确信已提交报告,可点击“我的报告”就可以看到自己已经提交了的报告。如图3.5所示:图3.5我的报告我的报告的主要代码如下:% sql=Select * From R_Article where UserID=&Session(ID)& Order By UpdateTime desc set rs=server.CreateObject(ADODB.RecordSet) /创建一个新的数据库记录rs.open sql,conn,1,1if rs.bof and rs.eof then /如果没有任何的记
38、录response.Write response.Write 暂无数据信息response.Write ElsetotalPut=rs.recordcount rs.move (currentPage-1)*MaxPerPage rs.pagesize=MaxPerPage /得到每页数 mpage=rs.pagecount i=0Do while not rs.eof%报告的添加则是为了使学生在做完实验后,方便记录实验的数据、实验结果而设计的,当实验结束后,返回主界面,点击“报告添加”,就能如图3.6所示,在“报告标题”和“报告内容”的框内输入相应的内容,然后点击“确认添加”,主要代码: 这
39、里通过对用户名的检测,检测完毕若符合,则返回true(真),不符合返回false(假),只有当这个值为true(真),才进行提交所添加的实验报告,否则就不能提交。当实验报告就添加成功后,所添加的数据保存在SQL server数据库表article中。图3.6添加报告3. 实验报告管理只有老师有权限操作这个功能。为了方便要查看学生实验报告,直接在搜索栏输入实验报告的名字或者是学生的姓名,就可以查看到已经提交的实验报告。通过myflag.asp中的代码进行页面的跳转,myflag.asp中的主要代码:Case manage_article.asp onflag=2 IF Session(UserT
40、ype)onflag Then Call NoPage() End IF通过连接conn.asp调用数据库记录,修改后的结果保存在数据库表article中。下面是article.asp里面的关键代码:Sub SaveAdd()Title=trim(request(Title)Author=trim(request(Author)IF Title= or Author= or trim(request(Content)= Thenresponse.Write alert(有必填项为空!);history.go(-1);response.End()End IFSet rs=Server.Creat
41、eObject(Adodb.recordset) /创建一个新的数据库记录rs.open Select * From R_Article,conn,1,3 /数据库的代入查询rs.addnewrs(Title)=Titlers(Author)=Authorrs(Content)=HTMLEncode1(request(Content)rs(UserID)=Session(ID)rs(UserNumbe)=Session(UserNumber)rs(TrueName)=Session(TrueName)rs(UpdateTime)=now()rs.update /更新sql server数据库记
42、录rs.close /关闭记录集Set rs=nothing /显式声明该变量为无conn.closeSet conn=nothing /关闭数据库连接,释放内存response.Redirect ? /载入新的网页End Sub4. 登录密码设置用户可以通过登录密码的设置来修改录密码。通过myflag.asp进行密码修改的页面跳转,主要代码如下:Case password.aspnflag=1IF Session(UserType)onflag ThenCall NoPage()End IF 再调用conn.asp中的数据库记录来实现密码的修改,修改数据写入数据库里的user表中的Passw
43、ord,然后更新数据库,登录密码便修改成功。下面是password.asp里的关键代码:Set rs=Server.CreateObject(Adodb.recordset) /创建一个新的数据库记录rs.open Select* From R_User where ID=&Session(ID)& and UserNumber=&Session(UserNumber)& and Password=&OldPassword&,conn,1,3 /数据库的代入查询IF rs.bof and rs.eof Then /如果有记录就执行下面的程序response.Write alert(旧密码错误!);history.go(-1);response.End()End IFrs(Password)=Password /设置密码rs.update /更新sql server数据库记录rs.closeSet rs=nothingconn.closeset conn=nothing /关闭数据库连接,释放内存response.Writeale