基于asp的学生成绩管理系统

基于asp的学生成绩管理系统

ID:33171616

大小:2.36 MB

页数:97页

时间:2019-02-21

上传者:U-22107
基于asp的学生成绩管理系统_第1页
基于asp的学生成绩管理系统_第2页
基于asp的学生成绩管理系统_第3页
基于asp的学生成绩管理系统_第4页
基于asp的学生成绩管理系统_第5页
资源描述:

《基于asp的学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要随着Internet的快速发展,数据库技术的进一步成熟,建立能业务化工作的学生成绩管理系统是当前高校管理部门的迫切要求。文章参考了目前国内高校学生管理的发展情况和管理模式,借鉴了目前国内先进的大型管理系统,对高校学生成绩管理进行了总体设计,建设了“基于Web的”运行平台,采用SQLServer2000作为后台数据库,采用ASP和ADO技术对数据库进行操作及维护,实现了方便快捷的Web前端登录和查询。首先,论文介绍了系统的开发环境,包括服务器环境和开发语言,其中在服务器环境中主要进行了对客户机/服务器(C/S)和浏览器/服务器(B/S)两种结构的比较,结果是:浏览器/服务器模式中的客户机使用的是统一的浏览器界面格式,便于操作,简单易行,有利于提高工作效率,易于实现不同网络间的连接。还讨论了SQLServer数据库系统及Web数据库的常用访问技术,通过比较几种方法的优缺点,得出的结论是:用ASP技术访问学生成绩数据库具有易实现、功能强大、效率高等优点,最后确定出本系统使用目前流行的技术方案——微软公司提出的Windows环境下的IIS+ASP+SQLServer结合开发Web服务器应用程序,它为快速开发出动态、交互、高效的WEB管理系统提供了有效的手段。在开发语言中主要介绍了动态网页和静态网页的区别以及几种脚本语言,由于VBScript脚本语言简单易学,所以在该系统的设计中选择使用了VBScript作为其脚本语言。接着,论文介绍了学生成绩管理系统的数据库设计和界面设计,在SQLServer2000数据库中建立四个表,分别是用户注册资料表、学生资料表、课程信息表和成绩数据表,然后通过不同的约束使其相互关联,再使用ASP和ADO技术相结合来实现学生成绩数据库的访问,并且可通过友好的界面使各种操作简单快捷。本系统可以实现以下主要功能:①教师、学生及家长实现网上查询功能,包括:学生资料、所选课程、考试成绩等的查询;②教务管理人员实现网上查询、修改和删除功能;③系统管理员除实现以上功能外,还可以设置其他用户的权限级别。然后,论文介绍了在系统设计中需要解决的一些关键技术问题及解决方法,其中主要包括与SQLServer数据库的连接和数据库的备份与还原。系统的主要技术及特点有:①系统的方便易用性:基于B/S结构,系统的开发和维护都在服务器端,用户端只需安装浏览器,就可上网登录使用系统,界面友好方便,易于使用;②实时共享性:本系统不受链接用户限制,具有个性化特征,合法的用户根据相应的级别享受不同的信息服务,满足了不同需求的用户;③查询的多样性:本系统可I 实现任意条件的组合查询,以分页方式输出查询结果;④可靠的安全性:本系统基于WindowsNTServer安全性策略和IIS安全性策略,这些都是系统安全性的基本保证。⑤可靠的数据库事务处理,保证了数据库操作的可靠性和安全性。最后,论文提出了该系统经测试运行后存在的主要问题是对用户的访问权限控制不是很理想,下一步工作拟采用基于角色的权限访问控制的方法来解决访问权限控制的问题。关键词:浏览器/服务器结构,WEB数据库,ASP,ADO,学生成绩管理系统II ABSTRACTWiththedevelopmentofInternetandthematurityofdatabase,itisexigentlynecessarytoestablishastudentmanageinformationsystem.Byreferencetothedevelopmentofstudentmanagemodeindomesticcollegestodayandwiththehelpoflargeadvancedmanagesystem,themanagesystemofstudent’sstudingresultswasdesignedandthe“Web-based”operationplatformwasbuiltup.SQLServer2000wasusedasitsbackgrounddatabase,ASPandADOtechnologywereadoptedtooperateandtosafeguardthedatabase.Withthissystem,registeringandsearchinginformationcanbeveryconvenientbystudents.Inthepaper,thesystemdevelopingenvironmentwasintroduced,includingserverenvironmentanddevelopmentoflanguage.InserverenvironmentamajorcomparisonbetreenC/SandB/Sstructureswasmade.ItwasfoundthataunifiedbrowserinterfaceformatisusedbyB/Smodeclient,soitiseasytooperateandtoimproveworkefficiency,andisfavorabletorealizetheconnectionbetweendifferentnetworks.TheSQLServerdatabasesystemandWebdatabaseaccesstechnologywerealsodiscussedbycomparingtheadvantagesanddisadvantagesofseveralmethods.TheconclusionisthattheASPtechnologyismorepowerful,higherefficiencyandiseasierforstudenttovisitdatabase.FinallythesystemusingthecurrentpopulartechnologyprogrammedevelopedbyMicrosoftwasemployedwhichcombiningIISandASPandSQLServerfordevelopingaWebserverapplicationatthewindowsenvironment,andprovidingavalidmeansfordevelopingadynamicintercommunicationandeffectivewebmanagementsystem.InthedevelopmentoflanguagethedynamicandstaticWebpages,aswellasthedistinctionofseveralscriptinglanguageswereintroduced.VBScriptscriptlanguageiseasiertolearn,soitwaschoseninthedesignasthescriptinglanguage.Thedesignofdatabasemanagementsystemandinterfacewerealsointroduced.IntheSQLServer2000databasefourtablesincludinguserregistinginformationtable,studentdatatable,courseinformationtableandscoredatatablewereestablishedandtheninterrelatedbydifferentbinders.ThenASPandADOwerecombinedtorealizethestudentachievementdatabaseaccess.Withvariousfriendlyinterfacestheoperationwasmadetobesimpleandquick.Thesystempossessesthefollowingmajorfunctions:①teachers,studentsandparentscanrequireonlineaboutstudent’simformation,selectedIII coursesandexaminationresults;②Senatemanagerscanmodifyanddeletesomedateonline;③systemmanagerscansetpurviewlevelsforotherusersbesideabovementioned.Somekeyproblemsofthetechnicalandthesolutions,whichincludetheSQLServerdatabaseconnectivityanddatabasebackupandrestorewerestatedinthesystemdesign.Themaintechniqueandcharacteristicsareasfollows:①Convenienceandsimple.BasedonB/Spattern,systemdevelopmentandmaintaincanberunonlyontheserverpart,anduserscanoperatesystemonthewebonlybyabrowser.Furthermore,thesystemhasanamityandconvenienceinterface,soitiseasytooperate;②Therealtimeandsharequality.Thesystemsupportsunlimitednumberofusers.Legaluserscanenjoyappropriateserviceaccordingtohisright,andcanbesatisfiedwithdifferentrequirements;③Varietyofsearching.Thissystemcanrealizeassemblageconditionsearch,andseparatethesearchresultsfrompages;④Reliablesecurity.ThissystemadoptsWindowsNTServersafetystrategyandIISsafetystrategy,andthereforeprovidesasafetyguaranteewithit;⑤Thedatabasebusinesshandle.Itensuresdependabilityandsafetyofthedatabase.Finally,amainproblemofthesystemwaspresentedafterrunningtest,whichisthattheuseraccesscontrolisnotverysatisfactory.Thenextworkistoresolvetheissueofaccesscontrolbasedonthecompetenceoftheroleofaccesscontrolmethods..Keywords:B/SWebDatabaseStructure,ASP,ADO,ScoreManagementSystemforStudentsIV 目录摘要...........................................................................................................................IABSTRACT..................................................................................................................III1绪论..........................................................................................................................11.1问题的提出............................................................................................................11.2教学管理信息系统的发展与研究现状................................................................21.3课题实现目标........................................................................................................31.4系统开发的软、硬件环境....................................................................................41.5开发计划................................................................................................................41.6全文概要................................................................................................................51.7自己做的主要工作................................................................................................51.8本章小结................................................................................................................62开发环境介绍..............................................................................................................72.1服务器环境............................................................................................................72.1.1C/S结构与B/S结构.......................................................................................72.1.2IIS集成技术.....................................................................................................82.1.3配置ASP运行环境....................................................................................102.1.4MicrosoftSQLServer数据库系统...............................................................132.1.5数据库的安全管理.......................................................................................162.1.6Web开发语言ASP.......................................................................................192.1.7ASP.NET简介...............................................................................................232.1.8ASP访问Web数据库...................................................................................242.2开发语言..............................................................................................................262.2.1HTML和HTTP............................................................................................262.2.2Web页与Web站点.....................................................................................262.2.3Web应用程序...............................................................................................272.2.4动态网页与静态网页...................................................................................27V 2.2.5脚本语言........................................................................................................282.2.6Transact-SQL语言........................................................................................302.3本章小结..............................................................................................................303学生成绩管理系统需求分析.....................................................................................313.1陕西理工学院教学管理系统建设概述..............................................................313.2设计原则..............................................................................................................313.3学生成绩管理系统业务分析..............................................................................333.4学生成绩管理系统平台总体建设任务..............................................................333.5系统模型..............................................................................................................353.6本章小结..............................................................................................................374学生成绩管理系统数据库设计.................................................................................384.1数据库结构设计..................................................................................................384.2数据库表的设计..................................................................................................384.2.1用户注册资料表............................................................................................404.2.2学生资料表....................................................................................................414.2.3课程设置表....................................................................................................414.2.4成绩数据表....................................................................................................424.3数据的完整性......................................................................................................434.3.1设置主键约束(PRIMARYKEY)............................................................434.3.2设置唯一约束(UNIQUE).........................................................................444.3.3设置外键约束(FOREIGNKEY).............................................................464.3.4设置检查约束(CHECK)..........................................................................484.4本章小结..............................................................................................................495学生成绩管理系统界面介绍.....................................................................................505.1用户验证界面......................................................................................................505.1.1注册界面........................................................................................................505.1.2登录界面........................................................................................................515.1.3更改权限级别界面........................................................................................535.2学生资料管理界面..............................................................................................53VI 5.2.1添加学生资料...............................................................................................535.2.2修改学生资料...............................................................................................565.2.3删除学生资料...............................................................................................575.2.4查询学生资料...............................................................................................585.3课程设置管理界面..............................................................................................605.3.1添加课程.......................................................................................................605.3.2修改课程.......................................................................................................615.3.3删除课程.......................................................................................................625.3.4查询课程.......................................................................................................625.4成绩数据管理界面..............................................................................................635.4.1录入成绩.......................................................................................................635.4.2修改成绩.......................................................................................................655.4.3删除成绩.......................................................................................................665.4.4查询成绩.......................................................................................................675.5本章小结..............................................................................................................686技术重点与解决方案................................................................................................696.1连接SQLServer数据库....................................................................................696.1.1对SQLServer数据库创建OLEDB连接...............................................696.1.2对SQLServer数据库创建ODBC连接..................................................696.2分页显示记录的实现..........................................................................................726.3SQLServer2000数据库的备份和还原.............................................................746.3.1数据库备份方法...........................................................................................756.3.2还原数据库的方法.......................................................................................796.3.3直接复制文件的备份和还原.......................................................................816.4本章小结..............................................................................................................827总结与展望................................................................................................................83致谢........................................................................................................................85参考文献........................................................................................................................86附录........................................................................................................................88VII 1绪论人类社会己经踏入21世纪的门槛,蓦然回首:20世纪90年代以来,全球信息技术发展明显加快。由于芯片技术、电脑软件技术突飞猛进地提高,电脑功能正日趋强大。随着Internet的出现,人们己经认识到,周围的一切正在发生异乎寻常的变化:“奔腾”赞歌唱遍各个角落,多媒体计算机迅速走进家庭,上网已成为人们日常生活的一部分,WWW浏览使你足不出户便知天下事,各种应用软件更是应有尽有。事实证明:网络的普及及应用大大推动了计算机应用的发展。从国防军事、交通运输、财政金融、科学教育等大型系统,到一个企业、一个机关、一所学校、一座饭店的内部管理,几乎都采用了计算机网络管理。网络发展已经超越了国界,跨越了地域,使地球上的人们似乎生活在一个“地球村”里。随着Internet技术的发展,开发基于Web的应用程序势在必行,数据库技术更是需要和Web技术相结合,才有更为广阔的前景。ASP作为微软推出的新兴Web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用,同时浏览器/服务器模式的数据库体系也正逐渐成为数据库结构的主流。在信息高速发展的时代,WWW的出现给计算机领域带来了重大的变革,它已日益成为人们交流信息必不可少的工具。以Web站点方式向Internet提供信息资源的形式已成为主流,它的方便、快捷获取不同信息资源的能力,也越来越受到大众的喜爱。如何建立网络信息系统,在Web上发布共享信息、执行数据库操作,己越来越受到人们的关注。1.1问题的提出教学工作是学校的中心工作,教学管理是学校管理工作的核心,教学管理信息化则是学校管理现代化的重要组成部分。加强教学管理信息化建设,全面提高教育教学质量和管理水平,主动适应时代的发展,满足社会主义市场经济和社会[1-6]发展的需要,培养跨世纪人才,具有十分重要的意义。Internet的普及和应用使人们的现代生活方式发生了深刻的变化,学校总是处于接受新知识的最前沿地带,于是校园网的应用和管理系统的开发也正蓬勃发展并发挥着巨大的作用,远程教育、网上成绩查询、网上招生等等对于我们已经不再陌生。然而,目前许多高校仍然采用的是传统的管理模式:分发试卷给学生考试、老师领表手工登陆成绩、学生查询成绩还必须到教学管理部门,而最头疼的问题就是学生成绩的管理。以前每学期的成绩都是由各任课老师交到教管科,然后由教管科根据班级将成绩汇总,并手工予以统计。这种手工操作往往使成绩的1 统计工作变得繁琐,查询工作也相对复杂。且只能供教务管理人员查询成绩,学生及相关人员要查询成绩还不能满足。事实证明:这种传统的管理模式既浪费人力资源,又不利于提高工作效率。为了解决这个问题,开发使用一套学生成绩管[7-8]理系统是十分必要的。1.2教学管理信息系统的发展与研究现状管理信息系统MIS(ManagementInformationSystem)它是以人为主导、利用系统思想建立起来的,采用信息技术和信息设备作为基本信息处理手段和传输工[9]具,以资源共享为目标,为决策支持和管理辅助提供信息服务的人-机系统。教学管理信息系统指的是:基于计算机网络环境下的,以计算机和通信网络为工具,对学校中的教学、行政、资源信息进行全面管理的人-机系统。根据实际情况,通过计算机网络协调和处理好学生、教师、教学资源等系统内部各要素的关系,以提高教育质量和工作效率,为社会培养出更多的人才,为人的发展提供更多的机会和条件,为社会的发展提供相关服务的综合系统。教学管理信息系统是教学管理信息化最重要的组成部分,也是教育信息化的基础。在教育信息化建设中,必须重视管理信息系统的建设,强调集中统筹、全面规划、分步实施、密切配合,体现一盘棋的战略思想,使管理信息系统在教学、[10]科研、人才培养、社会服务、对外交流等方面发挥重要作用。在教学管理信息系统发展的过程中,由于使用的要求、开发的时期和技术应用的水平不平衡,教学管理信息系统经历了四个发展阶段。目前,除第一种应用层次基本被淘汰外,其他三种不同层次的教学管理信息系统在一些院校运行并存。①第一阶段是以MS-DOS作为操作系统平台,使用过程化语言,开发的小型数据库应用系统,用以完成单一的教务管理工作。这主要是各校早期开发的教学管理系统。这种系统只能单机运行,功能单一,软件简单,操作麻烦,主要是进行学生学籍和成绩的单方面管理,有些甚至只能在DOS下,在UCDOS汉字平台下运行,无法适应现在广泛使用的Windows操作系统。由于功能落后,软件性能差,在工作中会出现许多问题,例如数据不统一,容错性、兼容性差,容易丢失数据和受计算机病毒的破坏,无法适应大量数据处理的需要,己成为阻碍教学管理现代化的瓶颈。②第二阶段是以WINDOWS3X,WINDOWS9X为操作系统平台,使用小型数据库系统,实现了几个功能模块的集成和部分数据共享。在教学管理各部门之间,通过交换机、集线器,将若干台计算机联网,组成了一个内部的计算机网络,实现初步的数据交换和共享,对本部门的信息管理起到了一定的作用。但由于网络规模过小,网络技术较低,同时各个部门的内部网络无法联接,各行其事,不2 能互相交流数据,不能真正实现资源共享,无法组建全校性的教学管理信息系统。③第三阶段是基于校园网的教学管理信息系统,这个系统根据各部门的使用要求和应用目的,强化了教学管理信息系统的功能,适应了各部门的使用要求,起到了数据交流、资源共享的作用。但由于带宽窄、信息传送速度慢、系统功能较弱仍不能满足现代教学管理的濡要。④第四阶段是基于Internet的教学管理信息系统,该系统是在校园网的基础上,充分利用了WWW技术,扩大了信息服务的范围,可在任意一个能与Internet联接的地方,根据用户的权限,实行有效的访问,为教学管理信息系统的应用提供了广阔的前景。目前,基于网络的教学管理信息系统的建设得到了很大发展,例如清华大学教育软件中心年已开发出相应的商业化教学管理系统,东北大学东软、浙江大学、西南交大和教育部教育信息管理中心等也相继开发了针对教学管理工作的应用系统。由于国家给各高等学校的办学自主权越来越大,使得各学校的教育、教学管理模式差别较大,不可能有一个统一的管理规范,与之相适应的教学管理系统必[11]须量身定做,因此全国大多数高校都自主开发适合自身特点的管理系统。而陕西理工学院也不例外。教学管理信息系统是高校管理信息系统建设的重要组成部分,建设一个完整统一、技术先进、高效稳定、安全可靠的基于Internet/Intranet的教学管理信息系统,是高校提高教学管理质量和效益、以及建设高水平大学的关键环节,对高校[12]的改革和发展也具有重要的意义。1.3课题实现目标2005年,陕西理工学院教务处使用了国家教委信息中心开发的教务管理软件《高等院校(大、中专、成人)教务管理综合系统JWGL2.0》的客户机/服务器版本。该系统使用C/S(Client/Server—客户机/服务器)模式,以教务处为控制中心,各院系等部门在其授权下进行录入、修改、查询、统计等日常教务管理工作。这样就基本解决了上述在教务管理中存在的问题。C/S模式的特点是将信息处理任务进行了有效的分工,需共享的数据放在服务器上,由服务器负责数据的管理与维护,而计算任务由客户机完成。由于在网络上传输的只是服务器的处理结果,因此可以大大减少线路上的通信量,提高系统响应速度。此外,C/S模式能与大型数据库紧密连接,运行速度快,安全性好。然而,C/S模式也存在着不足,首先,C/S模式是面向应用的,客户端软件和服务器端软件需要成对开发,当用户访问不同的应用时,就需要在客户端安装多个应用软件,它是一种典型的局域网模式,这给系统的开发和维护都带来困难。3 此外客户必须熟悉系统操作流程后方可使用,给软件的推广使用也带来了困难。其次,C/S模式下的管理软件不能解决局域网以外的师生及上级领导对教务处信息的查询,不能满足学生的网上选课等功能。基于C/S模式本身的不足,以及需要满足校园网中师生及领导在www上查询信息的需要,本课题将采用基于B/S结构的学生成绩管理系统,并在陕西理工学院电气工程系教务管理网上试运行,使现已启动的网上登录、网上查询等功能正常运转;同时,它是开放性的,有利于今后将最新的多媒体技术、人工智能技术和网络技术融入系统之中。目前陕西理工学院的网络技术基础有了很大的发展,校园内网己经建立,各教学科研部门都有了自己的机房和办公用机,这给网上实现教务管理提供了必要的环境。利用基于B/S的MIS应用来实现教务管理数据在WWW上发布,系统的开发与维护都比较方便,而且可以将原有的多种类型的数据库使用统一的查询方法,方便了师生用户的使用。1.4系统开发的软、硬件环境B/S模式的开发方案很多,本课题选择目前流行的MicrosoftWindowsXP平台的系统集成方案。软、硬件环境为:①Web服务器:集成MicrosoftWindowsXP的IIS5.0(InternetInformationServer5.0)。②数据库服务器:MicrosoftSQLServer2000的大型关系数据库。③开发工具:FrontPage2003制作ASP及HTML页面、管理web站点MicrosoftSQLServer2000管理数据库与开发1.5开发计划网上学生成绩管理系统综合运用了很多计算机技术,如:动态网页制作、数据库开发、网络技术等。系统的开发主要分以下几个过程:①网站基本框架的建立②动态数据库查询程序的设计③数据库录入、编辑程序的设计④数据库维护的设计本系统测试成功后,在使用过程中不断根据用户要求做进一步调整,使系统功能不断地得到完善。4 1.6全文概要论文共分为五章,内容如下:第一章简要回顾了网络的发展,以及研究该课题的意义和原因,并制定出详细的开发计划。第二章讨论系统开发与建设的环境。详细介绍了基于Web的数据库技术的发展情况,并重点介绍了浏览器/服务器(B/S)模式和ASP技术访问Web数据库的优点,以及SQLServer数据库的基本情况。第三章详细介绍了学生成绩管理系统的设计工作,并给出了系统的模型。其中包括数据库的设计和一些用户界面的设计。第四章介绍了在系统设计工作中的一些关键技术难点,以及解决方案。其中包括动态网页与数据库的连接、分页显示功能和数据库的备份与还原。第五章介绍了系统的测试与运行情况,并对存在的问题进行了分析,继而提出了可行的改革措施。1.7自己做的主要工作论文分析了Web数据库及ASP技术在学生学籍管理系统中的应用,本文的主要工作如下:①重点讨论了B/S结构的工作原理及其特点,分析了实现Web数据库的不同方法,客观地分析了它们的优缺点。讨论结果是:ASP技术无论在操作的可行性、方便性还是性能上都是一种实现Web数据库的最好方法。②探讨了ASP技术五个主要的内置对象和ActiveX服务器组件在学生学籍管理系统中的应用,并介绍了如何利用ASP技术向数据库中添加、修改和删除数据。③重点讨论了如何利用数据库访问组件ADO技术实现学生成绩数据库与服务器的连接,并利用其属性和方法完成对成绩库的访问。④详尽介绍了学生学籍管理系统的总体框架、工作流程和系统使用的主要技术。⑤通过对该系统的运行情况,探讨了该系统存在的一些主要问题和缺陷,提出了下一步工作中相应的解决办法。国际互联网技术日新月异,极大地推动了基于Internet的应用技术的发展。支持Web数据库访问的新技术也层出不穷。基于Internet的教学管理系统、学生管理系统也在不断地深入和发展。本文所介绍的“基于ASP的学生成绩管理系统的设计与实现”仅仅是高校管理信息系统的一个小模块,随着Web数据库技术的迅速发展以及校园网的发展,加之本人水平有限,在对Web数据库开发技术的认识,以及Web下的学生成绩管理系统的实现上都存在不足之处,还需继续探讨。今后我将5 进一步努力,不断地学习新知识,争取将这个系统做到更加完善。1.8本章小结本章阐述了项目背景以及国内外相关研究工作情况,同时对建设高校教学管理信息系统的目的和意见进行了深入的分析,最后介绍了论文的组织结构以及主要研究工作。6 2开发环境介绍2.1服务器环境由于WindowsNTServer/2000的日渐普及,越来越多的公司、企业采用微软公司的IIS集成ASP的ODBC接口技术作为Web数据库的开发技术。IIS提供了Web平台;ASP使Web服务器可以在后台运行脚本;它们与SQLServer大型关系数据库的合理组合,势必能各尽所能,快速开发出高效、稳定、安全的Internet应用。2.1.1C/S结构与B/S结构C/S结构(客户机/服务器---Client/Server,简称C/S)的特点是将信息处理任务进行了有效的分工,需共享的数据放在服务器上,由服务器负责数据的管理与维护,而计算任务由客户机完成。由于在网络上传输的只是服务器的处理结果,因此可以大大减少线路上的通信量,提高系统响应速度。C/S模式是面向应用的,客户端软件和服务器端软件需要成对开发,当用户访问不同的应用时,就需要在客户端安装多个应用软件,使客户端变得很“肥”,相比而言,服务器端较“瘦”。因为C/S模式能与大型数据库紧密连接,运行速度快,安全性好,易于扩充,所以这种模式在管理信息系统开发中广泛采用。C/S结构的基本原理如图2.1所示。图2.1C/S结构基本原理图Fig2.1BasicPrincipleofC/SStructureB/S结构(浏览器/服务器一Browser/Server,简称B/S)综合了浏览器、信息服务和Web技术,其主要特点是可以通过一个浏览器访问多个不同平台上的服务器,改变了在C/S模式下客户端很“肥”的状况。相对两层C/S模式来说,B/S模式是三层结构体系,即在客户机和服务器之间增加了一个Web服务器。当客户端发出请求时,由Web服务器向数据库服务器取出数据并计算,然后将计算结果返回给客户端,用户通过安装在客户端的浏览器浏览计算结果。在B/S模式下,客户端只需装上浏览器以及相应的操作系统、网络协议软件即可,而所有应用软件的开发、[13]维护、升级等工作由服务器承担。B/S结构的基本原理如图2.2所示。7 图2.2B/S结构基本原理图Fig2.2BasicPrincipleofB/SStructureB/S模式是建立在工nternet/Intranet技术之上的,它具有以下优点:①采用统一的浏览器,用户界面一致,操作、使用、维护简单。②采用标准的TCPIIP,HTTP协议,可以实现网络之间的互联,信息共享程度,系统扩展性好。③Internet/Intranet防火墙技术可以实现高度的信息安全性。2.1.2IIS集成技术Internet信息服务简称为IIS(InternetInformationServer),MicrosoftIIS是允许在公共Intranet或Internet上发布信息的Web服务器。InternetInformationServer通过使用超文本传输协议(HTTP)传输信息。还可配置Internet能性InformationServer以提供文件传输协议(FTP)和gopher服务。FTP服务允许用户从Web节点或到Web节点传送文件。由于它与Windows操作系统捆绑发售,因此IIS具有[14]低风险、低成本,易于安装、配置和维护的特点。正是由于以上原因,本系统采用Windows操作系统自带的IIS服务作为web服务器。[15]与其它Web服务器相比,IIS有以下特点:①与WindowsNTServe:的集成,使得IIS的安装、管理、安全性和运行等方面具有强大的功能。②便于开发具有强大功能的网络应用程序。由于IIS支持DNA(分布式网络应用)结构,因此可以使用ASP,运行VBScript.Jscript等脚本语言,利用ADO及ODBC存储数据,使用VisualInterDev等工具开发专业应用,这些都为开发大型网络应用提供了方便。③支持多种方案。IIS可以满足多种使用方案的需要,从工作组到企业网,直至Web站点都可以使用IIS。④提供多种服务。除了提供HTTP服务之外,IIS还提供了FTP及Gopher服务。至今,IIS己推出5个版本,其中IIS4.0版提供了几乎所有的建立Web站点所需的功能,IIS5.0则在IIS4.0的基础上增加了一些新功能,这将有助于使用最新的加密技术,以及客户端与服务器端证书的鉴别方法。8 新增的功能主要有:①安全性1)摘要式身份验证:摘要式身份验证允许跨代理服务器和防火墙对用户进行安全和严格的身份验证。另外,还可进行匿名、HTTP基本以及集成Windows身份验证(以前称为WindowsNT质询/响应身份验证和NTLM身份验证)。2)安全通讯:安全套接字协议层(SSL)3.0和传输协议层安全((TLS)提供了一种客户端与服务器之间进行信息交换的安全方式。另外,SSL3.0和TLS还为服务器提供了一种在用户登录服务器之前对客户端进行验证的方法。在IIS5.0中,ISAPI和ActiveServerPages都可以访问客户证书,以便编程人员通过其站点跟踪用户。3)服务器网关加密:服务器网关加密((SGC)是SSL的扩展,允许使用IIS出口版的金融系统采取加密性能更高的128位加密。虽然fIS5.0中己内置了SGC功能,但使用SGC时仍然需要特殊的SGC证书。4)Kerberos5身份验证协议相容性:fIS己完全集成了Microsoft.Windows2000中实现的Kerberos5验证协议,从而允许用户在运行Windows的计算机之间传递验证凭据。5)证书存储:IIS证书存储目前已与WindowsCryptoAPI存储集成在一起。WindowsCertificateManager提供单一入口,允许用户存储、备份和配置服务器证书。6)Fortezza:IIS5.0支持通常称为Fortezza的美国政府安全标准。这一标准通过一种加密机制保证消息的安全性、完整性、验证以及对消息、组件和系统的访问控制,从而能满足美国国防部消息系统安全性结构的要求。可以通过服务器和浏览器软件或者PCMCIA卡硬件来实现这些功能。②管理1)重新启动IIS:现在不用重新启动计算机就可以重新启动Internet服务。2)备份和还原IIS:可以备份和存储metabase设置,以便更容易的返回己知的安全状态。3)配置选项:可以在站点、目录或文件级别设置“读取”、“写入”、“执行”、“脚本”以及FrontPageWeb操作的权限。4)个人Web管理器:IIS5.0包括一种称为个人Web管理器((PWM)的简单管理工具。这种工具有助于管理和监视个人发布站点。5)站点通讯量监视:用于显示站点通讯量统计信息的实时图形,如每天的请求数、每小时的请求数、每天的访问人数以及每小时的访问人数。6)可编程性:对ActiveServerPages的完全支持,包括性能增强的ASP组件9 以及新的错误处理功能。7)集中管理:IIS使用MicrosoftManagementConsole(MMC)时的管理工具。MMC支持管理员用于管理服务器的程序,称为管理单元。可以从运行Windows2000Professional的计算机上使用IIS管理单元,管理在Windows2000Server上运行Internet信息服务的Intranet上的计算机。③可编程性1)ActiveServerPages:可以使用服务器端的脚本和组件创建动态内容,从而创建与浏览器无关的动态内容。由于ActiveServerPages(ASP)允许内容开发者将任何脚本语言或服务器组件嵌入HTML页中,从而提供了一种使用CGI和ISAPI的简便方法。ASP提供对所有HTTP请求和应答流的访问,以及对标准数据库连接的访问,同时还允许自定义适合各种不同浏览器的内容。2)新的ASP功能:ActiveServerPages新增和改进了一些功能,这样有助于改善性能以及简化服务器端的脚本。3)应用程序保护:IISS.0为Web应用程序提供更大的保护以及更强的可靠性。默认情况下,1IS在公共或“共用”进程(即与核心IIS进程隔离的进程)中运行应用程序。而且还可以隔离执行关键任务的应用程序,这些程序应该在核心IIS以及共用进程之外运行。4)ADSI2.0:在IIS5.0中,管理员和应用程序开发者可以向现有的ADSI提供者添加自定义对象、属性和方法,从而进一步增大了管理员配置站点的灵活性。④Internet标准1)各种标准的基础:MicrosoftInternet信息服务5.0版符合HTTP1.1标准,包括PUT和DELETE等功能以及自定义HTTP错误消息的能力,并支持自定义的HTTP头。2)Web分布式创作与版本管理(WebDAV)允许远程作者通过HTTP连接创建、移动或删除服务器上的文件、文件属性、目录和目录属性。3)PICS分级:可以将PlatformforInternetContentSelection(PICS)分级应用于内容仅适合于成人的站点。4)FTP重新启动:如果在数据传输中出现中断,现在可以恢复“文件传输协议”文件下载,而不必再次下载整个文件。2.1.3配置ASP运行环境①IIS服务安装与配置。步骤1:检查是否有安装MICROSOFT的INTERNET信息发布服务器IIS,点击“开始”,然后进入“控制面板”,点管理工具,查找是否有Internet信息发布的图标,如图2.3所示。如果有,请打开IE,在地址栏填入:“http://localhost/”,如果IIS10 正常发布,则会显示出microsoft默认的asp页面;如果没有,建议从新安装IIS发布服务。如果没有安装IIS服务,请跟随以下步骤:图2.3管理工具Fig2.3ManagementTools步骤2:安装IIS。请插入windows光盘,点“开始”,选择设置→控制面版,进入“添加删除程序”,然后再选择“添加删除windows组件”,然后会看到有一个叫“Internet信息服务”的选项,请把前面一个选筐打上钩,然后再按下一步,这样,windows将安装IIS服务。如图2.4所示。图2.4Windows组件向导Fig2.4WindowsModuleGuide步骤3:安装完毕后,现在请在IE地址栏录入:“http://localhost/”,如果IIS安装正确,则能在打开microsoft的默认的asp页面,那恭喜您,您的IIS已经正确的安装了。步骤4:把要发布的目录放到IIS的虚拟目录中。一般来说IIS的默认发布目录是系统盘里面的一个叫Interpub的目录下,这个文件夹一般是默认的IIS站点。可以通过IIS的控制台来设置站点信息。一般来说,只要把要发布的asp页面等放11 到Interpub里面的wwwroot的文件夹,就可以在本机调试您的ASP页面了。②创建虚拟目录。一旦启动了Web服务,Web服务器就可以对通过浏览器提交的ASP动态网页请求做出响应。为了实现这种响应,要求ASP文件必须存在于Web服务器上的特定文件夹中,通常是保存在Web站点的主目录或其子目录中。如果希望在Web站点主目录及其子目录之外的其他文件夹中保存ASP文件,则必须崔该文件夹设置Web共享选项,使之成为Web站点内的一个虚拟目录,也就是在URL地址中使用的目录名称,有时也称作URL映射。例如,要在“我的文档”中创建一个名为ASP的虚拟目录,步骤如下:1)确认Web服务已经启动。2)双击“我的文档”图标,在“我的文档”窗口中创建一个名为ASP的文件夹。3)单击ASP文件夹,然后在“文件”选单中选择“共享”命令。4)在文件夹属性对话框中,单击“Web共享”选项卡,然后选取“共享这个文件夹”选项,如图2.5所示。5)在如图2.6所示的“编辑别名”对话框中,为要创建的虚拟目录指定一个别名,然后在“访问许可”框中选中“读取”复选框,在“应用程序许可”框中单击“脚本”选项即可。如果将网页保存在Web站点的主目录中,则在本地计算机上可以通过以下URL地址来访问该网页:http://localhost/文件名如果将网页保存在Web站点主目录及其子目录中,或保存在某个虚拟目录及其子目录中,则在本地计算机上可以通过以下URL地址来访问该网页:图2.5设置文件夹的Web共享属性Fig2.5WebSharingAttributeforSettingFolders12 图2.6指定虚拟目录的别名Fig2.6DesignatetheAliasofInventedDirectoryhttp://localhost/目录/.../文件名如果要在网络中的其它计算机上访问上述网页,使用主机名或IP地址来替换占位符localhost即可。2.1.4MicrosoftSQLServer数据库系统MicrosoftSQLServer是微软公司推出的一个大型的网络数据库系统,它为在复杂环境下有效地实现重要商业及教育应用提供了一个强有力的客户/服务器平台。它结合MicrosoftWindowsNT操作系统的能力,提供了一个安全、可扩展、[16]高端性能的客户/服务器数据库平台。作为一个多层的客户/服务器数据库系统,SQLServer数据库驻留在一个中央计算机上,该计算机被称为服务器。用户通过客户机的应用程序来访问服务器上的数据库,在被允许访问数据库之前,SQLServer首先对来访的用户请求作安全验证,验证通过后才处理请求,并将处理的结果返回给客户机应用程序。这种处理方式也使大多数客户/服务器系统所使用的,即客户机向服务器提出请求,服务器分析处理请求,并将结果返回给客户机。SQLServer管理两种类型的数据库:系统数据库和用户数据库。系统数据库存储SQLServer专用的用于管理自身和用户数据库的数据,用户数据库用于存储用户数据。SQLServer创建的系统数据库包括Master、model、tempdb、msdb,还会自动创建Pubs和Northwind用于学习的数据库样本。在SQLServer中,数据库把所有的数据与数据库对象都放在一系列操作文件中,并用文件和文件组管理这些操作系统文件。文件分为三种:主文件、从属文件和日志文件,每个文件只能从属于一个数据库口主文件是一个数据库的起始点,扩展名是MDF,一个数据库文件只能有一个主文件而且必须有一个主文件。从属文件的数目是任意的,扩展名是NDF,一般一个小型的数据库可能没有从属文件,而一个大型数据库可能存在多个从属文件。从属文件和主文件一同存储数据以及数据库对象。日志文件用来存放数据库的事务日志信息,扩展名是LDF,这些信息对恢复数据库是十分关13 键的,一般一个数据库至少有一个日志文件。SQLServer的主要管理工具有:①企业管理器:它是一个基于图形用户界面的集成管理工具,利用它可以配置管理SQLServer服务器,管理数据库及其中的表、视图、存储过程、触发器等,而且还能够实现备份和恢复数据,调度任务等功能。②查询分析器:在查询处理器中可以运行TransactionSQL语句,运行存储过程等,完成选择、更新、删除等数据库操作。③联机文档:它是书面文档的电子版。几乎提供了有关SQLServer管理和开发的所有信息。④数据导入与导出:它可以解决SQLServer与不同存储方式之间的转换。例如可以在Access数据库、文本文件、Excel,VFP等和SQLServer之间传递数据。⑤性能监视器:它包含那些与SQLServer有关的性能指标,如数据库、缓存、日志、锁、复制代理以及处理器、内存、线程、进程等。提供关于资源用法、吞吐量和内部阻塞等信息。⑥服务器活动跟踪程序:用来监视本机SQLServer的活动,例如正在执行的T-SQL语句及其状态等,并能够以连续、断点、或单独执行Transact-SQL语句和存储过程。SQLServer不仅提供了Transact-SQL.DB-LibraryforC和DB-LibraryforVisualBasic,嵌入式SQL等开发工具,而且支持ODBC和OLDDB规范,可以通过ODBC和OLEDB接口访问SQLServer数据库。此外,SQLServer能够与BackOffice中其它资源进行有机结合,并充分利用它们所提供的服务功能,如安全管理、事件日志、内存管理等,从而增强了SQLServer数据库系统的功能。本系统采用的是SQLServer2000数据库,该版本是建立在SQLServer7.0版的基础上的最新产品,与SQLServer7.0相比,在功能和性能上都有了许多重要的改进。下面从以下几个方面对SQLServer2000的新特性加以介绍。①支持XMLXML技术正在成为业务通信和共享信息处理技术的标准。SQLServer2000全面支持现行的XML。在SQLServer2000下,XML的建立和对XML的访问都容易实现。一旦XML开始运行,就可以把该XML存储在一个标中并可通过SQL事务处理语句来查询该XML数据。甚至可以通过一个SQL语句来把XML数据与关系数据库相连接。②支持多实例对多实例的支持可以是SQLServer引擎的副本运行在用一台机器上,微软公14 司在这个方面第一次赶上了Oracle公司的产品。该项技术的是现使得DBA可以把多个环境(如开发、测试和应用系统)集合在一个平台上运行。此外,该技术还使得ASP和ISP可以把多种不同应用配置在一台主机上。③改进的数据仓库及智能化业务(BI)微软公司通过SQLServer2000何其分析服务程序(在SQLServer7.0版中称为OLAP服务)不断的强化BI功能。SQLServer2000中还包括了数据提炼工具,并支持与Web有关的分析。例如,在SQLServer和CommerceServer2000一起运行的情况下,可以对click-streams采购模式和其他类型的信息进行数据提炼。④支持微软Windows2000操作系统SQLServer2000是与Windows2000操作系统紧密集成的软件,它可以自动地在活动目录中进行注册。除了实现一般功能外,该功能还便于管理人员在网络中查找SQLServer2000服务器,并直接从活动目录服务下对数据库进行管理。SQLServer2000还可以通过Kerberos安全机制来与Windows2000集成。更重要的是,SQLServer利用了Windows2000操作系统内部的先进功能。在同时运行Windows2000数据中心和SQLServer2000企业版时,SQLServer2000可以支持多达32个处理器和64GB的存储器。⑤改进的性能和可扩展性SQLServer2000在基于Inter平台的系统上不断的创造了新的性能记录,它是微软公司的第一个可以把数据层(DataTier)跨越多个服务器进行分配的产品。这项新技术是通过分布的分区视图(该视图可使数据负载跨越多个服务器进行分配)实现的。分布分区视图是微软缩放战略的关键组件技术。除了上述特点外,SQLServer2000还对诸如DBCC功能、索引视图和索引重建等进行了功能强化。DBCC操作可利用多个处理器的优势,索引视图则是数据仓库的新增功能,而改进的索引重建则进一步减少了运行开销。⑥改进的向导界面SQLServer2000提供了两个强大的向导:数据复制向导和日志转移(LogShipping)向导(企业版提供)。数据复制向导可自动执行复制数据库的操作步骤。这种功能在建立测试环境、移动数据库和共享数据库等操作中非常有用。日志转移向导的功能可自动实现日志转移。使用该向导可把事务日志复制并转移到备用服务器中。该功能在创建备用服务器时十分有用。SQLServer2000以前的日志转移工具是在SQLServer7.0版资源套件中提供的,并且是基于脚本执行的。而新的日志转移工具则直接与企业版集成在一起,并可自动对脚本进行处15 理。⑦改进的查询分析器查询分析器是高效的分析工具,下面是该工具的特点。1)集成化的调试器:集成化调试器的引入对DBA和希望直接调试存储过程的开发人员来说是一大喜讯。从此DBA可以不再使用经常出问题的VisualStudio调试器了。2)对象浏览器:该浏览器提供了分层的对象视图。例如,DBA可以深入数据库、数据库表、字段或其他类型对象进行观察。在进入某个对象后,可以把该对象名拖入SQL语句。3)对象查找:可以利用该功能创建定制模板或直接使用标准模板。例如,如果需要经常在存储过程中加入代码报头,则可将该报头作为一个模板来存档或使用该模板来创建该存储过程。该功能的引入保证了一致性并有效减少了粘贴操作的次数。⑧改进的DTS改进的DTS保留了主关键字和外部键的限制。这种限制在对其他RDBMS系统的数据库表进行移植时非常有用。一个DTS包还可以作为一个VisualBasic对象来存档。如果把该包加入到SourceSafe中的话,则就可以对自己的DTS包进行版本控制。2.1.5数据库的安全管理安全性对于任何一个数据库管理系统来说都是至关重要的。数据库中通常存储着大量的数据,这些数据可能是个人信息、客户清单或其他机密资料。如果有人未经授权访问数据库并窃取了察看和修改重要数据的权限,将会造成极大的危害。SQLServer使用登录标识、数据库用户、角色等概念来保护数据库中的信息资料,以防止这些资料的非授权使用。每个网络用户在访问SQLServer数据库之前,口必须经过两个安全性阶段。第一个阶段是身份验证,验证用户是否具有“连接权”,即是否允许访问SQLServer服务器。如果身份验证获得成功,用户就可以连接到SQLServer。第二个阶段是权限验证,验证连接到服务器上的用户是否具有“访问权”,即是否可以在相应的数据库上执行操作。用户必须具备访问服务器上数据库的权限,才能对数据库进行查询和修改等操作。①设置SQLServer2000的安全模式安全模式也称为身份验证模式。SQLServer2000有两种安全模式,即Windows身份验证模式和混合模式。Windows身份验证模式允许用户通过WindowsNT或Windows2000用户帐户进行连接。在这种安全模式下,SQLServer将通过回叫WindowsNT或16 Windows2000来获得信息,并重新验证账户名和密码。SQLServer通过使用网络用户的安全特性控制登录访问,以实现与WindowsNT或Windows2000的登录安全进行集成,这种登录安全集成可以在SQLServer中任何受支持的网络协议上运行。用户的网络安全特性在网络登录时建立并通过Windows的域控制器进行验证。当一个网络用户尝试连接时,SQLServer使用基于Windows的功能对这个网络用户进行验证并由此决定是否允许该用户登录访问,而不要求为访问数据库单独提供登录名和密码。混合模式是指Windows身份验证和SQLServer身份验证的混合使用。在这种安全模式下,用户能够使用Windows身份验证或SQLServer身份验证与SQLServer进行连接。在Windows身份验证模式或混合模式下,通过WindowsNT或Windows2000用户帐户廉洁的用户可以使用信任连接。当一个用户使用指定的登录名称和密码从非信任连接进行连接时,SQLServer通过检查是否已经设置这个登录账户以及指定的密码是否与以前记录的密码匹配来对这个用户进行身份验证。如果SQLServer没有设置这个登录账户,则身份验证失败,并向这个用户发送错误信息。在使用客户应用程序连接SQLServer服务器时,如果没有传来登录名和密码,SQLServer将自动认定用户是要使用SQLServer身份验证模式,并且在这种模式下对用户进行认证。如果用户传来了一个登录名和密码,则SQLServer救人为用户是要使用SQLServer身份验证模式,并将所传来的登录信息与存储在系统表中的数据进行比较。如果匹配,就允许用户连接到服务器,否则就拒绝连接。SQLServer安全性的决策树如图2.7所示。图2.7SQLServer安全性决策树Fig2.7PolicyTreeforSafetyofSQLServer17 ②权限验证用户必须使用特定的登录账户才能连接到SQLServer。建立连接后,用户必须使用特定的用户帐户才能对数据库进行访问,而且只能察看经授权可以查看的表和视图,只能执行经授权可以执行的存储过程和管理功能,如图2.8所示。图2.8SQLServer权限验证Fig2.8PurviewVerifyingofSQLServer当验证了用户的身份并允许其登录到SQLServer以后,在用户访问的每一个数据库中都要求设置单独的用户帐户。这样做的目的是防止一个用户在连接到SQLServer以后,对服务器上所有数据库进行访问和操作。每个数据库中的用户帐户都用于为该数据库的对象设置安全权限。无论是WindowsNT用户帐户、用户所属WindowsNT组,还是SQLServer登录账户,都可以在数据库中映射为不同的数据库用户帐户。用户帐户的数据库访问权限决定了用户在数据库中可以进行哪些操作。③权限管理用户获得对数据库的访问权限以后,SQLServer就可以接受并执行命令。用户在数据库中所进行的所有活动都是通过Transact-SQL语句传到SQLServer中的。当SQLServer接收到这些语句时,将确定用户是否具有在该数据库中执行该语句的权限。如果没有执行该语句的权限或没有访问该语句所使用对象的权限,则SQLServer向用户返回一个权限错误信息。因为该系统只涉及到学生、老师(包括教务管理人员)和系统管理员,所以在设计中便采用了以“1”、“2”和“3”级访问权限对三类用户的访问权限进行管理,即“1”级为学生用户,只具有查询功能(普通注册用户的权限级别都默认为“1”级);“2”级为教师用户,具有查询和修改的功能;“3”级为管理员用户,不仅具有查询和修改功能,还可以更改其他用户的权限级别。下面的脚本说明对访问权限的控制。<%ifsession("username")=""orsession("level")<2thenresponse.write"你无权访问本页面!"18 response.endendif%>2.1.6Web开发语言ASPMicrosoftActiveServerPages即ASP,其实是微软公司开发的服务器端脚本环境,微软公司把它作为取代CGI的新技术。它与客户端技术的不同之处在于:在WEB页面的开发过程中,客户机处理有一个严重的限制,即要求WEB浏览器必须支持在页面中调用脚本语言的功能,但是众多的客户浏览器对脚本语言的支持是不同的,因此客户端技术存在着对浏览器的依赖性问题。ASP作为一种服务器[17]端技术,其处理工作完全在服务器端进行,从而消除了对客户浏览器的依赖性。ASP(ActiveServerPages—活动服务器网页)是由Microsoft运用自己传统的ODBC技术(开放数据库连通)、IIS(InternetInformationServer,Internet信息服务器)集成的一项新技术。ASP是由微软公司开发的服务器端脚本技术,是一个基于Web服务器的开发环境。它包含于IIS4.0/5.0中,能够将HTML页面、脚本命令、ASP内建对象和ActiveX组件结合起来,建立动态、交互而又高效的Web应用程序。①ASP的工作原理如图2.9所示,ASP文件以后缀名为.asp的文件形式存储在服务器上,当客户端浏览器请求Web服务器上的一个.asp文件的时候,Web服务器响应这个HTTP请求,并调用ASP引擎解释被中请文件。遇到脚本(如VBScript和JavaScript)时,ASP引擎会调用相应的脚本引擎进行处理。如果脚本指令中含有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访库操作,并依据访库的结果集自动生成符合HTML语言的主页,客户端浏览器见到的只是纯HTM[18]L表现的页面,例如用表格来表现的后台数据库表中的字段内容。图2.9ActiveServerPages工作原理图Fig2.9OperatingPrincipleofASP19 ②ASP的处理流程ASP动态网页中可以包含服务器端脚本,安装在Web服务器计算机上的应用程序扩展软件负责解释并执行这些脚本,该软件的文件名为Asp.dll,通常称为ASP引擎,也就是在后面将提到的应用程序服务器。ASP的处理流程可以描述如下:a.在客户端计算机上,用户在浏览器的地址栏中输入一个ASP动态网页的URL地址并向Web服务器发出一个ASP文件请求。b.Web服务器收到该请求后,根据扩展名.asp判断出这是一个ASP文件请求,并从硬盘或内存中获取所需ASP文件,然后向应用程序扩展Asp.dll发送ASP文件。c.Asp.dll自上而下查找、解释并执行ASP页中包含的服务器端脚本命令,处理的结果是生成HTML文件,并将HTML文件送回到Web服务器。d.Web服务器将HTML发送到客户端计算机上的Web浏览器,然后由浏览器负责对HTML文件进行解释,并在浏览器窗口中显示结果。③ASP的内建对象ASP提供了六个内建对象:Application对象、Session对象、Request对象、Response对象、Serve:对象和ObjectContext对象。运用这些对象,可以很容易地收集用户从浏览器发出的请求信息,存储用户信息,以及对用户请求做出响应。a.Application对象的主要功能是用来存储和获取可以在访问同一个ASP应用的所有用户之间进行共享的信息。就是说,如果将公有变量存储在Application对象中,这些变量就可以在所有页面上被所有用户使用,而且它们会持久地存在,直到关闭Web服务为止。b.Session对象的主要功能是用来存储每个用户的特定信息。当用户在应用程序页面之间跳转时,存储在Session对象中的变量不会被清除,这样,Session对象可以用来在ASP各个页面之间共享信息。与Application对象不同的是,Application对象中存储的信息可以由所有用户共享,但每个用户拥有各自的Session对象,对于不同的用户来说,Session对象中存储的信息可能会各不相同。此外,Application对象的生存期是整个应用程序,而Session对象的生存期是该对一象的会话期,当会话期结束或者被抛弃后,服务器将终止该会话。因此,Session对象常常被用来保存用户特定的个人信息。c.Request对象提供了从浏览器获取信息的方便而又灵活的手段。通过Request对象的集合,我们能够获取从浏览器发送到服务器的各种信息,包括从HTML表单用POST方法或GET方法传递的参数、查询字符串、Cookies文件等。d.Response对象的主要功能是用来控制从服务器发送到浏览器的信息,包括20 直接发送信息给浏览器、重定向浏览器到另一个URL或者设置cookie的值等,它与Request获取用户端HTTP信息的功能正好相反。e.Server对象用于控制处理HTTP服务和进行Web服务器的管理。它既提供了在服务器端创建组件对象的强大功能,又提供了虚拟路径映射、URL和HTML编码的方法,确保信息在服务器和客户之间的正确传输。Server对象的Server.CreateObject是ASP中最强大的功能。它用于创建已经注册到服务器上的ActiveX组件实例。通过使用ActiveX组件能够轻松地扩展ActiveX的能力,譬如数据库连接、文件访问、广告显示和其它VBScript不能提供或不能简单地依靠单独使用ActiveX所能完成的功能。f.ObjectContext对象可以利用微软事务处理服务器(MTS)来处理或者停止处理事务。运用ObjectContext对象将页面中的一段脚本作为事务来处理,如果提交事务,那么整段脚本运行的结果将被永久保存下来。如果放弃事务,那么服务器的状态恢复到脚本运行以前的状态,就如同脚本没有运行过一样。④COM组件COM组件提供封装的、可重复使用的、安全的访问信息的方法,扩充了脚本的能力。例如,ASP中的DatabaseAccess组件允许使用脚本查询数据库。这样,无论何时想从脚本查询数据库,都没有必要编写复杂脚本来执行此项任务。下面列出常用的集成在ActiveServerPages中的组件:a.AdRotator组件:AdRotator组件被用来在主页上显示广告图标。可以利用这个组件来限定不同广告图标显示变换的频率。b.BrowserCapabilities组件:BrowserCapabilities组件可以根据不同浏览器的性能来显示不同的主页。例如,可以利用显示单屏或者根据浏览器适应的分屏方式。c.ContentLinking组件:ContentLinking组件可以连接相当数量的主页,这样就可以更容易地进行网络导航。例如,可以利用这个组件来显示一部在线教程。d.Counters组件:Counters组件能够被用来追踪访问该站点访问者的数量,可以利用这个组件在主页中添加点击计数器。e.PermissionChecker组件:PermissionChecke;组件可以被用来检验只有授权用户才能访问某些联接。可以利用这个组件来创建管理员的维护主页。f.ActiveXData对象:ActiveXData对象((ADO)提供可以从诸如SQLServer这样的数据库系统中存储数据的手段。这个对象相当重要,详见第四节中的ADO简介。⑤编写自己的组件除了ASP本身提供的内置对象及组件外,还可以根据需要自行定制具有某些21 特色的组件对象,以完成特殊的任务。用VisualBasic、VisualC++、Delphi和Java等语言都可以编写。从长远来看,ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中,使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的用户/服务器分布式应用系统中将会产生极好的效果。ASP具有如下的优点:①简单易学:ASP的脚本语言VBScript是基于Basic的语言,学习容易。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。②安装使用方便:装好一个Windows98/NT/2000,只要安装了PWS/IIS那么ASP就可以使用了,不需要其它配置。③开发工具强大而多样:使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面的设计。也可以使用微软提供的具有可视化编辑能力的FrontPage或者VisualInterDev。此外还可以使用VB/VC开发ASP组件。④无需编译:ASP脚本集成于HTML当中,无需编译或链接即可直接解释执行。⑤ASP提高了程序的安全性:ASP脚本只在Web服务器上执行,在客户端计算机浏览器中可以看到脚本的执行结果(HTML静态网页),但看不到ASP源代码本身。⑥面向对象:在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能。与任何ActiveXscripting语言兼容。除了可使用VBScript和Jscript语言进行设计外,还可[19]通过Plug-in的方式,使用由第三方所提供的其它scripting语言。ASP的不足之处,表现在:①Windows本身的所有问题都会一成不变的累加到了ASP的身上。安全性、稳定性、跨平台性(Win2K己经不再支持Alpha)都会因为与Windows的捆绑而显现出来。②ASP由于使用了COM组件而变得十分强大,但是由于WindowsNT系统最初的设计问题会引发大量的安全问题。只要在这样的组件或是操作中稍有问题,那么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。③由于ASP使用脚本语言,除了大量使用组件外,没有办法提高其工作效率。④无法实现跨操作系统的应用。ASP基本上是局限于微软的操作系统平台之22 上,主要工作环境是微软的IIS应用程序结构,又因ActiveX对象具有平台特性,所以ASP不能很容易地实现在跨平台的Web服务器的工作。⑤还无法完全实现一些企业级的功能:完全的集群、负载均衡。因此,ASP适用于使用Windows系列平台的企业内部管理信息系统、中小型Internet应用。2.1.7ASP.NET简介ASP.NET是一种建立在通用语言上的程序构架,它不仅是ASP的后继产品,而且是统一的Web开发平台。与ASP相比,ASP.NET提供了许多新功能。ASP.NET新增的功能有:①ASP.NET页框架是可缩放的编程模型,可以用它在服务器上动态生成Web页。②ASP.NET服务器控件是一组为了提供结构化编程模型而开发的控件,其目的是从服务器端代码访问用户界面控件的属性、方法和事件。除内置的控件外,ASP.NET页框架还能够创建用户控件和自定义控件。③ASP.NET缓存是一个用于Web应用程序的通用缓存功能。它同时提供用于缓存的简单接口、公开到期、以及更改依赖项服务的高级接口。④ASP.NET数据绑定用于将组件绑定到数据源以及简单属性、集合、表达式和方法。在使用数据库或其它来源的数据时具有更大的灵活性。⑤ASP.NET为实现应用程序的安全性提供更全面的控制。在保持ASP安全性策略的基础上,ASP.NET还包括一个基于角色的安全功能,微软Windows和非Windows用户帐户都可实现该功能。与ASP相比,ASP.NET的主要特点有:①执行效率的大幅提高:与ASP即时解释程序不同,ASP.NET是将程序在服务器端首次运行时进行编译。②世界级的工具支持:ASP.NET构架可以用微软公司最新的产品VisualStudio.NET开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet—所见即所得)的编辑。③简单性和易学性:ASP.NET使运行的任务,如表单的提交客户端的身份验证、分布系统和网站配置,变得非常简单。通用语言简化开发可以简化代码的生成。④高效可管理性:ASP.NET使用字符基础的、分级的配置系统,服务器环境和应用程序的设置更加简单。⑤多处理器环境的可靠性:ASP.NET是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,极大的提高了运行速度。⑥语言:ASP是基于脚本语言的,如VBScript和JScript。它们是解释型的,23 并且分类不严格。ASPNET在支持脚本语言的同时引入了对全编译语言的支持,能够用VisualBasic、C++、C#等编写自己的服务器端代码,使真正的跨语言开发成为可能。⑦结构化编程:ASP十引入了服务器控件的概念,将一些普通的任务封装在一起,提供一个简洁的编程模型;ASP+还提供了更丰富的控件和组件。⑧兼容性:装有NGWS的Windows2000同样可以解析ASP,文件的扩展名是.asp,那就使用ASP的方法解析,如果是.aspx就使用asp+来解析。虽然,ASP的版本现在已经升级到.NET版本,但是要让.NET版本普及还需要一定的时间,所以,使用ASP无疑是最好的选择。2.1.8ASP访问Web数据库ASP访问数据库要使用ActiveX组件—ADO。它是微软数据库应用程序开发的新接口,是建立在OLEDB之上的高层数据库访问技术,提供通用数据访问。运用ADO,可以编写简洁而又可扩展性强的脚本,脚本中既可以与ODBC数据源[20]互连,也可以与OLEDB数据源互连。①ODBC与OLEDBODBC与OLEDB都是微软公司提供的访问数据的编程接口。ODBC是数据库服务器的一个标准协议,它为异质数据库的访问提供了统一的接口。ODBC提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库系统。因此,在Web数据库系统中使用ODBC接口的优势就是前台动态网页程序有很好的数据库兼容性,即使升级和更换数据库系统也不需要修改程序。不过ODBC主要是针对关系型数据库而设计的,而作为新一代的微软数据访问规范,OLEDB允许访问更多的数据源,除了传统的关系型数据库以外,还包括了非关系型数据库、电子邮件系统、电子表格、文本文件等数据源。OLEDB能够处理任何类型的数据,而不考虑数据的存储方式和格式。②ADO访问数据资源ADO通过OLEDB作为中间件访问数据库,OLEDB向ADO提供了两种访问数据库的方法:一种是直接访问,通过原始的OLEDB驱动程序进行访问:另外[21]一种是间接访问,通过ODBC驱动程序进行访问。使用ADO访问数据资源的原理如图2.10所示:24 图2.10使用ADO访问数据资源Fig2.10VisitDataResourcebyUsingADO使用ODBC连接数据库时,首先必须使用ODBC管理器创建一个DSN(DataSourceName-一数据源名),建立起ODBC与具体数据库的联系。这样,只要应用程序将DSN提供给ODBC,ODBC就能建立起与相应数据库的连接。DSN有三种类型:用户、系统和文件。用户和系统DSN存储在WindowsNT注册表中。系统DSN允许所有的用户登录到特定的服务器上去访问数据库,而用户DSN使用适当的安全身份证明限制数据库到特定用户的连接。文件DSN用于从文本文件中获取表格,提供了对多用户的访问,并且通过复制DSN文件,可以轻易地从一个服务器转移到另一个服务器。③ADO的主要对象ADO通过Connection对象、Command对象、Recordset对象实现与数据库数据交互的操作。Connection对象用来连接各种数据源,可以设置命令执行等待的时间,连接参数的字符串。字符串中包含以下内容:ProviderOLEDB(提供者的名字)、DataSource(指定数据源的名字)、UserID(指定连接数据源时的用户ID)、Password(指定连接数据源时用户的密码)、FileName(指定要连接的数据库名字)。Command对象代表了对数据源的操作命令的定义,利用它可以简化操作并提高效率。可以用一个Command对象查询数据库并将结果返回给一个Recordset对象,执行一批命令或者是对数据库的结构进行操作。Command对象的批量参数传递,存储过程的执行等灵活而强大的功能,使它受到青睐。Recordset对象可以对数据源打开的数据库进行操作,包括在记录集内漫游,添加,删除,更新记录等。所有Recordset对象均使用记录(行)和字段(列)进行构造。打开Recordset时,当前记录位于第一个记录(如果有),并且BOF和EOF的属性25 设为False。如果没有记录,BOF和EOF属性设置是True。可以使用MoveFirst,MoveLast.MoveNext和MovePrevious方法,以及Move方法和AbsolutePostion,AbsolutePage和Filter属性来重新确定当前记录的位置。Command对象主要是向SQL语句、存储过程传递参数,依靠SQL的强大功能来完成数据库的操作:而RecordSet对象可以说是微软重新封装了数据对象,并提供了一系列的方法和属性来简化数据库的编程。2.2开发语言ASP是一种服务器段脚本编写环境,可以用来创建和运行动态网页和Web应用程序。ASP也可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容,也可以创建使用HTML网页作为用户界面的Web应用程序。而这些都是由超文本标记语言及脚本语言来完成的。2.2.1HTML和HTTP在Web服务中,信息一般是使用HTML格式以超文本和超媒体方式传送的,所使用的Internet协议是HTTP协议。①HTMLHTML(HypertextMarkupLanguage),释为超文本标记语言,是用于WWW上文档的格式化语言。使用HTML语言可以创建文本文档,该文档可以从一个平台移植到另一个平台。HTML文件是带有嵌入代码(有标记表示)的ASCII文本文件,它用来表示格式化和超文本链接。HTML文件的内容通过一个页面展示出来,[22]不同的页面通过超链接关联起来。②HTTPHTTP(HypertextTransferProtocol),意为超文本传输协议。HTTP协议是用于访问WWW上信息的客户机/服务器协议。HTTP协议建立在TCP/IP协议的应用层之上,其一般实现过程可以描述如下。1)连接:客户端与指定的服务器建立连接。2)请求:由客户端提出请求并发送到服务器,该请求通常包含以下信息:客户端使用的通信协议、所请求的对象名称、对象在服务器上的位置、服务器使用何种方式回应以及客户端采取什么方式来取得这个对象(GET或POST方法)。3)响应:服务器受到客户端的请求后,取得相关对象并发送到客户端。4)关闭:在客户端接受完对象后,关闭连接。2.2.2Web页与Web站点Web页就是WWW(WorldWideWeb)文档,通常称为网页。Web页一般由HTML文件组成,包含有相关的文本、图像、声音、动画、视频以及脚本命令等,26 位于特定计算机目录中,其位置可以根据URL(UniformResourceLocator意为统一资源定位符)确定。按照Web服务器相应方式的不同,可以将Web页分为静态网页和动态网页。一般的Web站点有一组相关的HTML文件和其他文件组成,这些文件存储在Web服务器上。当用户访问一个Web站点时,该站点中有一个页面总是被首先打开,该页面称为首页或主页。2.2.3Web应用程序Web应用程序就是使用HTTP作为核心通信协议,并使用HTML语言向用户传递基于Web的信息的应用程序,也称为基于Web的应用程序。一个Web应用程序实质上就是一组静态网页和动态网页的集合,在这些网页之间可以相互传递信息,还可以通过这些网页对Web服务器上的各种资源(包括数据库)进行存取。2.2.4动态网页与静态网页静态网页和动态网页的区别在于Web服务器对他们的处理方式不同。①静态网页在Internet技术发展的初期,网页是静态的,即人们利用各种网页编辑器,将静态的文本,图片制作成HTML语言,在Web服务器下由URL链接到站点上。静态网页是标准的HTML文件,其文件扩展名是.htm或.html,它可以包含HTML标记、文本、Java小程序、客户端脚本以及客户端ActiveX控件,但这种网页不包含任何服务器端脚本,该页中的每一行HTML代码都是在放置到Web服务器前由网页设计人员编写的,在放置到Web服务器后便不再发生任何更改,所以称之为静态网页。实际上,“静态”网页也可能不是完全静态的,它也可以包含翻转图像、GIF动画或Flash影片等,从而具有很强的动感效果。此处所说的静态网页是指在发送到浏览器时不再进行修改的Web页,其最终的内容是由设计人员事先确定的。静态网页的处理流程如下。1)当用户单击Web页上的某个链接、在浏览器种选择一个书签、或在浏览器的“地址”框中输入一个URL地址并单击“转到”时,浏览器向Web服务器发送一个页面请求。2)Web服务器收到该请求,通过文件扩展名.htm或.html判断出是HTML文件请求,并从磁盘或存储器中获取适当的HTML文件。3)Web服务器将HTML文件发送到浏览器,由浏览器对该HTML文件进行解释,并将结果显示在浏览器窗口中。这种网页的致命不足是缺少交互性,信息的内容只有在网站管理人员重新编27 辑网页后才能发生变化,这就使得Web管理员不得不频繁修改他们的网页。②动态网页为了向网络用户提供大量有用的、动态的和可交互的信息,便于信息的更新与管理,迫切需要将数据库中的信息发布到WWW上,这就需要借助于Web的数据库访问技术建立动态网页。动态网页和静态网页在许多方面都是相同的。它们都是无各式的ASCII码文件,都包含着HTML代码,都可以包含用于脚本语言编写的程序代码,都存放在Web服务器上,并在收到客户请求后发送到Web浏览器。动态网页与静态网页之间的区别在于:动态网页的某些脚本只能在Web服务器上运行,而静态网页中的任何脚本都不能在Web服务器上运行;动态网页与静态网页文件扩展名不同,对于动态网页来说,其文件扩展名不再是.htm或.html,二十余所使用的Web应用开发技术有关,例如,使用ASP技术时文件扩展名是.asp,使用PHP技术时文件扩展名是.php,使用JSP技术时文件扩展名是.jsp,等等。当Web服务器接收到对静态网页的请求时,服务器将该页面发送到请求浏览器,而不进行进一步处理。当Web服务器接收到对动态网页的请求时,它将做出不同的反应:它将该页面传递给一个称为应用程序服务器的特殊软件扩展,然后由这个软件负责完成页。应用服务器软件与Web服务器软件通常一并安装、运行在通一台计算机上。使用不同的Web开发技术创建动态网页时,所用的应用程序服务器软件也是各不相同的。动态网页的处理流程如下。1)当用户单击Web页上的某个链接、在浏览器种选择一个书签、或在浏览器的“地址”框中输入一个URL地址并单击“转到”时,浏览器向Web服务器发送一个页面请求。2)Web服务器收到该请求,通过文件扩展名判断出是动态网页文件请求,并从磁盘或存储器中获取适当的页,然后将该页传递给相应的应用程序服务器。3)应用程序服务器查找该页中的脚本命令,并通过在服务器上执行这些脚本命令最终完成页,然后将脚本程序代码从页上删除,由此得到的结果是一个静态网页。4)应用程序服务器将所生成的页传递回Web服务器。5)Web服务器将该页发送到请求浏览器。当该页到达客户端计算机时,所包含的全部内容都是纯HTML代码,由Web浏览器对这些HTML代码进行解释,并将结果显示在浏览器窗口中。2.2.5脚本语言脚本是指嵌入到Web页中的程序代码,所使用的编程语言成为脚本语言。按28 照执行方式和位置的不同,脚本分为客户端脚本和服务器端脚本。客户端脚本在客户端计算机上被Web浏览器执行,服务器端脚本在服务器端计算机上被Web服务器执行。脚本语言是一种解释型语言,客户端脚本的解释器位于Web浏览器中,服务器端脚本的解释器则位于Web服务器中。静态网页只能包含客户端脚本,动态网页则可以同时包含客户端脚本和服务器端脚本。Microsoft公司开发了两种标准的脚本预言:VBScript和Jscript。①VBScript是程序开发语言VisualBASIC家族的最新成员,它将灵活的脚本应用于更广泛的领域,包括MicrosoftInternetExplorer中的客户端脚本和MicrosoftInternetInformationServer中的服务器端脚本。不过,Netscape公司的Navigator浏览器不支持客户端的VBScript脚本,因此最好不要在客户端使用[23]VBScript语言,在服务器端则不必考虑浏览器的支持问题。VBScript脚本语言有以下主要特点:1)易学易用。如果已经了解了VisualBASIC或VisualBASICforApplication,就会很快熟悉VBScript。实际上,即使没有学过VisualBASIC,只要掌握了VBScript,就能够使用所有的VisualBASIC语言进行程序设计。2)ActiveX脚本。为了在HTML页面中包含任意的脚本语言代码,Microsoft制定了独立于语言的ActiveX脚本标准,该标准定义了脚本编写宿主与脚本编写引擎之间的关系。VBScript使用ActiveX脚本宿主应用程序对话;所使用的脚本编写引擎是vbscript.dll,该引擎能够识别VBScript代码;脚本编写宿主是使用脚本编写引擎的应用程序,InternetExplorer就是宿主应用程序的一个例子,它通过引擎来运行脚本。3)其他应用程序和浏览器中的VBScript。开发者可以在其产品中免费使用VBScript来实现程序。Microsoft为32位WindowsAPI、16位WindowsAPI和Macintosh提供VBScript的二进制实现程序。VBScript与Web浏览器集成在一起。VBScript和ActiveX脚本也可以在其他应用程序中作为普通脚本语言使用。VBScript脚本代码可以作为HTML文档的一部分而存在。换言之,这些代码必须放置在HTML文档中,否则是不能执行的。脚本代码可以放在HTML文档的任何位置,即BODY或HEAD部分之中。通常将脚本代码放在HEAD部分中,以使所有脚本代码集中放置,这样能确保在BODY部分调用之前读取并解码所有脚本代码。在HTML页面中添加VBScript脚本代码时,应以标记结束。②Jscript是Microsoft公司对ECMA262语言规范的一种实现。Jscript完全实现了该语言规范,并且提供了一些利用MicrosoftInternetExplorer的功能的增强特性。Jscript是一种解释型的、基于对象的脚本语言。尽管与诸如C++和Java这样29 成熟的面向对象的语言相比,JScript的功能要弱一些,但对于它的预期用途而言,Jscript的功能已经足够大了。在本系统的设计中,所使用的脚本语言是VBScript。由于该脚本是用于服务器端的,所以不必考虑其浏览器的支持问题。2.2.6Transact-SQL语言SQLServer中的编程语言就是Transact-SQL语言,这是一种非过程化的语言。不论是普通的客户/服务器应用程序,还是Web应用程序,都必须通过向服务器发送Transact-SQL语言才能实现与SQLServer的通信。用户可以使用Transact-SQL语言定义过程,用于存储以后经常使用的操作。2.3本章小结本章主要介绍系统建设的架构,并就WEB服务器、开发环境,以及系统采用的SQLServer数据库进行了深入的阐述。30 3学生成绩管理系统需求分析3.1陕西理工学院教学管理系统建设概述2005年,陕西理工学院教务处使用了国家教委信息中心开发的教务管理软件《高等院校(大、中专、成人)教务管理综合系统JWGL2.0》的客户机/服务器版本。该系统使用C/S模式,以教务处为控制中心,各院系等部门在其授权下进行录入、修改、查询、统计等日常教务管理工作。但C/S模式是面向应用的,客户端软件和服务器端软件需要成对开发,当用户访问不同的应用时,就需要在客户端安装多个应用软件,这给系统的开发和维护都带来困难。此外,客户必须熟悉系统操作流程后方可使用,给软件的推广使用也带来了困难。其次,C/S模式下的管理软件不能解决局域网以外的师生及上级领导对教务处信息的查询,不能满足学生的网上选课等功能。目前,陕西理工学院各院系都设有学籍办公室,并由经过业务培训的专人负责日常的学生学籍管理,其他一些师生用户只能在其授权下,登录陕西理工学院校园专网进行成绩的录入和查询。随着学校办学规模的扩大,学生人数的逐年增长,使学籍管理员的工作负荷不断增加,却不能达到学生成绩管理快速、高效的目的。尤其到了学期末的录入和查询成绩的高峰期,经常会出现学籍管理员频繁加班,而部分教师和学生空等的局面。基于C/S模式本身的不足,以及需要满足校园网中师生及领导在www上查询信息的需要,特别是随着教学改革和教务工作的发展,迫切需要进一步改造提升现有的教学管理系统。因此本课题将采用基于B/S结构的学生成绩管理系统,并在陕西理工学院电气工程系教务管理网上试运行。其基本要求为:①基于Internet和Intranet建设陕西理工学院学生成绩管理系统;②通过该系统的建设,实现教学管理数字化,适应信息化的发展趋势,满足全日制本科教学特点,方便学生和教师;③实现教学管理现代化、规范化,实现教学管理办公自动化,提高管理质量和效益;④实现南北校区及各学院统一网上教学管理,数据共享、资源共享。3.2设计原则学生成绩管理系统作为学校管理信息系统的一个资源子网进行建设,将以校园网为基础,实现信息资源共享,同时为我校信息系统的建设作出贡献。设计时应遵循以下几个原则:31 ①数据信息共享成绩管理系统基于校园网,实现高水平的信息资源共享和跨平台的信息资源访问,不仅要面向全校不同部门的信息资源的共享,还要解决各部门己有的或将建立的信息系统的资源共享,而各部门信息系统和资源子系统的系统平台不一,数据库又不尽相同,要解决不同的资源子网的信息共享,提高信息资源共享的利用率,系统结构应具有跨平台访问不同数据源的机制。建立与其他系统相连接的数据接口,成绩管理系统可以为其他系统提供数据共享。②包容性和可扩展性系统应具有较好的可扩展性和包容性。系统的可扩展性应包括能接纳己有的系统和在今后系统软硬件扩展时,能有效地保护己有的投资和数据。特别是在应用需求变化时(应用与系统的需求往往调研不全或者经常会变化),有一个较好的应用平台,能容易地加以调整。系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。③系统简洁,易使用、易维护、适用非计算机人员使用应用系统的设计符合日常办公运作的需求,功能完备、实用,操作简单、易学,界面友好、清晰,便于管理、易于扩充。④为教师、学生提供良好的信息服务在教务信息标准化、规范化的基础上,对信息进行合理的布局;由于本系统是基于web的,所以可在提供优质、高效的业务管理和事务处理的同时,使全校师生可以在任一平台上对本专业教学计划进行查询、教学大纲摘录,了解课程设置情况,查询成绩、网上选课等,教师可以查询了解学生的情况、甚至实现基于web的网上登分等功能,为在校的、外聘的教师提供良好的信息服务。⑤可靠运行,安全保密应具有安全高效的通信机制,身份认证,权限检查,以解决成绩管理系统的安全性、保密性问题,防止信息泄密和对保密信息的非法侵入。应考虑与校园网的安全机制相结合,采用路由技术,设立成绩管理系统的防火墙。另外,在选用数据库平台时也需要考虑到其对数据的安全性的处理是否适合。⑥采用先进成熟的技术,建立实用可靠的系统本系统的建设目标是否能实现,系统整个投资能否发挥应有的效益,最终将取决于该系统是否可靠实用。为此,系统应采用成熟可靠的技术,应贯彻产品化的设计原则和实施方法。同时,系统的起点要高,而不是基于淘汰的技术,系统的建立应适应未来技术发展的趋势。32 3.3学生成绩管理系统业务分析系统建设时,建立有信息管理中心,并有以下一些服务器、网络设备和软件:①Web服务器:安装XP、ASP架构的WEB管理与服务程序。接受内部、外部访问,处理各种对外业务逻辑;②应用程序服务器:安装各种应用程序组件,调度访问和完成教务管理网内业务处理。③数据库服务器:安装SQLServer2000数据库管理系统;④打印与代理服务器:安装代理软件与打印管理软件。⑤软硬件防火墙:防止非法入侵;⑥交换机:寻址中心;⑦不间断电源:保持中心8~24小时电源供应;⑧应用程序、防病毒软件,进行各种内部业务逻辑处理的软件。管理员和一般用户可以通过Internet访问系统相关信息资源。网络拓扑结构如图所示。图3.1系统网络拓扑结构图Fig3.1StructureDrawingofNetworkinSystem3.4学生成绩管理系统平台总体建设任务根据设计的需要,本系统应完成以下任务:①动态数据查询在获得身份认证的情况下,查询与身份一致的信息,查询内容包括:学生信息按班级、专业查询。分页显示学生的学号、姓名、民族、籍贯、出生年月等基本信息。学生成绩按学号、班级、专业、学年学期查询。分页显示学生的课程、成绩33 等。学生校内公选课选课结果按学号查询。显示该学生的已被选中的选课清单。②身份认证与权限控制身份认证是本系统的一个核心。本系统确定的用户身份包括全校学生、任课教师、院系领导、校领导、系统管理员,它们在系统中具有不同的角色,即不同类别的用户对数据库的访问权限不同,同一用户对不同的数据库的访问权限也不相同。因此需要根据实际情况建立相应的访问权限。系统管理员对本系统的数据库拥有最高选限,可以进行录入、修改、删除、查询等各种操作,还可以对访问用户进行授权。其他用户除了可以修改自己密码外,对不同数据库有不同的访问权限。其中校领导拥有对数据浏览的最高权限,可以浏览本系统所有可供查询的数据:院系领导可以浏览本院系所有可供查询的数据;任课教师可以查询自己任教的课程评估结果、上课课表;本科生可以查询自己的成绩和公选课课程,此外对自己的校内公选课选修结果有添加、修改、删除、查询等各种操作权限。③程序代码保护虽然正常情况下ASP代码不会传递到客户端,然而设计程序时仍要考虑代码的泄漏问题。因为代码一旦被非法用户获得,就会暴露系统内的某些重要信息,给系统的安全带来极大隐患。解决办法的基本思路:为每一个功能写一个独立的程序,尽可能少的让客户了解服务器端信息,尽可能多的控制交互,检测提交的方法、内容及长度,对特殊字符进行过滤。尽可能多的设置错误处理,此外还要充分发挥日志功能,当检测到了不正确的提交时,记录下客户端的信息,例如IP,系统配置,请求等等,这样可以发现问题的所在。此外,所有需要权限操作的页面都必须执行认证判断的操作。如果任何一页没有进行这种认证判断,都有可能给攻击者以恶意入侵的机会。④Web网页之间的参数传递Web网页之间传递参数有三种方法:命令行方式、表单域的隐含字段方式和Session对象方式。命令行方式公开显示所要传递的参数值,Session对象在内存中生存时间有限,在程序设计中根据实际需要选用这三种方法的其中一种。一般情况下都采用表单域的隐含字段方式。根据以上需求分析可给出系统的结构示意图如图3.2所示。34 图3.2系统结构示意图Fig3.2StructureDiagramoftheSystem3.5系统模型本系统使用SQLServer2000作为后台数据库,首先在SQLServer2000数据库中创建一个名为学生成绩管理的数据库,系统按访问数据库的分类及用户功能的不同,分为五个功能模块:用户验证、学生资料管理、课程设置管理、成绩数据管理、访问权限管理。再使用一组ASP动态网页作为应用程序的用户界面。系统的总体结构下图所示:图3.3系统总体结构图Fig3.3OverallStructureDiagramoftheSystem35 ①用户验证用户要通过本系统查询和处理数据,必须首先进行注册。每次访问系统时必须录入用户名和密码进行登录。根据访问权限的不同,用户分为三类:普通用户只能查询数据;超级用户可以查询和操作数据;系统管理员不仅可以进行所有操作,还可以更改其他用户的权限。②学生资料管理使用学生资料管理模块可以实现以下操作:按照某种方式查询学生资料(所有用户);录入、修改和删除学生资料(仅限操作员和系统管理员)。③课程设置管理使用课程设置管理模块可以实现以下操作:浏览课程信息(所有用户);录入、修改和删除课程信息(仅限操作员和系统管理员)。④成绩数据管理使用成绩数据管理模块可以实现以下操作:按照指定方式查询成绩(所有用户);录入、修改和删除成绩(仅限操作员和系统管理员)。录入成绩之前,必须先录入学生资料和课程信息。⑤访问权限管理模块可以更改用户的访问权限,只有系统管理员可以访问该模块。系统流程图如下图所示:36 图3.4系统流程图Fig3.4FlowDiagramoftheSystem3.6本章小结本章通过对陕西理工学院现有教务管理系统的分析,讨论了陕西理工学院学生成绩管理系统的业务需求,并就系统的设计原则、目标等设计出系统模型。37 4学生成绩管理系统数据库设计4.1数据库结构设计系统数据库E-R图如下所示:图4.1系统数据库E-R图Fig4.1E-RFigureofSystemDatabase4.2数据库表的设计SQLServer是通过数据库来管理所有信息的。而在数据库中,用户真正关心并实际访问的数据册分门别类的存储在各个表中。表是由确定的列数和可变的行数组成的逻辑结构,列是一组数据类型相同的值,行是组成表中单个纪录的连续的值,在每个列和行的相交处是一个称为值的特定数据项。表用来存储数据库中的所有数据,是数据库中最重要的数据对象。有前面的需求分析可知,学生成绩管理系统的数据信息包括所有用户的注册信息、学生的学籍信息、学生所选课程信息以及选修课程的成绩信息。为了保存成绩管理系统所有用到的各种数据,在前面创建的学生成绩管理数据库中创建四个表,名称分别为:用户注册资料表、学生资料表、课程信息表和成绩数据表,分别用于存储用户资料、学生资料、课程信息和成绩数据。这四个表的结构如下表所示:38 表4.1数据库中四个表的结构Table4.1StructuresofFourTablesinDatabase表名列名数据类型描述备注用户User-idint用户标识表的标识列,种子值和递增量均为1注册User-namevarchar(12)用户名资料Passwordvarchar(12)密码E-mailvarchar(20)电子邮箱Purview-leveltinyint权限级别1:普通用户;2:超级用户;3:管理员学生Student-idint学生标识表的标识列,种子值和递增量均为1Student-numvarchar(8)学生学号Student-namevarchar(10)学生姓名Student-sexvarchar(2)学生性别Birthdatedatetime出生日期Departmentvarchar(20)所在院系资料Specialityvarchar(20)专业名称Gradevarchar(4)所在年级Classvarchar(4)所在班级Home-addrvarchar(50)家庭住址Parent-namevarchar(10)家长姓名Home-phonevarchar(20)家庭电话Remarkvarchar(50)备注课程Course-idint课程标识表的标识列,种子值和递增量均为1信息Course-namevarchar(50)课程名称成绩idint课程成绩标识表的标识列,种子值和递增量均为1数据Student-idint学生标识与学生资料表中的Student-id列相同Course-idint课程标识与课程信息表中的Course-id列相同Scoredecimal成绩39 学生成绩管理数据库如图所示。图4.2学生成绩管理系统数据库Fig4.2DatabaseofScoreManagementSystemforStudents4.2.1用户注册资料表使用表设计器在表中分别建立五个字段(列):user_id、user_name、password、email、和purview_level,分别代表用户序列、用户名、密码、email和权限级别。其中user_id的数据类型为int整型变量,长度为4;user_name、password以及email的数据类型均为varchar,用于存储字符型变量;purview_level类型为tinyint,因为其值只有1表示普通用户(默认值)、2表示超级用户、3表示系统管理员这三种情况,所以长度为1即可。由于purview_level的值可由系统管理员随后分配和更改,所以其值可以为空(默认为1),而登陆时并不要求输入email地址所以email的值也允许为空。用户注册资料表如图所示。图4.3用户注册资料表Fig4.3TableofdataforUserRegisting40 用户注册资料表建立之后我们可以直接在表中输入数据,也可以稍后使用ASP页面对数据库内容进行操作。4.2.2学生资料表根据实际需要,在学生资料表中建立以下字段(列):student_id,student_num,student_name,student_sex,birthday,department,speciality,grade,class,home_addr,parent_name,home_phone,remark。其中student_id数据类型为int,birthday数据类型为datetime;其余字段类型均设置为varchar类型,长度根据实际需要进行设置;remark字段的值允许为空。分别表示学生序列、学号、姓名、性别、出生年月、所在院系、专业、所在年级、所在班级、家长姓名家庭住址、家长姓名、家庭电话和备注。学生资料表如图所示。图4.4学生资料表Fig4.4TableofInformationsofaboutStudents4.2.3课程设置表课程设置表包括两个字段:course_id和course_name,分别表示课程编号和课程名。其中course_id的数据类型为int类型,长度为4,course_name的数据类型为41 varchar,长度为50。课程设置表如图所示。图4.5课程设置表Fig4.5TableofCourses4.2.4成绩数据表成绩数据表用来存储学生成绩数据。在该表中建立以下字段(列):id、student_id、course_id和score,分别课程成绩标识、学生标识、课程标识以及成绩数据。其中id、student_id和course_id数据类型均为int类型,长度为4,score数据类型为decimal,由于还未参加考试或缺考等原因,学生的成绩数据有可能为空,所以score字段的值允许为空。另外,成绩数据表中的student_id必须与学生资料表中student_id列相同,course_id必须与课程信息表中的course_id列相同。成绩数据表如图所示。图4.6成绩数据表Fig4.6TableofScore42 4.3数据的完整性数据的完整性就是数据库中数据的正确性和一致性。在SQLServer中,数据的完整性可能会由于用户进行的各种操作如(INSERT、DELETE和UPDATE)而遭到破坏,为了保证数据库中的数据的完整性,在SQLServer中可以通过各种约束来保证数据的完整性。数据完整性可以分为以下三种类型。①实体完整性实体完整性要求表中所有的列唯一,即所有记录都是可区分的。实体完整性可以通过建立主键约束、唯一约束、标识列等措施来实现。例如,在学生资料表中将“student_num”(即学生学号)列设置为主键,该列的取值不会重复,从而将表中的记录区分开。②参照完整性参照完整性要求有关联的两个或两个以上表之间数据的一致性。参照完整性可以通过建立主键和外键约束来实现。例如前面提到的,成绩数据表中的student_id必须与学生资料表中student_id列相同,course_id必须与课程信息表中的course_id列相同,以保证一个成绩数据是一个确实存在的学生所选的一门确实存在的课程的成绩。③域完整性域完整性要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。例如,在成绩数据表的“score”列上加一个大于零的检查约束以防止输入负值。域完整性用于保证给定字段中数据的有效性。域完整性可以通过建立默认约束、外键约束、检查约束等措施来实现。对输入数据取值范围和格式的限制成为约束。约束是用来保证数据完整性的。4.3.1设置主键约束(PRIMARYKEY)主键约束是用来保证表中记录唯一可区分的列。一个表可以通过一列或列组合的数据来唯一标识表中的每一条记录。这种用来标识表中记录的列或者列组合称为主键。创建了主键约束的列有如下特点:①每一个表仅能定义一个主键,主键值是表中记录的标识。②主键列可以有一个或多个列组合而成。③主键值不可为空(NULL)。④主键值不可重复。若主键是多列组成时,某一列上的数据可以重复,但多列的组合值不能重复。⑤Image和text类型的列不能做主键。设置主键约束的步骤为:①打开企业管理器,依次展开“服务器组”、“服务器”、“数据库”节点,选43 中表对象,在右边的详细窗格中,找到要设置约束的表(这里以学生资料表为例),右击该表,然后在弹出的快捷选单中单击“设计表”命令,以打开表设计器。②右击要设置主键的列(如student_num),然后在弹出的快捷选单中选择“设置主键”命令,此时在“student_num”列前有一个钥匙样的图标,即表示在“student-_num”列上完成了主键约束的设置,如图所示。图4.7设置主键Fig4.7IntercalatePrimaryKey4.3.2设置唯一约束(UNIQUE)规定一条记录的一个字段或几个字段的组合值不得与其他记录的相同字段或字段组合的值重复,将这种限制成为唯一约束。唯一约束是为了保证除主键列以外的其他列的数据不重复。它也可以由一列或多列组成。使用唯一约束和主键约束都可以保证数据的唯一性。但它们之间的区别是:①一个表只能定义一个主键约束,但可以定义多个唯一约束。如果在某列上创建了主键约束,表中记录在磁盘的存放顺序就以该列的值从小到大的顺序存放,而唯一约束则不改变记录的物理存放顺序,仅保证该列的值不重复。44 ②定义了唯一约束的列数据可以是空值,而定义了主键约束的列数据不能为空值。例如,由于学生资料表中的“student_num”列已创建了主键约束。若还想保证每个学生序列,即“student_id”列的值不重复,就无法再设主键约束了,而只能设置唯一约束。设置唯一约束的步骤为:①在企业管理器中,选择要设置唯一约束的表,打开表设计器。②单击工具栏中的“表和索引属性”按钮,以打开“属性”对话框,然后选择“索引/键”选项卡。③在“索引/键”选项卡中,单击“新建”按钮,在“列名”下拉表框中选择要设置唯一约束的列,然后选中“创建UNIQUE”复选框和“约束”单选框,同时在“索引名”文本框中输入唯一约束的名称或接受默认名称。单击“关闭”按钮,即完成了唯一约束的设置,如下图所示。依以上方法也将课程信息表中的“course_id”列设置为主键约束或唯一约束。图4.8设置唯一约束Fig4.8IntercalateUnique45 4.3.3设置外键约束(FOREIGNKEY)一个数据库中可能包含多个表,可以通过外键使这些表之间关联起来。外键约束用来建立两个表之间的关联。外键是由表中的一个列或多个列组成的。如在表A中有一个字段的取值只能是表B中某个字段的取值之一,则在表A该字段上创建外键约束。创建外键约束的列具有以下特点:①外键列可以由一个列或多个列组成。②外键列的取值可以为空,可以有重复值,但必须是它所引用列的列值之一。引用列必须是创建了主键约束或唯一约束的列。例如,成绩数据表中的“student_id”列和“course_id”列的取值,必须是学生资料表中“student_id”列和课程信息表中“course_id”列的列值之一,可在成绩数据表的上述两列上创建外键约束,这样可以防止成绩数据表出现学生不存在或课程不存在的记录。设置外键约束的步骤是:①在企业管理器中,选中要设置外键约束的表,打开表设计器。②单击工具栏中的“表和索引属性”一打开“属性”对话框,然后选中“关系”选项卡。③在“关系”选项卡中单击“新建”按钮,在“主键表”下拉列表框中选择外键引用的表(如学生资料),并在其下的列表框中选择外键引用的列(如student_id);在“外键表”下拉列表框中选择要定义外键的表(如成绩数据),并在其下的列表框中选择要定义外键约束的列(如student_id),如图4.9和4.10所示。④在“关系名”文本框中输入约束的名称,或接受默认的名称。⑤在“关系”选项卡下部的复选框中进行相应的选择。a.若选中“创建中检查现存数据”复选框,则表示设置约束前,先要对表中已经存在的数据进行检查,若不满足“外键列的列值是引用列的列值之一”这一规则,则不允许定义外键约束;若不选中该选项,表示对表中已经存在的数据不检查,总允许定义外键约束。b.若选中“级联删除相关的记录”复选框,则表示可以实现级联删除。例如,若删除学生资料表中student_id是2的记录,则成绩数据表中2号学生的所有成绩数据也将都被删除。c.若选中“级联更新相关的字段”复选框,则表示可以实现级联修改。⑥设置完毕后,单击“关闭”按钮,完成外键约束设置。因为每个学生对应一组成绩,每门课程对应一个成绩,所以我们通过学生与课程、学生与成绩、课程与成绩之间的相关性建立外键连接。46 图4.9学生资料表和成绩数据表通过student_id字段建立外键连接Fig4.9IntercalateForeignKeyforConnectingStudent’sdataTableandScoreTablebyStudent_id图4.10课程信息表和成绩数据表通过course_id字段建立外键连接Fig4.10IntercalateForeignKeyforConnectingCourseTableandScoreTablebyCourse_id通过查看表之间的依赖关系即可看到如下图所示的结果。47 图4.11成绩数据表的相关性Fig4.11RelationshipofScoreTable4.3.4设置检查约束(CHECK)检查约束是用来检查一个字段的输入值是否满足指定的约束条件。使用逻辑表达式来限制某列上可以接受的数值范围,将这种对字段输入值的限制称为检查约束。例如,指定成绩数据表中的“score”列值必须大于等于零,若插入的成绩数据小于零时,检查约束就会不让该记录插入表中。设置检查约束的步骤为:①在企业管理器中,选择要设置检查约束的表,打开表设计器。②单击工具栏中的“表和索引属性”按钮,以打开“属性”对话框,然后选中“CHECK约束”选项卡。③在“CHECK约束”选项卡中,单击“新建”按钮,在“约束表达式”文本框中输入相应的约束条件。如下图所示。④单击“关闭”按钮,即可完成检查约束的设置。图4.12设置检查约束Fig4.12IntercalateCheck48 最后根据以上操作可以生成如图所示的关系图:图4.13数据库中四个表的关系图Fig4.13RelationshipofFourtablesinDatabase4.4本章小结本章对学生成绩管理系统进行了简要设计,确定了系统总体设计原则与目标。对系统的主要功能模块及进行了分析,同时介绍了系统的四个基本表,以及表之间的约束。49 5学生成绩管理系统界面介绍5.1用户验证界面构建成绩管理系统时,不仅应当提供较强的数据库访问功能,还应充分保证数据的安全性。成绩管理系统的安全机制主要体现在以下几个方面:①通过注册页面让用户提交注册信息并保存在用户注册资料表中;②通过登录页面读取用户提交的登录信息并与保存在数据库中的数据进行比较以验证用户的身份;③通过用户的权限级别来限制用户对数据的访问。5.1.1注册界面注册通过静态页面“注册页面.htm”和动态页面“注册成功.asp”来实现。用户在页面“注册页面.htm”中输入用户名、密码和E-mail等信息,然后提交给“注册成功.asp”文件进行处理,所提交的注册信息被保存到用户注册资料表中,主要程序代码如下:<%dimcnn,rst,ssqlsetcnn=server.createobject("adodb.connection")setrst=server.createobject("adodb.recordset")cnn.connectionstring="provider=sqloledb;datasource=bb;uid=sa;pwd=123;database=学生成绩管理"cnn.openssql="select*from用户注册资料whereuser_name='"&username&"'"setrst=cnn.execute(ssql,,adcmdtext)ifnotrst.eofthen%>

用户名“<%=username%>”已被占用!

返回注册页面】

<%elsessql="insert用户注册资料(user_name,password,email)"ssql=ssql&"values('"&username&"','"&password&"','"&email&"')"cnn.executessql,,adcmdtext%>

注册成功!

50 注册页面如图所示:图5.1输入注册信息Fig5.1InputRegisterInformation图5.2保存注册信息Fig5.2ConserveRegisterInformation5.1.2登录界面登录过程通过页面“登录页面.htm”和“成绩管理系统.asp”来实现。在页面“登录页面.htm”中,用户可以输入并提交用户名和密码信息,如图所示。图5.3登录页面Fig5.3InterfaceofEnterment51 文件“成绩管理系统.asp”用于读取用户提交的登录信息并与用户注册资料表中保存的登录信息进行比较,如果两者匹配,则进入成绩管理系统的页面并根据用户的权限级别现实适当的链接,否则显示出错信息,主要程序代码如下:<%ifsession("username")=""or(session("username")<>usernameandusername<>"")thensetcnn=server.createobject("adodb.connection")cnn.connectionstring="provider=sqloledb;datasource=bb;uid=sa;pwd=123;database=学生成绩管理"cnn.openssql="select*from用户注册资料whereuser_name='"&username&"'andpassword='"&password&"'"setrst=cnn.execute(ssql,,adcmdtext)ifrst.eofthenresponse.write"用户名或密码错误!

"response.write"重新登录】

"response.endelsesession("username")=rst("user_name")session("level")=rst("purview_level")endifendif%>成绩管理系统主页面如下图所示:图5.4成绩管理系统首页(权限级别=3)Fig5.4HomePageofScoreManagementSystem(PurviewLevel=3)52 5.1.3更改权限级别界面系统管理员的权限级别为“3”。只有以系统管理员身份登录成绩管理系统时,才可以在首页上看到[更该级别]链接,单击该链接将进入“更改用户的权限级别.asp”页面中,在此可以对某个用户的权限级别进行修改。识别系统管理员的主要代码如下:ifsession("username")=""orsession("level")<>3thenresponse.write"

你无权访问本页面!

"response.endendif更改权限级别的界面如图所示。图5.5更改用户的权限级别Fig5.5ChangeUser’sPurviewLevel5.2学生资料管理界面学生资料管理模块提供了查询、添加、修改和删除学生资料的功能,其中查询功能可以被所有用户访问,其他几项功能只能由访问权限级别为2或3的用户访问。5.2.1添加学生资料在成绩管理系统首页上单击[添加资料]链接,可以进入“添加学生资料.asp”页面,在该页面中输入学生资料,并提交给“保存学生资料1.asp”文件进行处理,将数据保存到数据库中,主要程序代码如下:<%53 dimcnn,rst,ssqldimstudentnum,studentname,studentsex,birthdate,departmentdimspeciality,grade,sclass,parentname,homeaddr,homephone,remarkstudentnum=trim(request.form("txtstudentnum"))studentname=trim(request.form("txtstudentname"))studentsex=request.form("optstudentsex")birthdate=trim(request.form("txtbirthdate"))department=trim(request.form("txtdepartment"))speciality=trim(request.form("txtspeciality"))grade=trim(request.form("txtgrade"))sclass=trim(request.form("txtclass"))parentname=trim(request.form("txtparentname"))homeaddr=trim(request.form("txthomeaddr"))homephone=trim(request.form("txthomephone"))remark=trim(request.form("txtremark"))ifstudentnum=""orstudentname=""thenresponse.redirect"添加学生资料.asp"endifsetcnn=server.createobject("adodb.connection")setrst=server.createobject("adodb.recordset")cnn.connectionstring="provider=sqloledb;datasource=bb;uid=sa;pwd=123;database=学生成绩管理"cnn.openssql="selectstudent_numfrom学生资料wherestudent_num='"&studentnum&"'"setrst=cnn.execute(ssql,,adcmdtext)ifnotrst.eofthenresponse.write"

学号“"&rst("student_num")&"”已经存在,请重新输入!

"elsessql="insert学生资料(student_num,student_name,student_sex,birthdate,department,speciality,grade,class,parent_name,home_addr,home_phone,remark)"ssql=ssql&"values('"&studentnum&"','"&studentname&"','"&studentsex&"','"&birthdate&"','"&department&"','"&speciality&"','"&grade&"','"&sclass&"','"&parentname&"','"&homeaddr&"','"&homephone&"','"&remark&"')"54 cnn.executessql,,adcmdtext%>

数据保存成功!

添加学生资料界面如图所示。图5.6输入学生资料Fig5.6InputStudent’sInformation图5.7保存学生资料Fig5.7ConserveStudent’sInformation55 5.2.2修改学生资料当在系统首页上单击[修改资料]链接时,将进入“修改学生资料.asp页面”,在该页面上输入指定的学号,并将相应的学生资料显示在HTML表单中,经过修改后提交给“保存学生资料2.asp”文件进行处理,将所做的修改保存到数据库中,主要程序代码如下:ifstudentnum<>""thenssql="select*from学生资料wherestudent_num='"&studentnum&"'"setrst=cnn.execute(ssql,,adcmdtext)ifrst.eofthenresponse.write"

没有找到符合条件的记录!

"else修改学生资料界面如图所示:图5.8修改学生资料Fig5.8AlterStudent’sInformation56 图5.9保存所做的修改Fig5.9ConserveAltering5.2.3删除学生资料在系统首页上单击[删除资料]链接,将进入“删除学生资料.asp”页面,在该页面中输入一个指定的学号并单击“提交”按钮,如果找到了匹配的学生记录,则以表格形式显示出该学生的详细资料,此时单击[删除记录]链接,即可将该学生的学号发送给“删除成功.asp”页面,并进行删除操作,删除学生资料界面如图所示。图5.10删除指定学号的学生资料Fig5.10DeleteStudent’sInformationbyDesignatingStudent-number57 图5.11删除成功Fig5.11DeleteSuccessfully5.2.4查询学生资料在成绩管理系统首页上单击[查询资料]链接,将进入“查询学生资料.asp”页面,在该页面上首先选择一种查询方式,如按学生学号查询、学生姓名查询、或按年级、班级、所在专业查询等,然后输入关键字的值,并单击[查询]按钮,如果找到了匹配的记录,则以表格形式显示学生的简要资料,其中学号以超链接形式显示。如果想要察看某个学生的详细资料,单击相应的学号,以打开“查看学生资料.asp”页面,如此将显示该学生的详细资料。以学生学号查询为例,主要程序代码如下:ssql="select*from学生资料orderbystudent_num"endififfield<>"all"andvalue<>""thenssql="select*from学生资料where"&field&"='"&value&"'orderbystudent_num"endifrst.openssql,cnn,1,1ifrst.eofthenresponse.write"

没有找到符合条件的记录!

">58 studentnum=request.querystring("studentnum")ssql="select*from学生资料wherestudent_num='"&studentnum&"'"setrst=cnn.execute(ssql,,adcmdtext)ifnotrst.eofthen%>学号为“<%=studentnum%>”的学生资料如下:查询学生资料界面如图所示:图5.12选择查询方式Fig5.12SelectInquiringMode图5.13查询学生资料Fig5.13InquireStudent’sInformation59 图5.14查看某学生的详细资料Fig5.14LookOverSomeone’sInformation5.3课程设置管理界面课程设置管理模块提供了查询课程、添加课程、修改课程和删除课程的功能,其中查询课程的功能可以被所有用户访问,其他功能只能被访问权限级别为2或3的用户访问。5.3.1添加课程在成绩管理系统首页上单击[添加课程]链接,将进入“添加课程.asp”页面,在该页面上输入一门新课程的名称,然后单击“保存”按钮,就可以将该课程添加到课程设置列表中,如图所示。图5.15添加新课程Fig5.15AddNewCourse60 5.3.2修改课程当在成绩管理系统首页上单击[修改课程]链接时,将执行修改课程设置.asp文件,在此页面中列出当前课程设置,其中课程编号以普通文本形式显示,课程名称则显示在文本框中。如果修改一门或多门课程的名称,然后单击“保存”按钮,就会将所做的修改提交给“保存课程设置更改.asp”文件进行处理。主要程序代码如下:<%ifcoursename<>rst("course_name")thenssql="update课程信息setcourse_name='"&coursename&"'wherecourse_id='"&rst("course_id")&"'"cnn.executessql,,adcmdtexti=i+1endifrst.movenext

<%=i%>条记录修改成功!

修改课程界面如图所示。图5.16修改课程设置Fig5.16ReviseCourse61 图5.17保存课程设置Fig5.17ConserveSettedCourses5.3.3删除课程当在成绩管理系统首页上单击[删除课程]链接时,将执行“删除课程.asp”文件,在该页面上选择要删除的课程编号,然后单击“删除”按钮,即可将指定的课程从数据库中删除,如图所示。图5.18删除课程Fig5.18DeleteDesignatedCourse5.3.4查询课程当在成绩管理系统首页上单击[查询课程]链接时,将执行“当前课程设置.asp”文件,在该页面上列出当前已经录入的课程信息。如果用户权限级别为2或3,在62 该页面上还可以看到“添加课程”、“修改课程”和“删除课程”的链接,如图所示。图5.19查询课程设置Fig5.19InquireSettedCourse5.4成绩数据管理界面成绩数据管理模块提供了查询成绩、录入成绩、修改成绩和删除成绩的功能,其中查询功能对所有用户开放,其他功能只有权限级别为“2”或“3”的用户才能问。5.4.1录入成绩在成绩管理系统首页上单击[录入成绩]链接,将执行“录入成绩.asp”文件,在该页面上选择一个学生和一门课程,并输入该课程的成绩,然后单击“保存成绩”按钮,即可将所提交的数据保存到数据库中。主要程序代码如下:<%Setrstst=cnn.execute("select*from学生资料orderbystudent_num",,adcmdtext)setrstco=cnn.execute("课程信息",,adcmdtable)studentid=cint(request.form("1ststudentid"))courseid=cint(request.form("1stcourseid"))score=trim(request.form("txtscore"))%>value=<%=63 rstst("student_id")%>><%=rstst("student_num")%>——<%=rstst("student_name")%>value=<%=rstco("course_id")%>><%=rstco("course_id")%>——<%=rstco("course_name")%><%ifscore<>""thenssql="select*from成绩数据wherestudent_id='"&studentid&"'andcourse_id='"&courseid&"'"setrstsc=cnn.execute(ssql,,adcmdtext)ifnotrstsc.eofthen%>

这门成绩已经存在,若要修改,请单击“修改成绩”链接!

<%elsessql="insert成绩数据(student_id,course_id,score)values('"&studentid&"','"&courseid&"','"&score&"')"cnn.executessql,,adcmdtext%>

成绩保存成功!

录入成绩界面如下图所示:64 图5.20录入成绩Fig5.20InputScore5.4.2修改成绩在成绩管理系统首页上单击[修改成绩]链接,将执行“修改成绩.asp”文件,在该页面上输入一个学号,并选择一门课程,然后单击“提交”按钮;如果找到了匹配的记录,就会显示出该学生这门课程的成绩。在做修改后单击“保存修改”按钮,则提交给“修改成绩成功.asp”文件进行存盘操作。修改成绩界面如图所示。图5.21修改成绩Fig5.21AlterScore65 图3.27b保存所做的修改Fig3.27bConserveAltering5.4.3删除成绩当在成绩管理系统首页上单击[删除成绩]链接时,将执行“删除成绩.asp”文件,在该页面上输入一个学号,并选择一门课程,然后单击“提交”按钮。如果找到了匹配的记录,则以表格形式显示查询结果,单击“删除”按钮,将学号和课程名称提交给“删除成绩成功.asp”文件进行处理,从数据库中删除指定的成绩记录,删除成绩界面如图所示。图5.22查询并显示要删除的成绩记录Fig5.22InquiringandShowingScoreRecordBeingDeleted66 图5.23删除指定的成绩记录Fig5.23DeleteDesignatedScoreRecord5.4.4查询成绩在成绩管理系统首页上单击[查询成绩]链接时,将执行“查询成绩.asp”文件,在该页面上以指定方式查询学生,查询结果以表格形式显示,其中学号以超文本链接形式出现。要查询某个学生的成绩,单击其学号即可,此时通过查询字符串将该学号发送到“成绩明细页面.asp”页面,在该页面中显示该学生所有课程的成绩,查询成绩界面如图所示。图5.24查询学生Fig5.24InquireStudent’sInformation67 图5.25查看成绩Fig5.25InquireScore5.5本章小结本章主要介绍了学生成绩管理系统的操作界面设计,明确了各个界面的功能,并展示了部分界面及一些界面设计的主要程序代码。68 6技术重点与解决方案6.1连接SQLServer数据库MicrosoftSQLServer是一个客户机/服务器关系型数据库系统。如果打算基于Windows平台来构建一个ASP动态网站,SQLServer将是后端数据库引擎的最佳选择。若要在ASP页中访问SQLServer数据库,可以使用OLEDB提供程序或ODBC驱动程序来创建连接。OLEDB(ObjectLinking&EmbeddingDatabase)是一种基于COM访问数据库的应用程序接口,它支持可以使用OLEDB提供程序的任意数据源的访问。ODBC(OpenDatabaseConnectivity)是一种数据访问应用程序接口,它支持可以使用ODBC驱动程序的任意数据源的访问。6.1.1对SQLServer数据库创建OLEDB连接在ASP应用程序中对Web服务器上的数据库进行访问,就要建立一个数据库连接。如果没有数据库连接,应用程序就无法找到数据库。使用数据库访问组件提供的ADO对象中的Connection对象可以实现数据库的连接。对SQLServer数据库创建OLEDB连接时,可以将连接信息保存在连接字符串中,也可以将连接信息保[24-25]存在数据链接文件中。在使用Connection对象之前,应使用Server.CreateObject方法创建该对象的实例,然后使用Connection对象的ConnectionString属性来建立数据库连接的信息。下面的脚本说明如何使用Connection对象创建到SQLServer数据库的OLEDB连接。<%DimcnnSetcnn=sever.createobject(“ADODB.Connection”)Cnn.connectionstring=“PROVIDER=SQLOLEDB;DATASOURCE=ServerName;”&_“UID=UseName;PWD=Password;DATABASE=DatabaseName”Cnn.open%>除了连接字符串外,也可以使用Microsoft数据链接文件(.udl)来创建和管理计算机和OLEDB数据存储之间的连接信息,并在连接字符串中引用该文件。6.1.2对SQLServer数据库创建ODBC连接使用ODBC驱动程序连接SQLServer数据库时,可以将连接信息保存在以69 下三个位置上:①保存在Windows注册表中,称为ODBC系统数据源(系统DSN),它对于当前机器上的所有用户都是可见的。②保存在文本文件中,称为ODBC文件数据源(文件DSN),它可以由安装了相同ODBC驱动程序的用户共享。③保存在字符串中,直接包含在ASP脚本代码中。在ODBC数据源管理器中创建系统数据源,将与SQLServer数据库链接的信息保存在Windows注册表中。步骤如下:1)选择控制面板中的“管理工具”中的“数据源(ODBC)”命令,以打开ODBC数据源管理器对话框;2)选择“系统DSN”选项卡,然后单击“添加”按钮,如图6.1所示;3)当出现如图6.2所示的“创建新数据源”对话框时,从ODBC驱动程序列表中选择SQLServer,然后单击“完成”按钮;图6.1ODBC数据源管理器Fig6.1ODBCDataSourceManager图6.2选择SQLServer的ODBC驱动程序Fig6.2SelectTheODBCDriverofSQLServer70 4)在“名称”框中指定数据源的名称,在“说明”框中输入描述该数据源的文字,在“服务器”列表中选择要连接的SQLServer服务器,然后单击“下一步”,如图6.3所示;图6.3创建连接SQLServerODBC数据源Fig6.3CreateConnectionsODBCDataSourceofSQLServer5)再如图6.4所示的对话框中,单击“使用用户输入登录ID和密码的SQLServer验证”选项,选取“连接SQLServer已获得其他配置选项的默认设置”复选框并输入登录ID和密码,然后单击“下一步”按钮;图6.4设置登录选项Fig6.4LoginOptionsSettings71 6)在如图6.5所示的对话框中,选取“更改默认的数据库为”复选框,并在可用数据库列表中选择要使用的默认数据库,然后单击“下一步”按钮;图6.5指定默认数据库Fig6.5DesignatedDefaultDatabase7)在如图6.6所示的对话框中,直接单击“完成”按钮。此时,新建的系统数据源出现在ODBC数据管理器中。图6.6完成ODBC数据源的创建过程Fig6.6CompleteTheCreationofODBCDataSource6.2分页显示记录的实现在B/S结构中,执行某个SQL命令后其结果如果是成千上万行,它不能一次性直接输出到客户端,这样会产生Web请求超时。因此,一般均采用分页显示的方法。72 数据库的查询结果分页显示的方法有很多,但主要有两种:一是将数据库中所有符合查询条件的记录一次性的都写入recordset中,存放在内存中,然后通过ADORecordset对象所提供的几个支持分页处理的属性:PageSize(页大小)、PageCount(页数目)以及AbsolutePage(所在页)来管理分页处理。二是根据用户的需要,每次分别从符合查询条件的记录中将规定数目的记录数显示出来。两者的主要差别在于前者是一次性将所有记录都写入内存然后再根据需要分页显示,而后者是根据指定数目的符合查询条件的记录写入内存,然后分页显示。当数据库中的记录数达到上万或更多时,第一种方法的执行效率将明显低于第二种方法,因为每一个用户查询结果都放在服务器内存中等待分页处理,如果同时有超过100个的用户在线查询,那么ASP应用程序的执行效率将大受影响。但是,当服务器上数据库的记录数以及同时在线的人数并不是很多时,两者在执行效率上是相差无几的,此时一般就采用第一种方法,因为第一种方法的ASP程序编写相对第二种方法要简单明了得多。进行ADO存取数据库时的分页显示,实际上就是对Recordset的记录进行操作。Recordset的几个主要属性有:①AbsolutePage属性:设定当前记录的位置是位于哪一页,使用PageSize属性将Recordset对象分割为逻辑上的页数,每一页的记录数为PageSize。②AbsolutePosition属性:目前指标在RecordSet中的位置.若要启用该属性,必须先设定为使用用户端cursor(指针),即:rst.cursortype=3。③PageCount属性:显示Recordset对象包括多少“页”的数据。这里的“页”是数据记录的集合,大小等于PageSize属性的设定。④PageSize属性:显示Recordset对象每一页显示的记录数。⑤RecordCount属性:显示Recordset对象记录的总数。可以为PageSize属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount属性来确定记录的总数;再用记录总数除以PageSize就可得到所显示的页面总数,最后通过AbsolutePage属性就能完成对指定页的访问。使用Session变量保存Recordset记录集,这样每当换页显示时,保证还是同一个记录集。主要代码如下:<%Dimcnn,rst,sSQL,currentPage,rowCount,icurrentPage=Request.QueryString(“currentPage”)‘从查询字符串中获得页号IfcurrentPage=“”Then‘如果页号为空(第一次打开页面)73 currentPage=1‘设置页号为1EndIfsetcnn=server.createobject("adodb.connection")setrst=server.createobject("adodb.recordset")cnn.connectionstring="provider=sqloledb;datasource=bb;uid=sa;pwd=123;database=学生成绩管理"cnn.openrst.CursorType=3‘设置记录集使用静态游标rst.PageSize=10‘设置在一页中显示10行记录sSQL=“select*from学生资料”rst.OpensSQL,cnn‘打开记录集rst.AbsolutePage=CInt(currentPage)‘设置当前记录所在的页面rowCount=0‘设置当前行号%>6.3SQLServer2000数据库的备份和还原计算机的普及和信息技术的进步,特别是计算机网络的飞速发展,信息安全的重要性日趋明显。但是,作为安全的一个重要内容数据备份的重要性却往往被人们所忽视.只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有[26-29]时造成的损失是无法弥补和无法衡量的。数据库备份是一种灾害预防措施,是制作数据库结构、对象和数据的拷贝,以便在数据库遭到破坏的时候能够修复数据库;恢复则是一种消除灾害的操作。备份是还原的基础。数据库还原或恢复是指在发生灾害性事故的时候,能利用已备份的数据或其他手段,及时的对原系统进行恢复,以保证数据的安全性以及业务的连续性。数据库的恢复实际上包括了两个层面:数据库恢复和数据库修复。数据库修复:数据库修复是指利用备份的数据库文件来替换已经损坏的数据库文件,这项操作主要是在操作系统级别完成的。数据库恢复:数据库恢复是指利用重做日志文件的增量备份来重新建立已经丢失的数据。这项操作主要是在数据库管理系统级别完成的。对于发生介质损坏的数据库来说,通过数据库修复可以弥补数据库的物理缺失,即数据库文件的损坏与丢失;而通过数据库恢复则可以弥补数据库的逻辑损失,即数据库中的逻辑数据的损坏与丢失。74 对数据库进行物理备份,保留的只是数据库在进行备份时刻的一个精确副本。通过数据库修复可以将数据库恢复到进行备份的那个时刻。但是如果将数据库修复可以将数据库恢复发生的那个时刻,就必须通过应用归档重做日志和联机重做的方式进行数据库恢复。也就是说,先将数据库恢复到进行备份的那个时刻,然后再在数据库备份的基础上,通过应用重做数据而重现从备份时刻开始到故障发生之前的这一点时间中所有的数据修改操作,从而将数据库恢复到故障发生之前[30-31]的状态。在下述情况下需要使用数据库的备份和还原:①存储媒体损坏。例如存放数据库数据的硬盘损坏。②用户操作失误。例如非恶意地或恶意地修改或删除数据。③整个服务器崩溃。例如操作系统被破坏,造成计算机无法正常启动。④需要在不同的服务器之间移动数据库时。把一个服务器上的某个数据库备份下来,然后还原到另一个服务器上去。6.3.1数据库备份方法在SQLServer2000中,备份数据库有以下四种方法:①全库备份。即制作数据库的所有内容的副本。它在备份构成中需要花费的时间和空间最多,不宜频繁进行。恢复时,仅需要恢复最后一次全库备份即可。该备份以后的修改都将丢失。②差异备份。及只备份最后一次全库备份后被修改的数据页。备份的时间和空间较少。恢复时,先恢复最后一次全库备份,再恢复最后一次差异备份。③事务日志备份。即只备份最后一次日志备份后所有的事务日志记录。备份所用的时间和空间更少。利用日志备份进行恢复时,可以指定恢复到某个事务。例如,可以将其恢复到某个破坏性操作执行前的一个事务,这是全库备份和差异备份所不能做到的。但利用日志备份进行恢复时,需要重新执行日志记录中的修改命令来恢复数据库中的数据,所以通常恢复时间较长。较为合理的一种方案可以是每周进行一次全库备份,每天进行一次差异备份,每小时进行一次日志备份,这样最多只会丢失一小时的数据。恢复时,先恢复最后一次全库备份,再恢复最后一次差异备份,再顺序恢复最后一次差异备份以后进行的所有事务日志备份。④文件或文件组备份。即备份某个数据库文件或数据库文件组。必须与事务日志备份结合使用才有意义。例如,某数据库中有两个数据文件,一次仅备份一个文件,而且在每个数据文件备份后,都要进行日志备份。在恢复时,使用事务日志使所有的数据文件恢复到同一个时间点。例如下表所示,某数据库在三个不同时刻分别作了不同的数据库备份。若在时刻3以后数据库被破坏时,要恢复数据库就要按表中的“恢复顺序”中所列出的恢复顺序进行。75 表6.1数据库备份与恢复顺序表Table6.1DatabaseBackupandRestoreOrderTable备份方法时刻1时刻2时刻3恢复顺序全库备份全库1全库2全库3全库3差异备份全库1差异1差异2全库1→差异2日志备份全库1日志1日志2全库1→日志1→日志2文件或文文件1,文件2,文件1,恢复文件2的顺序:时刻2的文件2备份→日志2→日志3件组备份日志1日志2日志3恢复文件1的顺序:时刻3的文件1备份→日志3对于本系统拟采用的备份方案为每周进行一次全库备份,每天进行一次差异备份,每小时进行一次日志备份,这样最多只会丢失一小时的数据。恢复时,先恢复最后一次全库备份,再恢复最后一次差异备份,再顺序恢复最后一次差异备份以后进行的所有事务日志备份。下面介绍如何在企业管理器中备份数据库,具体步骤如下。①在企业管理器中,展开服务器组,然后展开一个服务器。②展开“数据库”文件夹,单击要备份的数据库,然后选择“操作→所有任务→备份数据库”命令,如图所示。图6.7选择备份数据库的选单命令Fig6.7DatabaseBackupChoiceofTheMenuCommand③当出现如图所示的“SQLServer备份”对话框时,在“名称”框中输入数据库76 备份集的名称。如果需要,也可以在“描述”框中输入一些说明文字,描述数据库备份集。图6.8“SQLServer备份”对话框Fig6.8“SQLServerBackup”Dialog需要说明的是,如果在图6.10中看到“事务日志”和“文件和文件组”两个选项被禁用,可以通过右击数据库,单击“属性”,然后单击“选项”选项卡将“故障还原模型”框更改为“完全”,就可以使上述两个选项转为有效。④在“备份”区域中选择备份的方法:1)若要执行完整数据库备份,则选择“数据库-完全”选项。2)若要执行差异数据库备份,即仅备份自上一次完整数据库备份以后对数据库数据所修改的数据页,则选择“数据库-差异”选项。3)若要备份事务日志,则选择“事务日志”选项。4)若只想备份数据库中某个文件和文件组,则单击浏览按钮,以选择相应的文件或文件组。⑤指定备份的目的地。在“目的”区域中单击“添加”按钮,并在如图6.9所示的“选择备份目的”对话框中指定一个备份文件或备份设备,使之出现在图6.8所示的对话框中“备份到”下边的列表框中。在一次备份操作中可以指定多个目标设备或文件,这样可以将一个数据库备份到多个文件或设备中。77 图6.9“选择备份目的”对话框Fig6.9“SelectBackupPurposes”Dialog⑥在“重写”区域中选择备份方式:1)若要将此次备份追加在原备份数据后面,则选择“追加到媒体”选项。2)若要将此次备份的数据覆盖原有备份数据,则选择“重写现有媒体”选项。⑦在“调度”区域中制定备份日程。如果希望按照一定周期对数据库进行备份,可以选取“调度”复选框,然后单击按钮并在如下图所示“编辑调度”对话框中安排备份数据库的执行时间。图6.10“编辑调度”对话框Fig6.10“DispatchEditor”Dialog⑧返回到“数据库备份”对话框中,单击“确定”按钮,开始执行备份操作,此时出现相应的提示信息。⑨当看到“备份操作已顺利完成”的提示信息时,单击“确定”按钮,结束备份操作。78 另外,数据库的备份也可以使用备份向导或通过Transact-SQL语句来完成,这里就不逐一介绍了。6.3.2还原数据库的方法还原数据库就是把原来备份的数据恢复到备份前的状态。当还原数据库时,SQLServer会自动将备份文件中的数据全部拷贝到数据库,并回滚任何未完成的事务,以保证数据库中数据的一致性。同样,还原数据库也可以通过企业管理器或使用Transact-SQL语句来完成。下面介绍如何在企业管理器中还原数据库,具体步骤如下。①在企业管理器中,展开服务器组,然后展开一个服务器。②用鼠标右键单击“数据库”,在弹出的快捷选单中选择“所有任务”选项,再选择“还原数据库”选项,打开如图所示的对话框。图6.11“还原数据库”对话框Fig6.11“ReductionDatabase”Dialog③在“还原数据库”下拉列表中选择要还原的目标数据库,该数据库可以是不同于备份数据库的另一个数据库,即可以将一个数据库的备份还原到另一个数据库中。可以从下拉列表中选择已存在的数据库,也可以输入一个新的数据库名称,SQLServer2000将自动新建一个数据库,并将数据库备份还原到新建的数据库中。④选择一种还原方式,可以是“数据库”、“文件组或文件”或“从设备”方式。选择第一种方式可以很快地还原数据库,但这种方式要求要还原的备份必须在msdb数据库中保存了备份历史记录,在其他服务器上创建的备份在msdb数据库中没有记录,则此时将一个服务器上制作的数据库备份还原到另一个服务器上时,79 不能使用数据库的还原方式,而只能使用备份设备还原。⑤当选择“数据库”方式时,在“参数”栏的“显示数据库备份”下拉列表框中选择要还原的数据库备份。在“还要还原的第一个备份”下拉列表框中列出了要还原的数据库在msdb中记录的所有备份历史,从中选择在某一日期下备份的数据库备份文件。⑥在“常规”选项卡的下部,显示了一个备份的列表,表中列出了从“要还原的第一个备份”开始的对该数据库进行的所有备份,对每个备份都显示了该备份的类型、备份的时间、大小、备份的物理名称等信息。用户可以从中选择所要还原的备份,方法是选中备份前面的“还原”复选框。默认状态下,SQLServer会为用户选择最新的全库备份、最后一次差异备份以及最后一次差异备份之后进行的所有日志备份。⑦如果再上一步中选择了日志备份,那么可以选中“时点还原”复选框,指定还原在某一事件以前的事务日志。⑧在“选项”选项卡中设置还原的选项,如下图所示。“将数据库文件还原为”选项列表中给出了要还原的数据库文件的原文件和将要还原成的文件名,在默认状态下,将要还原成的文件名和源文件名相同,用户可以将起改为其他的名字。图6.12设置还原选项Fig6.12RestoreOptionsSet⑨在“恢复完成状态”选项中选择下列单选按钮之一。1)选择第一个按钮,数据库恢复完成后数据库继续运行,但无法还原其他事务日志。2)选择第二个按钮,数据库恢复完成后不能再运行,但能还原其他事务日志。80 3)选择第三个按钮,数据库恢复完成后自动为只读方式,不能对其进行修改,但能还原其他事务日志。⑩单击“确定”按钮,开始还原操作。如果在图6.11所示的对话框中选择的还原类型是“从设备”,则会出现如下图所示的对话框。图6.13“从备份设备还原”对话框Fig6.13“BackupEquipmentformtheReduction”Dialog单击“选择设备”按钮,然后在如下图所示的对话框中单击“添加”按钮,选择要还原的备份文件,再单击“确定”按钮,即可开始还原数据库。图6.14“选择还原设备”对话框Fig6.14“SelectiveReductionEquipment”Dialog6.3.3直接复制文件的备份和还原数据库的备份和还原,除了在企业管理器中进行或使用Transact-SQL语句完成之外,还有直接复制拷贝文件的方法。81 在SQLServer中,与一个数据库相对应的数据文件(.mdf)和日志文件(.ldf)都是Windows系统中的普通磁盘文件,用普通的方法直接进行文件复制操作就能达到备份数据库的目的。不过,复制的数据库文件并不会自动地连接到SQLServer2000系统中,还必须通过执行系统存储过程sp_attach_db对所制作的数据库副本进行还原,也就是将数据库附加到服务器上。系统存储过程sp_attach_db的语法格式为:[EXECUTE]sp_attach_db‘数据库名称’,‘文件名’[,…16]在上述语法格式中,数据库名成为要连接到SQLServer中的数据库名,该名称必须是唯一的,如果指定的数据库已经存在,应当予以删除或者另行指定一个数据库名;文件名为包含路径在内的数据库文件名,可以是主要文件(.mdf)、非主要文件(.ndf)和事务日志文件(.ldf),最多可以指定16个文件名。6.4本章小结本章阐述了在本次设计工作中遇到的技术问题和技术难点及解决方案,主要包括ASP网页与后台数据库的连接、分页显示和数据库维护的问题。82 7总结与展望教学管理是学校管理的核心工作,其工作的复杂性、综合性客观上要求高超的现代化管理手段。通过学生成绩管理系统配合学校教学工作的综合管理,可以提升学校教学管理工作的水平,是促进学校管理现代化的有效手段。本论文结合作者多年教学管理经验及详实的业务需求分析,设计并实现了B/S架构的高校学生成绩管理系统。分别让访问权限为“1”、“2”和“3”的用户登录该系统,进行了学生资料、课程设置、成绩数据及更改访问权限的各种操作,运行结果表明基于ASP的学生成绩管理系统主要可以实现以下两个目标:①通过该系统的建设,实现学生成绩管理数字化;适应信息化的发展趋势,满足了全日制本科教学特点,方便了学生和教师。②为实现教学管理现代化、规范化,实现教学管理的“无纸化”办公打下了基础,提高了教学管理的质量和效益。然而,学生成绩管理系统的设计工作,由于时间及技术水平等原因,还需要继续完善。从目前系统运行的情况看,主要还存在如下问题:①系统功能有待进一步补充或完善,具体情况如下:1)网站页面的建设:应建立网站的常用功能,如留言板等,以加强与用户的联系,了解用户的需要,以便于系统的进一步设计。2)功能的完善:如某些查询的使用上应该更符合用户习惯,页面的显示内容及样式多样化。3)网上排课及查阅课表等功能的实现。②学生成绩管理系统应该最终成为教学管理的一个子系统,而教学管理是学校管理的核心工作,其工作的复杂性、综合性客观上要求高超的现代化管理手段。通过计算机教学管理系统实施学校教学工作的综合管理,是提升学校教学管理工作的水平和促进学校管理现代化的有效手段。其复杂性也可体现为用户的大量性和类型的多样性,即各个用户具有不同的管理功能和访问权限,而该系统只提供了简单的“1”、“2”和“3”级访问权限,这在计算机教学管理中是远远不够的。那么,如果在该系统中再增加“4”级、“5”级甚至更多级的访问权限,不仅使权限访问管理变得复杂也使程序设计工作量变大。在此前提下,拟对本系统采用基于角色的控制技术来实现管理系统的访问权限控制。数据库角色是在数据库级别上定义的,并且存在于每个数据库中。数据库角色分为固定数据库角色和自建数据库角色两类。借助于数据库角色,可以对数据库用户的权限进行有效的管理。如果根据工作职能定义了一系列角色并给每83 个角色指派了适当的权限,则很容易在数据库中管理这些权限。有了角色,就不用直接管理各个用户的权限,而只需要在角色之间移动用户就行了。当工作职能发生变化时,只需要更改一次角色的权限并使更改自动应用于角色的所有成员,[38-42]操作起来十分方便。很多时候,固定的数据库角色并不能满足需要,如用户的需求并不总是能够映射到一个固定的数据库角色,或有时数据库管理员要给一些用户设置相同的权限,但他没有管理WindowsNT用户和组的权限,不能将这些用户组织在一个WindowsNT组中,这时只要在数据库中添加新的数据库角色来统一管理这些用户的权限就行了。另外,基于角色控制的访问权限控制系统能严格地控制与防止用户接触与其身份角色不相关的数据信息,有效地避免用户的非法操作,从而切实地提高了系统的可用性和安全性。总之,要真真实现校园内教学管理自动化,建立数字化校园是一个任重道远的工作,它需要更多的教学管理工作者加入到这个行列中,不断地完善,改进现代化的教学管理信息系统,从而提高我国高校教学管理整体水平。84 致谢特别感谢我的导师陈金玉老师。几年来,他一直给予无私的帮助,毫无保留的传授开发技术和经验。使我在理论和实践上都有个难得的锻炼机会。感谢他在系统开发过程中给予我的详尽细致的技术指导。在他的全力帮助下,这篇论文得以顺利完成。我还要特别感谢重庆大学自动化学院的各位老师,在您们的关心、教育和帮助下我们才能顺利地完成学业。最后,感谢陕西理工学院电气系的全体人员,两年来我们合作非常愉快,他们给了我充分的信任与支持,并在系统的设计阶段给予了非常好的建议,在系统的测试和运行中及时发现问题,使得我设计工作能顺利完成。胡波二OO八年十月十日85 参考文献[1]ANIDO-RIFONL,FERNANDEZ-IGLESIASMJ,LLAMAS-NISTALM.AComponentModelforStandardizedWeb-BasedEducation[J].ACMJournalofEducationalResourcesinComputingVol.1,No.2,2001.[2]Harris.OnlineDistanceEducationintheUnitedStates[J].IEEECommunicationsMagazine,1999,37(3):1-6.[3]BehrouzA,Forouzan,SophiaChungFegan.TCP/IPProtocolSuite[M].SecondEdition.NewYork:McGraw-HillCompaniesInc,2000.35-46.[4]Forouzan,Behrouz.IntroductiontoDataCommunicationandNetworking[M].SecondEdition.NewYork:McGraw-HillCompaniesInc.2001.102-126.[5]Stallings,William.High-SpeedNetwork[M].London:UpperSaddleRiver,Prentice-Hall.1998.73-88.[6]Wright,Gray.R,W.RichardStevens.TCP/IPIllustrated[M].vol2.NewYork:Addison-Wesley,1995.188-220.[7]胡标.ASP网络编程技术与实例[M].北京:人民邮电出版社,2004:10-227.[8]MattJ.Crouch.康博工作室译.怎样用ASP和COM进行WEB编程[M].人民邮电出版社,2001.[9]张军,张庆来.管理信息系统[M].兰州:兰州大学出版社,2005:30.[10]周懋彬.基于Web的农业高职院校教学管理信息系统开发研究[D].上海:上海华东师范大学.2006年:1-5.[11]姜汉祥.基于Oracle的重庆大学教学管理信息系统的设计与实现[D].重庆:重庆大学.2006:2-4.[12]教育部现代远程教育技术标准化委员会.现代远程教育技术规范[M].2001.[13]阮燕辉等.浏览器/服务器应用开发[M].科学出版社,2000.[14]Miscrosoft公司.IIS技术[EB/OL].http://www.chinaitlab.com/www/special/iis.asp.[15]潘示怡,袁新宇.用IIS和ASP技术构造Web站点的安全措施[J].武汉科技大学学报(自然科学版),2000,(5):304-305.[16]耿文兰.SQLServer2000数据库管理与开发[M].电子工业出版社,2003.[17]ASP程序开发[EB/OL].http://www.chinaitpower.com/Dev/Web/Asp/.[18]宋鑫.ASP网络开发技术入门与提高实用教程[M].中国铁道出版社,2005.[19]赵增敏.ASP动态网页设计[M].电子工业出版社,2004.[20]李筱红.基于网络技术的教学管理系统设计与实现[J].广东工业大学学报(社会科学版).86 Vol.6Suppl.Dec.2006:34-35.[21]瞿畅,王君泽.ASP/ADO技术在远程教学系统开发中的应用与研究[J].南通工学院学报,2003,(4):82-85[22]赵丰年,武远明.HTML&DHTML实用教程[M].北京理工大学出版社,2002.[23]刘中宏.精通VBScript[M].清华大学出版社,2001.[24]吉根林.WEB程序设计[M].电子工业出版社,2002.[25]潘志明.WEB应用程序对象建模方法与研究[J].计算机应用研究,2001,(1):107-109.[26]牛云,徐庆等.数据备份与灾难恢复[M].北京:机械工业出版社,2004.3.[27]AnilDesai著.天宏工作室译.SQLServer2000备份与还原[M].清华大学出版社,2003.[28]MicosoftCorporation著.SQLServer2000安装与使用指南[M].科学出版社,2000,10.[29]成明盛.数据库备份恢复技术的应用及应用设计[D].西南交通大学,2005.[30]郭鲜凤,张和义.MSSQLServer分布式数据库的安全性研究[J].电脑与信息技术,2003,(2):24.[31]朱艳辉,黄烟波.基于ASP技术的Web网站多级安全机制[J].微型电脑应用,2000,(6):77-78.[32]EricM.SchhurmanWi111iamPardi.动态HTML实用指南[M].清华大学出版社,1999:5-20.[33]Forouzan,Behrouz.IntroductiontoDataCommunicationandNetworking[M].SecondEdition.NewYork:McGraw-HillCompaniesInc,2001,102-126.[34]PamNorthrup.AFrameworkforDesigningInteractivityintoWEB-BasedInstruction[J].EducationalTechnology,2001.[35]BadrulH.Khan.WEB-BasedInstruction[M].EducationalTechnologyPublications,1997[36]http://skynet.Sl.net/file/pc/Vb/VBSTOC.HTMVBScript语言参考.[37]MurrayWGoldberg,StudentParticipationandProgressTrackingforWWWBasedCourseUsingWWWCT[M].ProceedingsoftheSecondInternationalN.A.WWWConference,Canada:1996:87-95.[38]徐启,刘清欣.基于角色的用户权限管理方法的设计与实现[J].华北水利水电学院学报,2005,(4):28-30.[39]杨涛,杨荣.Web服务安全机制研究[J].北京工业职业技术学院学报,2005,(4):21-26.[40]智勇.基于角色的权限管理在教学资源管理系统中的应用[J].计算机与现代,2003,95(7):37-39.[41]毛碧波,孙玉芳角色访问控制[J].计算机科学,2003,30(1):121-123.[42]高正宪,李中学.Web环境下基于角色的访问控制策略及实现[J].计算机工程,2004,30(8):133-135.87 附录A.作者在攻读硕士学位期间发表论文的目录[1]胡波,胡礼木.搅拌针前进阻力的动态测量与分析.焊接.2008年第10期,已录用.88

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭