[摘要]隨著信息時(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ù)庫(kù)操作類 實(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)容來(lái)說(shuō),學(xué)生需要更直觀的認(rèn)識(shí)。而FLASH動(dòng)畫(huà)或者視頻則可以將中醫(yī)藥更好的表達(dá)出來(lái)。針對(duì)這種需求,我們需要開(kāi)發(fā)一個(gè)虛擬的網(wǎng)絡(luò)學(xué)習(xí)平臺(tái),學(xué)生能夠在線學(xué)習(xí)視頻、音頻、FLASH等形式學(xué)習(xí)資料,滿足廣大師生教與學(xué)的需求。
二、系統(tǒng)分析
(一)需求分析
按照面向?qū)ο蟮姆治鲈瓌t,在分析階段,從用戶的角度來(lái)理解問(wèn)題,不必考試技術(shù)問(wèn)題。本系統(tǒng)是為學(xué)習(xí)者提供學(xué)習(xí)和交流的平臺(tái),所以本系統(tǒng)應(yīng)具有如下功能:按學(xué)習(xí)科目檢索學(xué)習(xí)資料,教師發(fā)布學(xué)習(xí)資料,學(xué)生共享自己的學(xué)習(xí)資料,學(xué)生可在視頻課堂、FLASH課堂或者語(yǔ)音課堂學(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ì)
我們使用著名的三層模型來(lái)設(shè)計(jì)本系統(tǒng)
(一)數(shù)據(jù)訪問(wèn)層設(shè)計(jì)
1.通過(guò)對(duì)系統(tǒng)進(jìn)行需求分析以及確定功能結(jié)構(gòu),我們可以規(guī)劃出系統(tǒng)中所使用的實(shí)體對(duì)象,設(shè)計(jì)出數(shù)據(jù)庫(kù)E-R圖。
2.根據(jù)數(shù)據(jù)庫(kù)E-R圖,設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)。
3.進(jìn)行數(shù)據(jù)庫(kù)操作類的設(shè)計(jì)。
數(shù)據(jù)庫(kù)操作類用來(lái)完成數(shù)據(jù)庫(kù)的連接操作以及數(shù)據(jù)庫(kù)的查詢、添加、刪除和修改操作。將這幾種操作寫(xiě)到一個(gè)公共類里,可以減少重復(fù)代碼的編寫(xiě),有利于代碼的維護(hù)。
在Microsoft Visual Studio 2005 菜單欄中選擇“網(wǎng)站”/“添加新項(xiàng)”,在彈出的“添加新項(xiàng)”對(duì)話框中選擇“類”,將其命名為CommonCla
-Ss.cs,之后根據(jù)提示完成數(shù)據(jù)庫(kù)操作類CommonClass的創(chuàng)建。在DataOperate類中我們定義2個(gè)方法,ExecSQL()方法用來(lái)執(zhí)行SQL語(yǔ)句。
GetDataSet()方法用來(lái)執(zhí)行查詢請(qǐng)求,返回一個(gè)DataSet對(duì)象,該對(duì)象表示一個(gè)內(nèi)存中的數(shù)據(jù)庫(kù),包含一個(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ì)
以顯示視頻列表信息的頁(yè)面為例,我們使用服務(wù)器控件GridView來(lái)顯示視頻列表信息,如下:
<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#語(yǔ)言編程來(lái)實(shí)現(xiàn)。首先我們通過(guò)前面設(shè)計(jì)的數(shù)據(jù)庫(kù)訪問(wèn)類訪問(wèn)數(shù)據(jù)庫(kù),獲取需要的數(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框架開(kāi)發(fā)多媒體在線學(xué)習(xí)平臺(tái)的思路。
四、結(jié)束語(yǔ)
本文內(nèi)容包括了設(shè)計(jì)數(shù)據(jù)操作類,分層開(kāi)發(fā)、面向?qū)ο蟮拈_(kāi)發(fā)思想,E-R建模并設(shè)計(jì)數(shù)據(jù)庫(kù)的方法,并且了提供了多媒體在線學(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ù)庫(kù)程序設(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),男,山西朔州人,助理工程師,碩士研究生,研究方向:軟件工程、自然語(yǔ)言處理。