基于Web的实验教学管理系统的设计与实现陈兵陈六平*(中山大学化学与化学工程学院广州510275)摘要本文阐述了基于Web的实验教学管理系统的开发与设计思想,以及应用ASP技术实现其前台和后台信息交互的方法及过程。
发展了一个新的实验教学管理模式,对于促进实验教学实施科学的网络化和信息化管理具有现实意义。
关键词基于Web,实验教学管理系统,C/S模型,Web服务,数据库系统。
Internet的迅速发展及校园网的建成,加快了高校教学网络化的进程。
整个社会信息变革的同时,学校也面临信息化管理的挑战。
作为教学管理的一个重要环节,实验教学管理要负责教学、教研、考核、管理等多项任务,工作复杂、繁琐,模式固定,信息交换频繁。
因此,针对某些学科专业的基础实验课程,非常有必要建立一个基于Web的实验教学管理系统。
覆盖了全校的校园网络为建立基于Web的管理信息系统提供了良好的基础。
而各部门计算机的普及,使用计算机的人员越来越多,这就为管理系统的运行和维护提供了人员保障。
另外,管理系统的建立也有利于各级领导及时、全面地了解实验教学情况。
针对化学基础实验课程的教学特点,本文设计开发了一套实验教学网络管理系统,下面对此予以介绍。
1.系统设计目标基于Web的实验教学管理系统应当具备这样的功能[1]:在校园内任何一台联网计算机上,学生可以进行实验项目的相关查询,教师也可以方便地登录学生实验的成绩;有合理的成绩评定方式,能充分发挥奖勤罚惰的作用;有相应的安全保障,避免预约信息资料的丢失或破坏,以及实验成绩不被篡改;具有很强的统计及报表输出功能;能够建立起有效的师生交流渠道等。
*基金项目:中山大学化学学院创新化学实验研究基金(批准号:01005)资助。
第一作者:陈兵(1980年),中山大学化学与化学工程学院98基地班通讯联系人:陈六平副教授 E-mail:cesclp@要实现这些目标,系统的设计必须遵循以下原则:(1)较快的响应速度和较高的工作率;(2)充分利用现有资源,包括局域网,数据资料等,尽量减少重复投入;(3)适应能力强,可扩充,易维护,操作简单;(4)以学生为主要应用对象,充分考虑学生的经济承受力;(5)有效处理数据访问的并发操作。
2.系统开发思想基于Web的实验教学管理系统,实质上是在校园网上实现预约信息数据库的异地Web访问。
在Web 平台上,实现数据库的访问有多种方式。
它既可以通过CGI(Common Gateway Interface,通用网关接口)、JDBC(Java Database Connectivity,Java与数据库的连接技术)、SSI(Server Side Include,服务器端插件)、ISAPI(Internet Server Application ProgramInterface,服务器应用程序接口),也可以使用象Oracle、Sybase 等数据库系统所提供的专用开发工具,建立起动态HTML页与数据库之间的连接,使浏览器可以利用SQL语句实现数据库的查询,甚至增加、删除、修改数据库信息等。
在物理实现上,本系统采用了C/S(Client/Server,客户机/服务器)结构体系[2],见图1。
前端Web浏览器通过Web服务器向数据库发出命令请求或者接受数据,Web服务器和数据库之间则采用ODBC进行通讯。
采用这种体系结构便于集中管理。
应用程序、数据库和相关构件全部集中在服务器上,客户端只需要有Web浏览器即可。
而且系统更新、维护和数据管理都在服务器上面实现,利于系统的管理。
3.系统总体结构和功能按照模块化的设计思想,我们设计出了系统的总体框架,见图2。
系统由最高管理员模块、管理员模块、教师模块和学生模块等四个模块组成,同时具备了设定数据库,访问数据库,修改数据库等多种功能,各个功能模块相互协调工作。
除了以上功能,还考虑到本系统使用的范围大,涉及面广,使用对象包括学生、教师、管理员、系统管理员等,使用层次不一,系统在安全方面做了相应处理。
如系统管理员给管理员授权安排工作,管理员给教师安排工作等。
而根据登陆用户的权限的不同,系统提供了相应范围的功能。
图2、系统功能结构图4.系统的设计细节基于Web的实验教学管理系统的设计,需要经过以下几个阶段:(1)选择合适的开发技术;(2)建立合适的Web服务器;(3)选择合适的数据库服务器,建立合适的数据库;(4)选择恰当的数据库访问方式;(5)建立实现数据库交换的Web页面和服务器处理程序;(6)系统并发机制控制;(7)安全性控制。
1.开发技术的选择目前用于开发交互式动态Web站点的技术主要为ASP(Active Server Page)、PHP(Personal Home Page)和JSP(Java Server Page)。
而本系统采用目前比较流行的ASP技术编写。
ASP是目前进行Web应用开发的理想选择。
ASP (Active Server Page,动态服务页面)是IIS 3.0以上版本的附加组件,综合了传统的HTML 文件、ActiveX脚本程序语言及ActiveX组件技术[3]。
利用ADO(ActiveX Data Objects)组件与数据库对话,用户还可以自己定义组件加入其中,使自己的动态网页几乎具有无限的扩张能力,这是传统的CGI 等方式所不能比的。
相对于传统方式,ASP方式具有开发效率高、容易编译、交互性好、安全性强、跨平台、可扩充和面向对象等多种优点。
2.Web服务器的建立由于本系统采用了ASP 技术编写应用程序,而ASP 作为IIS3.0以上产品的附带组件,开发ASP 应用程序的Web服务器平台首选Windows NT Server上的IIS(3.0以上版本)。
还可以使用Windows NT workstation 或Windows 95/98的Personal Web Server(PWS),也可以使用其他选择,如来自Chili!Soft 公司的Chili!ASP等[4]。
本系统采用了IIS5.0,操作系统采用了Windows2000 Advanced Server。
相比前几个版本,IIS5.0版新增了很多功能[5],有助于Web管理员创建可升级的、灵活的应用程序,如安全通信、服务器网关加密、权限向导、进程限制、改进的自定义错误消息、应用程序保护等。
3.数据库服务器的建立由于本系统涉及的专业、学生人数较多,有必要采用关系数据库。
相比非关系模型,其数据结构简单、清晰,用户易懂易用,数据独立性好,安全性高,利于程序员开发、工作。
本系统采用的关系数据库为Microsoft SQL Server2000。
作为Microsoft公司在关系数据库方面的主要产品,它与Windows NT 系统紧密连接。
其建立于成熟和强有力的关系模型上,是Windows系列平台上首选的数据存储和检索模型。
本系统中最主要的信息是实验课程的安排情况和学生的成绩统计。
随着学期和课程的进行,这些数据会不断变化。
因此,我们设计了四个关系表。
用户信息表用于保存管理员、教师、实习研究生和学生的资料,如密码、姓名、联系方式等。
大组信息表用于保存各个专业年级的基本情况,包括人数、实验数、小组数及实验名称等。
小组信息表用于保存各个小组的基本设置,包括小组所在大组、组员数、小组实验时间、任课教师等。
学生成绩表,用于保存各个学生各个实验的具体得分。
各个表中将自动完成合法性检验,如一个学生不可以同时出现于两个小组中等。
4.访问数据库ASP中推荐的数据操作方式是ActiveX数据对象(ADO)。
它功能强大,使用方便,是ASP的核心技术之一。
在ASP网页中使用ADO必须先配置服务器,提供一条使ADO定位、标识和数据库通信的途径,即建立一个数据源。
数据源包括了如何与一个数据提供者进行连接的信息。
数据库驱动程序使用Data Source Name(DSN)定位和标识特定的ODBC(Open DataBase Connectivity,开放式数据库互联技术)兼容数据库,将信息从Web应用程序传递给数据库。
采用ODBC最大的优点在于通用性好。
不仅开发程序不会因数据库的改变而做大的改动,提高了系统的开发效率,而且增强了系统的扩充、升级能力。
对数据库的直接操作是通过Transact-SQL(Structured Query Language)语言来实现的。
Transact-SQL 对使用Microsoft® SQL Server™ 非常重要。
与SQL Server 通讯时的所有应用程序都通过向服务器发送Transact-SQL 语句来进行通讯,而与应用程序的用户界面无关。
SQL是一个通用的、功能极强的关系数据库语言。
它集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、插入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求[6]。
另外,SQL语言虽然功能极强,但是由于设计巧妙,语言十分简捷,完成基本的核心功能只使用了9个动词(包括用于数据查询的SELECT,用于数据定义的CREA TE、DROP和ALTER,用于数据操纵的INSERT、UPDATE和DELETE,用于数据控制的GRANT和REVOKE等)。
而且它接近英语口语,容易学习,容易使用[7]。
5.应用程序开发按照模块化的设计思想,本系统由最高管理员模块、管理员模块、教师模块和学生模块四个模块组成,同时具备了设定数据库,访问数据库,修改数据库等多种功能,各个功能模块相互协调工作。
同时,各个模块中的具体功能为了降低复杂性,也使用了模块化设计的思想,建立了更小规模的模块。
以上功能模块的设计主要是围绕与用户交互和数据库操作两方面进行的。
ASP与用户交互主要通过内置的Response、Request、Session和Application等对象实现,而与数据库交流通过ADO内置的Connection、Command、RecordSet和Errors等对象实现。
ASP内置了Request、Response、Server、Session、Application和ObjectContext六个对象。
这些对象由ASP本身提供,使用时不需要经过任何声明或建立的过程,因此称为ASP内置对象[8]。
这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,从而减少开发的工作量。
本系统中主要使用Request、Response、Session和Application四个对象。