摘 要: 隨著數(shù)據(jù)庫技術的不斷發(fā)展,高等院校的數(shù)據(jù)庫課程急需改革與創(chuàng)新。傳統(tǒng)的教學內(nèi)容重理論輕應用,教學實驗內(nèi)容貧乏,無法滿足當今市場對綜合性計算機人才的需求。作者從實踐出發(fā),提出了WEB項目驅(qū)動的數(shù)據(jù)庫教學模式,將應用系統(tǒng)開發(fā)貫穿到數(shù)據(jù)庫理論和實踐的教學過程中,實現(xiàn)了數(shù)據(jù)庫與其他計算機專業(yè)知識的融會貫通,完成了數(shù)據(jù)庫教學一次成功的探索。
關鍵詞: 數(shù)據(jù)庫教學 應用技術 WEB項目 軟件工程
隨著信息技術的飛速發(fā)展,數(shù)據(jù)庫技術脫穎而出迅速發(fā)展成了一門獨立學科,并應用于計算機行業(yè)的各個應用領域。從傳統(tǒng)的數(shù)據(jù)處理、信息管理、事務處理到人工智能、搜索引擎、各行各業(yè)的辦公自動化系統(tǒng)、各類網(wǎng)絡應用系統(tǒng)及云計算等眾多新興領域,數(shù)據(jù)庫技術發(fā)揮著越來越重要的作用。隨著數(shù)據(jù)庫技術的應用逐漸滲透到生活的方方面面,相應的數(shù)據(jù)庫技術人才日趨缺乏,因此與數(shù)據(jù)庫技術相關的課程已經(jīng)成為高等院校計算機專業(yè)的必修課程,教學的主要目標是務必讓學生在踏入社會之前就熟練掌握數(shù)據(jù)庫管理相關技術。同時,WEB技術的日新月異和WEB應用日趨成為主流趨勢,使得很多高校引進了諸如J2EE實用WEB開發(fā)技術等新興課程,旨在教授一門實用的技術用于基于網(wǎng)絡的應用系統(tǒng)的開發(fā)。筆者從實際出發(fā),通過分析數(shù)據(jù)庫理論教學與實踐教學的諸多特點,著眼于讓學生掌握實用的數(shù)據(jù)庫技術,達到學有所用的目的,提出將數(shù)據(jù)庫教學與WEB開發(fā)技術相結(jié)合的教學方法。教學過程中通過一個綜合性的WEB項目驅(qū)動,將軟件工程的思想貫穿整個項目開發(fā),使得學生在學習數(shù)據(jù)庫基本原理的同時舉一反三,掌握實用的數(shù)據(jù)庫應用技術。教學實踐證明,只有結(jié)合WEB開發(fā)技術的數(shù)據(jù)庫開發(fā)經(jīng)驗能夠滿足當今市場對綜合型計算機人才的需求。
一、數(shù)據(jù)庫課程教學的現(xiàn)狀和存在的問題
當前,數(shù)據(jù)庫原理與應用這門課程已經(jīng)成為高校的計算機專業(yè)核心課程。筆者根據(jù)自己的教學實踐和大四學生畢業(yè)設計環(huán)節(jié)對于數(shù)據(jù)庫技術的應用情況,認為在數(shù)據(jù)庫教學過程中主要存在以下幾個問題:
1.教學內(nèi)容重理論輕應用
目前數(shù)據(jù)庫原理大多是選用經(jīng)典教材,比如筆者所在的獨立學院使用的是薩師煊、王珊教授編寫的數(shù)據(jù)庫系統(tǒng)概論第四版。這也是數(shù)據(jù)庫業(yè)內(nèi)公認的經(jīng)典教材。第四版分為系統(tǒng)篇、設計篇和應用篇,內(nèi)容豐富,理論和實踐并重,但往往由于課時的關系,很難全部講完,因此一般情況下,偏重于數(shù)據(jù)庫原理的介紹。在授課的過程中,筆者發(fā)現(xiàn)這部分原理性知識相對比較抽象難懂,有些原理涉及數(shù)學公式的演算和推導。學生理解起來普遍有一定的難度,比較容易產(chǎn)生厭學情緒,缺乏繼續(xù)學習的動力。在畢業(yè)設計階段,因為當初學習的數(shù)據(jù)庫理論知識和實踐存在嚴重的脫節(jié),所以當學生需要獨立地完成一個系統(tǒng),面對一個具體的數(shù)據(jù)庫產(chǎn)品時往往無從下手。
2.實驗環(huán)節(jié)的教學內(nèi)容相對貧乏
目前數(shù)據(jù)庫系統(tǒng)概論這門課一般都配備了相應的實驗課。但實驗課教學仍存在一些問題,例如實驗仍以獨立的數(shù)據(jù)庫操為實驗單元,實驗內(nèi)容不連貫,缺乏綜合性大型實驗課題,等等。學生通過這種實驗,僅僅掌握了某一種數(shù)據(jù)庫的創(chuàng)建、添加、刪除等基本操作,但是對于一個應用系統(tǒng)的數(shù)據(jù)層、業(yè)務邏輯層和表示層三者之間的數(shù)據(jù)傳輸沒有整體性的認識。
3.實驗部分考核的缺失
目前該課程的考核方式大多以期末考試的筆試試卷成績作為對學生的評定成績。這種方式僅僅考察了數(shù)據(jù)庫原理性知識,但是缺乏對學生實踐動手能力的考核,不能全面有效地檢驗學生學習的效果。
二、數(shù)據(jù)庫教學實踐改革的意義
筆者所在的獨立學院一直強調(diào)教學課程的改革與創(chuàng)新,認為教學要根據(jù)學生實際的計算機文化素質(zhì)水平和社會需要,將授課的最終目的定位在“既懂理論又會應用”的層面上。同時,在授課的過程中,根據(jù)不同層次、不同就業(yè)需求的學生,因材施教,因勢利導,充分發(fā)揮每位同學的主觀能動性。數(shù)據(jù)庫這門核心課程具有理論基礎強、實踐應用性突出的特點。教學內(nèi)容既涉及數(shù)據(jù)庫系統(tǒng)設計、海量數(shù)據(jù)存儲等數(shù)據(jù)庫原理性知識,又涉及具體的平臺、數(shù)據(jù)的前臺顯示等應用性知識,是一門應用廣泛、復雜而綜合的應用性課程,因此課程教學內(nèi)容的設置顯得更加重要,需要進行不斷的改革與調(diào)整。將WEB項目貫穿數(shù)據(jù)庫技術的理論教學和實驗教學,有助于將數(shù)據(jù)庫理論知識與實踐知識相結(jié)合,有助于該門課程與其他計算機專業(yè)課程比如高級程序設計、操作系統(tǒng)、軟件工程、J2EE實用網(wǎng)絡開發(fā)技術等核心課程的融會貫通,有助于整體的“計算機思維”的形成。
三、教學實踐的探索和實現(xiàn)
1.在理論教學中建立“項目”的整體視圖
在數(shù)據(jù)庫課程的教學過程中,涉及數(shù)據(jù)庫設計知識時,會有意識地向?qū)W生灌輸“項目”這個概念。結(jié)合筆者曾經(jīng)就職于IT公司擔任軟件開發(fā)人員,建立了一個整體的“項目”的視圖。“項目”可大可小。一個數(shù)據(jù)庫從數(shù)據(jù)分析、表格設計、表格創(chuàng)建、數(shù)據(jù)添加、數(shù)據(jù)維護可以看成是一個項目。一個綜合型的基于WEB的應用系統(tǒng)的實現(xiàn)更是體現(xiàn)了項目的概念。一個項目就相當于一個工程,適時地將軟件工程的思想和項目相結(jié)合,為后續(xù)課程軟件工程做鋪墊。
2.設計教學案例關注數(shù)據(jù)流的動態(tài)走向
傳統(tǒng)的數(shù)據(jù)庫實驗,實驗對象是后臺的相對靜態(tài)的數(shù)據(jù)庫表格。學生僅僅學會針對后臺的數(shù)據(jù)進行基本的增刪改操作,至于后臺數(shù)據(jù)如何傳遞到前臺,以友好的前臺界面的方式提供給用戶使用并不了解。而一個基于WEB的應用系統(tǒng)的實現(xiàn)正好彌補了這個空白。通過一個基于J2EE技術的WEB應用實例,從數(shù)據(jù)的存儲、傳遞、顯示、管理等多個角度加深對數(shù)據(jù)庫數(shù)據(jù)管理的理解。在課堂講授過程中,以某個具體的案例導入,誘導學生獨立思考、相互討論,從案例中分析應該理解和掌握哪些理論知識等。并且由教師對學生無法解決的問題比如WEB技術給予指導和建議。在設計教學案例的時候,以學生熟悉的案例為背景,比如在線訂餐系統(tǒng)、在線購物系統(tǒng)等,極大地激發(fā)了學生的學習興趣和參與的積極性,課堂討論氣氛活躍,有利于學生在理解理論知識的基礎上更進一步地靈活運用這些知識解決數(shù)據(jù)庫開發(fā)中遇到的實際問題。
3.體現(xiàn)三層體系架構灌輸系統(tǒng)松耦合觀念
目前應用系統(tǒng)的功能都比較復雜且必須具備可擴展性,因此絕大多數(shù)采用分層的方式進行項目開發(fā)。在通常情況下,應用程序分為顯示界面、功能邏輯和數(shù)據(jù)訪問等多個層面。所謂“分層”也就是把應用程序按照不同的部分劃分成不同的模塊加以實現(xiàn)。通過各層之間的交互,形成了應用程序的體系結(jié)構,從而構建出適用企業(yè)級應用的應用系統(tǒng),具有良好的健壯性、可擴展性和便于維護等優(yōu)點,這也體現(xiàn)了系統(tǒng)特點。常見的體系結(jié)構分為三層:表示層、業(yè)務邏輯層和數(shù)據(jù)層。多層次的體系結(jié)構要求數(shù)據(jù)庫技術不僅僅關注數(shù)據(jù)層的描述、設計、維護,同時也必須結(jié)合表現(xiàn)層和應用邏輯層,綜合評估系統(tǒng)整體的數(shù)據(jù)管理要求,進行各種調(diào)整和配置。基于教學案例,筆者在授課過程中,重視三層體系結(jié)構的構建,要求學生構建數(shù)據(jù)庫系統(tǒng)的時候,充分考慮項目的需求,結(jié)合表現(xiàn)層和應用邏輯層的具體描述和實現(xiàn),最終構建出數(shù)據(jù)獨立性高、數(shù)據(jù)冗余小、易移植、便于統(tǒng)一管理和控制的數(shù)據(jù)庫系統(tǒng)。
4.通過實驗總結(jié)分析比較多種數(shù)據(jù)庫產(chǎn)品
目前,市場上成熟的數(shù)據(jù)庫產(chǎn)品層出不窮。數(shù)據(jù)庫廠商主要有ORACLE、SYBASE、IBM、MICROSOFT等。課堂示范筆者使用的微軟公司推出的SQL SERVER2005版本的數(shù)據(jù)庫系統(tǒng)。該系統(tǒng)基本涵蓋了數(shù)據(jù)庫應用的基本技術。實驗環(huán)節(jié)的設置上,由5人組成項目開發(fā)團隊,自行選擇數(shù)據(jù)庫產(chǎn)品。有的學生選擇了企業(yè)級的數(shù)據(jù)庫產(chǎn)品ORACLE數(shù)據(jù)庫,有的學生則選擇了開源的輕量級的POSTGRE SQL數(shù)據(jù)庫。在實驗開始階段,一方面,筆者會根據(jù)項目的需求和預期數(shù)據(jù)規(guī)模,提出自己的建議,另一方面,在實驗指導階段,筆者會要求學生根據(jù)當前這款數(shù)據(jù)庫產(chǎn)品的使用情況進行小結(jié),在答辯完成后,通過分析比較多種數(shù)據(jù)庫產(chǎn)品,加深學生對于數(shù)據(jù)庫應用性知識的理解,比如數(shù)據(jù)庫的多表查詢效率、數(shù)據(jù)庫的備份技術、數(shù)據(jù)的加密等。而這些知識原本在書本上是無法找到答案的,只有通過項目的開發(fā),才能學會這些重要的應用知識。
5.強調(diào)不同的操作系統(tǒng)平臺與數(shù)據(jù)庫技術相結(jié)合
基于筆者所在的獨立學院在學生進入大二第二學期時同步開設操作系統(tǒng)這門課程,并配套linux操作系統(tǒng)實驗的前提,鼓勵學生在項目開發(fā)時,選用除windows操作系統(tǒng)之外的其他非主流操作系統(tǒng)平臺如linux系統(tǒng)。在項目開發(fā)過程,筆者發(fā)現(xiàn)很多學生更傾向于在自己熟悉的windows平臺上進行數(shù)據(jù)庫的搭建。然而,就筆者這幾年的工作經(jīng)驗而言,更多的企業(yè)級的數(shù)據(jù)庫系統(tǒng)會選擇搭建于linux或者unix操作系統(tǒng)之上,這很大程度上是基于數(shù)據(jù)安全性的考量。因此在要求學生選擇操作系統(tǒng)平臺時,會根據(jù)學生本人的興趣和能力因勢利導,大部分學生選擇在傳統(tǒng)的windows平臺上進行數(shù)據(jù)庫管理。對于部分對linux系統(tǒng)有興趣、編程能力強的學生,推薦他們嘗試在linux平臺上構建數(shù)據(jù)庫系統(tǒng),體現(xiàn)了因材施教、多層次性的培養(yǎng)。
6.明確項目開發(fā)角色培養(yǎng)項目管理經(jīng)驗
項目團隊建立后,要求學生定位明確。每個人作為團隊的一員必須明確自己的角色定位。在角色定位之前,筆者要求每個人進行自我評估,根據(jù)評估結(jié)果和本人意愿,選擇團隊角色(如項目管理、項目需求分析、系統(tǒng)設計人員、系統(tǒng)實現(xiàn)、數(shù)據(jù)庫管理、硬件平臺構建、系統(tǒng)評估等多個角色),一人可以擔任一個角色,也可以擔任多個角色,如果項目架構比較復雜,可以多人共同擔任同一角色。指導老師不僅僅要關注項目本身的進展,還要關注每位學生作為團隊的一份子,為系統(tǒng)的最終完成作出了哪些貢獻。項目的實施過程也體現(xiàn)了學生認識自我、面對問題、解決問題的過程。
7.實現(xiàn)答辯與文檔相結(jié)合的考核方法
對于數(shù)據(jù)庫實驗課的考核方法進行了改革與創(chuàng)新,采用答辯與文檔相結(jié)合的方式。每個小組選出一名代表進行答辯,首先每組的學生代表以幻燈片的方式介紹WEB系統(tǒng)的主要功能、實現(xiàn)技術和項目實施情況(包括項目分工、項目進度控制、項目開發(fā)中遇到的問題等)。然后現(xiàn)場演示系統(tǒng),并就關鍵代碼進行分析說明。系統(tǒng)介紹結(jié)束后,其他同學就該系統(tǒng)提出自己的一些建議和意見,并且最終形成系統(tǒng)文檔和答辯記錄遞交。通過模擬畢業(yè)設計答辯的方式,鍛煉學生的口頭表達能力,為畢業(yè)設計答辯做鋪墊,也有助于將來就業(yè)求職。
四、結(jié)語
筆者針對高校數(shù)據(jù)庫原理與應用課程教學中的現(xiàn)狀和存在的問題,結(jié)合自己的實際教學經(jīng)驗,提出了以WEB項目驅(qū)動數(shù)據(jù)庫教學的改革與創(chuàng)新思路。由于數(shù)據(jù)庫技術日新月異,相關的其他計算機專業(yè)知識發(fā)展迅速,在專業(yè)課程的教學過程中不僅要嘗試新的教學方法與手段,因人而異,因材施教,更要加強師生交流,根據(jù)教學過程中出現(xiàn)的具體情況和學生的反饋意見,及時調(diào)整教學方法。從實踐中來,到實踐中去,在實踐中尋求最佳教學方法,只有這樣教學質(zhì)量才有保證,最終實現(xiàn)教學相長。
參考文獻:
[1]馮莉.數(shù)據(jù)庫原理與應用課程教學改革初探[J].大眾科技,2008.
[2]高清華.應用型本科院校《數(shù)據(jù)庫原理與應用》課程設計[J].北京城市學院學報,2008.
[3]吳琪.數(shù)據(jù)庫原理與應用教學改革初探[J].電腦學習,2009.