婁蘭芳 任滿杰 賀秉庚
摘要:“軟件工程概論”是軟件工程專業(yè)的重要的核心基礎(chǔ)課程,也是一門理論和實(shí)踐性都較強(qiáng)的課程。針對該門課程的教學(xué),提出了加強(qiáng)學(xué)科知識體系課程間的關(guān)聯(lián)、改革教學(xué)方法、基于項目驅(qū)動的實(shí)踐教學(xué)環(huán)節(jié)和創(chuàng)新考核方式等若干教學(xué)改革措施,這些措施促進(jìn)了課程建設(shè),有效地提高了教學(xué)質(zhì)量。
關(guān)鍵詞:軟件工程概論;教學(xué)方法;教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1引言
“軟件工程概論”是軟件工程專業(yè)的一門專業(yè)必修課程,是一門理論和實(shí)踐要求都較強(qiáng)的課程。通過對該門課程的學(xué)習(xí),學(xué)生要比較系統(tǒng)地了解軟件工程的原理、方法和技術(shù),提高分析問題和解決問題的能力,了解軟件開發(fā)過程,具有初步的軟件開發(fā)能力。但是該課程覆蓋的內(nèi)容比較多,除了軟件開發(fā)技術(shù)外,它還涉及工程方法、管理學(xué)、度量學(xué)、經(jīng)濟(jì)學(xué)等學(xué)科,因此學(xué)生往往感到課程內(nèi)容抽象、不好理解。這就要求教師在教學(xué)過程中如何把抽象的原理和方法采用類比法、案例的形式講解,在實(shí)驗(yàn)課時,怎樣引導(dǎo)學(xué)生理解和消化課堂上的理論,如何加強(qiáng)學(xué)科間知識體系的關(guān)聯(lián)來培養(yǎng)學(xué)生的實(shí)踐能力、動手能力和綜合能力。
2教學(xué)方法的改革
2.1案例教學(xué)
在教學(xué)過程中,開展以學(xué)生為主體的案例式教學(xué),克服了傳統(tǒng)的“教師教、學(xué)生學(xué)”的模式,在講授每一種開發(fā)方法時,并不是孤立地講解理論,而是通過案例分析,以使學(xué)生理解這種方法。在教學(xué)過程中,給出具體的案例,即提出問題,引導(dǎo)學(xué)生在問題中學(xué)習(xí),給學(xué)生時間思考、討論以解決問題,使學(xué)與用一體化,從而更深入地學(xué)習(xí)。案例的選擇也是非常關(guān)鍵的,盡量選擇學(xué)生比較熟悉的領(lǐng)域,如圖書管理系統(tǒng)、課程注冊系統(tǒng)、教學(xué)評價系統(tǒng)、學(xué)籍管理系統(tǒng)等,這些貼近學(xué)生日常生活的領(lǐng)域有助于學(xué)生對案例需求的理解。課程開始,將學(xué)生分為若干個項目小組,并為每個小組確定一個負(fù)責(zé)人,課下以小組的形式去調(diào)研、討論。在課堂上教師以一個完整的項目案例貫穿于整個理論教學(xué)過程中,學(xué)生則帶著自己項目中的問題去理解、思考教師所講授的內(nèi)容。學(xué)生的作業(yè)主要是開發(fā)每個階段應(yīng)該提交的文檔,注意在每個階段結(jié)束時以小組為單位進(jìn)行匯報,大家討論,教師發(fā)現(xiàn)問題及時糾正,最后進(jìn)行總結(jié)。這樣不但強(qiáng)化學(xué)生的參與意識,而且加強(qiáng)學(xué)生的動手能力的培養(yǎng)。
2.2類比法和多媒體技術(shù)
類比法也叫“比較類推法”,是指由一類事物所具有的某種屬性,可以推測與其類似的事物也應(yīng)具有這種屬性的推理方法。與其他思維方法相比,類比法屬平行式思維的方法?!败浖こ谈耪摗闭n程的教學(xué)內(nèi)容具有較強(qiáng)的抽象性,傳統(tǒng)教學(xué)手段無法直觀、形象地描述一些理論的技術(shù),使用類比法講授相關(guān)理論可以使抽象、陌生的概念變?yōu)榫唧w、熟悉的知識,降低知識理解的難度,讓學(xué)生更容易理解,從而加深對教學(xué)內(nèi)容的理解和掌握。例如:在講授軟件設(shè)計的基本的概念時,為了幫助學(xué)生理解模塊獨(dú)立性、內(nèi)聚、耦合等概念,把模塊類比成家庭,把模塊間的聯(lián)系和模塊內(nèi)部語句之間的聯(lián)系類比成家庭之間和家庭成員之間的關(guān)系,將抽象、難以理解的概念轉(zhuǎn)換為比較形象的容易理解的概念,以加速學(xué)生的理解過程。利用類比法采用多媒體技術(shù),借助于動畫使教學(xué)形象化。如測試的流程等就可以做成Flash動畫,讓學(xué)生更清楚直觀地看到測試基本過程。在教學(xué)過程中注意要把板書、多媒體課件和軟件開發(fā)環(huán)境有機(jī)地結(jié)合起來。
2.3加強(qiáng)學(xué)科知識體系間的關(guān)聯(lián)
“軟件工程概論”是一門工程學(xué)科,它必須與其他學(xué)科相結(jié)合才能產(chǎn)生有價值的成果。在整個軟件開發(fā)的過程中,將會涉及到各種其他學(xué)科的知識,教師在設(shè)計任務(wù)時必須注意與其他多種學(xué)科結(jié)合,這就要求教師加強(qiáng)與同課程體系教師間的相互合作和交流。對軟件工程專業(yè)同時開設(shè)的主要課程進(jìn)行分析,找到關(guān)聯(lián)緊密三門課程,數(shù)據(jù)庫、JAVA編程、軟件工程概論,任課教師間應(yīng)該多溝通,如何讓學(xué)生把所學(xué)的各門知識集中在一起,融會貫通。這就要求相關(guān)課程的任課教師,可在開學(xué)前一周,協(xié)調(diào)教學(xué)計劃,也可采用同一項目。例如,通過“課程注冊管理系統(tǒng)”共同完成三門課程的講授,項目的開發(fā)分為后臺數(shù)據(jù)庫設(shè)計以及前臺界面的開發(fā)。在數(shù)據(jù)庫設(shè)計方面,數(shù)據(jù)庫任課教師完全可以從項目的數(shù)據(jù)庫設(shè)計來講解所有的教學(xué)內(nèi)容。然而在前臺界面的開發(fā)上,JAVA編程教師則可以引導(dǎo)學(xué)生進(jìn)行相關(guān)編碼。而整個項目開發(fā)過程則可以用軟件工程的方法進(jìn)行開發(fā)和管理,尤其是分析、設(shè)計和相關(guān)文檔的提交。這樣通過一個項目的完成,三門課程的內(nèi)容也得以消化,學(xué)生也能理解課程間的相互關(guān)系。學(xué)習(xí)的目的性也更加明確,學(xué)習(xí)效率也會更高。
3開展項目驅(qū)動的實(shí)踐教學(xué),提高學(xué)生解決問題的能力
本實(shí)驗(yàn)課程主要讓學(xué)生掌握應(yīng)用程序從系統(tǒng)分析、功能設(shè)計、數(shù)據(jù)庫設(shè)計、模塊設(shè)計到編程、測試、軟件發(fā)布等一系列軟件開發(fā)過程,使學(xué)生具有一定的軟件開發(fā)能力。
把實(shí)踐教學(xué)和項目開發(fā)相結(jié)合,實(shí)施基于項目驅(qū)動的實(shí)踐教學(xué)環(huán)節(jié)。學(xué)生在實(shí)踐環(huán)節(jié)中主要完成理論學(xué)習(xí)過程中形成的分析、設(shè)計文檔,以小組成員分工協(xié)作的方式共同開發(fā)一個完整的項目,學(xué)生的學(xué)習(xí)活動是在項目開發(fā)的各項過程和活動的驅(qū)動下完成的。教育家皮亞杰認(rèn)為:教學(xué)以學(xué)生為中心,利用情景、協(xié)作、會話等學(xué)習(xí)環(huán)境要素,使學(xué)生成為知識意義的主動建構(gòu)者。在實(shí)踐教學(xué)中加強(qiáng)各門課程實(shí)驗(yàn)之間的聯(lián)系,強(qiáng)調(diào)以學(xué)生為主,教師為輔的教學(xué)模式,在時間上實(shí)驗(yàn)課程應(yīng)集中安排在相關(guān)課程學(xué)習(xí)的后半個學(xué)期。開展項目教學(xué),在軟件工作室內(nèi)進(jìn)行教學(xué),學(xué)生以項目開發(fā)為主線,在教師的全程指導(dǎo)下進(jìn)行專業(yè)課程的學(xué)習(xí)。
基于項目驅(qū)動的實(shí)踐教學(xué)環(huán)節(jié)側(cè)重培養(yǎng)學(xué)生發(fā)現(xiàn)問題、獨(dú)立分析問題和解決問題的能力以及團(tuán)隊合作精神,使學(xué)生初步體會到軟件開發(fā)項目全過程。
4創(chuàng)新考核方式
利用考核環(huán)節(jié)的杠桿作用,在考核方式、考核內(nèi)容的選擇上均應(yīng)體現(xiàn)知識、能力、素質(zhì)三位一體的思想,促進(jìn)學(xué)生學(xué)習(xí)能力的提高。
重視實(shí)驗(yàn)的考核,加大實(shí)驗(yàn)在成績中所占的比例。但為了防止同一組中個別同學(xué)濫竽充數(shù),可采取以答辯形式進(jìn)行考核。從項目立項開始,進(jìn)行系統(tǒng)需求分析、設(shè)計、實(shí)現(xiàn)與測試、評價等各環(huán)節(jié),每個階段應(yīng)提交相應(yīng)的文檔,并進(jìn)行檢查和交流,對檢查中發(fā)現(xiàn)的問題和不足要進(jìn)行改進(jìn)和完善,才可進(jìn)入下一個階段的工作。每一個階段都要求嚴(yán)格控制。項目結(jié)束答辯時,先讓小組長對他們的項目的功能及基本情況作一個陳述,然后讓每個同學(xué)說明在整個項目開發(fā)過程中所完成的任務(wù),老師可針對每個同學(xué)的實(shí)際負(fù)責(zé)的部分進(jìn)行提問,了解每個同學(xué)所完成的任務(wù)及對知識的掌握程度,給出公正客觀的評價。在項目驗(yàn)收之后,除遞交系統(tǒng)和文檔外,每個同學(xué)還必須總結(jié)項目開發(fā)過程中的心得體會。
5結(jié)束語
在“軟件工程”概論的教學(xué)過程中注重學(xué)科間的關(guān)聯(lián),在教學(xué)方法采用了以案例為主的啟發(fā)式教學(xué)模式,在實(shí)踐的教學(xué)上采用了基于項目驅(qū)動的教學(xué)環(huán)節(jié),在考核方式上采用多種手段相結(jié)合重視實(shí)驗(yàn)考核等若干教學(xué)改革措施,這些措施促進(jìn)了課程建設(shè),有效地提高了教學(xué)質(zhì)量。
參考文獻(xiàn):
[1] 宋海玉,李錫祚,王玲芬,等.面向?qū)ο蟪绦蛟O(shè)計課程建設(shè)的探索與實(shí)踐[J].計算機(jī)教育,2009(5):91-93.
[2] 馬建珍.利用類比法培養(yǎng)學(xué)生的創(chuàng)新思維[J].甘肅聯(lián)合大學(xué)學(xué)報:自然科學(xué)版,2005(19).
[3] 張宇晴,鄭小建. 高校軟件專業(yè)實(shí)驗(yàn)教學(xué)與管理改革的研究[J].計算機(jī)教育,2009(5):84-86.
[4] 何克抗.建構(gòu)主義——革新傳統(tǒng)教學(xué)的理論基礎(chǔ)[J].電化教育研究,1997(3):3-5.
[5] 黃明和,雷剛,郭斌,等.“導(dǎo)師制下項目驅(qū)動教學(xué)模式”的研究與實(shí)踐[J].計算機(jī)教育,2007(1):30.