丁文才 周扇 趙仕央 孫新杰
摘要:軟件工程學是計算機學科中一門理論、實踐相結(jié)合的重要課程,該課程主要涉及軟件開發(fā)與維護的普遍原理和技術(shù)。結(jié)合當前軟件工程課教學實際可以認識到,還有很多高校在課程設置和教學方法選擇上做得不到位,尤其是重理論、輕實踐的現(xiàn)象很是普遍。在這種落后教學模式的作用下,學生在計算機軟件工程方面的學習也會受到消極影響。為此,本文將立足于當前大學計算機網(wǎng)絡工程課程教學實際,分析其中存在的問題,并在此基礎(chǔ)上展開有關(guān)課程改革的相關(guān)探究,以求為軟件工程教學提供理論參考。
關(guān)鍵詞:大學;計算機;軟件工程;課程改革
軟件工程課程改革最直接的影響就是改善軟件人才培養(yǎng)狀況,更好地為社會發(fā)展提供高素質(zhì)軟件人才[1]。據(jù)相關(guān)調(diào)查報告顯示,我國高校計算機專業(yè)應屆畢業(yè)生已經(jīng)超過10萬人次,但是在軟件產(chǎn)業(yè)不斷發(fā)展的作用下,國內(nèi)IT市場對相關(guān)人才的需求依然強烈,人才缺口的規(guī)模甚至達到了百萬以上。依照供不應求的思路,軟件人才在市場上的就業(yè)狀況應當比較理想,但形成反差的是,在企業(yè)表示專業(yè)人才招聘困難的同時,每年數(shù)以十萬的畢業(yè)生中還有相當一部分學生難以找到專業(yè)對口的工作。究其原因,可以認識到這種狀況出現(xiàn)的主要原因是學校培養(yǎng)和企業(yè)需要脫節(jié),校方難以采用合適的軟件工程教學模式培養(yǎng)出高素質(zhì)的專業(yè)人才。當學生完成軟件工程有關(guān)的學習任務后,依然還要花費大量時間熟悉企業(yè)工作,否則就無法達到企業(yè)對軟件人才的要求。由此可見,對大學計算機軟件工程課程實施改革是適應社會發(fā)展需要的必要措施。
1 軟件工程課程教學中存在問題的思考
1.1 培養(yǎng)模式與目標認識存在偏差
依照以色列、美國等軟件產(chǎn)業(yè)發(fā)達國家的經(jīng)驗可以總結(jié)出,軟件人才結(jié)構(gòu)按金字塔型分布比較合理[2]。金字塔從高至中低分別為系統(tǒng)分析師、軟件工程師、程序編寫人員,這些人才的分布數(shù)量也從上到下逐漸增多。我國的軟件人才結(jié)構(gòu)呈現(xiàn)出兩邊少、中間多的橄欖型。在我國高校計算機本科教育的作用下,大量中層軟件人員被培養(yǎng)出來,但是受到程序編寫人員規(guī)模的限制,很多中層軟件人員其實無用武之地。由此可見,軟件工程課程改革的當務之急就是重新設置人才培養(yǎng)目標,按照金字塔型改革人才培養(yǎng)模式。比較理想的改革方法應當那個體現(xiàn)出對“層次發(fā)展”戰(zhàn)略的考量,即教學能力突出或教學資源充足的高校承擔高層次人才培養(yǎng)任務;教學能力普通的高校調(diào)整在高、中層軟件人才培養(yǎng)的比例,適當擴大對基礎(chǔ)軟件人才的培養(yǎng)。
1.2 忽視工程課程教學的重要性
缺乏對軟件工程課程重要性的認識也是相關(guān)教學中的突出問題,部分高校只是在軟件方向上將軟件工程課設為限選課,應用、硬件方向幾乎沒有開設[3]。此外,這門課程的總體課時比較少,學生只能勉強完成必修知識點的學習,幾乎接觸不到選修內(nèi)容,這也意味著學生在軟件工程課的學習只能達到淺層階段,無法在系統(tǒng)的學習中進一步鞏固和深化知識體系。
1.3 教材內(nèi)容和教學實際脫節(jié)
軟件工程學的研究從未停止前進的步伐,經(jīng)過數(shù)十年的研究,軟件工程這棵大樹上已經(jīng)結(jié)出了累累碩果[4]。但是從我國軟件工程課程的教材來看,這些研究成果并沒有及時轉(zhuǎn)化為教學資源。就當前軟件工程課程的教材來說,其中既沒有先進理念和技術(shù)的引領(lǐng),也沒有豐富翔實的內(nèi)容支撐。盡管少數(shù)教材中涉及先進的軟件開發(fā)方法,但也只是作為課外拓展進行了解,沒有真正的深入學習,主要的學習內(nèi)容還是結(jié)構(gòu)化軟件的開發(fā)方法。在這種教材的影響下,教師的教學方法也會相應做出調(diào)整,學生也就越發(fā)難從中獲得軟件功能上的進步。
1.4 課程設置和教學安排不合理
軟件工程課的綜合性很強,可以和計算機學科中的其他課程相互串聯(lián)[5]。因此,想要學好軟件工程課就要對其他課程的基礎(chǔ)知識有所了解。然而需要注意的是,當前很多高校計算機專業(yè)中并沒有做好軟件工程課與其他課程的銜接,各個課程幾乎處于獨立狀態(tài),沒有形成完成的體系。當然,這種狀況產(chǎn)生的原因也有很多,除了軟件課程本身課時安排較少外,還與教學管理部門在體系化教學上的不足有關(guān)。
1.5 教師實踐教學能力有待于提高
教師是各項教學工作的組織者和指導者,若是不能保證教師的專業(yè)能力,軟件工程課程的教學改革也就無從談起[6]。從理論角度來看,絕大多數(shù)高校計算機教師能夠滿足要求,但是落實到實踐操作上時,就有部分教師在實踐操作經(jīng)驗和技術(shù)上達不到要求。這是因為高校教師在學歷條件和理論知識方面比較突出,但沒有經(jīng)歷長期軟件開發(fā),所以教學中難以避免“紙上談兵”的教學困窘。
1.6 重理論,輕實踐,學生實操能力弱
軟件工程學涉及軟件開發(fā)、運行和維護等內(nèi)容,學生除了要掌握必要的理論知識外,還應當具備熟練的操作、設計、測試能力。若是在教學中不注重理與論實踐相結(jié)合的話,就會導致學生在軟件開發(fā)方面出現(xiàn)問題。但是,在實踐設備有限和校方重視程度不足的共同影響下,國內(nèi)多數(shù)高校都沒有開展規(guī)模適度的學生工程實踐。此外,軟件工程課程中的很多環(huán)節(jié)都沒有體現(xiàn)出對規(guī)范化教學和訓練的考量,致使學生在軟件制作開發(fā)時狀況百出,設計出來的程序不光風格迥異,還缺乏統(tǒng)一的規(guī)范,這對學生的未來發(fā)展無疑會產(chǎn)生不利影響。
2 關(guān)于軟件工程課程教學的改革措施
2.1 提高對軟件工程課程重要性的認識
充分認識軟件工程重要性是改革軟件工程課程教學的前提條件。從社會層面來看,當前軟件產(chǎn)業(yè)正處于蓬勃發(fā)展階段,無論是新軟件的開發(fā)還是已運行軟件的維護都需要大量專業(yè)人才的支持。就目前來說,軟件的開發(fā)維護依然要消耗大量的成本,并且很多時候軟件的質(zhì)量難以得到保證,而這也在很大程度上導致軟件產(chǎn)業(yè)的發(fā)展落后于時代需要。對于學校來說,忽視軟件工程課程的重要性就會導致相關(guān)教學工作的失位,單以軟件工程的課時來說,多數(shù)學校只能達到30小時左右,但是比較理想的學時數(shù)應在50學時左右。高校計算機教學工作者應當緊貼社會發(fā)展需要,從培養(yǎng)高素質(zhì)人才的角度出發(fā),及時轉(zhuǎn)變對軟件工程課程的看法,適當提高軟件工程課程的學時,對軟件工程有關(guān)的課程進行合理化調(diào)整,幫助構(gòu)建完善的軟件工程教學體系。
2.2 科學合理規(guī)劃和構(gòu)建課程內(nèi)容
優(yōu)化課程規(guī)劃和內(nèi)容構(gòu)建是軟件工程課程改革的必由之路,軟件工程課程教學應當體現(xiàn)出ACMCC2001中的氣象核心內(nèi)容;將各類軟件分析法用不同形式實施,如形式化方法以選修內(nèi)容實施;注重開發(fā)工具和開發(fā)環(huán)境;介紹先進軟件開發(fā)工具和環(huán)境,在條件允許的情況下為學生創(chuàng)建相應的實訓環(huán)境,幫助學生做到理論結(jié)合時間的學習。對于國內(nèi)工程課程教材方面的問題,教師應當積極作為,結(jié)合自身專業(yè)知識為學生提供便利,如教師可以將涉獵過的研究理論和實踐成果作為講義,或者直接選用國外優(yōu)秀教材,將其中的核心內(nèi)容翻譯和提煉出來,在強化學生對軟件工程認識的同時拓寬視野。在開展實踐教學活動的過程中,應當以具體工程實踐為要求,按一定規(guī)模還原出適合學生操作的工程實踐,讓學生在軟件開發(fā)理論的指導下實踐軟件開發(fā)、維護等理論知識,指導學生用規(guī)范化的訓練糾正軟件開發(fā)中的認識誤區(qū)。
2.3 注重師資力量建設
軟件工程教學目標的實現(xiàn)離不開優(yōu)秀教師團隊的支持,在軟件工程課程改革的過程中,必須強化對師資力量團隊的建設。正如上文中提到的,當前教師團隊的特點是學歷高、理論水平高、實踐能力低。所以,打造新型教師隊伍要從提高實踐能力上入手。當教師擁有豐富的軟件開發(fā)經(jīng)驗后,就可以系統(tǒng)、全面地對學生展開教學,并有側(cè)重性的講解的當前軟件市場應用知識和教材知識的差異性,以免學生盲目消耗時間在落后的開發(fā)理念和技術(shù)上。對于教師團隊的具體建設方法,比較合理的應當是校企合作,邀請具備一定教學能力的企業(yè)精英進入課堂講學。在必要的條件下,校方可以和軟件設計、生產(chǎn)企業(yè)建立穩(wěn)定的合作關(guān)系,不斷深化對教學方式和內(nèi)容的研究,借此提高教師隊伍的整體實踐能力。
2.4 發(fā)揮案例教學作用
軟件工程課程中的軟件開發(fā)、維護等理論和技術(shù)的教學最好能通過案例展開,這是因為很多教學內(nèi)容具有抽象性,教師若是直接進行講解,就會導致學生在難以理解中逐漸喪失課堂積極性。教師在設計教學案例時,必須充分考慮到教學形式和學生的實際狀況。例如教師把一個實際軟件工程作為對象,讓學生分成若干個項目小組,每個小組在獨立自主的要求下完成各個階段制止提交產(chǎn)品。在這個過程中,學生將要直接面對軟件開發(fā)技術(shù)和工具,在自身和其他組員的通力合作下制定完善的項目管理措施。這樣一來,學生也能在和外界的交流中鍛煉交流和組織能力,在他人的幫助下改正不良變成習慣,培養(yǎng)嚴格規(guī)范的軟件開發(fā)意識。在案例實踐中,教師可以給學生預留出一部分時間獨立思考和設計,這樣就可以讓學生在形成自我理解的前提下參與項目案例,從而有意識地發(fā)展軟件開發(fā)或測試能力。
2.5 借鑒國外先進經(jīng)驗,培養(yǎng)國際軟件人才
考慮到我國在軟件工程教學方面的落后狀況,學校可以適當強化和外界的交流,以國家化的視角尋求更加豐富的教學資源,以此助力軟件工程課程的改革。值得一提的是,與外界的交流、合作中,學生的視野會變得更加寬廣,從而具備參與國際競爭的能力,這對學生的未來就業(yè)和發(fā)展會產(chǎn)生有利影響。為了實現(xiàn)軟件工程課程對國際化軟件人才的培養(yǎng)能力,校方可以和國外大學合作建立培訓中心,通過這項平臺借鑒國外大學在教材編寫、教學方法選擇、教學目標設置等多方面的先進經(jīng)驗,從而結(jié)合自身實際需要改革教學模式。
3 結(jié)束語
軟件工程課程教學改革涉及每年數(shù)以萬計的計算機學生就業(yè)問題,高校計算機教學單位應當及時重視軟件工程課程的優(yōu)化和改革,務必要構(gòu)建起科學、高效的教學體系,讓學生在軟件工程課程的學習中掌握理論知識、熟練實踐方法、養(yǎng)成國際視角,發(fā)展成為社會需要的高素質(zhì)專業(yè)人才。
參考文獻:
[1] 李博.淺析當前大學計算機軟件工程課程改革[J].科技展望,2014,24(24):285.
[2] 明勇.淺析當前大學計算機軟件工程課程改革[J].電腦知識與技術(shù),2009,5(34):9751-9752,9762.
[3] 朱智林鄒海林陳平.軟件工程課程教學中的幾個問題探討[J].計算機教育,2004(Z1):85-86,88.
[4] 朱鴻柔.高校軟件工程課程教學改革[J].黑龍江科技信息,2016(35):14.
[5] 張銘,李文新.北大信息學院計算機專業(yè)課程改革建議[J].計算機教育,2007(7):8-14.
[6] 王薇.軟件工程課程體系研究[J].計算機教育,2007(8):31-33.
【通聯(lián)編輯:梁書】