胡駿 龍翔
數(shù)據(jù)庫(kù)在整個(gè)計(jì)算機(jī)專業(yè)課程體系中占有重要的位置,是展開后續(xù)《Java程序設(shè)計(jì)》或《.NET程序設(shè)計(jì)》教學(xué)的必要鋪墊。通過多年的教學(xué),發(fā)現(xiàn)如果在高職學(xué)生中直接開展大型數(shù)據(jù)庫(kù)(如Oracle, SQL server)教學(xué),學(xué)生會(huì)有抵觸情緒,且對(duì)知識(shí)的接受程度有限,教學(xué)效果并不是很好。究其原因,主要是在后續(xù)課程沒有展開的情況下,數(shù)據(jù)庫(kù)知識(shí)并不能夠支持做出具體項(xiàng)目,或者做出的項(xiàng)目離實(shí)際應(yīng)用還有很大距離,造成學(xué)生學(xué)習(xí)目的不明確,成就感不強(qiáng),消極對(duì)待數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)和SQL語(yǔ)言的學(xué)習(xí)。為解決上述問題本院在計(jì)算機(jī)專業(yè)人才培養(yǎng)方案制定過程中,加入小型數(shù)據(jù)庫(kù)《Access基礎(chǔ)》課程學(xué)習(xí),強(qiáng)化學(xué)生對(duì)數(shù)據(jù)庫(kù)基本概念的理解,并依托Access平臺(tái)推進(jìn)案例項(xiàng)目教學(xué),使學(xué)生了解整個(gè)項(xiàng)目的開發(fā)流程,訓(xùn)練邏輯思維能力,體驗(yàn)工作過程中的挫折感與成就感。本文就Access數(shù)據(jù)庫(kù)典型案例的選取思路與教授方法進(jìn)行分析與研究。
1. 典型案例的選取標(biāo)準(zhǔn)
(1)項(xiàng)目的選取一定要涵蓋Access的主要知識(shí)點(diǎn)。
Access的七種對(duì)象都應(yīng)該有所涉及,如圖1-1所示。同時(shí),還應(yīng)考慮開發(fā)中七種對(duì)象的使用不應(yīng)該“平均用力”,而是應(yīng)該根據(jù)七種對(duì)象的重要性、典型工作過程中的使用頻率及后續(xù)課程的需要來進(jìn)行有側(cè)重點(diǎn)的訓(xùn)練。
數(shù)據(jù)庫(kù)中的核心部分是“表”對(duì)象,所有的數(shù)據(jù)均存儲(chǔ)在表中?!氨怼睂?duì)象的建立是整個(gè)項(xiàng)目的重點(diǎn),其中設(shè)定表的主鍵、輸入掩碼、有效性規(guī)則、默認(rèn)值等操作是所有數(shù)據(jù)庫(kù)項(xiàng)目中都涉及到的問題,應(yīng)作為重點(diǎn)內(nèi)容訓(xùn)練。特別是有效性規(guī)則、默認(rèn)值等的設(shè)置,在大型數(shù)據(jù)庫(kù)中演變?yōu)楦鼮樨S富的數(shù)據(jù)庫(kù)表的約束,因此加深學(xué)生印象,有利于學(xué)生在學(xué)習(xí)大型數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行知識(shí)的遷移,達(dá)到良好的學(xué)習(xí)效果。建表過程中,最困難的是表間關(guān)系的確定與建立,也是“表”對(duì)象表現(xiàn)現(xiàn)實(shí)世界的重要手段。這個(gè)問題向上可以回溯到數(shù)據(jù)庫(kù)建模階段,即“數(shù)據(jù)庫(kù)中到底應(yīng)該有哪些表”的問題,向下可影響到一個(gè)表的數(shù)據(jù)在增加、刪除、修改時(shí)表間數(shù)據(jù)聯(lián)動(dòng)問題。
其次,數(shù)據(jù)庫(kù)中對(duì)于數(shù)據(jù)處理使用的工具是“查詢”對(duì)象。在查詢對(duì)象中尤其應(yīng)該注意SQL查詢的訓(xùn)練,這部分內(nèi)容能夠?yàn)楹罄m(xù)的大型數(shù)據(jù)庫(kù)課程提供知識(shí)儲(chǔ)備,讓學(xué)生提前了解SQL語(yǔ)言中關(guān)鍵詞:create、 select、 update、 delete和 insert的基本用法。同時(shí)應(yīng)當(dāng)加強(qiáng)“查詢計(jì)算”的訓(xùn)練,靈活使用查詢計(jì)算有利于為實(shí)際項(xiàng)目生成重要的數(shù)據(jù)。
再次,“窗體”對(duì)象是Access數(shù)據(jù)庫(kù)中數(shù)據(jù)的主要表現(xiàn)形式。在這個(gè)對(duì)象中,窗體的整體設(shè)計(jì)、控件的運(yùn)用是學(xué)生進(jìn)入面向?qū)ο蟪绦蛟O(shè)計(jì)階段(特別是.NET),類似的工作環(huán)境會(huì)使學(xué)生的適應(yīng)速度加快。
最后,“宏”對(duì)象是Access中用來驅(qū)動(dòng)其他對(duì)象的工具。“模塊”對(duì)象也能夠產(chǎn)生相同作用,但是其使用較為復(fù)雜,進(jìn)入模塊后必須使用VBA語(yǔ)言進(jìn)行編寫程序,而學(xué)生的邏輯思維能力和英語(yǔ)水平較低,致使程序?qū)懖怀?,或者程序調(diào)試時(shí)出現(xiàn)各種問題。從本質(zhì)上說,宏是一系列操作或操作對(duì)應(yīng)程序的集合,因此,以較為簡(jiǎn)單的宏對(duì)象作為項(xiàng)目實(shí)現(xiàn)的重點(diǎn)、VBA程序?yàn)檩o的方式來訓(xùn)練學(xué)生的邏輯思維能力。
綜合各方面考慮,在項(xiàng)目中加強(qiáng)“表”“查詢”“窗體”“宏”四個(gè)對(duì)象的訓(xùn)練。
(2)項(xiàng)目的選擇一定要貼近生活,具有實(shí)用性。
這樣有利于減輕陌生感,使學(xué)生更容易就項(xiàng)目問題與教師進(jìn)行溝通,增強(qiáng)互動(dòng)性,同時(shí)也使學(xué)生對(duì)知識(shí)的接受程度大大提高。例如,選取“學(xué)生宿舍管理系統(tǒng)”作為典型案例學(xué)習(xí),并提供其他豐富案例供學(xué)生訓(xùn)練。
2. 案例授課方法的分析
(1)一定要按照項(xiàng)目開發(fā)流程進(jìn)行授課。
一般項(xiàng)目的開發(fā)流程一定要經(jīng)過四個(gè)階段:客戶需求、方案設(shè)計(jì)、方案實(shí)施、系統(tǒng)驗(yàn)收。授課時(shí)教師要?jiǎng)?wù)必按照這四個(gè)階段的要求來督促學(xué)生扎實(shí)做好工作,讓他們體會(huì)到真實(shí)的環(huán)境和真實(shí)的壓力。
學(xué)生在開發(fā)“學(xué)生宿舍管理系統(tǒng)”做客戶需求調(diào)研的時(shí)候發(fā)現(xiàn),使用這個(gè)系統(tǒng)的人群可分為四類:學(xué)生、輔導(dǎo)員、宿管員、數(shù)據(jù)庫(kù)管理員。如果不經(jīng)過客戶需求調(diào)研,很有可能會(huì)使登陸身份不全,因此登陸窗體制作的時(shí)候就應(yīng)該添加四種身份登陸的控件。
在方案設(shè)計(jì)過程中,在考慮登陸窗體制作的時(shí)候,教師提出登陸流程問題,引起學(xué)生注意并進(jìn)行討論。學(xué)生討論前后提出的流程,如圖2-1所示。
圖2-1中(a)流程圖以最簡(jiǎn)單的登陸邏輯揣測(cè)用戶登陸過程,必定會(huì)出現(xiàn)各種問題。經(jīng)過學(xué)生們的討論、借鑒后,一致認(rèn)為圖2-1中(b)流程圖從用戶的角度出發(fā),因此不會(huì)有登陸“死角”的問題出現(xiàn)。
方案實(shí)施階段與驗(yàn)收階段,我們采用“虛擬公司”的方法組織學(xué)生實(shí)施,會(huì)在下面詳細(xì)敘述。
(2)采用“虛擬公司”的方法組織學(xué)生進(jìn)行項(xiàng)目開發(fā)。
在真實(shí)環(huán)境中,大部分技術(shù)人員都會(huì)以開發(fā)團(tuán)隊(duì)成員的身份進(jìn)行項(xiàng)目開發(fā)。所以,我們?cè)谡n堂上也應(yīng)該盡量還原這種真實(shí)環(huán)境。
在項(xiàng)目實(shí)施與驗(yàn)收階段,把五六個(gè)學(xué)生設(shè)為一個(gè)開發(fā)團(tuán)隊(duì),并選出“項(xiàng)目經(jīng)理”負(fù)責(zé)整個(gè)項(xiàng)目的總體框架的設(shè)計(jì)及組織協(xié)調(diào)工作,項(xiàng)目經(jīng)理直接與教師溝通交流。
整個(gè)“虛擬公司”的運(yùn)行以“虛擬幣”為核心展開。項(xiàng)目組在項(xiàng)目實(shí)施過程中可能會(huì)遇到各種問題,在組內(nèi)討論無果的情況下,可直接通過項(xiàng)目經(jīng)理向教師咨詢,根據(jù)咨詢時(shí)間的長(zhǎng)短教師向項(xiàng)目組收取一定數(shù)額的虛擬幣。整個(gè)項(xiàng)目的開發(fā)時(shí)間也要轉(zhuǎn)換為虛擬幣,時(shí)間越長(zhǎng),虛擬幣花費(fèi)越多。在項(xiàng)目測(cè)試階段,各項(xiàng)目組間相互測(cè)試,找出的BUG越多,消耗的虛擬幣也越多,同時(shí)對(duì)找出BUG的項(xiàng)目組予以增加虛擬幣的獎(jiǎng)勵(lì)。在項(xiàng)目答辯的時(shí)候,教師根據(jù)情況,給出每組虛擬幣消耗量。最后根據(jù)每組虛擬幣的花費(fèi)情況進(jìn)行打分,使用虛擬幣越少分?jǐn)?shù)越高。
總之,虛擬幣模擬的就是公司中的開發(fā)成本,通過虛擬幣模擬可以促進(jìn)學(xué)生的成本意識(shí)、團(tuán)隊(duì)合作意識(shí)和自學(xué)意識(shí)的培養(yǎng)。
3. 結(jié)語(yǔ)
計(jì)算機(jī)專業(yè)教學(xué)與其他專業(yè)相比有其特殊之處。從教學(xué)案例的選擇到教學(xué)組織形式的選擇都要考慮到學(xué)生水平、教學(xué)條件、行業(yè)特點(diǎn)等方方面面因素的影響。在進(jìn)行Access教學(xué)的時(shí)候,雖然依據(jù)本文中討論的案例選擇標(biāo)準(zhǔn)與教學(xué)組織形式取得了較好的效果,但也仍有不足之處。例如,真實(shí)項(xiàng)目開發(fā)的時(shí)候,考慮開發(fā)周期的影響,應(yīng)該在盡量短的時(shí)間內(nèi)完成項(xiàng)目開發(fā),以獲得最大的經(jīng)濟(jì)利益。而我們?cè)趯?shí)施教學(xué)的時(shí)候,卻無法提供“全天候”的實(shí)驗(yàn)室供學(xué)生做項(xiàng)目開發(fā)時(shí)使用,也無法讓學(xué)生體會(huì)到計(jì)算機(jī)項(xiàng)目開發(fā)時(shí)“加班加點(diǎn)”的工作特點(diǎn)和強(qiáng)度。今后,我們?cè)诓捎孟冗M(jìn)教學(xué)理念的同時(shí),更應(yīng)該加強(qiáng)教學(xué)條件的建設(shè)和管理工作的不斷完善。
參考文獻(xiàn)
[1]李凌春.Access數(shù)據(jù)庫(kù)及其應(yīng)用課程教學(xué)方法研究[J].湖北經(jīng)濟(jì)學(xué)院學(xué)報(bào),2011(11).
[2]李志輝.《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》實(shí)驗(yàn)內(nèi)容設(shè)置的問題分析及改進(jìn)[J].軟件導(dǎo)刊,2012(2).