基于Web的实验管理信息系统

时间:2022-10-05 06:27:22

基于Web的实验管理信息系统

(淮阴工学院 计算机工程系,江苏 淮安 223001)

摘要:本文讨论了WEB环境下实验管理信息系统的体系结构、系统功能、数据库设计以及系统的实现技术。

关键词:实验管理信息系统;数据库;COM+;数据完整性

中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)08-10ppp-0c

1 引言

理工科高校实验教育是培养学生工程实践能力的重要环节,它的显著特征是将实践知识与理论知识有机地联系在一起,并借助于一定的实验手段来培养学生的技术应用能力和工程观念。传统的实验课程需要教师完成安排实验任务、评阅文件、收集和批改实验报告等工作。通常以口头和书面的方式进行,已经越来越不能适应现代教学的需求。

随着网络技术、计算机技术的进步,建立完备的实验管理手段成为可能。我们可以通过网络共享远程实验资源和信息,方便地安排学生进行实验,不受时间与空间的限制。这样不仅可以大大地简化了实验教学的过程,还能将教师从繁重的实验管理工作中解脱出来,从而提高实验管理的水平。

2 系统的体系结构

目前,基于Web Computing计算模式的B/S结构的应用程序开始占有越来越重要的位置,在B/S体系结构系统中,用户可以通过浏览器,向分布在网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。实际上,B/S体系结构是把二层C/S结构的事务处理逻辑从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务。B/S结构的Web应用程序和C/S结构的相比有以下优点:

(1)无须开发客户端软件,维护和升级方便。

(2)可跨平台操作,客户端只要装有WWW浏览器。

(3)具有良好的开放性和扩充性。

(4)可以减少网络流量,大大缓解网络带宽问题。

建立在微软的IIS(Internet Information Server)基础上的ASP技术和ActiveX技术,使得Web应用程序的开发、运行效率得到了较大的改善,是一种有效的开发Web应用的方法,可以在客户端和服务器端创建ActiveX组件,来扩展系统的应用逻辑。建立在IIS和ASP技术上的Web应用结构如图1所示。

图1 建立在IIS和ASP基础上的Web应用结构图

3 系统的功能需求

本系统应该具有以下功能:

(1)用户的基本信息管理

用户信息包括用户名、所属院系、身份、口令、权限等项目,按用户需要而定。系统管理员有权对用户信息表进行维护操作,包括用户的增加、删除,以及用户权限的重新设定等。

(2)实验信息的浏览和评阅

教师可以查看学生的图文档(CAD图形或实验报告)的结果和统计信息,并给出评价和分数等级。

(3)系统管理

系统管理工作由系统管理员来承担。系统管理包括权限设置、实验设置、信息、注册设置等方面内容。用户的权限包括设计、分析、浏览、协调等。教师和学生都会被分配若干权限。一般学生的权限和学生组长的区别在于在客户端所观察到的视图不同,组长可以协调组内成员的设计工作。例如,组长可以向组内成员发送邮件通知。组长和一般学生根据各自不同的权限完成分析和设计工作。通过对以上功能需求的分析,系统可划分为若干个功能模块,见图2。

图2 系统的功能模块

4 系统的数据库设计

概念模型是对现实世界的抽象和概括,它真实、充分反映了现实世界中的事物和事物之间的联系,它独立于计算机的数据模型和特定的数据库管理系统。描述概念模型的有力工具是E-R 图,本系统的E-R图见图3。

图3 系统的E-R图

逻辑结构设计的任务就是把概念结构设计阶段设计好的E-R图转换为与所选用的DBMS产品所支持的数据模型相符合的逻辑结构。E-R图向关系模型的转化要解决的问题是:如何将实体和实体间的联系转换为关系模式以及确定这些关系模式的属性和码。系统的全局E-R图转换成的关系模型为:

教师(教师名、角色名称、密码、系别、性别、职称、任教班级数、通讯地址)

班级(班级名、系别、人数)

任课(实验名称、教师名、班级名)

实验(实验名、实验序号、实验内容、实验人数、实验地点)

实验分配(实验名、班级名、实验项目类型、机构数量、实验期限)

学生(学生名、班级名、学号、角色名称、密码、通讯地址)

实验权限(学生名、实验名、学号、权限类型)

角色(角色名称、人员名称、系别、通讯地址)

图文档(文档名称、实验名、学生名、零部件名称、班级名、文件类型、零部件类型、完成状态、评价状态、评价内容)

零件(零件名、实验名、班级名、学生名、机构名、部件名)

部件(部件名、实验名、班级名、学生名、机构名)

机构(机构名、实验名、班级名、学生名)

教师注册表(系别、教师名集合、职称)

学生注册表(班级名、学生名集合)

零部件说明书(实验名称、零部件名称、设计者、零部件编号、设计时间、材料重量、比例、图幅、图序)

本系统的DBMS采用的是MS SQL Server 2000。

5 系统的实现技术

5.1 ASP技术

ASP程序可以使用多种脚本语言,只需提供相应的脚本驱动。ASP自身提供了VBScript和JavaScript的驱动,而且通过ActiveX组件可以实现复杂的Web应用。ASP程序属于ActiveX技术中的Server端技术,其命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送至浏览器;而客户端的Script命令则由浏览器来解释运行。

是ASP的最新版本,它是建立在公共语言运行环境基础上的, 具有强大的语言支持(如 C# 、)、更高的执行效率和开发效率等优点。

在ASP中,通常使用ADO(Active Data Objects)连接数据库,ADO是对OLE DB编程接口的简化,是以OLE DB为基础的、面向对象的应用程序编程接口。OLE DB标准是一种开放的、访问各种数据信息的标准,它是通过一组C++ API函数来实现的,通过它可以访问符合OLE DB标准的任何数据源。在ASP中可以利用ADO对各种数据库进行访问(如Access、SQL Server、Oracle等),还可以访问存储在其他表格式数据结构(如电子表格)中的信息。ADO实际上是一个对象集,并组织在一个对象模型中。

在中,使用ADO.NET连接数据库,ADO.NET使用XML在程序和网页之间实现数据交换。用XML格式的数据集传送信息,使开发者能够轻易地把处理数据的部分和用户界面的部分分别放在不同的服务器上。因此,它能够极大地提高性能以及增强支持多用户系统的可维护性。

5.2 COM+技术

COM技术是Microsoft开发的,由OLE技术基础发展而来,经历了OLE 2/COM、ActiveX、DCOM和COM+等几个阶段。目前,COM+把消息通讯模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布式对象计算的一个比较完整的平台。以COM/COM+技术为基础进行软件开发具有编程语言和开发环境独立、组件位置透明、组件进程透明、可扩充性、可重用性等特点。

本系统结合了ASP技术和COM+技术,采用三层结构。表示层由ASP页面组成,用以实现Web页面显示和调用COM+组件,业务逻辑层由用VC++实现的COM+组件构成。为了便于维护、升级和实现分布式应用,在运行过程中,ASP页面不直接调用数据访问层,而是通过业务逻辑层来间接访问数据库。

系统的实现主要分为三个部分:数据库、COM+组件和ASP页面。其中数据库与ASP页面的实现与一般B/S结构的Web应用相似。COM+实现可分为三个步骤:COM+组件的设计、COM+应用程序的生成和组件注册、基于属性的编程。本系统采用VC++中的ATL开发COM+组件。组件编译结束后可以用COM+组件服务管理工具来管理COM+组件及其所在的应用程序。COM+组件服务工具拥有图形界面,利用它可以安装和组件、配置组件及其所在应用程序的属性,并能够完成组件安全性、MTS支持和构造参数的设置。

COM+组件主要在系统中的ShowResults.asp页面中被调用,用于接受、辨别用户的查询请求,做出不同的查询处理。当客户的身份为教师时,可以查询所教授班级学生的实验结果;当客户的身份为学生时,只能查询本人的实验结果;而系统管理员则可以查看所有学生的实验结果。

本系统定制的COM+组件以Result.dll。组件Result.dll定义了四个属性:ExpNo(实验号)、ExpType(实验类型)、ClassNo(班级号)、StuNo(学号)、身份(identity),同时还定义了三个方法:RequeryResults、RequeryClassResults和RequeryAllResults,这些方法分别根据教师、管理员和学生的请求生成不同的查询语句,并将查询结果集返回给用户。

5.3 数据完整性的维护技术

数据完整性是指数据的正确性和一致性,它有两方面的含义:(1)数据取值的正确性,即字段列值必须符合数据的取值范围、类型和精度的规定;(2)相关数据的一致性,即相关表的联系字段的列值匹配。

在SQL Server数据库应用系统中,实施数据完整性维护的方法主要有以下三种,其策略为:

(1)对于通过窗口操作输入的数据,一般采用前端应用程序来确保数据的完整性。这样,一方面可把非法数据在提交到数据库之前就拒之门外,另一方面可让用户及时得到操作反馈信息,使系统更加友好。

(2)数据一致性的维护,适于由后端数据库的触发器或表定义的约束来实现。这样可降低前端应用程序的开发量,提高应用系统的运行效率和可维护性。

(3)对于数据完整性和安全性要求较高的系统,则需要采用多层保护屏障来确保数据的完整性和安全性。如既在前端应用系统程序检查输入数据的有效性,同时又在后端数据库建立表约束、规则、缺省和触发器等措施进行数据完整性约束。这样可提高系统数据的可靠性和安全性。

本系统主要采用了后端数据库的保护措施。后端数据库服务器保护又可分为:定义create table完整性约束保护;定义规则、缺省、索引和触发器保护。

(1)定义create table完整性约束

此方法是在创建数据库表的命令语句中,加入字段的数据完整性约束语句来实施数据的完整性保护。如在建表语句中可加入非空(not null)约束、缺省(default)约束、唯一码(unique)约束、主键码(primary key)约束等。它的主要特点是:定义简单、安全可靠、维护方便。在创建本系统的物理模型时,就采用了这些完整性约束。

(2)定义规则、缺省、索引和触发器

在数据库表的创建命令语句中定义约束的方法,虽然具有简单、方便、安全等特点,但它只对特定的表有效,不能应用到其它表,并且只能使用alter table命令修改或删除,缺乏一定的灵活性。在数据库中创建与表相对独立的规则、索引和触发器对象,也能实现数据完整性保护,而且能实施更复杂、更完善的数据完整性约束。它的主要特点是:功能强、效率高、维护方便。

类似于表定义中的参照完整性约束,触发器可用来保证相关数据的一致性。它还能完成一些表定义的参照完整性约束不能完成的任务:(1)对数据库相关表中的更新进行级联;(2)通过引用其它列或数据库对象来实现复杂的限制;(3)执行“若...则”分析。例如,若当删除教师表的主键码行时,也要求删除任课表(Teach)的外键码相关行。

6 系统运行示例

本节给出了系统运行的界面,管理员和教师借助于页面就可以对实验信息进行管理。图4~7对应的页面分别说明了学生身份和权限设置、实验项目设置、实验结果的浏览和统计信息查询功能。

图4 学生身份、权限的设置

图5 实验项目的设置

图6 实验结果的浏览

图7统计信息查询

参考文献:

[1]张红,蔡秀云,等.ASP程序和ActiveX技术结合开发Web系统[J].工程图学学报,2001,(3).

[2]袁鹏飞,孙军安.中文版SQL Server2000数据库系统管理[M].北京:人民邮电出版社,2001.

[3]精英科技.ASP核心技术[M].北京:中国电力出版社,2001.

[4]金磊,康晓宁,邓就庆.精通Web数据库[M].北京人民邮电出版社,2001.

[5]余英,梁刚.Visual C++实践与提高 COM和COM+篇[M].北京:中国铁道出版社,2001.

上一篇:防水墙技术在校园网中的应用研究 下一篇:C语言课程教学的改革与探索