论文部分内容阅读
摘 要:随着时代发展,基于计算机的多媒体网络技术成为建立新教学模式的技术保障。笔者将研讨厅技术应用于教学,设计并实现了一个颇具特色的辅助学生学习的研讨厅系统。并对该系统的流程、框架、数据库、功能的设计与实现进行了详细的阐述。
关键词:研讨厅系统 框架设计 数据库设计 学习模式
中图分类号:G250.73 文献标识码:B 文章编号:1673-8454(2010)01-0061-04
一、问题的提出
随着时代发展,基于计算机的多媒体网络技术成为建立新教学模式的技术保障。笔者研究了目前较为流行的网络教学平台,如E-learning、Blackboard、易学等,发现各系统中课件管理、教学设计、课程管理均各有特色,但在学习目标导向、重点问题的组讨论等方面仍有弊端。
而从计算机专业角度而言,“研讨厅”是辅助专家群体求解复杂巨系统问题的工作环境。这里的“研讨”是指分析问题人员的群体协同工作,充分地利用定性定量模型和数据库等工具,实现人机的有机结合,研讨过程既是分析人员的知识同计算机系统的数据、模型和知识不断的交互过程,也是研讨人员群体智慧的结合和综合。[1]这样,即可实现定性定量的综合集成研讨。其基本体系结构如图所示。
可以发现,如果将学生看做自己学习的“决策者”,将教师群作为“专家体系”,将已有的学科相关知识纳入“知识体系”,通过“机器体系”的连接,该“研讨厅”体系即可成为一个颇具特色的“辅助学生学习的研讨厅系统”。
将“研讨厅”技术应用于教育教学,具有极大的优越性:第一,它有更为广泛的影响面,合理地利用了现代教育技术,用户可以不受时间、地点、年龄等各项因素的限制,只要拥有上网的条件就可以开展学习,并自主安排学习时间和地点,自行安排学习计划;第二,它是一个以用户为中心的教育环境,有利于发挥他们学习的主动性,随时提出学习中的问题并能够得到及时解答,学生就可以超出课堂教学的限制根据自身需要获取更多的学习资料。这个环境允许人们致力于自己喜欢的主题,能够满足特殊的教育要求,从而成为一种有效的教育方法;第二,该系统有利于组学习的建立,避免了过度网络化造成的学生自闭情况,有利于学生合作意识的培养,促进学生的全面发展;第四,该系统合理体现了学生主体、教师主导的教学模式,教师参与学习之中,避免了纯粹网络学习中学生面对的冷冰冰的“计算机老师”的状况。
二、研讨厅辅助学习流程
1.学习研讨管理及注册
在学习研讨开始前,首先由学习者从专家库中选择此次研讨所需的与会人员,并赋予他们不同的角色和注册密码。每个角色是一组定义好的权限集合。
C/S、B/S混合模式是利用C/S、B/S模式不同的优点来构架应用系统。即利用C/S模式的高可靠性来构架包括输入、计算和输出的应用功能,利用B/S模式的广泛性来构架服务或延伸应用(主要是查询和数据交换)。
系统开发使用的语言是C#语言,运行平台为.NET Framework,使用的开发工具为Visual Studio 2005,数据库为SQL Server 2005,B/S端使用了ASP .NET AJAX技术。
运行界面效果如图3、图4,图5所示是设置时的截图。
四、数据库设计与实现
系统和数据库设计相辅相成。根据系统结构的设计以及对特殊需求的分析,经过不断地斟酌修改,该系统数据库表设计如下:
14个单表:角色表、权限表(权限赋给角色,角色赋给人)、模型表、模板表、知识表、专家教师表、研讨学科表、单位表、目前所在地表、子问题表、IP地址表、与会人员留言记录表、研讨学习表。
两个关系表:角色权限表;研讨角色表。
为了实现应用对多种数据库的支持,在数据库的访问操作部分使用了典型的设计模式:简单工厂模式。
可以简单认为工厂模式是通过反射在运行时动态加载正确的数据访问对象。简单工厂的作用是实例化对象,而不需要客户了解这个对象属于哪个具体的子类。优点是可以使用户根据参数获得对应的类实例,避免了直接实例化类,降低了耦合性,当业务改变或者数据库环境的改变不会影响整个架构的其他部分,只需要关注接口和新的数据库访问模块。实现的关键代码如下:
public abstract class clsAbstractDB
{
protected string mConnString;
public clsAbstractDB(string cs)
{
mConnString=cs;
}
public string ConnString
{
//属性
}
//数据库的打开关闭
public abstract void Open();
public abstract void Close();
//执行SQL语句
public abstract void ExeNoReturn(String strSQL);
public abstract int ExeIntReturn(String strSQL);
public abstract DataTable ExeDataTableReturn(String strSQL);
public class clsCreateDB
{
//数据库类型,连接字符串
public static clsAbstractDB CreateDB(string StrType, string Connstring)
{
clsAbstractDB db;
switch (StrType.ToUpper())
{
case "ORACLE": db = new clsORACLEDB(Connstring); break;
case "SQLSERVER": db = new clsSQLDB(Connstring); break;
default: db = new clsOleDB(Connstring); break;
}
return db;
}
}
public class clsSQLServerDB : clsAbstractDB
{ //创建连接对象
private SqlConnection con;
public clsSQLDB(string cs):base(cs)
{
con = new SqlConnection(cs);
}
public override void Open()
{
if (con.State == ConnectionState.Closed)
{
con = new SqlConnection(ConnString);
con.Open();
}
}
public override void Close()
{
//具体实现
}
}
五、“学习研讨厅”功能实现
整个系统由研讨厅准备向导、研讨厅BS端,CS端三部分组成。其中,通过研讨厅准备向导可以初步完成一个会议研讨的准备工作,包括学习主题的确定、参与人员的选择及角色分配、服务器的设置等。
CS端中的客户端,面向参与研讨人员使用,为参与研讨人员在研讨过程中提供各种工具,支持研讨。包含的功能有:在线发言、使用发言模板、与其他参与研讨人员进行视频会议、使用Web服务、生成研讨树、浏览网页等。并且不同的参与研讨人员设置不同的权限,防止了低权限用户的越权操作。其中的服务器端的功能主要是:监视学习研讨厅整个过程的进行,对学习研讨过程中的结论进行分类存储。
1.安全设计
在安全方面主要考虑了以下三方面内容:
第一,客户端与服务器交互的所有动作都会生成日志,供以后进行分析。
第二,整个系统在权限控制方面做了较仔细的设计。所有权限均分配给角色,这样设计保证了不会出现越权操作,避免了不必要的隐患。角色共有五种,包括学习者,负责教师,参与教师,同学,旁听者等。
第三,服务器端使用SSL调用Web服务。首先在服务器端配置证书,分为申请,提交,颁发三步。等服务器配置好之后在客户端安装相应证书即可实现安全通信。
2.视频会议实现
实现视频通信主要有以下三种方法:
第一,在摄像头驱动的基础上编程。
第二,通过DirectShow编程实现。
第三,在NetMeeting服务基础上进行开发。
笔者采用了第一种方式实现,功能强大,轻量级编程而且满足要求。在安装摄像头驱动后,会生成一个名为“avicap32.dll”的库文件。avicap32.dll是Windows API应用程序接口相关模块,用于对摄像头和其他视频硬件进行AVI电影和视频的截取。它可以执行性能扫描,自动优化内存,CPU,以及网络设置。通过调用此库文件所包含的函数即可实现对图像的捕捉、发送,从而实现了视频会议功能。视频实现的关键代码如下:
//创建捕捉视频窗口
[System.Runtime.InteropServices.DllImport("avicap32.dll")]
static extern int capCreateCaptureWindowA(string lpszWindowName, int dwStyle, int x, int y, int nWidth, short nHeight, int hWndParent, int nID);
//获取驱动信息[System.Runtime.InteropServices.DllImport("avicap32.dll")]
static extern bool capGetDriverDescriptionA(short wDriver, string lpszName, int cbName, string lpszVer, int cbVer);
参考文献:
[1]戴汝为,操龙兵.综合集成研讨厅的研制[J].管理科学,2002,5(3):10-16.
[2]胡晓惠.研讨厅系统实现方法及技术的研究[J].系统工程理论与实践,2002(6):1-7.
[3]戴汝为,李耀东.基于综合集成的研讨厅体系与系统复杂性[J].复杂系统与复杂性科学,2004,1(4):1-24.
[4]韩祥兰,吴慧中,窦万春,陈圣磊.面向复杂问题求解的综合集成型决策支持系统[J].计算机集成制造系统,2005,11(1):109-115.
(编辑:杨馥红)
关键词:研讨厅系统 框架设计 数据库设计 学习模式
中图分类号:G250.73 文献标识码:B 文章编号:1673-8454(2010)01-0061-04
一、问题的提出
随着时代发展,基于计算机的多媒体网络技术成为建立新教学模式的技术保障。笔者研究了目前较为流行的网络教学平台,如E-learning、Blackboard、易学等,发现各系统中课件管理、教学设计、课程管理均各有特色,但在学习目标导向、重点问题的组讨论等方面仍有弊端。
而从计算机专业角度而言,“研讨厅”是辅助专家群体求解复杂巨系统问题的工作环境。这里的“研讨”是指分析问题人员的群体协同工作,充分地利用定性定量模型和数据库等工具,实现人机的有机结合,研讨过程既是分析人员的知识同计算机系统的数据、模型和知识不断的交互过程,也是研讨人员群体智慧的结合和综合。[1]这样,即可实现定性定量的综合集成研讨。其基本体系结构如图所示。
可以发现,如果将学生看做自己学习的“决策者”,将教师群作为“专家体系”,将已有的学科相关知识纳入“知识体系”,通过“机器体系”的连接,该“研讨厅”体系即可成为一个颇具特色的“辅助学生学习的研讨厅系统”。
将“研讨厅”技术应用于教育教学,具有极大的优越性:第一,它有更为广泛的影响面,合理地利用了现代教育技术,用户可以不受时间、地点、年龄等各项因素的限制,只要拥有上网的条件就可以开展学习,并自主安排学习时间和地点,自行安排学习计划;第二,它是一个以用户为中心的教育环境,有利于发挥他们学习的主动性,随时提出学习中的问题并能够得到及时解答,学生就可以超出课堂教学的限制根据自身需要获取更多的学习资料。这个环境允许人们致力于自己喜欢的主题,能够满足特殊的教育要求,从而成为一种有效的教育方法;第二,该系统有利于组学习的建立,避免了过度网络化造成的学生自闭情况,有利于学生合作意识的培养,促进学生的全面发展;第四,该系统合理体现了学生主体、教师主导的教学模式,教师参与学习之中,避免了纯粹网络学习中学生面对的冷冰冰的“计算机老师”的状况。
二、研讨厅辅助学习流程
1.学习研讨管理及注册
在学习研讨开始前,首先由学习者从专家库中选择此次研讨所需的与会人员,并赋予他们不同的角色和注册密码。每个角色是一组定义好的权限集合。

C/S、B/S混合模式是利用C/S、B/S模式不同的优点来构架应用系统。即利用C/S模式的高可靠性来构架包括输入、计算和输出的应用功能,利用B/S模式的广泛性来构架服务或延伸应用(主要是查询和数据交换)。
系统开发使用的语言是C#语言,运行平台为.NET Framework,使用的开发工具为Visual Studio 2005,数据库为SQL Server 2005,B/S端使用了ASP .NET AJAX技术。
运行界面效果如图3、图4,图5所示是设置时的截图。
四、数据库设计与实现
系统和数据库设计相辅相成。根据系统结构的设计以及对特殊需求的分析,经过不断地斟酌修改,该系统数据库表设计如下:
14个单表:角色表、权限表(权限赋给角色,角色赋给人)、模型表、模板表、知识表、专家教师表、研讨学科表、单位表、目前所在地表、子问题表、IP地址表、与会人员留言记录表、研讨学习表。
两个关系表:角色权限表;研讨角色表。

为了实现应用对多种数据库的支持,在数据库的访问操作部分使用了典型的设计模式:简单工厂模式。
可以简单认为工厂模式是通过反射在运行时动态加载正确的数据访问对象。简单工厂的作用是实例化对象,而不需要客户了解这个对象属于哪个具体的子类。优点是可以使用户根据参数获得对应的类实例,避免了直接实例化类,降低了耦合性,当业务改变或者数据库环境的改变不会影响整个架构的其他部分,只需要关注接口和新的数据库访问模块。实现的关键代码如下:
public abstract class clsAbstractDB
{
protected string mConnString;
public clsAbstractDB(string cs)
{
mConnString=cs;
}
public string ConnString
{
//属性
}
//数据库的打开关闭
public abstract void Open();
public abstract void Close();
//执行SQL语句
public abstract void ExeNoReturn(String strSQL);
public abstract int ExeIntReturn(String strSQL);
public abstract DataTable ExeDataTableReturn(String strSQL);
public class clsCreateDB
{
//数据库类型,连接字符串
public static clsAbstractDB CreateDB(string StrType, string Connstring)
{
clsAbstractDB db;
switch (StrType.ToUpper())
{
case "ORACLE": db = new clsORACLEDB(Connstring); break;
case "SQLSERVER": db = new clsSQLDB(Connstring); break;
default: db = new clsOleDB(Connstring); break;
}
return db;
}
}
public class clsSQLServerDB : clsAbstractDB
{ //创建连接对象
private SqlConnection con;
public clsSQLDB(string cs):base(cs)
{
con = new SqlConnection(cs);
}
public override void Open()
{
if (con.State == ConnectionState.Closed)
{
con = new SqlConnection(ConnString);
con.Open();
}
}
public override void Close()
{
//具体实现
}
}
五、“学习研讨厅”功能实现
整个系统由研讨厅准备向导、研讨厅BS端,CS端三部分组成。其中,通过研讨厅准备向导可以初步完成一个会议研讨的准备工作,包括学习主题的确定、参与人员的选择及角色分配、服务器的设置等。
CS端中的客户端,面向参与研讨人员使用,为参与研讨人员在研讨过程中提供各种工具,支持研讨。包含的功能有:在线发言、使用发言模板、与其他参与研讨人员进行视频会议、使用Web服务、生成研讨树、浏览网页等。并且不同的参与研讨人员设置不同的权限,防止了低权限用户的越权操作。其中的服务器端的功能主要是:监视学习研讨厅整个过程的进行,对学习研讨过程中的结论进行分类存储。
1.安全设计
在安全方面主要考虑了以下三方面内容:
第一,客户端与服务器交互的所有动作都会生成日志,供以后进行分析。
第二,整个系统在权限控制方面做了较仔细的设计。所有权限均分配给角色,这样设计保证了不会出现越权操作,避免了不必要的隐患。角色共有五种,包括学习者,负责教师,参与教师,同学,旁听者等。
第三,服务器端使用SSL调用Web服务。首先在服务器端配置证书,分为申请,提交,颁发三步。等服务器配置好之后在客户端安装相应证书即可实现安全通信。
2.视频会议实现
实现视频通信主要有以下三种方法:
第一,在摄像头驱动的基础上编程。
第二,通过DirectShow编程实现。
第三,在NetMeeting服务基础上进行开发。
笔者采用了第一种方式实现,功能强大,轻量级编程而且满足要求。在安装摄像头驱动后,会生成一个名为“avicap32.dll”的库文件。avicap32.dll是Windows API应用程序接口相关模块,用于对摄像头和其他视频硬件进行AVI电影和视频的截取。它可以执行性能扫描,自动优化内存,CPU,以及网络设置。通过调用此库文件所包含的函数即可实现对图像的捕捉、发送,从而实现了视频会议功能。视频实现的关键代码如下:
//创建捕捉视频窗口
[System.Runtime.InteropServices.DllImport("avicap32.dll")]
static extern int capCreateCaptureWindowA(string lpszWindowName, int dwStyle, int x, int y, int nWidth, short nHeight, int hWndParent, int nID);
//获取驱动信息[System.Runtime.InteropServices.DllImport("avicap32.dll")]
static extern bool capGetDriverDescriptionA(short wDriver, string lpszName, int cbName, string lpszVer, int cbVer);
参考文献:
[1]戴汝为,操龙兵.综合集成研讨厅的研制[J].管理科学,2002,5(3):10-16.
[2]胡晓惠.研讨厅系统实现方法及技术的研究[J].系统工程理论与实践,2002(6):1-7.
[3]戴汝为,李耀东.基于综合集成的研讨厅体系与系统复杂性[J].复杂系统与复杂性科学,2004,1(4):1-24.
[4]韩祥兰,吴慧中,窦万春,陈圣磊.面向复杂问题求解的综合集成型决策支持系统[J].计算机集成制造系统,2005,11(1):109-115.
(编辑:杨馥红)