文章編號:1672-5913(2008)16-0075-02
摘要:本文通過對數(shù)據(jù)庫課程設(shè)計中的教學(xué)方法、考核手段的介紹,探討了在實踐中逐步提高學(xué)生軟件開發(fā)能力的方法。
關(guān)鍵詞:課程設(shè)計;教學(xué)方法;考核手段;能力培養(yǎng)
中圖分類號:G642
文獻標(biāo)識碼:B
1引言
近年來,各高校越來越重視對學(xué)生實踐能力的培養(yǎng),各類課程設(shè)計在教學(xué)中所占的比重明顯增加。對于計算機系的學(xué)生,尤其是以培養(yǎng)應(yīng)用型人才為目標(biāo)的獨立學(xué)院的計算機系學(xué)生,開設(shè)各類課程設(shè)計課就顯得尤為重要。
本文以數(shù)據(jù)庫課程設(shè)計為例,介紹了在實際教學(xué)中所采用的教學(xué)計劃、教學(xué)方法以及考核手段,通過對各個教學(xué)環(huán)節(jié)的分析和總結(jié),探討了如何在實踐中培養(yǎng)學(xué)生的軟件開發(fā)能力的方法。
2數(shù)據(jù)庫課程設(shè)計教學(xué)計劃
數(shù)據(jù)庫技術(shù)是計算機最重要的應(yīng)用領(lǐng)域之一,也是發(fā)展較快的領(lǐng)域之一。其應(yīng)用早已滲透到各個行業(yè),數(shù)據(jù)庫系統(tǒng)的開發(fā)、管理與維護是計算機專業(yè)人員必須要掌握的基本技能。因此,對于計算機專業(yè)的學(xué)生來說,數(shù)據(jù)庫原理通常都作為專業(yè)必修課。該課程完整、系統(tǒng)地講述了當(dāng)前數(shù)據(jù)庫技術(shù)從基本原理到實踐應(yīng)用的主要內(nèi)容,理論性、實用性和可操作性都較強。如果我們想單純通過理論教學(xué)使學(xué)生既能掌握數(shù)據(jù)庫技術(shù)的基本理論,又能掌握數(shù)據(jù)庫設(shè)計和使用的方法,是比較困難的。因此在完成了理論教學(xué)之后,后續(xù)的數(shù)據(jù)庫課程設(shè)計的安排是很關(guān)鍵的。
我系根據(jù)學(xué)生的實際情況,制定了相應(yīng)的教學(xué)計劃。要求選修數(shù)據(jù)庫課程設(shè)計的同學(xué)必須先修數(shù)據(jù)庫原理,具有程序設(shè)計的基礎(chǔ)。課程的主要內(nèi)容包括數(shù)據(jù)庫設(shè)計概述、需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的物理設(shè)計、數(shù)據(jù)庫的實施和數(shù)據(jù)庫系統(tǒng)的管理維護。本課程以實踐為主,教學(xué)目標(biāo)是使學(xué)生能獨立設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng),掌握數(shù)據(jù)庫設(shè)計的過程和方法。根據(jù)本課程的特點,充分重視上機實踐的環(huán)節(jié),課程在機房上,有利于學(xué)生學(xué)習(xí)。要求以一種具體的DBMS 為主,學(xué)會C/S模式和B/S模式兩種方法。
本課程安排在一個學(xué)期內(nèi),教學(xué)周數(shù)為18周,每周4學(xué)時。每周具體內(nèi)容安排如表1。
3各階段教學(xué)方法
由于各階段的任務(wù)不同,要求也不相同,因此分階段采用不同的教學(xué)方法,以一個學(xué)生熟悉的、容易理解的數(shù)據(jù)庫項目開發(fā)過程為主線,貫穿整個教學(xué)過程,將相對枯燥的理論知識與實踐聯(lián)系起來。
題目選取階段是數(shù)據(jù)庫課程設(shè)計的初始階段,也是決定能否達到教學(xué)目標(biāo)的關(guān)鍵性階段。如果題目選取得太大、太難,或者是學(xué)生不熟悉、很難接觸到的領(lǐng)域,做起來太困難,會影響學(xué)生的積極性,勢必會影響到后期的學(xué)習(xí)效果。而題目太簡單,又達不到教學(xué)標(biāo)準(zhǔn)。因此在本階段,采取教師提供參考題目,學(xué)生自主選擇的方法。由于是完成一個較完整的項目,而且每個學(xué)生擅長的方向可能不一樣,因此采用小組分工協(xié)作的方式。每組由三至四人組成,由一名組長負責(zé),同組員研究確定開發(fā)題目以及任務(wù)分工。在小組討論確定了題目之后,組內(nèi)負責(zé)整理文檔的同學(xué)要完成開題報告,上交指導(dǎo)教師。開題報告的關(guān)鍵內(nèi)容包括選題理由以及開發(fā)環(huán)境的選取。教師根據(jù)開題報告整理出小組題目以及成員,并簡要分析選題的難易程度。在第二周的開題討論上讓每小組派代表進行發(fā)言,大家分析討論題目的可行性,對于選題不合理的,重新修改。這階段可以充分調(diào)動學(xué)生的積極性,活躍大家的思維,實際教學(xué)效果良好,很多學(xué)生的選題都具有現(xiàn)實應(yīng)用意義。
題目確定完之后,就要進行需求分析。很多學(xué)生認識不到這部分的重要性,選定題目后就想開始代碼的編寫工作,往往做了一半就進行不下去。因此教師在課堂上要通過實例充分講解需求的分析重要性,講解具體的需求分析方法,使學(xué)生理解需求分析是整個設(shè)計過程的基礎(chǔ),同時掌握基本的需求分析技能。在需求分析階段,要盡可能收集課題的完備需求,可以利用不同小組互相模擬實際用戶的形式,增加學(xué)生的交流能力和開發(fā)興趣。在需求分析階段,要完成系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典。高質(zhì)量的完成需求分析工作可以鞏固學(xué)生在理論課上學(xué)到的數(shù)據(jù)流圖、數(shù)據(jù)字典等基礎(chǔ)理論知識,并提高學(xué)生的歸納總結(jié)能力。
確定用戶需求后,進入系統(tǒng)設(shè)計階段。系統(tǒng)設(shè)計階段要完成應(yīng)用系統(tǒng)的設(shè)計和數(shù)據(jù)庫設(shè)計。應(yīng)用系統(tǒng)的設(shè)計要完成課題應(yīng)用軟件的架構(gòu)設(shè)計和具體功能模塊的劃分。數(shù)據(jù)庫設(shè)計要結(jié)合應(yīng)用系統(tǒng)的設(shè)計,逐步完成數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計和物理設(shè)計。概念結(jié)構(gòu)設(shè)計階段是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,該階段通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型;邏輯結(jié)構(gòu)設(shè)計階段要將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化;物理設(shè)計階段要為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。數(shù)據(jù)庫設(shè)計不但可以加深學(xué)生對ER圖等理論知識的理解,還有助于提高學(xué)生的軟件系統(tǒng)設(shè)計能力。
系統(tǒng)實現(xiàn)階段,教師對采用的教學(xué)案例代碼進行演示,針對不同的程序設(shè)計語言對數(shù)據(jù)庫的連接部分進行講解,并給出相應(yīng)的示例代碼。此階段主要是學(xué)生動手編寫代碼,完成系統(tǒng)功能。具體程序設(shè)計語言沒有限制,可自由選擇。要指導(dǎo)學(xué)生編寫高質(zhì)量的代碼,包括變量的命名方法、代碼的書寫規(guī)則、代碼的注釋規(guī)則等。這階段教師可采用啟發(fā)式教學(xué),對于學(xué)生在設(shè)計中遇到的問題,要引
導(dǎo)他們學(xué)會查找資料,自己思考解決。作為計算機專業(yè)的學(xué)生,自學(xué)能力的培養(yǎng)是很重要的。
系統(tǒng)測試階段,包括單元測試和集成測試。要指導(dǎo)學(xué)生進行測試用例的編寫,掌握正確的測試方法。對于數(shù)據(jù)庫系統(tǒng),還要進行數(shù)據(jù)庫的性能測試和容量測試。通過系統(tǒng)測試,使學(xué)生掌握正確的測試方法,有效提高軟件的質(zhì)量。
4考核方式
教師在每個階段都會進行檢查,對完成情況進行記錄。開題階段,要求學(xué)生以小組為單位,完成開題報告,并且每組的選題都要在課上進行講解、討論,確定選題是否合理。在需求分析階段,要求每組上交需求分析文檔。在接下來的系統(tǒng)設(shè)計、實現(xiàn)及測試階段,要求學(xué)生詳細記錄設(shè)計思想、設(shè)計方法、實現(xiàn)過程及測試結(jié)果,整理出完整的課程設(shè)計報告書。在期末結(jié)課前,要求學(xué)生對所完成的系統(tǒng)進行現(xiàn)場演示,教師及在場學(xué)生均可對其設(shè)計方法及功能進行提問。最后由教師綜合考慮以下幾方面的因素,給出總評成績,包括文檔的完成情況、開發(fā)環(huán)境的選取、系統(tǒng)功能實現(xiàn)情況、用戶界面的設(shè)計以及現(xiàn)場演示答辯的效果。通過以上方式,較綜合、客觀地評價了學(xué)生的文字及語言的表達能力以及系統(tǒng)設(shè)計、程序開發(fā)的能力。
5結(jié)束語
教學(xué)實踐表明,這種形式的數(shù)據(jù)庫課程設(shè)計,可以使學(xué)生有效地鞏固對基礎(chǔ)理論知識的掌握,可以使學(xué)生系統(tǒng)地了解軟件開發(fā)流程,提高學(xué)生的軟件工程化開發(fā)能力,增強學(xué)生的就業(yè)競爭力,并且可以建立學(xué)生的團隊意識,提高學(xué)生的交流和協(xié)作能力。
參考文獻:
[1] 胡穎. 關(guān)于提高課程設(shè)計教學(xué)效果的措施[J]. 職業(yè)教育研究,2006.
[2] 邵浩然. 數(shù)據(jù)庫原理課程教學(xué)改革探討[J]. 計算機教育,2007.
[3] 海波,朱小軍. 高校實踐性課程多元學(xué)習(xí)環(huán)境設(shè)計[J]. 甘肅高師學(xué)報,2007.
[4] 肖志軍,覃思乾. 程序設(shè)計語言應(yīng)用能力的培養(yǎng)[J]. 玉林師范學(xué)院學(xué)報,2006.
[5] 李周芳,楊樺. 案例教學(xué)法在高效數(shù)據(jù)庫原理課程中的運用[J]. 開封教育學(xué)院學(xué)報,2007.