[摘要]隨著信息時代的發(fā)展,在線學習已經(jīng)成為了學習的主要途徑之一。根據(jù)Web應用程序設計的三層模型,提供一個基于ASP.NET框架的多媒體在線學習平臺的完整實現(xiàn)方案。
[關鍵詞]ASP.NET C# 三層模型 數(shù)據(jù)庫操作類 實體-關系模型
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0420047-01
一、引言
在網(wǎng)絡上各種各樣的學習資源中,傳統(tǒng)的文檔資源和圖片資源并不能滿足學生對學習的需要。對于醫(yī)學尤其是中醫(yī)類學習內(nèi)容來說,學生需要更直觀的認識。而FLASH動畫或者視頻則可以將中醫(yī)藥更好的表達出來。針對這種需求,我們需要開發(fā)一個虛擬的網(wǎng)絡學習平臺,學生能夠在線學習視頻、音頻、FLASH等形式學習資料,滿足廣大師生教與學的需求。
二、系統(tǒng)分析
(一)需求分析
按照面向對象的分析原則,在分析階段,從用戶的角度來理解問題,不必考試技術問題。本系統(tǒng)是為學習者提供學習和交流的平臺,所以本系統(tǒng)應具有如下功能:按學習科目檢索學習資料,教師發(fā)布學習資料,學生共享自己的學習資料,學生可在視頻課堂、FLASH課堂或者語音課堂學習和留言,支持目前主流的各種視頻或者音頻文件格式,具有會員注冊功能、良好的查詢功能、系統(tǒng)的易維護性和易操作性和美觀、簡潔的用戶界面。
(二)功能結構
根據(jù)需求分析,我們可以分成前臺和后臺兩個部分設計。
前臺主要實現(xiàn)發(fā)布教程、瀏覽教程、注冊登陸、查詢教程、查看公告功能。后臺主要實現(xiàn)公告管理、教程管理、
用戶管理功能。
三、系統(tǒng)設計
我們使用著名的三層模型來設計本系統(tǒng)
(一)數(shù)據(jù)訪問層設計
1.通過對系統(tǒng)進行需求分析以及確定功能結構,我們可以規(guī)劃出系統(tǒng)中所使用的實體對象,設計出數(shù)據(jù)庫E-R圖。
2.根據(jù)數(shù)據(jù)庫E-R圖,設計數(shù)據(jù)表結構。
3.進行數(shù)據(jù)庫操作類的設計。
數(shù)據(jù)庫操作類用來完成數(shù)據(jù)庫的連接操作以及數(shù)據(jù)庫的查詢、添加、刪除和修改操作。將這幾種操作寫到一個公共類里,可以減少重復代碼的編寫,有利于代碼的維護。
在Microsoft Visual Studio 2005 菜單欄中選擇“網(wǎng)站”/“添加新項”,在彈出的“添加新項”對話框中選擇“類”,將其命名為CommonCla
-Ss.cs,之后根據(jù)提示完成數(shù)據(jù)庫操作類CommonClass的創(chuàng)建。在DataOperate類中我們定義2個方法,ExecSQL()方法用來執(zhí)行SQL語句。
GetDataSet()方法用來執(zhí)行查詢請求,返回一個DataSet對象,該對象表示一個內(nèi)存中的數(shù)據(jù)庫,包含一個由查詢結果組成的數(shù)據(jù)表。其代碼如下:
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="發(fā)布時間" DataField="FBDate" DataFormatString="{0:yy-MM-dd}" HtmlEncode="False" />
</Columns></asp:GridView>其中,我們定義了控件GridView的ItemTemplate模板
(三)業(yè)務邏輯層設計
在這一層,我們使用C#語言編程來實現(xiàn)。首先我們通過前面設計的數(shù)據(jù)庫訪問類訪問數(shù)據(jù)庫,獲取需要的數(shù)據(jù)。
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框架開發(fā)多媒體在線學習平臺的思路。
四、結束語
本文內(nèi)容包括了設計數(shù)據(jù)操作類,分層開發(fā)、面向對象的開發(fā)思想,E-R建模并設計數(shù)據(jù)庫的方法,并且了提供了多媒體在線學習平臺的完整實現(xiàn)方案。
參考文獻:
[1]李瑞國、蘇清香、孫麗娜,基于ASP.NET的學習管理系統(tǒng)的軟件設計[J].中國現(xiàn)代教育裝備,2008,(02).
[2]廖信彥等,ASP.NET交互式Web數(shù)據(jù)庫程序設計[M].北京:中國鐵道出版社,2004.
[3]王靜冬、賀濤、謝獻平、王博,基于ASP.NET和SQL Server的網(wǎng)絡教學平臺的設計與實現(xiàn)[J].有線電視技術,2008,(03).
作者簡介:
趙子強,男,山西朔州人,助理工程師,碩士研究生,研究方向:軟件工程、自然語言處理。