基于ASP.NET的多媒体在线学习平台的设计与实现
2009-07-16赵子强
[摘要]随着信息时代的发展,在线学习已经成为了学习的主要途径之一。根据Web应用程序设计的三层模型,提供一个基于ASP.NET框架的多媒体在线学习平台的完整实现方案。
[关键词]ASP.NET C# 三层模型 数据库操作类 实体-关系模型
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420047-01
一、引言
在网络上各种各样的学习资源中,传统的文档资源和图片资源并不能满足学生对学习的需要。对于医学尤其是中医类学习内容来说,学生需要更直观的认识。而FLASH动画或者视频则可以将中医药更好的表达出来。针对这种需求,我们需要开发一个虚拟的网络学习平台,学生能够在线学习视频、音频、FLASH等形式学习资料,满足广大师生教与学的需求。
二、系统分析
(一)需求分析
按照面向对象的分析原则,在分析阶段,从用户的角度来理解问题,不必考试技术问题。本系统是为学习者提供学习和交流的平台,所以本系统应具有如下功能:按学习科目检索学习资料,教师发布学习资料,学生共享自己的学习资料,学生可在视频课堂、FLASH课堂或者语音课堂学习和留言,支持目前主流的各种视频或者音频文件格式,具有会员注册功能、良好的查询功能、系统的易维护性和易操作性和美观、简洁的用户界面。
(二)功能结构
根据需求分析,我们可以分成前台和后台两个部分设计。
前台主要实现发布教程、浏览教程、注册登陆、查询教程、查看公告功能。后台主要实现公告管理、教程管理、
用户管理功能。
三、系统设计
我们使用著名的三层模型来设计本系统
(一)数据访问层设计
1.通过对系统进行需求分析以及确定功能结构,我们可以规划出系统中所使用的实体对象,设计出数据库E-R图。
2.根据数据库E-R图,设计数据表结构。
3.进行数据库操作类的设计。
数据库操作类用来完成数据库的连接操作以及数据库的查询、添加、删除和修改操作。将这几种操作写到一个公共类里,可以减少重复代码的编写,有利于代码的维护。
在Microsoft Visual Studio 2005 菜单栏中选择“网站”/“添加新项”,在弹出的“添加新项”对话框中选择“类”,将其命名为CommonCla
-Ss.cs,之后根据提示完成数据库操作类CommonClass的创建。在DataOperate类中我们定义2个方法,ExecSQL()方法用来执行SQL语句。
GetDataSet()方法用来执行查询请求,返回一个DataSet对象,该对象表示一个内存中的数据库,包含一个由查询结果组成的数据表。其代码如下:
public System.Data.DataSet GetDataSet(string strQuery, string strTableName)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["strConn "]);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(strQuery, con);
DataSet dataset = new DataSet();
sqlDataAdapter.Fill(dataset, strTableName);
return dataset;
}
(二)表示层设计
以显示视频列表信息的页面为例,我们使用服务器控件GridView来显示视频列表信息,如下:
<asp:GridView ID="gvVideo" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="视频名称">
<ItemTemplate><a target="_blank" href='WatchVideo.aspx?Video
-ID=<%#Eval("VideoID") %>' class="heihei"><%#Eval("VideoName") %></a></ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Type" HeaderText="类型" />
<Asp:BoundField HeaderText="发布时间" DataField="FBDate" DataFormatString="{0:yy-MM-dd}" HtmlEncode="False" />
</Columns></asp:GridView>其中,我们定义了控件GridView的ItemTemplate模板
(三)业务逻辑层设计
在这一层,我们使用C#语言编程来实现。首先我们通过前面设计的数据库访问类访问数据库,获取需要的数据。
protected void VideoList()
{
string sql = "SELECT top 10 * from Video ORDER BY VideoID DESC";
gvVideo.DataSource = GetDataSet(sql,"Video")[" Video"].DefaultView;
gvVideo.DataBind();
}
}
在本实例中,我们探讨了基于ASP.NET AJAX框架开发多媒体在线学习平台的思路。
四、结束语
本文内容包括了设计数据操作类,分层开发、面向对象的开发思想,E-R建模并设计数据库的方法,并且了提供了多媒体在线学习平台的完整实现方案。
参考文献:
[1]李瑞国、苏清香、孙丽娜,基于ASP.NET的学习管理系统的软件设计[J].中国现代教育装备,2008,(02).
[2]廖信彦等,ASP.NET交互式Web数据库程序设计[M].北京:中国铁道出版社,2004.
[3]王静冬、贺涛、谢献平、王博,基于ASP.NET和SQL Server的网络教学平台的设计与实现[J].有线电视技术,2008,(03).
作者简介:
赵子强,男,山西朔州人,助理工程师,硕士研究生,研究方向:软件工程、自然语言处理。