李小榮 疏志年 朱愛國
(1 巢湖學(xué)院,安徽 巢湖 238000)(2 蘇州風(fēng)云科技集團,江蘇 蘇州 215000)
軟件工程是一門旨在生產(chǎn)無故障、及時交付的、在預(yù)算之內(nèi)的和滿足用戶需求的軟件的學(xué)科[1],其理論教學(xué)、實驗操作、課程設(shè)計等涉及多門專業(yè)課程知識,有助于提高學(xué)生的實踐能力、溝通技能、理解及表達能力、文檔撰寫能力,又可初步培養(yǎng)學(xué)生的規(guī)范工作能力和團隊協(xié)作精神,并對學(xué)生的創(chuàng)新意識、工程思維能力等綜合應(yīng)用能力和素質(zhì)培養(yǎng)起到重要作用,對校企過渡有很好的促進作用[2]。近年來大學(xué)生畢業(yè)人數(shù)節(jié)節(jié)攀升,每年都在刷新 “史上最難就業(yè)季”,2013年高校畢業(yè)生699萬人,2014年727萬人,“畢業(yè)即失業(yè)”。與此同時,我國在2012年實現(xiàn)軟件業(yè)務(wù)收入2.48萬億元,2013年達3.06萬億元,相當多的軟件企業(yè)訂單充裕,人才缺乏[3]。企業(yè)“招聘難”,高?!熬蜆I(yè)難”。其實,高校、企業(yè)和學(xué)生三方的愿望并不矛盾,都希望學(xué)校培養(yǎng)出符合社會需要的學(xué)生。
軟件是由腦力勞動生成的邏輯產(chǎn)品,具有抽象性、無形性、動態(tài)性。指導(dǎo)軟件開發(fā)和管理的軟件工程知識更為抽象,其所講解的原理(如:軟件設(shè)計應(yīng)遵循的原理等)、方法(如:面向數(shù)據(jù)流的設(shè)計方法)和技術(shù)(如:各類測試技術(shù))位于具體項目之上,是跨具體項目、跨語言、跨平臺、跨國界的。
《軟件工程》課程橫跨多個領(lǐng)域,如:計算機科學(xué)與技術(shù),輔助建模和算法優(yōu)化的數(shù)學(xué),估算項目規(guī)模、成效分析的經(jīng)濟學(xué),有助于項目監(jiān)控、配置管理、質(zhì)量管理等的管理學(xué)等;就其指導(dǎo)的具體的某軟件而言,又需要用到計算機領(lǐng)域下的計算機語言、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理、算法、動態(tài)網(wǎng)站設(shè)計、網(wǎng)頁制作、軟件文檔寫作、軟件測試等多門專業(yè)課程的有機融合和綜合應(yīng)用。因此,《軟件工程》課程具有先天的無法簡化的復(fù)雜度和困難性。
學(xué)生很難靠老師課堂講解或自學(xué)理論原理就能學(xué)會如何開發(fā)一個實際的軟件,其所講解的知識,如:系統(tǒng)成本的預(yù)算、數(shù)據(jù)接口的設(shè)計、數(shù)據(jù)庫代碼編號的設(shè)計、各類軟件測試方法等,都需要在實際項目的“動手做”和“做中學(xué)”,在失敗或成功中去體會和掌握。
信息化社會中信息技術(shù)發(fā)展日新月異,軟件產(chǎn)業(yè)正加快向網(wǎng)絡(luò)化、服務(wù)化、體系化、融合化方向發(fā)展,云計算、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、大數(shù)據(jù)等新技術(shù)新業(yè)態(tài)、新模式迅速興起,商業(yè)模式、服務(wù)模式不斷創(chuàng)新,企業(yè)的信息化規(guī)劃在不斷調(diào)整,指導(dǎo)軟件開發(fā)和維護的軟件開發(fā)方法、開發(fā)工具、成功經(jīng)驗和項目失敗的啟示在不斷的積累和更新?lián)Q代[3]。
首先,教師對軟件工程本身要有深刻的理解,且需要有一定的軟件開發(fā)經(jīng)驗,最好在授課同時具備項目和工程背景,這樣的教師上課才有可能講解生動,激發(fā)學(xué)生的興趣[4]。其次,這門課程學(xué)科跨度大,綜合性強,所涉知識面廣,實踐時基本上要用到大部分所學(xué)習(xí)到的所有專業(yè)課程,要求上課教師熟悉并較好地實現(xiàn)所有相關(guān)課程知識的具體應(yīng)用是較難的。
軟件工程的應(yīng)用性很強,其理論及實驗課的學(xué)習(xí)對培養(yǎng)學(xué)生的工程化系統(tǒng)化的思維能力、溝通、理解和表達能力、分析與解決問題能力、設(shè)計能力、團隊協(xié)作能力、組織協(xié)調(diào)能力、實踐能力、創(chuàng)新與發(fā)展能力、綜合應(yīng)用能力及項目的開發(fā)與管理能力起到重要作用,初步培養(yǎng)學(xué)生的職業(yè)素質(zhì),為將來從事計算機相關(guān)工作打下堅實的基礎(chǔ)[2]。
因國家對高校學(xué)科教育只有培養(yǎng)目標方面的抽象描述,并未制定統(tǒng)一標準,故高校大多是根據(jù)專業(yè)進行通用性教育,并側(cè)重于理論教學(xué),而無法結(jié)合企業(yè)實際需要的技能和企業(yè)文化進行針對性教育[5]。就軟件工程課程而言,高校側(cè)重于傳授學(xué)生專業(yè)技術(shù)基礎(chǔ)知識,重視方法論與思辨能力的培養(yǎng);企業(yè)則更看重工程項目經(jīng)驗,在某個領(lǐng)域能上手做事情,要求員工具備良好的職業(yè)素質(zhì)和團隊協(xié)作精神。
新的軟件開發(fā)思想、開發(fā)方法、輔助工具等方面的知識,由于學(xué)生教材版本更新的相對滯后而無法盡快體現(xiàn)在學(xué)生教材中,這樣往往導(dǎo)致學(xué)生學(xué)習(xí)的課本知識無法滿足當前產(chǎn)業(yè)界的需求,且學(xué)生也會為此認為課本知識無用而漸失學(xué)習(xí)激情,導(dǎo)致課堂教學(xué)效果欠佳[6]。
軟件工程的應(yīng)用橫跨多個領(lǐng)域,集計算機諸多專業(yè)課的應(yīng)用于一體,由指導(dǎo)計算機軟件開發(fā)和維護的10大知識域共同組成,其研究的內(nèi)容非常龐雜,復(fù)雜度非常高。軟件工程中指導(dǎo)軟件開發(fā)和運維的知識和技術(shù)本身就比較抽象,如數(shù)據(jù)流圖的制作,軟件結(jié)構(gòu)圖的確定等,無法僅通過書本中有限的案例和課堂教學(xué)來獲得,需要在具體項目調(diào)研和資料分析中提煉各組成元素,在成功或失敗的項目參與中領(lǐng)悟,于大量的軟件開發(fā)中掌握和熟悉。
受傳統(tǒng)教學(xué)模式、教學(xué)目標和教學(xué)課時等多因素影響,諸多高校專業(yè)課程教學(xué)方式采取的多是理論教學(xué)和實踐過程分開的教學(xué)方式,兩者相互獨立進行。軟件工程教材各章節(jié)采用案例都相對獨立,缺少整體性、系統(tǒng)性和實用性,所指導(dǎo)的軟件亦是抽象無形。軟件是一個整體,軟件開發(fā)的方法、工具等難以體現(xiàn)在某單個軟件中,教師只在課堂有限零散案例中演示各種原理、方法等,學(xué)生無法體會其深層含義和其對實踐的指導(dǎo)作用,就難以在實踐中用理論知識有效指導(dǎo)和約束實踐活動,總結(jié)經(jīng)驗并提升自身實踐能力和理論水平。其次,軟件工程課程實驗教學(xué)所需系統(tǒng)開發(fā)是對多門專業(yè)課程的靈活運用,對學(xué)生要求較高,故組織學(xué)生編寫軟件項目相關(guān)文檔成了主要環(huán)節(jié),以小組為單位的項目開發(fā)要求也流于形式,而對學(xué)生真正從事軟件開發(fā)工作時最需要的工程能力和職業(yè)素質(zhì)的訓(xùn)練重視不夠。因此,如何開展軟件工程的實驗教學(xué),培養(yǎng)學(xué)生工程化系統(tǒng)化軟件開發(fā)能力,有效促進就業(yè)一直是個問題。
目前,有些高校為統(tǒng)一教務(wù)管理及方便教學(xué)材料的存取,在學(xué)生成績管理上簡化操作,如:各科考核形式統(tǒng)一為平時分加期末卷面考試檢驗學(xué)生對課本知識的掌握程度??己诵问酵鶗绊懙浇處煹慕虒W(xué)計劃和引導(dǎo)學(xué)生的學(xué)習(xí)方式,此種形式不夠體現(xiàn)出軟件工程課程實踐能力培養(yǎng)的重要性,對教師的教學(xué)水平和學(xué)生的學(xué)習(xí)能力評價不夠系統(tǒng)全面客觀,不利于教、學(xué)、用三者的統(tǒng)一,由此生成的成績流于形式,沒有具體的實際意義。
為響應(yīng)國家卓越人才培養(yǎng)計劃,適應(yīng)新就業(yè)形式,為避免供求脫節(jié)擴大化,最大程度上保證教、學(xué)、用三者的統(tǒng)一,從而實現(xiàn)高校、企業(yè)、學(xué)生多贏,現(xiàn)對就業(yè)影響最大的軟件工程課程,提出以下教學(xué)改革策略。
軟件工程課程內(nèi)容更新快、實用性強、對就業(yè)影響大,因此在設(shè)置課程時,要與市場需求充分結(jié)合以有效保證課程體系的針對性、先進性、權(quán)威性、科學(xué)性、實用性、有效性、系統(tǒng)性等。在設(shè)置課程時,要與市場需求充分結(jié)合以避免閉門造車,要加強與大型IT企業(yè)的合作,每年定期開展企業(yè)調(diào)研、在職人員的問卷調(diào)查和畢業(yè)生回訪以了解行業(yè)最新動向,根據(jù)反饋結(jié)果和企業(yè)崗位要求,參照國家職業(yè)資格標準和相關(guān)認證考試標準,及時將新知識、新技術(shù)、新框架、新開發(fā)工具、新標準等納入課程體系,并由學(xué)校教師,行業(yè)專家、一線軟件工程師共同調(diào)整和確定教學(xué)內(nèi)容,課程標準、授課計劃、實訓(xùn)案例。
為更好地培養(yǎng)學(xué)生的工程化能力,在教學(xué)過程設(shè)計中,宜采用項目教學(xué)案例教學(xué)的策略和“基于工作任務(wù)的教學(xué)情境”教學(xué)思想。這種教學(xué)模式將教學(xué)內(nèi)容按崗位任務(wù)劃分為若干個相對獨立的教學(xué)模塊,每個模塊的教學(xué)首先由老師從自己參與過的項目中精選適當案例導(dǎo)入教學(xué),提出本模塊的學(xué)習(xí)的理論及要完成的工作任務(wù),讓學(xué)生知道為更好的開發(fā)和管理軟件,本階段要做什么以及怎么樣去做,在實際案例的剖析中讓學(xué)生實現(xiàn)從抽象知識到實際應(yīng)用的無縫銜接;其次,教師提出階段性的問題,引導(dǎo)學(xué)生參與討論和交流,提出解決問題的諸多方案、實施條件及改進建議,闡述自己的觀點和看法,并由教師進行各種方案的對比分析和點評,提出解決問題的方法,以開放的活躍的課堂氣氛中充分調(diào)動學(xué)生的積極性、創(chuàng)造性和思考問題解決問題的能力,提升學(xué)習(xí)成就感;再次,進行知識的拓展,展開講解此案例沒有用到但本階段相關(guān)的其它知識點,拓展學(xué)生知識面;最后,布置任務(wù),讓學(xué)生用學(xué)到的知識去完成所在團隊本階段的工作,目的是為了加深學(xué)生對理論知識的理解和應(yīng)用,較真實的體驗就業(yè)后真實項目開發(fā)管理的流程。
軟件工程實踐課是對軟件工程理論知識的具體綜合應(yīng)用,使學(xué)生在分析和解決問題、軟件設(shè)計及實現(xiàn)、資料的獲取和整合、文檔撰寫和團隊協(xié)作等方面得到綜合的訓(xùn)練,教師在課時許可的條件下,選擇單元實踐、課程設(shè)計、虛擬委托性實訓(xùn)和企業(yè)實訓(xùn)。實踐課程不僅僅是參考教材書寫實驗報告或在網(wǎng)上下載某虛擬系統(tǒng)修修改改,實踐內(nèi)容可以是忠于市場需求的,最好由實驗課指導(dǎo)教師參與研發(fā)的規(guī)模適中的真實系統(tǒng)。由教師按學(xué)號序或隨機安排每6~8位學(xué)生為一個團隊進行項目開發(fā)(注:不建議學(xué)生自由組隊,以避免出現(xiàn)少數(shù)人包辦全部工作的情況),讓學(xué)生在項目的不同階段承擔(dān)不同的角色,如:項目經(jīng)理、分析員、設(shè)計員、編程員、測試員、維護員等,負責(zé)此階段相關(guān)任務(wù),隨著項目開發(fā)過程的推進,實現(xiàn)角色的有序變化,讓學(xué)生在參與實踐的同時親身體會到項目中每一個角色責(zé)任的重要性,體會項目團體開發(fā)與語言課個人編程的區(qū)別,使在校學(xué)生能夠體會和適應(yīng)軟件企業(yè)對人才的需求,幫助學(xué)生順利地轉(zhuǎn)型為適應(yīng)現(xiàn)在就業(yè)新形勢下的職業(yè)化人才。
為積極響應(yīng)《國家中長期教育改革和發(fā)展規(guī)劃綱要(2010—2020年)》和《國家中長期人才發(fā)展規(guī)劃綱要(2010-2020年)》中對高技能人才與工程技術(shù)人才培養(yǎng)的要求,也為更一步提高學(xué)生就業(yè)時的競爭力,高校可參考職業(yè)院?!胺e極推進學(xué)歷證書和職業(yè)資格證書‘雙證書’制度,推進職業(yè)學(xué)校專業(yè)課程內(nèi)容和職業(yè)標準相銜接”,通過內(nèi)容整合的方式將國家認可的計算機相關(guān)職業(yè)資格認證內(nèi)容(如軟考中的模塊獨立性、數(shù)據(jù)流圖的分層次的實現(xiàn)及注意事項、軟件設(shè)計中的啟發(fā)式規(guī)則、ER圖和關(guān)系模式的綜合應(yīng)用、UML建模等)嵌入軟件工程課程教學(xué)內(nèi)容中。
由學(xué)校出資購買大量具有自主版權(quán)的案例、開發(fā)文檔、視頻等資源,由課題組創(chuàng)建高度共享的教學(xué)資源庫,包括:項目案例資源庫、軟件開發(fā)工具、軟件開發(fā)工具學(xué)習(xí)網(wǎng)絡(luò)資源庫、軟件工程習(xí)題庫和在線交流系統(tǒng),在此基礎(chǔ)上建立開放靈活的教育資源公共服務(wù)平臺,所有資源庫免費開放供學(xué)生學(xué)習(xí)和參考,促進學(xué)生學(xué)習(xí)和師生交流。學(xué)校應(yīng)營造一個適合軟件工程課程實踐項目的軟件工程環(huán)境,提供軟件開發(fā)所需要的相關(guān)硬件和軟件,軟件實驗室所需提供的軟件有:軟件項目管理軟件、綜合軟件環(huán)境、數(shù)據(jù)庫管理軟件、軟件分析、測試和驗證工具軟件、中間件和構(gòu)件開發(fā)相關(guān)軟件、基于Agent的軟件開發(fā)工具等。
目前,高校多以學(xué)歷、職稱的比例來衡量師資隊伍水平,故高校評價教師時側(cè)重于教師的學(xué)術(shù)研究(如:論文數(shù)量、課題數(shù)量等),而《軟件工程》課程具有很強的實踐性,需要教師具有較強的專業(yè)實踐知識、工程實踐經(jīng)驗和操作能力。為建設(shè)適應(yīng)軟件工程實踐型人才培養(yǎng)需求的師資隊伍,高校必須逐步改革教師水平評價方法,促進技能型人才評價多元化,評價標準向工程技術(shù)能力和產(chǎn)學(xué)合作能力轉(zhuǎn)變,改變傳統(tǒng)單一的培養(yǎng)方式,建立立體化,全方位的教師培養(yǎng)模式,實現(xiàn)高校學(xué)術(shù)及企業(yè)應(yīng)用的良好接口。
(1)加大高?!半p師型”教師培養(yǎng)培訓(xùn)力度,支持教師到國內(nèi)外著名大學(xué)進修和學(xué)術(shù)訪問,鼓勵專職實驗教師每年都要到合作企業(yè)掛職鍛煉一段時間,參與企業(yè)的真實項目,以便掌握行業(yè)動態(tài)及最新的前沿技術(shù)。
(2)每年聘請企業(yè)內(nèi)具有較豐富開發(fā)工作經(jīng)驗,較高業(yè)務(wù)水平,較強組織協(xié)調(diào)能力的一線專家或技術(shù)骨干承擔(dān)實踐課程的教學(xué)任務(wù),并指導(dǎo)學(xué)生頂崗實習(xí)和畢業(yè)設(shè)計等。
(3)聘用、評價、晉升人才的標準從學(xué)術(shù)型方向向工程實踐型方向轉(zhuǎn)變。
采用 “理論課堂+上機實驗+綜合型課程設(shè)計+期末卷面成績”相結(jié)合的綜合考核方式,強調(diào)理論知識學(xué)習(xí)和團隊開發(fā)能力并重,鼓勵學(xué)生積極進行思考和做中練練中學(xué)。完善成績考核體系有利于形成技能型和工程型人才培養(yǎng)的方向,引導(dǎo)學(xué)生樹立正確的學(xué)習(xí)觀念,促進學(xué)生對軟件工程知識的學(xué)習(xí)和軟件開發(fā)能力的提升,提高學(xué)生的應(yīng)用能力和創(chuàng)新能力,為就業(yè)打下良好基礎(chǔ)。
現(xiàn)在信息技術(shù)發(fā)展日新月異,軟件應(yīng)用深入各行各業(yè),改變了個人生活方式,企業(yè)生產(chǎn)和管理方式、國家和社會的動作方式,影響著世界政治和經(jīng)濟等格局劇烈變化[7],指導(dǎo)軟件工程化規(guī)范化開發(fā)和維護的軟件工程課程的重要性不言而喻,如何順應(yīng)時代要求進行高校軟件工程課程的改革,縮短高校人才培養(yǎng)的效果與市場需求之間的偏離,實現(xiàn)國家、高校、企業(yè)和學(xué)生的多贏非常重要[3]?!盾浖こ獭氛n程對培養(yǎng)學(xué)生的工程思維能力、創(chuàng)新能力、團隊合作能力和職業(yè)素養(yǎng)起到重要作用,是學(xué)生實現(xiàn)角色轉(zhuǎn)換的重要橋梁,軟件工程教學(xué)改革的探索之路沒有終點,只有因時因地擴充和再完善。
[1]吳潔明.軟件工程實例教程[M].北京:清華大學(xué)出版社,2010.
[2]李彤,趙娜.基于 CDIO 的軟件工程國家精品課程建設(shè)[J].計算機教育,2012,(1):14-19.
[3]許麗萍.2013 年軟件產(chǎn)業(yè)發(fā)展展望[J].上海信息化,2013,(2):52-54.
[4]藍貞雄,鐘智,梁春賢.軟件工程教學(xué)模式的研究與實踐[J].廣西師范學(xué)院學(xué)報(自然科學(xué)版),2013,(2):117-119+124.
[5]鄭光貴,楊欣,秦宗槐,等.我國職業(yè)教育標準制定者、實施者及評價者的角色錯位問題研究[J].安徽商貿(mào)職業(yè)技術(shù)學(xué)院學(xué)報(社會科學(xué)版),2013,(2):52-59.
[6]趙業(yè)清.“軟件工程”課程教學(xué)改革探索[J].中國電力教育,2013,(14):85-86.
[7]趙衍.互聯(lián)網(wǎng)時代的信息安全威脅 個人、組織與社會[M].北京:企業(yè)管理出版社,2013.