歐陽秀軍
摘 要:介紹軟件工程這門課程的內(nèi)容特點(diǎn),結(jié)合軟件工程教學(xué)的現(xiàn)狀及培養(yǎng)目標(biāo),對該課程的教學(xué)內(nèi)容、教學(xué)模式、教學(xué)方法、考核方式等提出相應(yīng)的措施。
關(guān)鍵詞:軟件工程;教學(xué)方法;課程設(shè)計(jì)
中圖分類號(hào):TP311.5
軟件工程是為了解決“軟件危機(jī)”的困擾應(yīng)運(yùn)而生的一門工程性學(xué)科,它指導(dǎo)著軟件開發(fā)人員以工程化的手段規(guī)范地開發(fā)高質(zhì)量的軟件。軟件工程課程的教學(xué)強(qiáng)調(diào)理論與實(shí)踐相結(jié)合,要求教師利用實(shí)際項(xiàng)目及實(shí)踐教學(xué)環(huán)節(jié)對軟件工程的核心理論進(jìn)行深入的講解。
一、軟件工程的教學(xué)內(nèi)容體系
傳統(tǒng)的軟件工程的教學(xué)圍繞軟件開發(fā)生命周期各個(gè)階段展開,主要包括可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、軟件測試及軟件維護(hù)等內(nèi)容。隨著軟件行業(yè)的不斷發(fā)展,軟件工程的內(nèi)容已發(fā)生了很大的變化,該課程的教學(xué)內(nèi)容必須及時(shí)更新,才能保證教學(xué)內(nèi)容的先進(jìn)性?,F(xiàn)在的軟件工程教學(xué)內(nèi)容中,增加了面向?qū)ο蟮拈_發(fā)方法、UML統(tǒng)一建模語言、軟件體系結(jié)構(gòu)、軟件度量、軟件復(fù)用及構(gòu)件工程等知識(shí)。在講授軟件工程知識(shí)體系和基本原理的同時(shí),我們向?qū)W生介紹CMM(Capability Maturity Model for Software,能力成熟度模型)以及ISO9000等國際標(biāo)準(zhǔn)。布置學(xué)生課后了解敏捷開發(fā)、軟件復(fù)用、構(gòu)件接口等新技術(shù)。為了保證軟件的質(zhì)量,軟件工程領(lǐng)域中項(xiàng)目管理這一部分也越來越受到重視。在CMM指導(dǎo)之下的軟件開發(fā)的過程管理方法越來越科學(xué),軟件質(zhì)量和開發(fā)過
程的評估體系也逐漸完善。學(xué)生應(yīng)該了解這些新的理論、方法和
技術(shù)。
二、軟件工程的教學(xué)模式
軟件學(xué)院和常規(guī)的計(jì)算機(jī)專業(yè)在軟件工程課程的教學(xué)模式上存在較大的區(qū)別。軟件工程課程教學(xué)模式一般有純英文教學(xué)或雙語教學(xué)。常規(guī)的計(jì)算機(jī)專業(yè)在軟件工程上采用純英文教學(xué)的目前極少,但有不少采用雙語教學(xué)。雙語教學(xué)對于軟件工程這樣的計(jì)算機(jī)專業(yè)課程來說是十分必要的。雙語教學(xué)有助于學(xué)生閱讀國際軟件工程權(quán)威們召開的研討會(huì)報(bào)告原文,了解軟件工程技術(shù)的發(fā)展趨勢。雙語教學(xué)過程中需要把握好幾個(gè)問題:(1)授課者應(yīng)綜合考慮學(xué)生的英語水平,把握好教學(xué)過程中使用英文的比例;(2)需要選擇合適的教材,軟件學(xué)院基本選擇國外軟件工程專家專著類英
文原版教材,如,Roger Pressman的經(jīng)典教材:《軟件工程·實(shí)踐者之
路》(第六版)(影印版,清華大學(xué)出版社);(3)畢竟學(xué)生的水平參差不齊,而且有別于傳統(tǒng)的中文授課方式。教師課后要及時(shí)了解學(xué)生對課堂教學(xué)的反映,收集學(xué)生的反饋意見并調(diào)整教學(xué)方法,重視并做好課后輔導(dǎo)和答疑工作。
三、軟件工程教學(xué)方法
軟件工程教學(xué)的目標(biāo)是培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和解決實(shí)際問題的能力。為了實(shí)現(xiàn)教學(xué)目標(biāo),提高教學(xué)質(zhì)量,我們可采用以下行之有效的教學(xué)方法。
1.理論與實(shí)踐相結(jié)合
軟件工程課程的理論性與實(shí)踐性都很強(qiáng)。教師課堂上利用多媒體講解理論知識(shí)中的重、難點(diǎn),學(xué)生通過網(wǎng)上課件瀏覽、自行查閱資料等方式學(xué)習(xí)其余內(nèi)容。沒有扎實(shí)的理論做指導(dǎo),在今后很難成為一個(gè)有創(chuàng)新思想的人才。當(dāng)然,要很好地理解軟件工程的理論知識(shí)體系是離不開實(shí)踐教學(xué)的,在教學(xué)過程中,可設(shè)計(jì)一個(gè)貫穿整個(gè)教學(xué)過程的、完整的、易于理解的、實(shí)際的軟件項(xiàng)目案例,在教學(xué)中結(jié)合該案例講授每個(gè)知識(shí)點(diǎn)。該案例最好來源于授課教師參與過的項(xiàng)目,授課教師對項(xiàng)目的整個(gè)開發(fā)過程比較了解。講解項(xiàng)目的每個(gè)知識(shí)點(diǎn)后,再布置一些讓學(xué)生做的案例,學(xué)生在做的過程中能加深他們對理論知識(shí)的理解。這樣可以激發(fā)學(xué)生的學(xué)習(xí)熱情,培養(yǎng)學(xué)生分析問題、解決問題的能力,訓(xùn)練學(xué)生從事科學(xué)研究的基本技能和素養(yǎng)。
2.在教學(xué)中充分運(yùn)用“反思性實(shí)踐”
“反思性實(shí)踐”注重學(xué)習(xí)中人的因素,采用反思思維方式可以提高學(xué)生自主學(xué)習(xí)的能力。美國教育家DonaldSchon在他的《反思性實(shí)踐者》中指出,作為一個(gè)實(shí)踐者,要不斷地在行動(dòng)中對行動(dòng)進(jìn)行反思,并不斷地從自己的實(shí)踐中學(xué)習(xí)。在學(xué)生的課程設(shè)計(jì)或?qū)嶋H的軟件開發(fā)過程中,學(xué)生從軟件系統(tǒng)的開發(fā)開始,反思自己和他人如何開發(fā)和使用算法。然后,再進(jìn)一步反思與開發(fā)和各步驟相關(guān)的策略、規(guī)則和理論等。教師也可以將自己在課堂上的體驗(yàn)、教學(xué)心得、教學(xué)方法和教學(xué)過程的反思以隨筆的形式記錄在自己的博客上,學(xué)生通過閱讀,將這些言傳性知識(shí)內(nèi)化為個(gè)人的實(shí)際能力。同時(shí)通過閱讀,可以進(jìn)行經(jīng)驗(yàn)交流。在不斷的自我反思和不停的相互追問中,教師可以不斷地豐富和完善自我。
3.注重課程設(shè)計(jì)
在課程設(shè)計(jì)中布置大型項(xiàng)目,將學(xué)生劃分為6~10人的小組,每個(gè)小組就是一個(gè)團(tuán)隊(duì),團(tuán)隊(duì)成員分工合作,分別擔(dān)任項(xiàng)目經(jīng)理、客戶、系統(tǒng)分析員、程序員和測試人員等角色,小組成員角色可以互換,讓每個(gè)學(xué)生都能體驗(yàn)不同階段的任務(wù)。教師、助教可以扮演用戶的角色,幫助學(xué)生提高在需求分析中的談判與溝通技巧。最后,學(xué)生分組上臺(tái),講述本組對項(xiàng)目的理解、分析、論證和決策過程。教師和學(xué)生可以進(jìn)行提問,對每個(gè)小組的工作進(jìn)行指導(dǎo)和提出意見。通過合作和交流,學(xué)生間不僅能實(shí)現(xiàn)信息與資源的共享、整合,拓展并完善自己,還可以從中學(xué)會(huì)交往、學(xué)會(huì)傾聽、學(xué)會(huì)尊重、學(xué)會(huì)合作、學(xué)會(huì)負(fù)責(zé)。經(jīng)過課程設(shè)計(jì),學(xué)生的創(chuàng)造性、應(yīng)用能力、綜合能力和團(tuán)隊(duì)合作能力以及與人溝通交流的能力都得到充分的鍛煉和
發(fā)展。
四、構(gòu)建多元化教學(xué)輔助平臺(tái)
1.建立網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)
可以設(shè)立軟件工程學(xué)習(xí)網(wǎng)站,教師在網(wǎng)站上公布教學(xué)課件、課程進(jìn)度、作業(yè)和實(shí)驗(yàn)要求等內(nèi)容,并且將要補(bǔ)充介紹的一些先進(jìn)技術(shù)放在網(wǎng)上供學(xué)生自行閱讀,拓展學(xué)生的知識(shí)面。學(xué)生可以通過網(wǎng)絡(luò)交流學(xué)習(xí)經(jīng)驗(yàn),隨時(shí)和教師在網(wǎng)上進(jìn)行交流和答疑。
2.加強(qiáng)實(shí)驗(yàn)室建設(shè)
實(shí)驗(yàn)室是軟件工程課程實(shí)踐環(huán)節(jié)的主要場所,軟件工程的課
程設(shè)計(jì)要求實(shí)驗(yàn)室配備合適的硬件設(shè)施和軟件工程工具軟件,以便為教學(xué)研究和學(xué)生實(shí)踐創(chuàng)造必要的環(huán)境和條件。
3.加強(qiáng)校企合作,建立實(shí)習(xí)基地
學(xué)校應(yīng)該與管理規(guī)范的軟件企業(yè)建立長期的實(shí)習(xí)合作伙伴關(guān)系,及時(shí)了解行業(yè)發(fā)展動(dòng)態(tài),并且經(jīng)常請企業(yè)里有豐富開發(fā)經(jīng)驗(yàn)的軟件工程師為學(xué)生作軟件工程技術(shù)和管理規(guī)范方面的專題報(bào)告。學(xué)生能夠及時(shí)了解軟件開發(fā)的實(shí)際問題、行業(yè)現(xiàn)狀以及發(fā)展趨勢,確定自己今后的專業(yè)研究方向。更為重要的是,讓企業(yè)成為學(xué)生的實(shí)習(xí)基地,使學(xué)生就業(yè)時(shí)具有明顯的競爭優(yōu)勢。
五、綜合考評方式
軟件工程課程的考試方式要注重學(xué)生綜合知識(shí)和應(yīng)用能力方面的考核,期末理論考試不是考核的重點(diǎn),應(yīng)該采用結(jié)構(gòu)合理的考核方式,為此,我們建立了一個(gè)由課堂表現(xiàn)、課后作業(yè)、課程設(shè)計(jì)、期末筆試組成的綜合評價(jià)學(xué)生的考核體系。我們的考核方案為:作業(yè)、課堂表現(xiàn)占20%,課程設(shè)計(jì)(小組為單位)占40%,筆試占40%。
計(jì)算機(jī)領(lǐng)域的發(fā)展日新月異,教師一定要不斷提高自己的理論水平和科研水平,密切注意軟件工程技術(shù)的發(fā)展趨勢,根據(jù)軟件行業(yè)需求的變化更新教學(xué)內(nèi)容,設(shè)計(jì)合理的教學(xué)模式,采用有效的教學(xué)方法,為學(xué)生搭建良好的教學(xué)平臺(tái)。培養(yǎng)學(xué)生的綜合應(yīng)用能
力,造就具有國際市場競爭力和軟件行業(yè)急需的實(shí)用性人才。
參考文獻(xiàn):
[1]沈備軍,宋超.反思和抽象在“軟件工程中人的因素”課程學(xué)習(xí)中的應(yīng)用[J].計(jì)算機(jī)教育,2006(1):52-56.
[2]肖春景,喬永衛(wèi).軟件工程課程教學(xué)探討[J].高教論壇,2007(2):133-135.
[3]林懷忠,楊小虎,陳越.軟件學(xué)院中“軟件工程基礎(chǔ)”課程教學(xué)改革的探索與實(shí)踐[J].計(jì)算機(jī)教育,2007(4):34-36.
[4]張海藩.軟件工程[M].北京:人民郵電出版社,2002.
(作者單位 江西省吉安市井岡山大學(xué)電子與信息
工程學(xué)院)
編輯 韓 曉endprint