基于Web的选修课管理系统开发
2009-02-18陈安娜
摘要:根据我院选修课管理的实际情况,文章提出了基于B/S结构,使用ASP脚本语言和Delphi6.0进行网络选修课管理系统开发的设计方案,目的在于提高教务工作效率,使选修课管理规范化。
关键词:选修课管理;B/S;ASP;SQL Server 2000
中图分类号:TP317文献标识码:A文章编号:1009-2374(2009)02-0039-03
一、引言
我院传统的选修课选课流程如下:教师上报任教课程信息表,由教务处根据上报课程信息进行上课时间安排,然后学生根据教务处所发的课程表以班级为单位进行选课,由班主任进行统计上交教务处;教务处根据学生选课情况进行教室安排,再将课程表发至每个班级;期末由任课教师进行成绩统计上报教务处。这种方式存在着工作量大,出错率高,工作效率低等问题。为了进行规范化的选修课管理,降低教务工作的复杂度,提高工作效率,有必要利用现代计算机信息技术,建立一个基于Web的选修课管理系统。
二、主要技术
(一)B/S结构
B/S结构,即浏览器和服务器(Browser和Server)结构,是一种从传统的二层C/S模式发展起来的新的网络结构模式,它由浏览器、Web服务器、应用服务器和数据库服务器组成。在TCP/IP的支持下,B/S结构以HTTP为传输协议,客户端运行浏览器软件,浏览器以超文本形式向Web服务器提出访问数据库的要求。Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。B/S结构简化了客户机的工作,客户机上只须配置少量的客户端软件即可,这样大大降低了客户的负载,减轻了系统维护与升级的成本。
(二)ASP技术
ASP是Active Server Pages的缩写,意为“活动服务器网页”,是创建动态网页的一个工具,是由Microsoft推出的,其功能在于可以使用它来开发运行在Windows服务器平台上的动态网页和网站。在ASP环境下,可以通过服务器端脚本来实现动态交互式Web页面和强大的Web应用程序。ASP脚本是一种服务器端的解释脚本,其后缀为.asp。当客户端访问一个URL后,该URL请求被发送到Web服务器上,服务器根据用户请求的URL在硬盘上找到相应的文件。如果文件是普通的HTML文档,那么服务器直接把该文件传送到客户端;如果文件是一个后缀名为.asp的服务器脚本文件,那么服务器将运行这个文件,Web服务器于是调用相关的ASP引擎asp.dll来将该脚本加以解析。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。
(三)SQL Server 2000数据库
SQL Server 2000是Microsoft 公司推出的大型数据库平台,能够满足各种类型的构建网络数据库的需求,具有功能强大、安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。它具有方便易用的图形界面,并提供了一套完整的管理工具和实用工具,大大减轻了管理员的工作量,使用户对数据库的操作变得非常简单。
基于上述分折,该系统采用ASP脚本语言编写交互式页面,Web服务器采用IIS,操作系统采用Windows 2000,后台采用SQL Server 2000数据库管理系统,整个系统采用B/S结构。
三、系统设计
(一)系统总体结构
本系统是以我院选修课管理模式为模型开发的,系统的总体结构如图1所示:
图1
(二)功能设计
根据系统的总体结构,设计本系统的主要功能有:(1)用户登录,主要用于验证登录系统用户身份的合法性,并根据用户的身份动态的定位到不同的页面,使得不同的用户具有不同的操作权限;(2)课程安排,主要用于对学生库、课程库信息进行输入、修改、删除等各项操作,生成供学生选课的课程信息表;(3)学生选课,主要用于学生选择课程和任课教师,且可在规定时间内修改选课信息(如退选、增选等),系统根据学生的选课情况进行上课时间、上课地点的安排后,生成编排课表的信息;(4)成绩管理,主要用于教师对学生的成绩信息进行录入、处理与分析,生成学生所需了解的各种信息;(5)查询统计,主要用于统计学生已选课程情况,未选课情况,成绩情况等。(6)系统管理,主要用于管理员进行密码、权限等管理。
(三)数据库设计
系统中要建立的数据表主要取决于系统的使用对象并满足系统的功能。数据表应包括管理员、教师、学生、课程、选课及成绩的一些信息,根据不同的用户和不同的权限分别对数据表中的信息进行操作。以下列出部分关键数据表结构:(1)学生基本信息(学号、班级、姓名、系名称、班级名称、密码、功能状态);(2)课程库基本信息(课程号、课程名称、学期、年级、专业及人数);(3)学生选课信息(课程号、课程名称、开课人数、学分、学时、上课时间、上课地点、任课教师);(4)成绩信息(学号、姓名、成绩)。
上述基本信息可由管理人员、教师或学生,通过本系统提供的界面直接编辑后,将其存放到相应的数据库中,以实现用户与系统的交互功能。
四、系统实现的关键技术
(一)数据库的连接技术
ADO是一种面向对象的、与语言无关的通用的数据访问接口。主要含有三种对象:connection、recordset和command,其中connection对象是用来建立应用程序与数据源之间的连接;Recordset对象是用来启动数据的定位和操作;command对象是一个命令对象,即表示对数据库要采取什么样的操作。在使用ADO之前首先要创建一个ADO能交互连接的数据源,本系统使用ODBC创建数据源。其过程是:单击“开始”→“设置”→“控制面板”,然后双击“管理工具”→“数据源(ODBC)”,打开“ODBC数据源管理器”对话框,切换到“系统DSN”选项卡中,创建新的SQL Server数据源,数据源名为“CourseMIS”,选择要连接的SQL Server服务器,然后设置运行SQL服务程序的服务器的登录ID和密码,最后通过单击“测试数据源……”按钮,验证DSN创建是否正确。同时,该系统通过配置数据库文件DSN来实现数据库的连接。其代码如下:
<%
Set Conn=Server.CreateObject(“adodb.connection”)//创建Connection对象
Conn.Open”DSN=CourseMIS;UID=zzwx;PWD=dbo”//连接数据库
%>
(二)选课存储
由于在存储所选的课程时,要进行多个原子操作,如更新课表中该课程已选的人数,将已选的课程存储到表中,因此为了数据的一致性,可以利用数据库系统内部的事务处理机制,通过在数据库服务器中编写包含事务的存储过程。这样可以直接利用数据库事务机制完成应用程序的逻辑事务处理,安全可靠,并且减少了Web服务器与数据库服务器之间的数据交互。其代码如下:
Create proc savexkxx
{@xh varchar(10),@kch char(6),@xq char(2),@xkkb char(6)}
as
begin
begin tran//显示定义并开始一个事务
……
insert stugrade(xh,kch,xq,cj)values@xh,@kch,@xq,y)
if@@error<>0
begin
rollback tran//操作失败,则事务回滚
return -1//返回存储过程,并设置返回码为事务操作失败
end
commit tran//如果操作执行正确,则提交事务
return 0
end
在ASP页面中使用Command对象调用这个存储过程,其代码如下:
<%
Set Conn=Server.CreateObject(“adodb.connection”)
Conn.Open”DSN=CourseMIS;UID=zzwx;PWD=dbo”
Set Cmd=Server.CreateObject(“adodb.Command”)//创建Command对象
Cmd.ActeiveConnection=Conn//将Conn与Command对象关联
Cmd.CommandType=4//命令类型为存储过程
Cmd.CommandText=”savexkxx” //存储过程名
Set RS=Cmd.Execute()
……
RS.Close
Conn.Close
%>
(三)课程冲突的应对策略
由于课程、教室的繁多及学生选课的自由性大,因此在教务人员安排课程和学生选课过程中不可避免地会出现课程冲突问题,这就需要在系统中用一些策略解决这些问题。
1.教务人员安排班级时,如果同一教师在同一时间安排有两门课程或同一教室在同一时间安排有两位教师上课,系统提示不能安排教室。
2.学生选课的自由性很大,教务人员无法进行限制,如果新建临时数据表来储存临时选课信息,每次选课进行查询比较,对系统资源耗费过多。在本系统中选用的方法是利用查询课表来查看是否出现选课冲突。如在同一时间选择了两门课程,由学生自行把握,进行退选操作。
(四)打印窗体
本系统各部分共用一个打印窗体,采用Delphi提供的Tprint对象技术实现课程表、成绩单打印,可以实现字体、列间距等的设置。表头字体设置代码如下:
Procedure TMainform.btn_headerfortClick(Sender:TObject);
Begin
FontDialog.Font.Assign(i_header.Font);//初始化字体选择对话框的字体
If fontDialog.Execute then//判断字体对话框是否正确运行
i_header.Font.Assign(FontDialog.Font);//修改标题字体
end;
五、结语
本文对基于Web的选修课管理系统提出了具体的设计方案,并论述了系统实现的关键技术。B/S结构具有使用方便、无需安装客户端、可维护性好等特点,发展极其迅速,并得到越来越广泛的应用,采用该种模式代替传统的单机信息处理模式是一个必然趋势。本系统的实现将大大减化选修课管理的复杂度,对教务管理工作起到积极的作用。
参考文献
[1]神龙工作室.ASP网络编程从入门到精通[M].北京:人民邮电出版社,2006.
[2]张登辉,刘益红.ASP编程基础及应用[M].北京:机械工业出版社,2002.
[3]飞思科技产品研发中心.Delphi6 编程指南[M].北京:电子工业出版社,2002.
[4]余金山.SQL Server 2000编程指南[M].北京:希望电子出版社,2001.
[5]李浩,凌霄霞.基于B/S三层结构的网络选课系统的设计与实现[J].农业网络信息,2007,(3).
作者简介:陈安娜(1978- ),女,福建龙海人,漳州卫生职业学院实验师,研究方向:计算机及应用。