摘 要 隨著產(chǎn)業(yè)的發(fā)展,軟件的規(guī)模更加龐大,變得更復(fù)雜,軟件工程日益顯得重要。在教學(xué)中也面臨越來越多的問題,軟件工程是一門理論和實踐要求都非常高的課程,課程的掌握程度影響學(xué)生的軟件開發(fā)能力,在教學(xué)中要注重培養(yǎng)學(xué)生的軟件開發(fā)能力。讓學(xué)生具備扎實的理論知識和熟練軟件開發(fā)設(shè)計技術(shù),但在實際教學(xué)中,理論講授太多,實踐教學(xué)環(huán)節(jié)不足,教學(xué)內(nèi)容抽象、難度大、學(xué)生難以理解,覺得課程枯燥乏味,教學(xué)效果不理想,因此需要對教學(xué)方式方法進行改革,以提高學(xué)生的綜合能力。
關(guān)鍵詞 軟件工程;教學(xué)改進;實踐
一、引言
提起軟件,在當(dāng)今社會人們并不陌生,正是由于軟件的發(fā)展,使計算機應(yīng)用逐步滲透到社會生活的各個角落,使各行各業(yè)都發(fā)生很大的變化。這同時也促進人們對軟件的品種、數(shù)量、功能和質(zhì)量等提出了越來越高的要求。然而,軟件的規(guī)模越大、越復(fù)雜,人們的軟件開發(fā)能力越顯得力不從心。于是,人們開始重視軟件開發(fā)過程、方法、工具和環(huán)境的研究,軟件工程應(yīng)運而生。
軟件工程是計算機軟件專業(yè)一門綜合管理課程。它涉及計算機科學(xué)、工程學(xué)、管理學(xué)以及經(jīng)濟學(xué)等多門學(xué)科,是一門根據(jù)人們的軟件開發(fā)經(jīng)驗總結(jié)出來的理論課程。本課程的教學(xué)目的和任務(wù)是通過學(xué)習(xí)使學(xué)生掌握軟件工程的基本概念、基本原理、實用的開發(fā)方法和技術(shù),了解軟件工程各領(lǐng)域的發(fā)展動向,掌握如何用工程化的方法開發(fā)軟件項目,知道在開發(fā)過程中應(yīng)遵循的流程、準(zhǔn)則、標(biāo)準(zhǔn)和規(guī)范。作為一門實踐性和綜合性很強的課程,對培養(yǎng)學(xué)生的軟件素質(zhì),提高學(xué)生的軟件開發(fā)能力具有重要的意義。
二、課程特點
1.課程綜合性強
軟件工程與其他計算機課程,如程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫以及操作系統(tǒng)等課程都是相互作用和影響的。在一定程度上說,軟件工程討論的是在實際開發(fā)當(dāng)中綜合運用這些課程中講過的理論和方法,將這些課程的理論和方法放在一個統(tǒng)一的目標(biāo)下,這個目標(biāo)就是在有限的時間及預(yù)算條件下,開發(fā)出高質(zhì)量的令用戶滿意的軟件。
2.課程內(nèi)容不斷更新
軟件工程課程的教學(xué)培養(yǎng)目標(biāo)應(yīng)該以市場需求為導(dǎo)向,使課程培養(yǎng)的學(xué)生真正能夠在軟件行業(yè)中發(fā)揮作用。因此,在授課時,我們不能拘泥于教材內(nèi)容的限制。在講解基本原理、基本概念和基本方法的同時,介紹一些新方法、新技術(shù)。這樣,有助于開拓學(xué)生的視野和培養(yǎng)創(chuàng)新意識與開發(fā)能力,使他們走向社會后不至落伍。
3.課程的實踐性強
軟件工程是一門實踐性很強的課程,它是各種開發(fā)經(jīng)驗的總結(jié)與提煉。在學(xué)習(xí)過程中不但應(yīng)注重概念、原理、方法和技術(shù)的掌握,更應(yīng)注重方法、技術(shù)的實際應(yīng)用。學(xué)習(xí)軟件工程必須投身于軟件開發(fā)的實踐,才能真正領(lǐng)悟軟件工程的精髓。
三、軟件工程教學(xué)中存在的問題
軟件工程是一門理論性較強的課程,在日常教學(xué)過程中存在以下問題:
(1)學(xué)生對軟件工程的抽象理論容易感到枯燥乏味軟件工程涉及眾多專業(yè)領(lǐng)域,它是一門多學(xué)科交叉學(xué)科,課程內(nèi)容具有抽象化、系統(tǒng)化、理論性強等特點。不像程序設(shè)計課程能隨時動手設(shè)計實現(xiàn)程序,激發(fā)學(xué)生學(xué)習(xí)的興趣和熱情。學(xué)生在接受抽象理論的時候,容易感到內(nèi)容空洞、枯燥乏味,學(xué)習(xí)時就缺少主動性,難對這門課程產(chǎn)生興趣。
(2)實踐環(huán)節(jié)不理想。目前可供該課程選用的合適的實驗項目少,實驗效果與教學(xué)要求差距較大,學(xué)生不能把理論知識有效地運用到實踐活動中。
(3)不能較好地因人施教。學(xué)生的基礎(chǔ)水平參差不齊,個體差異較大,現(xiàn)行的教學(xué)模式很難滿足全體學(xué)生的要求。
由于學(xué)生沒有真正掌握基礎(chǔ)理論及運用理論的技能和方法,學(xué)習(xí)過程中又沒有參加實際軟件項目的機會,不能將軟件工程的理論充分運用到設(shè)計實踐中去,給畢業(yè)設(shè)計,以及畢業(yè)后參加工作帶來很多麻煩。
實際教學(xué)當(dāng)中,這門課的教學(xué)效果往往不是很理想,教師覺得這門課教起來較困難,學(xué)生學(xué)習(xí)中多數(shù)也覺得枯燥無味,很難達到較好的教學(xué)效果或獲得較強的實踐能力等預(yù)期目的。如何改善?結(jié)合軟件工程的課程特點,可以從以下幾個方面來改進《軟件工程》的教學(xué)質(zhì)量。
四、軟件工程教學(xué)改進的內(nèi)容和方法
1.教學(xué)過程引入實際案例
軟件工程課程涉及面很廣,如果不結(jié)合實際工程項目進行教學(xué),很難把教學(xué)內(nèi)容教授給學(xué)生。因此,在教學(xué)過程中引入案例,將復(fù)雜抽象的概念用具體生動的實例進行詮釋,能夠收到事半功倍的效果。例如,在授課時、可結(jié)合一個“學(xué)生信息管理系統(tǒng)”實例,給學(xué)生介紹具體的開發(fā)過程和方法。
2.組織課堂討論,形成教學(xué)互動
我國有句名言:“授人以魚,不如授人以漁”。學(xué)生是教學(xué)活動的核心,教師要利用合適的方法調(diào)動學(xué)生的積極心理和參與意識,改變傳統(tǒng)的教師高高在上的教學(xué)方式,讓學(xué)生參與教學(xué)過程,有機會發(fā)表自己的看法。
比如在講授需求分析這章內(nèi)容時,可結(jié)合“學(xué)生信息管理系統(tǒng)”這個案例,要求學(xué)生按照軟件工程教學(xué)的思想和方法認真做好需求分析。在實施過程中,首先由學(xué)生獨立思考,給出解決方案。然后在課堂上,組織學(xué)生進行討論,分析各自解決方案的優(yōu)劣,并進行綜合。最后由老師進行總結(jié)和評價,指出該案例所涉及的理論知識及其應(yīng)用方法,就學(xué)生提出的問題進行解答。這樣通過組織學(xué)生討論,可使學(xué)生進一步理解和掌握課程內(nèi)容的方法和步驟,使抽象的知識變得看得見,用得著,大大激發(fā)了學(xué)生學(xué)習(xí)的興趣和自信。
3.加強實踐環(huán)節(jié)
從本質(zhì)上看,軟件工程的實踐性和綜合性是其他相關(guān)課程難以比擬的。因此,必須結(jié)合設(shè)計項目和實際應(yīng)用加以施教,才能取得良好的教學(xué)效果。那么,在把握教學(xué)進度的同時,必須及早安排好課程設(shè)計,讓學(xué)生同步開展課程設(shè)計。這樣,理論課講完了,課程設(shè)計也基本結(jié)束,學(xué)生們能從理論和實踐的結(jié)合上,加深對軟件工程知識難點、重點的理解,進一步深刻理解軟件過程和系統(tǒng)消化理論知識,訓(xùn)練項目設(shè)計的思路,鍛煉實際開發(fā)能力,培養(yǎng)嚴格規(guī)范的項目開發(fā)方法和步驟,體驗文檔編寫整理、階段性評審總結(jié)以及軟件測試等各個方面的工作流程,直接培養(yǎng)了學(xué)生從事實際開發(fā)的能力。
4.以“項目小組”形式完成軟件開發(fā)過程管理
為了培養(yǎng)學(xué)生的團隊精神和求知欲,我們采用“項目小組”的開發(fā)形式,每個小組5-6人自由組合,分工合作,學(xué)生們不再是旁觀者,而是分別擔(dān)任客戶、項目經(jīng)理、系統(tǒng)分析員、程序員、測試員和評審人員的角色,要求運用軟件工程中面向?qū)ο蠹夹g(shù)、方法和按照軟件過程規(guī)范分階段實施,學(xué)生所做課題貫穿整個學(xué)期的學(xué)習(xí)過程,每個課題都來自實際需求,每個小組課題不允許重復(fù),這種方法在提高學(xué)生的興趣和和學(xué)習(xí)主動性,以及發(fā)揮學(xué)生的專長和創(chuàng)造力等方面,收到了很大的成效。
五、總結(jié)
通過一輪的教學(xué)改革,軟件工程課程的教學(xué)效果有了比較明顯的改善,學(xué)生對軟件工程的原理及概念都有了比較深刻的理解。同時學(xué)生的實踐動手能力、團隊協(xié)作的能力、解決問題的能力以及文檔的編寫的水平都有了比較明顯的提高。目前看來,新的教學(xué)模式取得了比較好的效果,但是其實施過程還需要在實際的教學(xué)過程中不斷的修正和完善。
參考文獻:
[1]張海藩.軟件工程導(dǎo)論第四版,清華大學(xué)出版社.
[2]陳明.軟件工程學(xué)教程,科學(xué)出版社.
[3]尹鋒.軟件工程課程教學(xué)改革初探.長沙大學(xué)學(xué)報,2004(12):79.
[4]宋瑋軟件工程教學(xué)的思考.廣東工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2005(9):109.
作者簡介:朱 婕(1986-),女,本科,武昌職業(yè)學(xué)院信息工程學(xué)院,助教,研究方向:計算機軟件技術(shù)。