相關(guān)鏈接: 北京安全網(wǎng) 北京質(zhì)量網(wǎng) 北京論文網(wǎng) 北京資訊網(wǎng)
基于Web的課程教學(xué)平臺(tái)設(shè)計(jì)與開發(fā)
論文關(guān)鍵詞:基于Web的課程教學(xué)平臺(tái)設(shè)計(jì)與開發(fā)
今天的校園網(wǎng)建設(shè)獲得的重要進(jìn)步,如何在傳統(tǒng)教學(xué)引入網(wǎng)絡(luò)環(huán)境成為所有學(xué)校關(guān)注的題目。 大家都希望能促進(jìn)使用網(wǎng)絡(luò)教學(xué)環(huán)境的發(fā)展,即開發(fā)一個(gè)網(wǎng)絡(luò)多媒體課堂教學(xué)平臺(tái),使它可能彌補(bǔ)傳統(tǒng)教學(xué)的不足,并且發(fā)揮傳統(tǒng)教室多媒體優(yōu)勢(shì),能根據(jù)學(xué)校行教學(xué)實(shí)際情況和教師以及學(xué)生的需求,低投資,高效率發(fā)展教學(xué)工作。
本文以下內(nèi)容便是對(duì)系統(tǒng)開發(fā)過(guò)程以及部分實(shí)現(xiàn)的介紹。該教學(xué)平臺(tái)按照軟件工程的方法進(jìn)行分析與設(shè)計(jì),首先進(jìn)行了需求分析,然后詳細(xì)介紹了系統(tǒng)的設(shè)計(jì),最后詳細(xì)介紹了系統(tǒng)的實(shí)現(xiàn)以及測(cè)試過(guò)程。
2系統(tǒng)需求分析
為了使用戶能夠進(jìn)行遠(yuǎn)程在線錄入編輯、系統(tǒng)更新和管理維護(hù)工作,系統(tǒng)設(shè)計(jì)必須具有系統(tǒng)安全性、系統(tǒng)科學(xué)性、系統(tǒng)合理性和系統(tǒng)可靠性。
2.1系統(tǒng)功能需求分析
前臺(tái)系統(tǒng)主要功能有:課程信息包括(課程介紹、課程大綱、教材教參、電子教案),資源下載和討論區(qū)。
課程信息:在首頁(yè)點(diǎn)擊相應(yīng)的導(dǎo)航欄,如課程介紹、課程大綱等,可以快速的查閱相關(guān)信息。
資源下載:進(jìn)入資源下載界面,可下載相關(guān)學(xué)習(xí)資料。
討論區(qū):進(jìn)入留言板主界面后,學(xué)習(xí)者可查看留言,通過(guò)填寫昵稱、信箱、主題等可簽寫留言。
后臺(tái)系統(tǒng)主要功能有: 登錄管理,管理員管理,欄目管理,欄目?jī)?nèi)容管理,討論區(qū)管理。
登錄管理:為了確保網(wǎng)站的安全性,需要對(duì)企圖訪問(wèn)網(wǎng)站后臺(tái)的用戶進(jìn)行登錄信息的檢查,非管理員不允許登錄網(wǎng)站后臺(tái),防止對(duì)網(wǎng)站的非法操作。
管理員管理:本系統(tǒng)的管理員分為超級(jí)管理員和一般管理員。
欄目?jī)?nèi)容管理:被賦予特點(diǎn)權(quán)限的一般管理員和超級(jí)管理員都可對(duì)欄目?jī)?nèi)容進(jìn)行管理,包括對(duì)
欄目?jī)?nèi)容的添加、修改和刪除工作。
討論區(qū)管理:超級(jí)管理員擁有對(duì)討論區(qū)進(jìn)行管理的權(quán)限。
·查看留言:登陸后可以查看所以留言。
·管理留言:管理員可以執(zhí)行對(duì)留言進(jìn)行回復(fù),刪除和編輯的操作。
·修改管理員信息:管理員可以對(duì)用戶名、密碼進(jìn)行修改。
2.2用戶需求分析
網(wǎng)絡(luò)教學(xué)平臺(tái)是網(wǎng)絡(luò)教育的載體,是體現(xiàn)網(wǎng)絡(luò)教育優(yōu)勢(shì)的關(guān)鍵, 網(wǎng)絡(luò)學(xué)習(xí)必將成為人們學(xué)習(xí)行為的一種重要形式。本系統(tǒng)提供了一個(gè)良好的平臺(tái),建立起一個(gè)動(dòng)態(tài)的、交互的在線學(xué)校網(wǎng)站。方便學(xué)生利用課余時(shí)間學(xué)習(xí)與研究。
2.3 數(shù)據(jù)字典
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。提供關(guān)于數(shù)據(jù)的描述信息。通過(guò)對(duì)系統(tǒng)的分析,可得到下列數(shù)據(jù)字典信息:
⑴ 欄目?jī)?nèi)容信息表的數(shù)據(jù)字典的描述:
、 管理員信息表的數(shù)據(jù)字典的描述:
、 欄目信息表的數(shù)據(jù)字典的描述:
。4)討論區(qū)信息表的數(shù)據(jù)字典描述:
3系統(tǒng)平臺(tái)、模式及技術(shù)分析
基于Web的教學(xué)互動(dòng)平臺(tái)提供給學(xué)習(xí)者一個(gè)平臺(tái),用戶可以通過(guò)Internet接入,登錄本系統(tǒng),在這個(gè)平臺(tái)上查找教學(xué)信息、下載作業(yè)、在線討論等。
本系統(tǒng)是以Java為開發(fā)語(yǔ)言,以JSP技術(shù)為核心,運(yùn)用B/S三層模式開發(fā)出來(lái)的網(wǎng)絡(luò)教學(xué)系統(tǒng)。該Web系統(tǒng)開發(fā)使用的腳本語(yǔ)言是Javascript,應(yīng)用的環(huán)境是windowsXP +JDK+Tomcat,配置的數(shù)據(jù)庫(kù)是MySQL數(shù)據(jù)庫(kù)。windowsXP是系統(tǒng)運(yùn)行的操作系統(tǒng)環(huán)境,也可以使用windows2000。
4.系統(tǒng)設(shè)計(jì)
4.1 教學(xué)平臺(tái)的總體設(shè)計(jì)目標(biāo)
基于Web的教學(xué)互動(dòng)平臺(tái),利用網(wǎng)絡(luò)教學(xué)環(huán)境,充分發(fā)揮了學(xué)生的主導(dǎo)作用,有利用教學(xué)工作的展開。本系統(tǒng)實(shí)用性強(qiáng),主要是為了方便學(xué)生與教師課后學(xué)習(xí)與交流。網(wǎng)頁(yè)的界面友好,系統(tǒng)操作簡(jiǎn)單。
4.2教學(xué)平臺(tái)結(jié)構(gòu)設(shè)計(jì)
圖4-1 總體框架圖
4-2 前臺(tái)功能框架圖
4-3 后臺(tái)功能框架圖
4.3數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)的功能設(shè)計(jì)要求和模塊劃分,本網(wǎng)站的數(shù)據(jù)庫(kù)主要管理員信息、欄目信息和新聞信息。本精品課程網(wǎng)站需要設(shè)計(jì)主要信息表3張(管理員信息表master、欄目信息表class和新聞信息表news)。
數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)如下:
管理員信息表: ID(自動(dòng)編號(hào))、管理員用戶名、管理員密碼、管理的欄目數(shù)、加入日期、管理欄目的ID、管理員登陸次數(shù)。
欄目信息表:ID(自動(dòng)編號(hào))、欄目名稱、管理用戶。
新聞信息表:ID(自動(dòng)編號(hào))、新聞標(biāo)題、新聞內(nèi)容、瀏覽次數(shù)、添加時(shí)間、添加用戶、所在欄目編號(hào)、新聞圖片地址
5 系統(tǒng)實(shí)現(xiàn)及測(cè)試
本系統(tǒng)采用的是JDBC連接MySQL數(shù)據(jù)庫(kù)的連接池,其連接代碼和sql語(yǔ)句的執(zhí)行具體如下:
DBconnetct.Java
void init() {
dcm = DBConnectionManager.getInstance();
conn = dcm.getConnection('mysql');
}
/**
* 構(gòu)造數(shù)據(jù)庫(kù)的連接和訪問(wèn)類
*/
public DBConnect() throws Exception {
init();
stmt = conn.createStatement();
}
public DBConnect(int resultSetType, int resultSetConcurrency)
throws Exception {
init();
stmt = conn.createStatement(resultSetType, resultSetConcurrency);
}
執(zhí)行sql語(yǔ)句的代碼:
public void executeUpdate(String sql) throws SQLException {
if (stmt != null)
stmt.executeUpdate(sql);
}
public void executeUpdate() throws SQLException {
if (prepstmt != null)
prepstmt.executeUpdate();
}
整個(gè)首頁(yè)頁(yè)面分為6個(gè)大的模塊:頂圖、動(dòng)態(tài)圖、課程介紹、友情鏈接、最新動(dòng)態(tài)、教學(xué)大綱,每個(gè)部分為一個(gè)獨(dú)立的table。首頁(yè)的最新動(dòng)態(tài)是通過(guò)后臺(tái)發(fā)布上去的,通過(guò)調(diào)用list.jsp中的classinfo.getID()方法,獲得欄目的ID,將最新動(dòng)態(tài)部分顯示的首頁(yè)。詳細(xì)代碼如下:
<%
Vector listclass = new Vector();
Dispclass dispclass = new Dispclass();
listclass = dispclass.allclass();
int i = 7;
Iclass classinfo = (Iclass) listclass.elementAt(i);
Vector listnews = new Vector();
D
ispNews dispnews = new DispNews();
dispnews.setRootID(classinfo.getID());
listnews = dispnews.rootidToNews();
int newsnum = dispnews.newsNum();
%>
more... |
·課程簡(jiǎn)介:介紹課程基本信息。
·課程大綱:介紹課程學(xué)時(shí),方便學(xué)習(xí)者安排學(xué)習(xí)。
·電子教案:可以從這里下載相關(guān)的教學(xué)資源,通過(guò)表建立框架結(jié)構(gòu),其部分代碼(dzja.jsp)如下:
第一章 緒論
……
CG課程設(shè)計(jì)內(nèi)容與要求 ( 構(gòu)造算法 )
CG課程設(shè)計(jì)內(nèi)容與要求 ( 構(gòu)造完整系統(tǒng) )
·討論區(qū):可以在這里進(jìn)行課程討論,發(fā)表自己的學(xué)習(xí)意見、看別人的留言等。通過(guò)在頁(yè)面內(nèi)嵌javasript代碼,定義函數(shù),約束輸入的內(nèi)容,防止輸入格式錯(cuò)誤。
該頁(yè)面核心代碼如下(add.jsp):
<script language='javascript'> </script>
后臺(tái)功能實(shí)現(xiàn)主要通過(guò)三個(gè)java文件實(shí)現(xiàn)欄目查詢以及欄目增、刪、改等操作。
Iclass.Java 存放欄目信息表中的字段,并且包含對(duì)每個(gè)字段的set和get方法。
class
Control.Java 包含對(duì)class表的一些增、刪、改的操作。
方法:addclass 添加新的欄目
方法:modifyclass 修改欄目名稱
方法:delclass 刪除欄目
Dispclass.Java 實(shí)現(xiàn)對(duì)欄目信息表的一些查詢操作。
方法:allclass 得到所有欄目
方法:IDToclass 根據(jù)ID得到欄目
方法:classNum 得到欄目總數(shù)
欄目管理頁(yè)面包含以下子模塊 :
·添加欄目
·編輯欄目
·刪除欄目
。1)添加欄目: 通過(guò)addclass.jsp來(lái)實(shí)現(xiàn),添加的欄目信息將存入class數(shù)據(jù)表中。核心代碼如下:
首先檢查用戶是否有權(quán)限
<%
String userName = (String) session.getAttribute('userName_s');
if (!userName.equals('admin')){
response.sendRedirect('error1.jsp');
}
%>
接著實(shí)現(xiàn)對(duì)欄目的添加操作
public void addclass(){
DBConnect dbc = null;
try{
dbc = new DBConnect();
dbc.prepareStatement('INSERT INTO class ( name ) VALUES ( ? )');
dbc.setBytes(1,name.getBytes('GB2312'));
dbc.executeUpdate();
}catch(Exception e){
System.err.println(e);
}finally{
try{
dbc.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
。2)編輯欄目: 由editclass.jsp來(lái)實(shí)現(xiàn),通過(guò)調(diào)用classControl.java中的modifyclass方法實(shí)現(xiàn)對(duì)欄目的編輯。編輯后的欄目信息將存入class數(shù)據(jù)表。部分代碼如下:
。2)刪除欄目?jī)?nèi)容 由delnews.jsp實(shí)現(xiàn),首先要驗(yàn)證用戶是否擁有權(quán)限,接著通過(guò)調(diào)用DispNews.Java查詢欄目?jī)?nèi)容的ID等信息,delnews方法刪除新聞。
核心代碼如下:
<%//驗(yàn)證用戶是否有權(quán)限
int id = Integer.parseInt(request.getParameter('id'));
DispNews dispnews = new DispNews();
dispnews.setID(id);
News news = dispnews.idToNews();%>
<%DispMaster dispmaster = new DispMaster();
dispmaster.setUserName(userName);
Master master = dispmaster.nameToMaster();
if(news.getRootID()!=master.getclassid() && !userName.equals('admin')){
response.sendRedirect('error1.jsp');}
else{%>
<%//刪除
NewsControl newscontrol= new NewsControl();
newscontrol.setID(id);
newscontrol.delnews();
%>
結(jié)束語(yǔ)
根據(jù)以上內(nèi)容,通過(guò)測(cè)試,改正了系統(tǒng)中存在的問(wèn)題和不足,很好的提高了系統(tǒng)的性能,從而實(shí)現(xiàn)課堂教學(xué)內(nèi)容、形式上的變革,實(shí)現(xiàn)“促進(jìn)素質(zhì)教育、提高教學(xué)質(zhì)量”的目標(biāo),這就是本系統(tǒng)開發(fā)的主要目的。
參考文獻(xiàn)
[1] 孫海藩.軟件工程導(dǎo)論[M] .北京:清華大學(xué)出版社, 2006
[2] Ian Gilfillan .MySQL 4 從入門到精通[M]. 北京: 電子工業(yè)出版社, 2003