張崇暉,周 燕
(南通航運(yùn)職業(yè)技術(shù)學(xué)院 機(jī)電系,江蘇 南通 226010)
“構(gòu)建以能力為本位,以職業(yè)實(shí)踐為主線,以項(xiàng)目課程為主體的項(xiàng)目化專業(yè)課程體系”已成為全國職教課程改革的總方向。然而目前現(xiàn)有的教務(wù)管理系統(tǒng)并不適用于更富于主動(dòng)性、獨(dú)立性和創(chuàng)造性的項(xiàng)目化教學(xué)。為了推進(jìn)項(xiàng)目化教學(xué)改革的深入,本文根據(jù)南通航運(yùn)職業(yè)技術(shù)學(xué)院機(jī)電系采用的“3+2+1”教學(xué)模式,系統(tǒng)設(shè)計(jì)以Visual Studio.NET為工具,開發(fā)語言為Visual C#,數(shù)據(jù)庫采用SQL SERVER,采用瀏覽器/服務(wù)器(Browser/Server)型的分布式網(wǎng)絡(luò)數(shù)據(jù)庫,構(gòu)架出一套適用于項(xiàng)目化課程的教學(xué)管理信息系統(tǒng)。
項(xiàng)目化課程教學(xué)相對(duì)于傳統(tǒng)的教學(xué)模式更注重實(shí)踐教學(xué)與能力培養(yǎng),突出教學(xué)的實(shí)踐性,注重學(xué)生組織、溝通、合作、自主學(xué)習(xí)、獨(dú)立思考等關(guān)鍵能力的培養(yǎng),教學(xué)內(nèi)容更加貼近企業(yè)實(shí)際情況。南通航運(yùn)職業(yè)技術(shù)學(xué)院機(jī)電系提出的機(jī)電類專業(yè)“3+2+1”教學(xué)模式,即三個(gè)學(xué)期的專業(yè)基礎(chǔ)課、兩個(gè)學(xué)期的專業(yè)項(xiàng)目課、一個(gè)學(xué)期的畢業(yè)設(shè)計(jì)與頂崗實(shí)習(xí),理論與實(shí)踐教學(xué)時(shí)數(shù)的比例為1:1。與傳統(tǒng)的教學(xué)模式相比,項(xiàng)目化課程教學(xué)將學(xué)習(xí)的自主權(quán)交還給學(xué)生,學(xué)生可以自行選擇專業(yè)方向、學(xué)習(xí)課程以及任課老師,項(xiàng)目化教學(xué)的場(chǎng)所為理實(shí)一體化實(shí)訓(xùn)室。[1]
項(xiàng)目化課程教學(xué)管理系統(tǒng)除了基本的教學(xué)管理常規(guī)模塊還包含以下子系統(tǒng):
(1)項(xiàng)目化課程選課系統(tǒng)。學(xué)生在了解專業(yè)方向和就業(yè)崗位后,可以根據(jù)自己的興趣和特長和就業(yè)前景選擇專業(yè)方向,選定專業(yè)方向后必須修完本專業(yè)方向培養(yǎng)計(jì)劃中所規(guī)定的課程,選課方式可以有以下兩種:①開放選課。學(xué)生選擇專業(yè)方向即意味著選擇該方向的一系列項(xiàng)目化課程。有時(shí)候同一門課由多名教師任教,學(xué)生還可以根據(jù)以往學(xué)生的評(píng)價(jià)選擇適合自己老師,開放選課是即“學(xué)生挑老師”。開放選課中如果選擇該課程的人數(shù)不超過最大限定數(shù)(即實(shí)驗(yàn)/實(shí)訓(xùn)室所能承受的最大人數(shù)),則選擇此門課程的同學(xué)自動(dòng)中選,選課成功。②人工選課。如果選課人數(shù)超過最大限定數(shù),將進(jìn)入到人工選課階段。由任課老師進(jìn)行選擇,即“老師挑學(xué)生”。最終未中選的學(xué)生將由管理員進(jìn)行人工選課。
(2)實(shí)驗(yàn)/實(shí)訓(xùn)室管理系統(tǒng)。該系統(tǒng)除了用于實(shí)驗(yàn)/實(shí)訓(xùn)室的排課和日常管理,還可以供給學(xué)生用于計(jì)劃外的實(shí)驗(yàn)實(shí)踐課程,如大學(xué)生創(chuàng)新實(shí)驗(yàn)項(xiàng)目、學(xué)生自己感興趣的實(shí)驗(yàn)項(xiàng)目等。實(shí)驗(yàn)/實(shí)訓(xùn)室在網(wǎng)上發(fā)布本實(shí)驗(yàn)/實(shí)訓(xùn)室可以開放的時(shí)段、實(shí)驗(yàn)項(xiàng)目和可用的儀器設(shè)備。學(xué)生在網(wǎng)上提交申請(qǐng),實(shí)驗(yàn)/實(shí)訓(xùn)室負(fù)責(zé)人審批后學(xué)生可以進(jìn)行實(shí)驗(yàn)。
(3)課程評(píng)價(jià)系統(tǒng):課程結(jié)束學(xué)生對(duì)該課程的評(píng)價(jià)有助于幫助老師改進(jìn)教學(xué)方法,提高教學(xué)質(zhì)量。評(píng)價(jià)的結(jié)果經(jīng)管理員審核后認(rèn)為有效評(píng)價(jià)后將出現(xiàn)在課程評(píng)價(jià)里,而有效的評(píng)價(jià)將作為新一屆學(xué)生選課的主要依據(jù)。評(píng)價(jià)分為五星評(píng)分和評(píng)語兩部分,五星評(píng)分簡單直觀,從教學(xué)態(tài)度、教學(xué)內(nèi)容、教學(xué)方法、教學(xué)效果這四方面進(jìn)行評(píng)價(jià)。評(píng)語設(shè)定為不超過300字的字符。
統(tǒng)一建模語言(Unified Modeling Language,UML)是1997年對(duì)象管理組織發(fā)布的一套統(tǒng)一標(biāo)準(zhǔn)建模符號(hào)。UML提供了多種類型的模型描述圖,它使得開發(fā)中的應(yīng)用程序更易理解。用例圖由角色(表示一個(gè)系統(tǒng)用戶)、用例以及角色和用例之間的關(guān)系使用簡單的線段來描述,開發(fā)者根據(jù)用例圖以一種可視化的方式理解系統(tǒng)的功能需求。[2]通過對(duì)系統(tǒng)功能需求的分析,進(jìn)一步確定系統(tǒng)的工作過程、所需的功能、系統(tǒng)用戶及其職責(zé),由此可繪制得到項(xiàng)目化教學(xué)管理信息系統(tǒng)的總體用例圖,如圖1所示。
圖1 項(xiàng)目化教學(xué)管理信息系統(tǒng)的總體用例圖
數(shù)據(jù)庫設(shè)計(jì)在系統(tǒng)的開發(fā)過程中非常重要,它直接影響到系統(tǒng)的效率、穩(wěn)定性和可維護(hù)性。根據(jù)系統(tǒng)分析可以發(fā)現(xiàn)系統(tǒng)要保存的主要數(shù)據(jù)是用戶信息、課程信息、實(shí)驗(yàn)/實(shí)訓(xùn)室信息、論文選題信息等,根據(jù)這些要素,設(shè)計(jì)諸如用戶信息表、教師信息表、學(xué)生信息表、課程信息表、實(shí)驗(yàn)/實(shí)訓(xùn)室信息、論文選題信息表等內(nèi)容。
教務(wù)管理系統(tǒng)的核心就是各個(gè)數(shù)據(jù)庫的操作,在ASP.NET2.0中數(shù)據(jù)庫的各種操作主要使用ADO.NET來完成。ADO.NET是一個(gè)很龐大的類,它允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進(jìn)行交互。ADO.NET與SQL Server數(shù)據(jù)庫的連接代碼如下:
string connstring="server=servername;uid=username;pwd=password;database=dbname"
SqlConnection conn=new SqlConnection(connstring);
conn.Open();
(1)系統(tǒng)登陸模塊的實(shí)現(xiàn)。系統(tǒng)登錄模塊的主要作用在于識(shí)別用戶、驗(yàn)證用戶,并根據(jù)用戶類型提供相應(yīng)的操作權(quán)限,保護(hù)系統(tǒng)信息和功能的安全。在系統(tǒng)的登錄界面中,最關(guān)鍵、需要解決的問題是用戶的驗(yàn)證,驗(yàn)證成功后將用戶導(dǎo)航到不同的頁面。[3]在這里將對(duì)用戶的驗(yàn)證獨(dú)立成一個(gè)模塊。在本系統(tǒng)中判斷登錄類型,1為學(xué)生,2為老師,3為管理員,登錄系統(tǒng)模塊實(shí)現(xiàn)的代碼如下:
public int ST_LoginType(string UserID,string UserPassword)
{string sqlString="select type from UserID where st_name='"+UserID+"'";
object obj=SqlHelper.ExecuteScalar(st_SqlString,CommandType.Text,sqlString);
if(obj!=null&&obj.ToString()!="0")
return int.Parse(obj.ToString());
else
return-1;
}
(2)項(xiàng)目化課程選課系統(tǒng)的實(shí)現(xiàn)。項(xiàng)目化課程選課系統(tǒng)要求學(xué)生選定專業(yè)方向后,必須修完本專業(yè)方向培養(yǎng)計(jì)劃中所規(guī)定的課程,學(xué)生選擇的一系列項(xiàng)目化課程實(shí)際上是選擇一個(gè)專業(yè)方向。
ASP.NET2.0中數(shù)據(jù)訪問的關(guān)鍵是數(shù)據(jù)控件。數(shù)據(jù)控件主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)的連接訪問、執(zhí)行SQL語句或存儲(chǔ)過程等任務(wù),此外數(shù)據(jù)控件還提供了包括排序分頁更新刪除和插入等功能,執(zhí)行這些功能無需開發(fā)人員編寫大量代碼。[4]在本系統(tǒng)中選課功能實(shí)現(xiàn)就是通過DataGrid控件實(shí)現(xiàn),程序如下:
{
foreach(DataGridItem item in dgBulletin.Items)
{
if item.ItemType==ListItemType.Item item.ItemType==ListItemType.AlternatingItem)
{
CheckBox chkID=(CheckBox)item.FindControl"LoginID";if(LoginID.Checked true)
int CourseID=int.Parse item.Cells[1].Text;
int StuID=int.Parse(Session["StudentID"].ToString());
CourseBiz.Student stu=new CourseBiz.Student();
stu.InsertStudentCourse(StudentID,CourseID);
}
}
}
Response.Write("〈script〉alert('選課成功!')〈/script〉");
(3)實(shí)驗(yàn)/實(shí)訓(xùn)室管理系統(tǒng)的實(shí)現(xiàn)。該系統(tǒng)除了用于實(shí)驗(yàn)/實(shí)訓(xùn)室的排課和日常管理,還可以供給學(xué)生用于計(jì)劃外的實(shí)驗(yàn)實(shí)踐課程,如大學(xué)生創(chuàng)新實(shí)驗(yàn)項(xiàng)目、學(xué)生自己感興趣的實(shí)驗(yàn)項(xiàng)目等。實(shí)驗(yàn)/實(shí)訓(xùn)室在網(wǎng)上發(fā)布本實(shí)驗(yàn)/實(shí)訓(xùn)室可以開放的時(shí)段、實(shí)驗(yàn)項(xiàng)目和可用的儀器設(shè)備。學(xué)生在網(wǎng)上提交申請(qǐng),實(shí)驗(yàn)/實(shí)訓(xùn)室負(fù)責(zé)人審批后學(xué)生可以進(jìn)行實(shí)驗(yàn)。[5]以下這段程序?qū)崿F(xiàn)了按下預(yù)約按鈕后,系統(tǒng)先查詢?cè)撋欠駶M足預(yù)約條件以及實(shí)驗(yàn)室是否滿員。
if(e.CommandName=="BookBatch")
{=int.Parse(e.CommandArgument.ToString());
string theID=BatchList.Rows[int.Parse(e.CommandArgument.ToString())].Cells[m_ColID].Text;
long theIntID=long.Parse(theID);
long StudentID=long.Parse(Users.GetCurrentTableID());
Booking aBooking=new Booking();
aBooking.BatchID=theIntID;
aBooking.StudentID=StudentID;
aBooking.Time=DateTime.Now;
aBooking.Grade="未定";
aBooking.Mark=0;
if(SingleInitials.DbAccess.GetStudentHasBooking(StudentID,theIntID))
{
lbMsg.Text="預(yù)約失敗,因?yàn)槟阋呀?jīng)預(yù)約了這個(gè)批次!";
return; }
if(SingleInitials.DbAccess.GetStudentHasABookingInATime(StudentID,theIntID))
{lbMsg.Text="預(yù)約失敗,因?yàn)樵谙嗤臅r(shí)間點(diǎn)你只能預(yù)約一個(gè)實(shí)驗(yàn)批次";
return;}
if(SingleInitials.DbAccess.GetABatchIsFull(theIntID))
{lbMsg.Text="預(yù)約失敗,該實(shí)驗(yàn)批次預(yù)約人數(shù)已經(jīng)達(dá)到上限";
return;}
if(SingleInitials.DbAccess.AddABooking(aBooking))
{BindDisplayList(0,"");lbMsg.Text="預(yù)約成功!";}
}
(4)課程評(píng)價(jià)系統(tǒng)的實(shí)現(xiàn)。課程結(jié)束后,學(xué)生可以對(duì)該課程的評(píng)價(jià),評(píng)價(jià)的結(jié)果經(jīng)管理員審核后認(rèn)為有效評(píng)價(jià)后將出現(xiàn)在課程評(píng)價(jià)里。評(píng)價(jià)分為五星評(píng)分和評(píng)語兩部分,五星評(píng)分簡單直觀,從教學(xué)態(tài)度、教學(xué)內(nèi)容、教學(xué)方法、教學(xué)效果這四方面進(jìn)行評(píng)價(jià),評(píng)語設(shè)定為不超過300字的字符。
(5)畢業(yè)論文(設(shè)計(jì))選題系統(tǒng)的實(shí)現(xiàn)。導(dǎo)師可以在該系統(tǒng)中發(fā)布自己的主要研究領(lǐng)域,上傳自己主要研究領(lǐng)域代表論文。學(xué)生通過瀏覽該系統(tǒng)對(duì)自己的畢業(yè)論文(設(shè)計(jì))有一定的初步認(rèn)識(shí),最終在系統(tǒng)中選擇自己的畢業(yè)論文(設(shè)計(jì))導(dǎo)師,并通過郵件聯(lián)系導(dǎo)師。
(6)課程學(xué)習(xí)網(wǎng)站(網(wǎng)絡(luò)資源庫)的實(shí)現(xiàn)。課程學(xué)習(xí)網(wǎng)站(網(wǎng)絡(luò)資源庫)教師在這里發(fā)布課程學(xué)習(xí)的資料包含說課PPT、教學(xué)視頻錄像、教學(xué)課件、試題習(xí)題集以及該課程領(lǐng)域的最新動(dòng)態(tài),并可以和學(xué)生展開在線討論。當(dāng)前主流的視頻格式是FLV(FLASH VIDEO)。FLV流媒體格式文件小,加載速度快,適合于網(wǎng)絡(luò)播放。在播放FLV視頻時(shí),通過自定義videoInfo方法來播放視頻并顯示視頻信息。先使用SQL語句來查詢視頻的詳細(xì)信息,并將這些信息保存在全局變量中,最后將調(diào)用公共類中的GetFlashText方法來顯示并播放視頻。[6]程序如下:
protected void videoInfo()
{
//編寫SQL語句查詢視頻的詳細(xì)信息
string sql="select*from videoInfo where id="+Request["id"];
SqlDataReader sdr=operateData.getRow(sql);
sdr.Read();
//獲取視頻的路徑
tile=sdr["tile"].ToString();
//獲取視頻發(fā)布日期
videoDate=sdr["videoDate"].ToString();
//獲取發(fā)布人名稱
Name=sdr["userName"].ToString();
//獲取視頻標(biāo)題
videoTitle=sdr["videoTitle"].ToString();
//獲取視頻內(nèi)容
videoContent=sdr["videoContent"].ToString();
//獲取視頻類型
videoType=sdr["videoType"].ToString();
//判斷視頻路徑開頭字符串是否為http://
if(!link.StartsWith("http://"))
{
//獲取當(dāng)前的絕對(duì)路徑
string sss=Request.Url.AbsoluteUri;
//查詢play.aspx在字符串中的位置
int idx=sss.IndexOf("play.aspx");
//獲取指定字符串
sss=sss.Substring(0,idx);
link=sss+link;
}
//顯示播放器并可以播放視頻
this.Literal1.Text=operateMethod.GetFlashText(link);
}
項(xiàng)目化課程教學(xué)管理系統(tǒng)是專門為高職院校項(xiàng)目化教學(xué)開發(fā)的應(yīng)用系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了項(xiàng)目化課程教學(xué)管理的基本功能,有效地解決了傳統(tǒng)教學(xué)管理系統(tǒng)在項(xiàng)目化教學(xué)中的弊端,有助于激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力,更好地實(shí)現(xiàn)理論教學(xué)與實(shí)踐教學(xué)的有機(jī)結(jié)合,從而培養(yǎng)出符合企業(yè)需求的技術(shù)技能型人才。
[1]曹京生.機(jī)電類類專業(yè)3+2+1教學(xué)模式研究[J].實(shí)驗(yàn)技術(shù)與管理,2008(12):137-139.
[2]BoggsW,BoggsM.UMLwithRationalRose從入門到精通[M].邱仲潘 譯.北京:電子工業(yè)出版社,2000.
[3]羅斌.ASP.NET 2.0管理系統(tǒng)開發(fā)(C#版)經(jīng)典案例[M].北京:水利水電出版社,2007.
[4]斯梅切爾.C#和.NET 2.0實(shí)戰(zhàn):平臺(tái)、語言與框架[M].北京:人民郵電出版社,2008.
[5]劉琳.基于ASP.NET的開放性實(shí)驗(yàn)教學(xué)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010.
[6]CristianDariel,KariiWatson.ASRNET2.0電子商務(wù)開發(fā)實(shí)戰(zhàn)[M].施游 譯.北京:人民郵電出版社,2007.