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