王艷紅 章小莉 姜湘崗
摘要:數(shù)據(jù)庫課程是教育部規(guī)定的本科計算機專業(yè)的核心課程,數(shù)據(jù)庫課程設計是學生實踐數(shù)據(jù)庫理論知識、真正掌握數(shù)據(jù)庫應用系統(tǒng)開發(fā)技能所必需的學習環(huán)節(jié)。本文就數(shù)據(jù)庫課程設計在教學過程、實施方法、考核方法等方面的改革進行了探討。
關鍵詞:項目開發(fā)能力;教學過程;實施方法;考核方法
中圖分類號:G642 文獻標識碼:A
1引言
數(shù)據(jù)庫技術是計算機科學技術中發(fā)展最快的領域之一,也是應用最廣泛的技術之一,已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎。當前,計算機的計算模式已由單用戶發(fā)展到主從式或主機/終端式結構、C/S結構、B/S結構,進而發(fā)展到了Web服務與網絡計算時代,而數(shù)據(jù)庫及其技術一直是它們的后臺與基礎。
當前國內軟件產業(yè)發(fā)展迅速,為了增強學生的就業(yè)競爭能力,必須全面培養(yǎng)學生的軟件項目開發(fā)能力,以適應時代的發(fā)展。學生在大學四年學習中,不僅應該掌握一定的理論與技術知識,而且應該樹立管理理念,建立項目工程思維觀念。
數(shù)據(jù)庫課程設計是學生實踐數(shù)據(jù)庫理論知識,真正掌握數(shù)據(jù)庫應用系統(tǒng)開發(fā)技能所必須的學習環(huán)節(jié),目的在于培養(yǎng)學生面對大量而復雜的數(shù)據(jù)管理要求時,具備分析問題和解決問題的能力。我們于2004年完成對數(shù)據(jù)庫課程設計的教學方法改革,不僅在教學手段(包括課程設計的實施過程、考核方法等)上進行了體系化和規(guī)范化,而且與“軟件工程”課程結合,對兩門課程的實踐教學環(huán)節(jié)進行了整合。
通過兩課整合的課程設計,不僅使學生在理解數(shù)據(jù)庫理論的基礎上,實際動手開發(fā)一個實際的應用系統(tǒng),而且培養(yǎng)學生應有的團隊協(xié)作、自主管理、主動學習、創(chuàng)新思維、綜合運用、動手實踐等能力,使課程設計真正成為學生驗證理論的“實驗場”,成為開發(fā)學生潛力、培養(yǎng)實戰(zhàn)能力的“戰(zhàn)場”,成為體驗項目開發(fā)過程的“運動場”。
2數(shù)據(jù)庫課程設計的教學方案
2.1基本內容
學生運用已學數(shù)據(jù)庫理論思想和數(shù)據(jù)庫設計理念,具體設計一個實用小型數(shù)據(jù)庫應用系統(tǒng)。開發(fā)設計過程按以下順序進行——自選課題研究方向,調查用戶需求,總結歸納數(shù)據(jù)流程,分析性能,書寫需求分析及總體設計報告(包括數(shù)據(jù)流圖、數(shù)據(jù)字典、數(shù)據(jù)庫概念模型、邏輯模型、系統(tǒng)功能模塊),完成應用系統(tǒng)的開發(fā),匯報設計成果(包括撰寫設計報告、系統(tǒng)驗收、結果匯報),在這一系列工作中樹立學生項目開發(fā)管理思想,培養(yǎng)學生的綜合素質。
2.2進度安排
為使學生充分感受數(shù)據(jù)庫系統(tǒng)開發(fā)的全過程,安排課程設計進度如下。
2.2.1前期準備階段
該階段主要任務是理解數(shù)據(jù)庫、數(shù)據(jù)模型和數(shù)據(jù)庫系統(tǒng)的基本概念;掌握數(shù)據(jù)庫的概念模型、數(shù)據(jù)模型及數(shù)據(jù)
庫系統(tǒng)的設計方法;進而確立自選課程設計題目,并依據(jù)軟件工程中項目需求調研方法進行系統(tǒng)需求調研,繪制系統(tǒng)數(shù)據(jù)流程,提出系統(tǒng)要解決的問題。該階段成果主要包括3份報告。
(1) 系統(tǒng)需求分析報告:包括采用的工程開發(fā)模型,數(shù)據(jù)流圖和數(shù)據(jù)字典,系統(tǒng)功能。
(2) 數(shù)據(jù)庫信息要求報告:對數(shù)據(jù)庫中要存儲的信息及語義進行詳細描述,對數(shù)據(jù)約束和數(shù)據(jù)之間的關聯(lián)進行詳細描述。
(3) 數(shù)據(jù)庫的操作和應用要求報告:詳細描述數(shù)據(jù)庫的數(shù)據(jù)操作要求、處理方法和處理流程,畫出系統(tǒng)功能劃分的模塊圖。
2.2.2基本操作階段
主要任務是掌握數(shù)據(jù)庫系統(tǒng)的基本操作,包括SQL語言的應用以及利用DBMS的工具進行數(shù)據(jù)庫定義、維護、查詢及掌握數(shù)據(jù)庫安全性、數(shù)據(jù)完整性和并發(fā)控制技術等基本操作,初步設計系統(tǒng)測試數(shù)據(jù),并能夠正確解決實際遇到的問題。該階段的成果包括一套系統(tǒng)數(shù)據(jù)表、關系以及基本數(shù)據(jù)。
2.2.3技術提高階段
該階段要求學生不僅掌握書本上的內容,而且還需要自學一些數(shù)據(jù)庫系統(tǒng)開發(fā)新技術和相關知識。主要任務是掌握數(shù)據(jù)庫備份和恢復技術以及有關的數(shù)據(jù)轉換、復制、傳送和數(shù)據(jù)庫系統(tǒng)編程技術。該階段成果為新技術交流討論資料。
2.2.4設計完成驗收階段
該階段教師通過3種方式對學生設計的應用系統(tǒng)進行全面驗收:系統(tǒng)運行測評、分小組成果匯報和上交課程設計報告。
2.3全程指導原則
在課程設計進行過程中教師僅從宏觀上把握一系列原則,讓學生自己有更大的可選范圍,實踐時間長,緊密結合應用,實現(xiàn)了在課程設計中全面培養(yǎng)項目開發(fā)能力的目標,體現(xiàn)了新課程教學理念。在方案實施中嚴格要求學生從理論出發(fā),與實際項目結合,從而提高他們項目開發(fā)的綜合能力。
2.4評分原則
2.4.1根據(jù)數(shù)據(jù)庫系統(tǒng)總體結構對系統(tǒng)從三方面進行評測
數(shù)據(jù)庫原理、數(shù)據(jù)庫應用和數(shù)據(jù)庫設計三部分有機地聯(lián)系起來形成數(shù)據(jù)庫系統(tǒng)的總體結構,因此對課題設計的評測也從這三方面著手,達到對數(shù)據(jù)庫系統(tǒng)的主要內容和框架的評測。
(1) 數(shù)據(jù)庫原理部分:主要評測學生在數(shù)據(jù)庫的數(shù)據(jù)結構設計、數(shù)據(jù)庫系統(tǒng)總體設計以及數(shù)據(jù)庫安全保護方面完成的工作。
(2) 數(shù)據(jù)庫設計部分:主要評測學生如何將現(xiàn)實系統(tǒng)的數(shù)據(jù)通過某種數(shù)據(jù)模型組織起來,并利用DBMS系統(tǒng)提供的功能,完成結構及其約束的建立。
(3) 數(shù)據(jù)庫應用部分:主要評測現(xiàn)實系統(tǒng)業(yè)務邏輯的實現(xiàn),即通過某種應用模式(C/S模式、B/S模式)和某些(個)程序設計語言、開發(fā)技術和工具,在數(shù)據(jù)庫設計以及DBMS平臺支持的基礎上,實現(xiàn)現(xiàn)實系統(tǒng)的業(yè)務功能,為用戶提供友好和人性化的業(yè)務操作界面。
該環(huán)節(jié)的目的是使學生對于理論課中涉及的內容和自學內容進行綜合實踐以達到對它們之間關系的清晰理解,實現(xiàn)理論與實際的緊密結合。
2.4.2嚴格把關和考核,確保每一名學生在課程設計中得到實實在在的鍛煉
由于課程是在學生第七學期開設,并且貫穿整個學期,很多學生面臨考研或其他一些畢業(yè)前的事務,為了防止有些學生對課程設計任務敷衍了事,我們對課程設計的考核方法進行了詳細規(guī)劃,實施過程考核,而不是結果考核。具體考核步驟主要分為以下幾個方面。
(1) 開題階段:在第1~3周進行,要求每組寫一份開題報告,包括課題內容、建立的需求分析及總體設計、小組成員任務分配、具體時間分配計劃等,審驗合格后方可進行系統(tǒng)開發(fā)。
(2) 中期檢查:在第8~9周開展,根據(jù)計劃表檢查學生開發(fā)進度,糾正問題,督促學生按計劃開展課程設計。
(3) 系統(tǒng)驗收:在第13周進行,學生演示系統(tǒng),說明和解釋運行效果??疾榈闹攸c:每名學生是否完成了分配的任務以及任務量的多少、完成情況等。通過該階段以后方可進入答辯階段。
(4) 答辯:在第14周進行,每組學生指派一名代表進行陳述,然后進入教師提問環(huán)節(jié)(可提問小組中任何一名學生,為了鼓勵學生參與提問,凡是提問的學生可以獲得成績加分)??疾榈闹攸c:陳述是否清晰、回答問題是否正確。
(5) 課程設計報告:報告的編寫是考查一個學生總結工作,撰寫科技論文的能力??疾榈闹攸c:報告是否內容完整、充實,條理是否清楚,格式是否符合科技文章規(guī)范。
以上各個方面考查的結果,進行匯總和綜合評判,最后得出評分。
3數(shù)據(jù)庫課程設計的創(chuàng)新點
3.1整合課程
目前在我國項目管理人員奇缺,大多數(shù)項目負責人在技術上能獨當一面,而項目管理方面的知識缺乏,并且普遍存在著“重技術,輕管理”的思想,因此導致項目開發(fā)效率低、花費大。我們在課程設計中結合軟件工程課程中學習的項目開發(fā)管理思想,對整個課程設計任務進行全面管理與實施,樹立工程概念,培養(yǎng)團隊合作精神。主要從以下幾個方面強調管理理念。
(1) 認真執(zhí)行需求分析與需求管理。
(2) 合理制訂時間執(zhí)行計劃,記錄與分析時間分配效果,積累時間分配經驗。
(3) 個人分工明確,團隊合理協(xié)作,通過全過程管理理念的貫徹,提高學生的管理能力,培養(yǎng)學生團隊合作進行項目開發(fā)的素質。
同時各項目小組在課程設計的各個階段還需填寫階段性報告,包括項目開發(fā)計劃、小組角色的職責、需求規(guī)格說明書、概要設計說明書、詳細設計說明書、項目開發(fā)日志等。
通過全過程管理理念的貫徹,提高學生的管理能力,培養(yǎng)學生團隊合作進行項目開發(fā)的素質。
3.2豐富選題
教師推薦部分設計題目供學生選擇,學生也可以自擬題目課題。但是課題的選擇要由教師把關,主要依據(jù)以下幾個原則。
(1) 隨著Internet和Intranet的普及,網絡數(shù)據(jù)庫應用需求越來越廣泛,因此課題注重開發(fā)基于B/S或C/S結構的網絡數(shù)據(jù)庫系統(tǒng),以適應時代需要。
(2) 選題要求學生盡量選擇實際需求的題目,這樣學生不僅可以走出“象牙塔”,通過調查走訪,了解國內計算機應用發(fā)展的狀況,開闊眼界,而且在開發(fā)一個真實項目中,帶來求學的動力,激發(fā)自主學習的渴望以及創(chuàng)造力。
(3) 對于虛擬題目,要求學生切合實際需要,符合發(fā)展潮流。
3.3工具多樣
市場實際可用的編程開發(fā)工具與日俱增,且不斷更新,為此在課程設計中,對于學生到底選擇哪種開發(fā)工具,不做過多限制,鼓勵學生自主選擇,使學生可以選擇自己感興趣的程序設計工具進行系統(tǒng)開發(fā),一方面鍛煉他們自學的能力,另一方面也讓學生成為項目開發(fā)的決策者,這種“主人翁”意識使得他們變被動學習為主動學習,實踐證明學生自主學習的積極性和主動性直接決定了項目開發(fā)的成與敗。
實際運作中教師會隨時了解開發(fā)工具的發(fā)展形勢,提出指導性意見,使學生根據(jù)選題“量身訂做”工具,避免所選工具“大材小用”;跟上當前發(fā)展方向,實踐技術“與時俱進”。同時,要求學生以講座形式分類介紹所用新的開發(fā)工具,講解自己學習新開發(fā)工具之后的體會,通過這種研究性的學習方式,避免學生重復學習、盲目學習,同時打開眼界,更加廣泛了解技術發(fā)展局勢。
3.4彰顯個性
在完成數(shù)據(jù)庫應用系統(tǒng)基本功能的基礎上,鼓勵學生運用安全技術、多媒體技術和美術功底等突出系統(tǒng)特色,完善系統(tǒng)性能,培養(yǎng)學生綜合運用知識和創(chuàng)新的素質。
主要在以下幾方面做進一步要求。
(1) 強調系統(tǒng)中信息安全保護的實現(xiàn),把理論課中關于“數(shù)據(jù)庫安全保護”的教學內容應用到所開發(fā)的系統(tǒng)中,學以致用。
(2) 用戶界面友好、設計合理、畫面優(yōu)美反映系統(tǒng)設計人員的審美意識,強調色彩的協(xié)調,布局的合理,操作的方便。
(3) 各組之間允許選題相同,但必須突出本組特色,使學生通過競爭,努力發(fā)揮個人特長和創(chuàng)新意識。
3.5理論聯(lián)系實際
系統(tǒng)的評測按照數(shù)據(jù)庫系統(tǒng)的總體結構進行,從而達到對數(shù)據(jù)庫系統(tǒng)的主要內容和框架進行評測,使學生對于理論課中涉及的內容和自學內容進行綜合實踐,以達到對它們之間關系的清晰理解,實現(xiàn)了理論與實際的緊密結合。
3.6過程評測
課程設計分階段,每階段設有檢查與評估,既做到及時指導,又確保督促每一名學生在課程設計中得到實實在在的鍛煉??己艘罁?jù)環(huán)節(jié)的特點進行不同形式的考評,不僅培養(yǎng)學生的語言表達能力、編寫技術文檔、科技論文的能力,而且可以發(fā)現(xiàn)有組織能力的人才。
4實踐效果
依據(jù)匯總的五輪評測統(tǒng)計表格可以看到,學生在課程設計中,學習積極性高漲,開發(fā)出來的系統(tǒng)形式多樣,有單機版、C/S或B/S結構的網絡版,甚至C/S和B/S結合的網絡版,使用的數(shù)據(jù)庫管理系統(tǒng)從小型DBMS,如VFP、ACCESS到大型DBMS,如SQL Server、Oracle等,前臺開發(fā)工具從傳統(tǒng)的Delphi、VB到先進的.Net、Java等,學生們普遍樂于挑選新工具、新技術,積極檢索學習資料,參與網上BBS技術論壇,相互討論,全面體驗網絡學習環(huán)境的樂趣。各組學生除了完成系統(tǒng)應具備的功能外,都在努力突出系統(tǒng)性能特色,完善系統(tǒng)功能,發(fā)揮本組同學的特長。各組開發(fā)的系統(tǒng)基本符合課程設計總目標的要求,并有幾個系統(tǒng)成為他們工作后繼續(xù)研究的方向。
通過數(shù)據(jù)庫課程設計,表現(xiàn)出大部分學生具備參與一個項目開發(fā)的基本能力,并使他們動手實踐、自主學習、積極創(chuàng)新等科學素質得到很好的培養(yǎng),反映出課程設計大大提高了學生綜合應用所學知識的素質,說明我們培養(yǎng)的學生具備終生學習的能力,能夠適應社會發(fā)展的需要。
5小結
學習是人生的一個環(huán)節(jié),就業(yè)是大學學習后的現(xiàn)實目標。面對嚴峻的就業(yè)形勢,培養(yǎng)學生的實際動手人力,提升他們的競爭能力,是教師的責任。在課程教學過程中不斷探索新方法,開展課程教學過程的改革,是教師的必須任務。這里所做的數(shù)據(jù)庫課程設計改革,意在與大家共同探討如何幫助學生擺脫“沒有工作經驗”難于就業(yè)的尷尬局面。
參考文獻:
[1] 錢雪忠. 數(shù)據(jù)庫原理及技術課程設計[M].北京:清華大學出版社,2009.
[2] 苗雪蘭. 數(shù)據(jù)庫系統(tǒng)原理及應用教程[M]. 北京:機械工業(yè)出版社,2004.
[3] (美)Stephen R.Schach.面向對象軟件工程[M]. 黃林鵬,等譯.北京:機械工業(yè)出版社,2008.
[4] 張海藩. 軟件工程[M]. 北京:人民郵電出版社,2006.
The Training for Students Project Developing Ability in Database Course Design
WANG Yan-hong, ZHANG Xiao-li, JIANG Xiang-gang
(Department of Computer Science and Technology, Beijing Electronic Science and Technology Institute, Beijing 100070, China)
Abstract: Database is the core curricula of the computer science and technology specialty, and the Database Course Design is the necessary learning tache for students to practice the database theory and grip the skills of developing database application system in deed. The paper discusses the teaching process, implementing measures and assessing means of the Database Course Design.
Key words: project developing ability; teaching process; implementing measures; assessing means