摘要:《WEB數(shù)據(jù)庫技術(shù)》涉及WEB開發(fā)和數(shù)據(jù)庫訪問兩方面的內(nèi)容,是一門綜合性的軟件開發(fā)課程。文章從教學(xué)內(nèi)容的規(guī)劃組織,案例教學(xué)中迭代開發(fā)法的運(yùn)用等方面,探討了《WEB數(shù)據(jù)庫技術(shù)》的教學(xué)設(shè)計(jì)和教學(xué)實(shí)踐。
關(guān)鍵詞:WEB數(shù)據(jù)庫技術(shù);教學(xué)設(shè)計(jì);案例教學(xué)
高職院校計(jì)算機(jī)類專業(yè)開設(shè)《WEB數(shù)據(jù)庫技術(shù)》課程既符合“以就業(yè)為導(dǎo)向”的辦學(xué)要求,又突出了“技能培訓(xùn)”的教學(xué)重點(diǎn)。
整體規(guī)劃教學(xué)內(nèi)容,教學(xué)有的放矢
教育心理學(xué)認(rèn)為:合理編排教學(xué)內(nèi)容,有效設(shè)計(jì)教學(xué)程序,是促進(jìn)學(xué)生的學(xué)習(xí)遷移的有效手段。在《WEB數(shù)據(jù)庫技術(shù)》課程設(shè)計(jì)中,我們結(jié)合專業(yè)設(shè)計(jì),對課程進(jìn)行了整體規(guī)劃,根據(jù)學(xué)生基礎(chǔ),精心選取了ASP.NET作為WEB開發(fā)技術(shù)的教學(xué)內(nèi)容,制定出明確的教學(xué)目標(biāo),做到教學(xué)有的放矢。
(一)專業(yè)設(shè)計(jì)背景
我院是在計(jì)算機(jī)應(yīng)用專業(yè)第四個(gè)學(xué)期開設(shè)《WEB數(shù)據(jù)庫技術(shù)》課程的。計(jì)算機(jī)應(yīng)用專業(yè)的專業(yè)定位是以計(jì)算機(jī)應(yīng)用技術(shù)為主線,計(jì)算機(jī)應(yīng)用基礎(chǔ)、程序設(shè)計(jì)和數(shù)據(jù)庫技術(shù)是學(xué)生必修的專業(yè)基礎(chǔ)。其中,計(jì)算機(jī)應(yīng)用基礎(chǔ)是以O(shè)FFICE類入門課程為主要教學(xué)內(nèi)容;在程序設(shè)計(jì)課方面,結(jié)合考證課程,設(shè)置了VB程序設(shè)計(jì)語言這門課;在數(shù)據(jù)庫方面,圍繞ACCESS學(xué)習(xí)數(shù)據(jù)庫基礎(chǔ)。另外,本專業(yè)還開設(shè)了桌面操作系統(tǒng)管理課程作為必修課。
在上述課程基礎(chǔ)上,我們決定設(shè)置一門綜合性的WEB數(shù)據(jù)庫方面的課程,加強(qiáng)學(xué)生的編程訓(xùn)練和數(shù)據(jù)庫的應(yīng)用開發(fā)能力。因此,擬開設(shè)《WEB數(shù)據(jù)庫技術(shù)》這門課。
(二)教學(xué)內(nèi)容規(guī)劃
當(dāng)前主流的WEB應(yīng)用開發(fā)技術(shù)主要有兩個(gè)方向,一個(gè)是基于J2EE的體系結(jié)構(gòu),一個(gè)是.NET體系結(jié)構(gòu)。對于基于J2EE的體系結(jié)構(gòu)來說,學(xué)生必須具備JAVA語言基礎(chǔ),然后學(xué)習(xí)JSP以及Servlet,而JAVA語言是一門選修課程,我院計(jì)算機(jī)應(yīng)用專業(yè)中部分學(xué)生沒有學(xué)習(xí)過,因此對于沒有JAVA語言基礎(chǔ)的學(xué)生來說,不宜采用JSP/Servlet知識作為WEB開發(fā)技術(shù)進(jìn)行授課。
對于.NET體系結(jié)構(gòu)來說,學(xué)生可以直接學(xué)習(xí)ASP.NET程序設(shè)計(jì)知識獲得WEB開發(fā)技能,并且操作系統(tǒng)和網(wǎng)絡(luò)技術(shù)等課程也是以微軟的WINDOWS及IIS作為平臺講授的,而ASP.NET技術(shù)正是基于WINDOWS操作系統(tǒng)、以IIS作為WEB服務(wù)器的一種動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。另外,由于VB是計(jì)算機(jī)等級二級考試的科目,“VB程序設(shè)計(jì)”作為必修課學(xué)生在一年級時(shí)已經(jīng)學(xué)習(xí)過,因此可選用VB.NET作為ASP.NET的編程語言加以講授。
在上述分析基礎(chǔ)上,我們安排如下內(nèi)容作為課程的主要教學(xué)單元:(1)HTML語言基礎(chǔ);(2)VB.NET語法基礎(chǔ);(3)HTML控件和WEB控件;(4)其他控件;(5)常用內(nèi)置對象;(6)數(shù)據(jù)庫訪問技術(shù)。其中,前五個(gè)單元是介紹ASP.NET的基本技術(shù),第六單元數(shù)據(jù)庫訪問技術(shù)是課程的重點(diǎn)和難點(diǎn)。
(三)教學(xué)目標(biāo)概述
基于上述分析,制定《WEB數(shù)據(jù)庫技術(shù)》的教學(xué)目標(biāo)如下:讓學(xué)生掌握基本的ASP.NET技術(shù)、基本的數(shù)據(jù)庫訪問技術(shù)以及WEB應(yīng)用程序開發(fā)的基本方法。在此基礎(chǔ)上,培養(yǎng)基本的網(wǎng)站應(yīng)用開發(fā)技能,形成良好的編程習(xí)慣,提高學(xué)生的職業(yè)素質(zhì)。
迭代開發(fā)法運(yùn)用與教學(xué)設(shè)計(jì)模擬軟件項(xiàng)目開發(fā)流程
案例教學(xué)是高職院校實(shí)踐技能教學(xué)的重要方法。為了培養(yǎng)學(xué)生的實(shí)際開發(fā)能力,在《WEB數(shù)據(jù)庫技術(shù)》的案例教學(xué)中,我們引入軟件工程中的項(xiàng)目開發(fā)流程,通過案例的不斷迭代開發(fā),層層推進(jìn)教學(xué)內(nèi)容,讓學(xué)生在項(xiàng)目開發(fā)實(shí)踐中連貫而系統(tǒng)地完成課程學(xué)習(xí)任務(wù),動(dòng)手能力得到訓(xùn)練和提高。
(一)迭代開發(fā)法概述
迭代開發(fā)是現(xiàn)代軟件工程的常用方法,它是將開發(fā)任務(wù)分解成一些更容易實(shí)現(xiàn)的階段性目標(biāo),每個(gè)目標(biāo)有其定義明確的階段性評估標(biāo)準(zhǔn),迭代就是為了完成一定的階段性目標(biāo)所從事的一系列開發(fā)活動(dòng)。這些小目標(biāo)形成一系列功能遞增的系統(tǒng),通過不斷漸進(jìn)的開發(fā)過程,在循環(huán)往復(fù)中逐步完善軟件系統(tǒng)。
(二)教學(xué)案例分析
借鑒軟件工程中的這一方法,我們根據(jù)課程教學(xué)目標(biāo)選取了留言管理系統(tǒng)作為教學(xué)案例,將教學(xué)內(nèi)容融入案例的開發(fā)中,指導(dǎo)學(xué)生通過多次迭代,逐步設(shè)計(jì)出完整的留言管理系統(tǒng)。
留言管理系統(tǒng)的功能可分為兩大模塊,第一個(gè)模塊是用戶登錄檢查模塊,功能是接受用戶登錄信息,并檢查是否是合法用戶,如果不是合法用戶,就拒絕登錄留言系統(tǒng);如果是合法用戶,則進(jìn)入留言系統(tǒng)。第二個(gè)模塊是留言管理模塊,功能是接受用戶留言,并可瀏覽、修改和刪除留言。兩大模塊分別對應(yīng)ASP.NET的基本知識和數(shù)據(jù)庫訪問知識,因此教學(xué)案例與課程的總體思路是基本一致的。
(三)案例教學(xué)中迭代開發(fā)的實(shí)施過程
我們在課堂教學(xué)中模擬軟件項(xiàng)目的開發(fā)流程,以留言管理系統(tǒng)為開發(fā)目標(biāo),將案例分解為一系列需要迭代完成的小版本,作為開發(fā)階段性的目標(biāo),各版本的功能逐漸增強(qiáng),版本實(shí)現(xiàn)的階段性目標(biāo)與教學(xué)目標(biāo)相吻合。案例的每次迭代伴隨教學(xué)內(nèi)容的由淺到深、由易到難的推進(jìn)。當(dāng)最終完成開發(fā)而實(shí)現(xiàn)案例的最后版本時(shí),教學(xué)任務(wù)也同步完成。根據(jù)教學(xué)安排,我們按如下順序進(jìn)行案例的迭代開發(fā)和教學(xué)。
第一次迭代的階段目標(biāo)是用HTML語言設(shè)計(jì)用戶登錄頁面。這一階段對應(yīng)“HTML語法基礎(chǔ)”教學(xué)單元,主要知識點(diǎn)為常用的HTML標(biāo)記及FORM表單。這是迭代開發(fā)的啟動(dòng)階段,我們和學(xué)生一起分析管理留言板需要哪些功能,讓學(xué)生對案例有個(gè)全局認(rèn)識,并了解教學(xué)的總體目標(biāo)。然后分解出第一次迭代開發(fā)的任務(wù):在IE中設(shè)計(jì)一個(gè)用戶登錄的靜態(tài)頁面。圍繞用戶登錄靜態(tài)網(wǎng)頁的制作,介紹并練習(xí)字體標(biāo)記、表格標(biāo)記以及文本框、密碼框、按鈕等多種標(biāo)記的使用。用戶登錄頁面的設(shè)計(jì),為學(xué)生揭開了網(wǎng)頁制作的神秘面紗。
第二次迭代的階段目標(biāo)是用WEB控件設(shè)計(jì)用戶登錄窗體。這一階段對應(yīng)“WEB控件”教學(xué)單元,主要知識點(diǎn)為VB.NET基本語法、常用的ASP.NET控件。在這一部分,我們引導(dǎo)學(xué)生在原來靜態(tài)的登錄頁面基礎(chǔ)上,利用ASP.NET中的控件,改進(jìn)用戶登錄案例,使用戶登錄窗體時(shí)能夠?qū)τ谳斎氲挠脩裘o出友好的問候信息。這樣,學(xué)生不僅熟悉了HTML控件和WEB控件,而且體會到了網(wǎng)頁是如何“動(dòng)”起來的,形象地建立起了動(dòng)態(tài)網(wǎng)頁的概念,輕松地掌握了編程獲取用戶輸入信息并給出簡單服務(wù)器響應(yīng)的方法。同時(shí),用戶登錄窗體的內(nèi)容更加豐富,用戶登錄窗體中不僅可以有文本輸入的用戶名及密碼的功能,還具有單選、多選和下拉菜單等多種輸入方式用于提交輸入用戶資料。
第三次迭代的階段目標(biāo)是在用戶登錄窗體中增加驗(yàn)證功能。這一階段對應(yīng)“其他控件”教學(xué)單元。主要知識點(diǎn)為各種驗(yàn)證控件。在學(xué)習(xí)ASP.NET的增強(qiáng)控件中,結(jié)合各種ASP.NET驗(yàn)證控件的學(xué)習(xí),用戶登錄窗體的功能被進(jìn)一步加強(qiáng)。比如,對于沒有輸入用戶名或密碼就提交時(shí),學(xué)生學(xué)會了利用必須字段驗(yàn)證控件返回提示給用戶,要求用戶再次輸入。
第四次迭代的階段目標(biāo)是用戶登錄模塊中能夠檢查任意用戶身份。這一階段對應(yīng)“數(shù)據(jù)庫訪問”教學(xué)單元。主要知識點(diǎn)為常用內(nèi)置對象、ADO.NET及數(shù)據(jù)庫訪問基礎(chǔ)。前面設(shè)計(jì)的登錄功能中,用戶名和密碼都是事先設(shè)置在程序代碼中,這樣的登錄檢查不具備實(shí)用性。學(xué)生早已懷有這樣的疑問。針對這個(gè)問題,在“訪問數(shù)據(jù)庫”一章中,引導(dǎo)學(xué)生建立合法用戶的數(shù)據(jù)庫記錄,并利用數(shù)據(jù)庫訪問技術(shù),從數(shù)據(jù)庫的合法用戶表中檢索是否存在登錄用戶的信息。第四次迭代在本課程教學(xué)中是關(guān)鍵的一步。在這一次迭代開發(fā)中,檢查用戶登錄案例的功能有了質(zhì)的提升。用戶名和密碼的檢測不再是程序中事先在代碼中事先設(shè)定的,而是通過ADO.NET對象連接到后臺數(shù)據(jù)庫,查找用戶名表中是否有輸入用戶的記錄,如果有,說明是合法用戶,登錄成功,并轉(zhuǎn)到一個(gè)新網(wǎng)頁中;若沒找到相應(yīng)的記錄,則說明是非法用戶,給出相應(yīng)提示。這樣,通過采用數(shù)據(jù)庫訪問技術(shù),用戶登錄窗體對于事先在用戶名表中記錄的合法用戶,都能檢驗(yàn)通過。相對于原來僅能檢驗(yàn)固定用戶的情形來說,新的用戶登錄窗體的功能得到了很大加強(qiáng)。
第五次迭代的階段目標(biāo)是設(shè)計(jì)留言提交和查看模塊。對應(yīng)“數(shù)據(jù)庫訪問”教學(xué)單元。主要知識點(diǎn)為數(shù)據(jù)綁定及數(shù)據(jù)顯示控件DataGrid、Repeater。這是案例的最后一次迭代,也是教學(xué)的最后一部分內(nèi)容。經(jīng)過前面幾次迭代開發(fā),學(xué)生已經(jīng)不斷提高了案例的功能,在這最后一次迭代中,主要是完成留言數(shù)據(jù)表的插入和查詢。學(xué)生需要做的工作是在第四次迭代所應(yīng)用的數(shù)據(jù)庫連接和檢索技術(shù)的基礎(chǔ)上,進(jìn)一步通過SQL命令完成留言表的處理,并利用數(shù)據(jù)綁定技術(shù),將結(jié)果通過兩個(gè)典型的數(shù)據(jù)顯示控件顯示出來,實(shí)現(xiàn)留言的提交、查看功能。
這樣,伴隨著教學(xué)內(nèi)容的逐步深入,學(xué)生動(dòng)手實(shí)現(xiàn)的案例也在逐步完善,功能不斷加強(qiáng),內(nèi)容不斷更新。
《WEB數(shù)據(jù)庫技術(shù)》是一門應(yīng)用面廣、實(shí)踐性強(qiáng)的課程。在教學(xué)實(shí)踐中,我們選取了適合學(xué)生基礎(chǔ)的ASP.NET技術(shù)作為教學(xué)內(nèi)容,并精心設(shè)計(jì)教學(xué)過程,在課堂教學(xué)中引入軟件項(xiàng)目的迭代開發(fā)流程,在案例由簡到繁的迭代開發(fā)中,學(xué)生不僅學(xué)到了課程知識,還設(shè)計(jì)出了功能完善的軟件系統(tǒng),同時(shí)對實(shí)際項(xiàng)目開發(fā)有了切身體驗(yàn)和實(shí)踐,開發(fā)技能得到了充分的訓(xùn)練和提高。
參考文獻(xiàn):
[1]伍新春.高等教育心理學(xué)[M].北京:高等教育出版社,1998.
[2]金雪云.ASP.NET簡明教程[M].北京:清華大學(xué)出版社,2003.
[3]谷建芳.迭代實(shí)踐[OL].http://51cmm.
csai.cn/SPI/gjf_se_001_20051121.pdf.
作者簡介:
張德芬(1969—),深圳信息職業(yè)技術(shù)學(xué)院高級工程師,研究方向?yàn)檐浖こ獭?/p>