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