時間:2023-02-25 00:35:20
導言:作為寫作愛好者,不可錯過為您精心挑選的10篇軟件工程實訓總結,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。
2.軟件工程基礎課程改革的必要性
2.1.學校尋求發展戰略的要求
應用型本科人才培養主要任務是培養具有突出工程技術應用能力的人才。培養方向以社會需求為依據,以學生就業為目的,圍繞實際崗位應用能力要求而確定的。培養實踐能力為主的高等技術應用型人才是應用型本科教育的根本目標,實踐教學體系則是實現這個最終目標的保障。以銅仁學院為例,其是2006年教育部批準新辦的地方本科院校,經過幾年的發展,目前已進入全面深化改革的整改提高階段。在銅仁學院深化改革的方案中,明確提出將實施以推進“立德樹人”為根本,以促進“質量提升,為核心,以實現“轉型發展”為目標的教育教學領域綜合改革,把提升人才質量作為當前和今后一段時間內的重要任務來抓。
2.2.軟件工程專業發展及社會需求的要求
軟件工程專業是培養適應計算機應用學科的發展,特別是軟件產業的發展,具備計算機軟件的基礎理論、基本知識和基本技能,具有用軟件工程的思想、方法和技術來分析、設計和實現計算機軟件系統的能力,畢業后能在IT行業、科研機構、企事業中從事計算機應用軟件系統的開發和研制的高級軟件工程技術人才。當前,大多高校軟件類學生實踐能力和企業需求存在嚴重脫節的現象,理論知識的講解較多,很多實際操作實踐課程以理論知識的講解為主,這就導致了對軟件類專業學生的軟件開發實踐和創造能力培養的忽略。這些問題已引起學校的高度重視,在這種情況下于軟件人才培養中將項目實訓納入到高校軟件工程專業人才培養體系中,通過軟件工程理論學習與軟件項目實訓實踐相結合,把軟件項目實訓引入到教學中,能使學生在學習過程中就不斷接受企業化項目開發的實踐和鍛煉。目前,雖然高校改革已引起了各方的高度重視,就軟件工程課程來講,盡管軟件類專業的教學大綱都增設了軟件實訓課程,但是在師資、硬件和課時等方面沒有配套,軟件項目實訓教學體系還處于較低層面,沒有明確的實訓目標、規范的實訓大綱以及科學的實訓體系,故而課程改革勢在必行。
3.軟件工程基礎課程的改革措施
3.1.總體規范、項目推進的課堂教學
軟件工程基礎課程的教學形式,總體來講是采用項目推進模式,基于此,論文提出教學內容體系改革引入項目管理模式。根據近幾年來教學經驗,結合學生實際,制定6個項目分別實施,具體介紹如下:
3.1.1.教學內容改革及學時分配方案教學內容、學時分配、實踐要求及考核內容。
3.1.2.教學形式的具體體現教學過程中,首先是打破定制唯一教材的做法,選擇多本教材進行授課。通過對多部教材各專業知識點的有效融合,把知識點統籌為相應的專題項目,初步按照軟件——軟件工程——軟件開發的前導知識——軟件開發(可行性分析、需求工程、設計工程、測試工程、軟件開發管理工程)思路進行教學[4]。在介紹理論知識的同時,要求學生結合知識結構并且以小組為單位進行小系統開發。
3.2.兩段兩維的考核評價方式
3.2.1.考試成績認定辦法整個教學評價中注重兩點:一是注重兩段兩維的管理形式,兩段是指平時學習階段與期末總結階段,兩維是指平時階段性的總結與考評;二是注重期末綜合實踐評價。具體的做法:打破傳統以期末成績定成效的模式,注重過程管理,明確階段性總結,分階段進行驗收,平時加強課堂練習的檢查力度,確保課程達到效果;階段性成果評價分值記入本人成績核算,最后進行綜合評估項目,得出本人成績。總評成績組成:總評成績=平時成績+期末大作業完成情況+期末理論評價情況。具體來講,考核體系從平時綜合及期末綜合兩個方面來進行。平時綜合的組成:考勤+課堂表現+小組階段性成果評審+練習作業;期末綜合的組成:大作業以及綜合答辯。
3.2.2.期末綜合考核內容及達標標準學期結束后,對學生的綜合能力進行評價。
徐州工程學院作為新興的地方性高校,在軟件工程專業建設方面,不僅需要學習和借鑒重點大學、國家示范性軟件學院的經驗和做法,更重要的是結合地方院校的特點和實際情況,辦出特色。因此,應用型人才培養體系的建成,應該直接為當地經濟建設和社會發展服務,適用面廣、實用性強,具有鮮明特色。本文主要闡述以工程教育認證質量評價機制為指導的徐州工程學院軟件工程專業在理論和實踐方面的培養體系。
2 市場調研
為了制定針對性的培養模式,首先組織一些學科教授和骨干教師,對軟件工程專業的就業形勢、市場需求等進行為期2個多月的市場調研,調研對象包括國有大中型企業、私營與股份制等公司的負責人和技術骨干。本次調研內容包括實地參觀學習、與企業召開研討會,并向企業發放調查問卷表500份,收集有效調查表437份。
通過這次調研,總結軟件工程專業的市場需求、人才結構和素質要求、企業技能標準等信息,發現軟件工程技術人才奇缺,涉及很多方面,主要原因是大部分高校計算機專業不注重應用型軟件人才的培養,學生畢業后面臨的是二次學習的困境。因此,對學生的培養不僅需要完整性的實訓鍛煉、強調企業項目經驗、注重培養學生的分析與解決問題的能力,更需要注重團隊合作意識;在課程設置方面應該與企業長期合作,開設企業實用的技術課程和職業綜合素質的內容。
3 軟件工程專業應用型人才培養模式
軟件工程專業強調軟件開發的系統和工程性,培養能夠從事軟件開發、測試、維護和軟件項目管理的高級專門人才[4]。軟件工程專業沿用徐州工程學院計算機專業“3+1”培養模式,具體模式為學生在前三年完成通識課程、專業課程的學習,以及課程基本實訓,最后一年在企業完成項目級實訓、職業訓練和畢業設計。
表1所示為軟件工程專業課程構成及學分分配匯總表。徐州工程學院軟件工程專業課程主要分為三大平臺。其中,通識類課程平臺包括通識必修課、通識選修課以及學科基礎課;專業課程平臺主要包括專業必修課和專業選修課。
知識支撐能力結構 根據軟件工程專業的培養目標,確定課程知識支撐能力結構,如圖1所示。課程設置本質上是為了培養學生能力的,因此,為了培養學生英語能力、熟知行業標準、管理能力以及創新意識等,設置學科基礎課、通識類課程以及專業課程、專業技術導論、講座等課程;為了培養持續學習、協作和項目分析等能力,設置軟件工程課程群、企業實訓課程以及職業技能訓練等課程。
理論知識體系結構 軟件工程專業理論知識體系結構包括通識課程群、學科基礎群、專業課程群,其中專業課程群是核心課程。專業課程分為程序設計基礎知識、軟件開發技術知識、數據庫原理知識、計算機系統知識、軟件工程知識等5個子課程群。其中,程序設計基礎知識包括數據結構、面向對象的程序設計(OOP);軟件開發技術知識包括Java Web方向課程群、移動開發方向課程群等課程;數據庫原理知識包括數據庫原理及應用;計算機系統知識包括計算機系統基礎、操作系統等課程;軟件工程知識包括軟件需求工程、軟件體系結構設計、軟件質量保證與測試、軟件項目管理。
實踐體系結構 軟件工程專業實踐體系結構如圖2所示,主要分為四個階梯:
1)個人級的實驗,主要由校內教師進行指導,學生獨立完成課內實踐環節;
2)小組級的實驗,需要2~4個學生為一組,為完成程序設計、算法設計、面向對象技術開發,通過溝通和相互協作完成,注重技能的訓練;
3)項目級的實訓,主要由企業教師指導,學生完成專業方向技能、軟件工程綜合訓練;
4)企業級的實訓,為了檢驗學生綜合能力,由學生獨立完成企業項目綜合訓練、職業技能提高以及畢業設計。
為了加強校企合作培養的效果,每4~6個學生配備一位校內指導教師和企業指導教師。校內導師在學生入學后確定,主要任務是“學業綜合指導”;校外導師在學生入學后的3年內確定,主要任務是“工程實踐指導”。學生在三年級初步確立畢業設計選題,由校內導師和企業導師聯合進行指導。
基于工程教育專業認證的質量評價 為了加強軟件工程專業的質量評估,以工程教育專業認證為指導,建立針對整個培養過程的質量監控和完整有效的評價機制。在每個教學環節,基于認證標準,明確質量要求,定期進行課程體系設置和教學質量的評價。此外,在整個學習過程中對學生的表現進行跟蹤與評估。
以上這些質量評估措施,保證學生畢業時達到畢業要求,畢業后具有社會適應能力與就業競爭力;后期,畢業之后階段,仍然采用跟蹤反饋機制,通過記錄評價和效果,證明學生能力的達成,并逐步對培養模式進行持續改進。
很顯然,只有建立完善的質量評估機制,才能保證按預期的目標完成專業培養要求。因此,從地方性高校實際出發,以工程教育專業認證為質量評價指導,不斷完善培養模式,這樣才能培養卓越的學生,為企業持續不斷地吸引優秀的生源。
4 總結
徐州工程學院作為一所以應用型工科教育為主的地方本科院校,軟件工程專業應用型人才的培養需要有別于高職高專的培養模式,需要更注重高層次應用型技術人才的培養;又要有別于傳統學術性高校“精英型”人才培養目標、課程體系設置、教學模式以及師資要求等。
軟件工程專業培養標準最需要解決的問題是注重軟件工程宏觀意識,培養持續學習能力、交流與溝通能力。鑒于此,本文提出以工程教育專業認證為指導,構建軟件工程專業應用型人才培養體系,以期為地方性高校軟件工程專業能夠培養更多卓越的軟件工程方面的人才提供一種方法和途徑。
參考文獻
[1]宋思運.應用型本科人才培養模式的構建[J].徐州工程學院學報,2005,12(20):11-13.
中圖分類號:G642 文獻標識碼:A
1 引言(Introduction)
軟件工程作為計算機和軟件本科專業最綜合最系統的一門課程,在促進學生鞏固之前學過的專業知識、掌握軟件開發過程及方法、理解軟件工程實踐等方面發揮了積極作用。但高校特別是三本院校在軟件工程課程講授時理論脫離實際,片面地強調理論學習而忽視實踐能力的培養,理論部分過于抽象,在課程實驗中,沒有把握好課程在人才培養的橋梁和作用,缺乏貫穿縱向知識體系和學科的整體理解和思想,往往只是本課程章節或課程的綜合理論驗證,采用虛擬的實驗案例,甚至將其設計成為章節內容驗證練習,而不是圍繞著軟件工程整本書的整個知識體系進行實際開發項目。導致學生學完軟件工程課程后還是不能理解軟件生命周期、開發過程及相應方法,與社會對軟件人才的需求存在差距,學生難以很快融入現代IT企業的運作[1]。如何培養起適合信息產業所需要的應用型、實踐型人才,已經成為亟待解決的問題。因此要想將學生培養成為符合社會需要的軟件工程人才,就應當改變目前的局面,全面考慮軟件工程課程建設。
本課題研究主要針對目前軟件工程課程理論脫離實際,同時很多教師過分強調軟件工程理論知識的一面,忽視了軟件工程必須有實踐項目還具有經驗性、參與性、發展性的特點,通過理論研究和教學實踐對軟件工程教學實踐提供實踐指導。加強軟件工程實踐教學的改革,通過理論與實踐相結合的方法培養社會需要的應用型軟件工程人才。解決三本院校軟件工程課程教授中理論、實驗與實際相脫離的問題。
2 針對社會需求,制定明確合理的教學計劃
(Formulate a reasonable teaching plan based on
the social needs)
教學計劃是各教學環境的整體設計方案,合理的專業的教學計劃能為教學順利實施提供指導,也是教學過程質量的有力保障,是人才培養的綱領和實施藍圖[2],它規定了課程結構和知識結構,明確了人才培養目標,構建了專業要求的課程體系,限制了教學環節的進程及內容。具體在制定計劃時應秉持以下幾點:
(1)樹立應用型人才培養理念
在培養軟件工程人才過程中要和一二本院校區別開來,我們應當以實際動手為主,培養適合企業操作崗位的技能人才。軟件工程專業應堅持“以市場為導向,以就業為目標,順應IT業發展趨勢,以校企合作為手段,突出技能培養,走應用型開放式道路?!钡霓k學思路,通過吸收國內外的優質資源,通過校企合作,共建實訓實習基地和技術開發應用等多種合作辦學,提高辦學活力及效率。在人才培養模式上突出以技術應用能力為核心的人才培養特點,課程設置以市場流行的軟件開發技術為主線由淺入深,技術的學習采用項目驅動、案例驅動的方式[3],不斷提高學生實踐動手能力,培養應用型技術人才,適應企業對人才的需求。
(2)構建應用型培養系統工程
學生在學校對知識的儲備與社會對人才的能力需求如何契合的更好是學校應該要慎重考慮的問題。目前,軟件服務外包產業對應用型人才需求量較大,軟件工程專業可以和武漢軟件外包單位合作,全面實施3+1人才培養模式,即,三年基礎、專業課程學習加一年實訓。這種嵌入式教學模式將會極大地提升學生的實際應用能力,他們進入企業后適應能力更強,上手會更快。在教學過程中,軟件工程專業可以構建工程化的實踐教學體系,以軟件項目研發到軟件項目運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習軟件工程,建立試驗―實訓―綜合設計―職業實踐的實踐教學體系,通過引進、開發真實的項目案例,讓學生實際參與項目開發全過程,切實提高學生解決實際問題的能力,培養他們的綜合應用素質。
(3)引入企業,接軌市場需求
基于工程化培養理念建立一批校企聯合實習實訓基地,實現教學過程與生產過程的對接,為應用型技術人才培養提供有力的保障。將一些行業內的企業而不單純是培訓單位引入校園,合作搭建項目開發平臺,形成以研發項目促進學生實習實訓,以研發項目帶動師生科研發展的人才培養新途徑,聯合培養雙師型教師。
3 軟件工程實踐教學采用的主要方法(The main
method of the software engineering practice
teaching)
軟件工程實踐課,包括課程實驗、課程設計、項目實訓和畢業設計等實踐環節。
3.1 實例教學
在教授理論知識時,傳統方法過度的在講授枯燥的理論知識,學生沒有實際的工程項目的經驗,根本無法理解軟件工程課程里的內容,在軟件工程課程理論課上教師要通過典型的軟件項目實例來講解理論知識,將實例貫穿于教學環節,模擬軟件工程項目場景,啟發學生分析問題、進行方案設計,在項目案例講解過程中抽象上升為理論知識,理論知識又反過來指導項目案例。
3.2 實驗教學
相對于計算機科學與技術專業,軟件工程專業更強調實踐性和工程性能力的培養,這都需要在實踐環節中培養,因此實驗與實踐教學是軟件工程專業教學的重要組成部分,其實施質量對專業教學質量具有舉足輕重的影響。軟件工程專業可以構建“課程實驗、課程設計、畢業設計”三級實驗體系[4],三級實驗體系粒度從細到粗,從具體到綜合。教師需要設置好實驗環節的內容、形式,實驗課和課程設計時采用商業軟件的開發模式,以實際項目和企業正常運作時人員的分工配合來進行實驗教學,理論指導實踐,實踐強化理論,將系列的實踐課程提升到工程項目訓練,實際軟件工程項目貫穿同步理論課的知識,讓學生從需求分析、總體設計、詳細設計、編碼、測試到項目交付和管理維護等完整的軟件開發過程進行系統實踐學習,這樣學生在一個真實的場景中實踐,親身體驗并進行反思,只有實際操刀了,學生才能理會并掌握完整的軟件開發流程、軟件開發技術及軟件開發方法。實驗時以小組形式開展工作,四五個學生為一組,每組由組員推薦或自薦一位組長,負責協調、分工,組員在小組長的協作領導下完成項目的開發過程。項目驅動實驗的軟件工程實踐教學可以幫助學生建構良好的軟件開發認知模式并培養一定的軟件工程素養[5]。在學生畢業前,開設項目實訓和畢業設計,旨在培養學生的綜合實踐能力,通過這樣的手段學生能比較真切地理解軟件工程理論知識并掌握軟件開發過程。通過實驗,掌握一個完整軟件開發過程,及過程中的每一個階段的任務、目標、方法、工具,并熟練使用一些CASE(計算機輔助軟件工程)工具來提升軟件開發效率,保證軟件質量。通過集中性的課程設計、畢業設計訓練,使學生逐步培養編程能力、算法分析設計能力、數據庫設計能力,能夠結合專業知識實現用戶需求,形成產品意識而不是作業意識,培養團隊交流協作能力、積累工程經驗、提高工程素養。每一個階段制定可衡量的、明確的目標,激發學生的學習興趣、提高知識的靈活運用能力、創新思維能力、綜合分析能力、系統設計能力等,為培養符合社會需求的人才奠定基礎。最后通過畢業設計綜合性鍛煉,實現學生就業的平滑過渡。
在每一級實驗過程中都采用“教師為主導、學生為主體”的原則,才有利于避免學生在學習上的依耐性、缺乏獨立思考問題和解決問題的能力,因此要充分發揮學生的主體作用,運用教師的專業知識和項目經驗言傳身教地引領、啟發學生學習、動手實踐,不斷引入新技術、新方法引起學生好奇心,激發學生探索學習欲望。教師需要動態地了解學生的接受能力,有針對性地因材施教、指導學生學習,讓學生擁有自主學習、持續學習的能力,意識到自己學得會,也很有利于調動學生學習的主動性,只有這樣,才能達到較好的實驗課教學效果。在每一次實驗后要及時地對本次實驗加以分析和總結,通過本次實驗遇到了什么問題?解決的方法是什么?實現了什么功能?還有哪些有待解決的問題?都要加以總結,并以報告的形式記錄下來,有利于日后開展實驗課程的教學。
3.3 社會實踐教學
一個軟件企業的正常運行需要多方面的人員協作與配合,如財務人員、開發人員、配置管理員、質量保證員、數據庫管理員、網絡維護工程師、系統架構師、軟件測試人員、管理人員等,在學校里學生難以體會到一個軟件開發過程中除編碼測試人員之外的其他崗位的職責和特性,學生只有真正進入企業才能體會并有機會實踐這些崗位。社會實踐教學可以通過校企合作的形式,也可以鼓勵學生自己去找實習單位,學生可以根據自己的興趣和個人發展方向來自由選擇角色,完成不同的任務,教師和公司導師給予引導。社會實踐教學是一次綜合性的實踐活動,是學生走向社會的開始,通過社會實踐教學活動,使學生能夠逐步認識綜合利用所學的專業知識,培養軟件開發的技能,深刻體會企業軟件開發與學習過程中編寫軟件的不同、軟件工程各階段角色任務管理和開發知識,提高自身的創新意識與創新能力,促進團隊之間的溝通協作,為早日踏上工作崗位打下堅實的基礎。
學生進行社會實踐教學活動時,嚴格按照企業的規定,執行、考勤、日志、總結等實際工作環節,廣泛使用協同開發平臺,使學生規范化、有序進行社會實踐活動。
4 結論(Conclusion)
通過對幾年軟件工程課程教學的思考和總結,以及調研一些其他院校軟件工程課程,提出了三本院校中軟件工程實踐教學存在的問題以及軟件工程實踐教學改革的必要性,從課程教學計劃的制訂、實例教學、實驗教學、社會實踐教學等幾個方面給出了切實可行的建議,同時這些建議也可為其他課程提供有意義的借鑒。
參考文獻(References)
[1] 熊偉,洪玫.大學本科軟件工程專業建設的探索與實踐[J].理
工高教研究,2010,(2):59-61.
[2] 晏立.從社會需求的角度探索軟件工程教育[J].教育與教學研
究,2008,(22):141-145.
[3] Roger S.Pressman.軟件工程:實踐者的研究方法[M].北京:機
械工業出版社,2011,(8):32-68.
[4] 熊凡,李偉波.項目驅動的軟件工程實驗教學探討[J].中國電
力教育,2012,(2):77-79.
[5] 丁潔.軟件工程的教學改革與實踐[J].科學與技術信息,2009,
(9):555.
軟件藍領一詞來源于印度,泛指技能型軟件專門人才。目前全球軟件與服務外包市場規模依然巨大,并以膨脹方式持續增長,外包市場需要大量技能型軟件專門人才。上世紀末,“千年蟲”解決方案成就了印度,使之成為軟件與服務外包產業強國,令世人矚目。在印度的軟件企業中,軟件開發如同傳統產業的流水線作業,每個基礎編程人員按照規定的工序加工某個標準件,從而實現工業化生產,正如印度卡納塔卡邦首席行政長官Krishna在解讀為什么班加羅爾會成為印度乃至亞洲的硅谷時回答,除了教育,還是教育。
目前,在我國軟件企業中,人才缺乏是制約軟件企業發展的主要瓶頸之一。我國各級各類教育機構依然存在著教學內容與市場實際需求脫節,面臨最大的教學問題是企業求賢若渴、卻英才難覓,其根源在于傳統的“本科壓縮型”人才培養模式問題。筆者針對技能型軟件人才培養過程中實踐教學環節的教學問題,從教學理念、教學內容和教學方法3個方面進行實踐和總結,其目的是為了探索軟件工程專業本科生教育的人才培養模式。
1 若干教學問題
2001年12月教育部和國家計委聯合發出通知,批準清華大學等35所高校試辦示范性軟件學院,旨在通過軟件學院的建立,實現軟件人才的跨越式發展。在示范性軟件學院計劃中,明確提出面向軟件產業培養高素質的工程型軟件實用人才的專業定位。2003年教育部批準建立了36個示范性軟件職業技術學院。2004年IEEE-CS組織了軟件工程知識體系指南SWEBOK2004,在指南中劃分了軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法、軟件質量等lO個關鍵知識域,規定了每個知識域中的具體教學內容,如“軟件需求”知識域有需求基礎、需求過程、需求獲取、需求分析、需求規格說明、需求確認、需求實踐等教學主題。
回顧多年的軟件工程專業發展,我國各高校中已有近200多所院校開設了軟件工程專業,各級各類培訓機構相繼出現。為了支持軟件與服務外包人才的培養,自2006年起,商務部開始實施服務外包“千百十工程”人才培訓計劃,2007年教育部在“質量工程”中加大了對信息類專業的支持力度,軟件工程專業列入第2類特色專業建設項目,2011年國務院學位委員會正式公布了修訂的學科目錄,把軟件工程新增為一級學科。這充分說明軟件工程專業和學科在國家戰略層面上已經提升到一個新的高度。
政府層面安排的各級各類專項培訓資金,主要用于支持大學生增加軟件與服務外包專業知識和技能,鼓勵外包企業新增大學生就業崗位的各類人才培訓項目,重點培訓大學應屆畢業生和尚未就業的大學畢業生,以及服務外包企業新入職員工。培訓內容包括軟件與服務外包企業人才定制培訓、從業人員資質培訓、國際認證培訓、行業標準及相關知識產權培訓、大學生實習項目及勤工儉學培訓、企業新人職人員崗前業務技能培訓等。政府層面出臺的政策目標,主要是為了建立軟件與服務外包人才的培養培訓體系,調整專業結構以適應軟件產業需要,加強高校學生實習實訓工作,深化高校與軟件與服務外包企業的合作等。
綜上所述,市場對人才需求仍有較大缺口,適應產業市場不斷發展的軟件工程專業教育任重道遠。培養技能型軟件人才已經到了應該采用全方位、多渠道、企業廣泛參與的多種培養模式,才能從根本上解決目前企業人才短缺、現有人才結構不合理等問題。高校的根本任務是人才培養,要實現人才培養與企業需求之間的無縫銜接,本文主要討論3方面教學問題:
(1)實踐教學理念。在教師組織教學過程中,其教學理念必須符合產業標準和項目規范,軟件項目的成功取決于項目團隊,項目團隊必須遵循軟件工程規范,規范是指項目規程和實施項目的相關技術標準,與之相關的專業知識只求其核心的基礎知識,不求知識全面。
(2)職業技能結構。通常職業能力貫穿整個職業生涯,其職業技能可以劃分為,特定技能、通用技能、核心技能3個層次,其中的核心技能具有普遍適用性,在職業生涯中受益終生,此外個人的職業素養也是一種職業能力,主要有交流能力、溝通和表達能力、文檔的規范寫作、分工合作、團隊協作、敬業奉獻等。
(3)實踐教學方法。在項目實施過程中,必須遵循軟件工程原則,根據“項目經理系統分析員軟件工程師具體程序員”的人才結構組建項目團隊,按照項目管理流程和技術規范實施項目,其教學內容必須緊跟產業技術、及時更新教材內容,注重實用性和針對性,項目實訓從最簡單的項目做起,在強調掌握具體專業技能的同時,要求學生善于交流、勤于溝通,逐步提高職業能力。
2 實踐教學理念
印度軟件企業快速進步的重要原因之一就是能夠按照軟件產業發展的需要,通過多層次、多渠道方式培養人才,形成多層次的人才結構。分析軟件產業特點,任何大型軟件項目的實施,團隊是項目成功實施的重要基礎,如圖1所示;把大項目分解成無數小模塊任務,要求按照具體的技術規范和標準施工,遵守項目流程,如圖2所示;不同層次上的人員有著具體而明確的分工,在合作或協同的過程中,需要具備相應的溝通技巧和職業素養,團隊角色職責如表1所示。
在項目實施的過程框架中,工作指南規定了要完成的任務步驟、方法、進度等,各“角色”執行任務時必須參照工作指南,工作模板是指“角色”按照計劃進度完成具體任務以及必須完成的各種文檔結構,QC根據指南,逐一核對任務列表,通過檢查表監督各角色是否按進度執行。在項目實施過程中,項目團隊為了一個共同的目標(某個項目)一起學習和工作,團隊必須具有良好的溝通機制。例如項目專用的公告牌(公告、通知、狀態報告),項目郵件列表;項目網站(文檔、團隊成員主頁、相關的技術論文和筆記以及自學培訓材料),項目會議(關于簡報和問題解決方案),關于團隊成員工作的最佳實踐會議和討論,面對面交談等。
在教與學的過程中,教師必須思考如何讓學生盡可能塊地掌握實際動手開發能力,盡快與產業技能接軌,要求學生給自己制造一個理由來組織學習型工作團隊,通過發放團隊工作規范和模板,簽訂團隊工作責任書、內部承諾等方式來提高團隊學習效率。通過教學實踐,明確人才培養目標,總結并提出團隊、規范、交流的教學理念,團隊是項目基礎,規范是項目規程和技術標準,交流是團隊成員的基本素養,其教學理念符合產業需求和企業實際。
3 職業技能結構
全球軟件產業市場呈現兩大特點,國際化分工合作步伐加快、產業化技術更新加速。前者使得軟件服務外包成為全球性軟件市場中的追逐熱點,涌現了象印度、愛爾蘭、以色列等一些軟件外包強國,后者說明軟件產業中的技術從業人員必須時刻保持適應產業發展的技術能力和技能,尤其是直接面對軟件開發環節中的技能型軟件人才。
印度軟件人才培養模式的獨到之處就在于軟件企業的人才結構合理,其軟件教育的核心理念是緊跟國際軟件領銜企業的技術發展,快速更新教材,注重實用性和針對性,使畢業生能迅速適應企業的需要,可承擔任何大型軟件項目中具體某個環節的規范且熟練工作。對于軟件產業來說,教育部門提供大量技能型軟件人才是軟件工業化生產的基礎,同時這種專門化知識結構的人才模式也將推進軟件流水線生產的標準化。因此,必須分析研究技能型軟件人才需要什么樣的知識、能力和素質結構,應該尋找培養這種能力結構的方式方法。
職業能力包括貫穿技術人員整個職業生涯的就業和創業能力、工作能力、職業轉換能力。現行教育部門或軟件企業中的技能型軟件人才的職業能力之內涵必須得以重新構造;已經不僅僅是動手能力、操作能力和理論知識的代名詞,職業態度、敬業精神、團隊合作交流和職業行為評價等因素都應納入到職業能力的培養中去。以職業活動為導向,以職業能力為核心的原則正在改變學科導向的職業教育培養體系,產業現場的實際需要和認同正在主導專業教育的內容和形式。接受任務、解決問題、執行規范、完成任務,這是最基本的標準。例如對于低檔軟件人員不懂操作系統、計算機原理、關系數據庫原理等常識,并不妨礙他編寫代碼、使用工具開發用戶層界面等專門工作。所謂技能訓練,就是掌握最基本、最必要的專業基礎知識的前提下,在較淺的程度內掌握幾種計算機程序設計語言,然后學習目前流行且高效率的軟件開發工具(如果企業需要,還可以學習一些更加專用的軟件開發工具),學習實用的軟件編程、數據管理、硬件維護等技術。
在教學實踐中,我們提出“圍繞編程規范,研究技能知識結構”的課程建設思想,把技能型軟件人才的職業能力分為特定技能、通用技能、核心技能3個層次,其中核心技能是范圍最窄、通用性最強的技能,體現了職業活動中的最基本技能,具有普遍適用性,在職業生涯中受益終生。特定技能可以理解為按照國家職業分類來劃分范圍,例如各種職業資格證書的認證考核。通用技能通常比特定技能的口徑要寬,可以理解為在一組特征和屬性相同或者相近的職業群中體現出來的共性技能和知識要求。我們提出軟件工程專業的“職業技能”邊界,按照軟件階段劃分,制定不同階段所要求的職業技能,例如編碼階段,要求有規范代碼書寫、單元測試能力,專業教師(或項目經理)要善于觀察、發掘、培養新人,根據學生的各自特點,固化訓練或交叉培養設計、編碼、測試、文檔書寫或管理能力。按照職業成長過程區分,哪些人是技術型,哪些是項目管理型。哪些技能操作型人才。高校不是企業,企業也不該承擔高校職能;在校企合作過程中,圍繞職能能力訓練,企業和高校之間有職責分工的邊界,例如外包委托、實習見習活動等等。在職業素養和能力方面,著重在交流表達、規范寫作、分工合作、團隊協作、敬業奉獻等方面對學生加以訓練。我們提出的軟件工程專業的“職業素養”邊界,堅持任何人都有“用”的原則,關鍵“用”到實處。刁鉆苛刻的人“用”到測試上去,勤奮好勝的人“用”到技術攻關上,豁達人緣好的人“用”到項目協調上去,條理規矩的人“用”到設計上去。
在軟件工程專業的人才培養方案中,專業知識只求核心基礎知識,不求全面知識,知識教學內容必須與技術發展同步更新。軟件工程專業“職業技能”方面的教材較少,這類課程建設有一定難度,需要大量的人力、物力投入。一方面,通過校企合作、校際協作來組織開發此類課程,另一方面,借鑒真實項目的仿真實訓來開發此類課程,此類項目的文檔比較規范齊全,可實施規范訓練。在校企合作的真實項目軟件開發過程中,應該根據學生年級高低,使課程教學和訓練僅局限于某個開發階段,例如編碼階段,著重讓學生看懂詳細設計文檔、規范編碼書寫、模塊單元測試。另外,在課程教學和項目訓練過程中,必須強調學生的說(交流)、寫、做,特別是說和寫?!罢f”可以通過組織定期或不定期、正式或非正式的會議討論,“寫”可以寫個人小結或技術分析等。這些內容和要求都應該作為課程建設的必須內容,并用恰當規范的格式或流程編寫起來。
4 實訓教學方法
根據培養目標和技能要求,通過校企合作形式,開發出一系列實訓項目,構建了以實訓項目為主題的實訓環境,明確提出以項目實訓為主的教學方式。通過教學實踐,提出以“職業技能為根本、工作體驗為主題、知識點恰到好處”的教學方法,如圖3所示。
以實訓項目為主題的工作模式,是仿照軟件企業規范的運作模式,由教師(或項目經理)演示需求分析、總體設計文檔,安排學生編寫詳細需求、詳細設計文檔,將學生分成項目小組,分片包干,個人承包,每人都有機會承擔項目的某個具體內容(如編制模塊,編寫測試計劃和測試報告等)。旨在提高學生的規范化開發能力和團隊分工協作,強化程序設計基礎,使學生掌握軟件開發所必需的知識與技能,熟練運用開發環境和工具。
中圖分類號:G642 文獻標識碼:B
1引言
軟件工程是運用工程、科學和數學的原則與方法研制、維護計算機軟件的有關技術和管理的方法;是將系統的、規范的、可度量的方法應用于軟件的開發、運行和維護的過程。中國的軟件產業以軟件工程為指導思想得到了迅猛發展,使得軟件工程人才的培養發生了巨大的變化。然而,人才需求與教育供給的不足產生了矛盾,以傳統的課程體系、單一的課程模式來培養軟件工程人才已不能滿足軟件產業發展的需求,成為軟件工程教育發展面臨的一個重要問題。解決這一問題的關鍵之一是需要在不斷的教學過程中,研究適應軟件產業發展需求的人才培養模式以及相應的軟件工程教學思路和方法,形成一個正確的課程群體系,在該課程群體系的保證下,不斷提高教學質量使軟件工程教育得到健康穩步發展。
傳統的軟件工程人才培養課程體系存在著以下幾方面的問題:(1)工程特點不明顯。課程安排過于傳統,偏重計算機科學與技術的課程模式,偏重基礎理論和方法的傳授,沒有突出現代軟件工程的發展特點,忽略了體現軟件工程特點的關于質量、進度、成本、度量、團隊、管理等方面的教育和實訓。(2)分工不細,與應用領域結合不緊。軟件工程的應用范圍不斷延伸,已經深入到各個方面。而軟件工程的教育卻沒有達到與應用領域的緊密結合,造成事實上的脫節。(3)單一的課程模式,不利于整體知識的貫穿。傳統的課程體系中,與軟件工程有密切聯系的課程沒有形成一個課程群,每門課程都是按照各自課程的體系獨立授課,使得有些知識點過于重復,有些知識體系不能有機地銜接。(4)軟件工程教育與軟件產業結合不緊。軟件工程的教育不能及時更新教育理念,不能及時跟蹤軟件工程行業的最新發展趨勢。造成當學生畢業后參加工作時,不能很快適應較大型軟件的個人或團隊開發。(5)忽視交流能力的培養。交流能力是工程能力培養的重要方面,但現有的軟件工程教育體制卻秉承了傳統的教育方法,忽視交流能力的培養。鑒于以上這些問題,開展以軟件工程為主線的課程群體系研究是非常必要,也是很有意義的。
2研究現狀
目前,單純的計算機學科式教育已跟不上當今產業界對工程型IT人才的迫切需求。不僅如此,服務于單純的計算機學科式教育的傳統的實踐教學也日益暴露出與企業需求和現代化工程型人才培養不相匹配的弊端。如何突出實踐教學的效果,如何將相關的課程組成一個課程群,使工程化培養在整個培養模式中的地位、分量和作用不斷加強,使學生的知識體系更加科學化、系統化、更加連貫、更加適應社會需求,是目前絕大多數學校和用人單位共同需要解決的課題。
2003年教育部設立了“軟件工程課程體系”研究項目,以確立我國軟件工程教育體系的框架。由若干著名高校聯合組織了課題組,深入分析ACM和IEEE的《Computing curriculum-software Engineering》[1],研究探討我國軟件工程學科的教育思想、課程體系、教學計劃等,并結合國內部分著名高校軟件學院的教學成果,形成了《中國軟件工程學科教程》[2]。國外,在軟件工程專業人才的培養中也提出了許多建議,如文獻[3]中談到Computing curriculum-software Engineering對軟件工程人才培養發揮著很重要的作用。
據調查,通過幾年的探索,目前中國三十多所國家示范性軟件學院均在不同程度上創建了一套以質量為目標,以主動服務于企業為特色,按工程領域需求培養,設置相應的課程體系與實踐環節,同時建立與國內外知名企業合作,成立校內外實訓基地,建立新的工程型軟件人才培養模式。
南京大學軟件工程專業推行的工程化實踐教學體系可以簡單地用“一個教學理念、兩個培養階段、三項保障措施和四門實踐課程”加以概括。一個教學理念,指樹立工程化能力培養與基礎理論教學、專業能力培養并重的教學理念。兩個培養階段,指分別設置工程化教學階段和企業實習階段,把工程化素質培養作為學生全培養期中自始至終關注的主線。三項保障措施,指通過教學方法創新、評價體系創新和實驗室建設創新,保障了工程化教學理念的實施。四門實踐課程,指設立了程序設計、軟件工程課程、信息系統課程、網絡平臺四門特色化的工程化實踐課程。中國國防科技大學在軟件工程專業教學改革實踐中,圍繞著以建立科學的軟件工程教學內容體系為前提,突出實踐,激發學生主動探索和實踐的熱情,利用案例式教學,同步構筑立體化教學互動平臺。東南大學軟件學院提出了校企合作培養工程型人才的模式,通過教學的探索和實踐,把教學和工程實踐緊密地結合起來,突破學期、授課教師、課程各自獨立的局限,實現總體設計、綜合布局、交叉穿插、協同配合的新模式,取得了較好的效果。
3課程群體系的建設思路
工程型軟件人才的培養需要有一個貫穿始終的工程概念作指導的課程體系和與之配套的實踐環節。在課程群體系建設中主要考慮了以下幾方面的問題。
(1) 梳理以軟件工程為主線的系列課程之間的關系,確定以軟件工程為核心的課程群的內容和課程群體系架構。明確課程群中的基礎課程、專業課程和核心專業課程,以及它們的主要內容和大綱,確保課程群的知識體系結構合理、知識銜接合理、實踐環節安排合理,以避免知識點缺乏或知識點重復,以及知識體系不連貫等問題。因此,我們深深體會到深入討論和研究課程群內課程之間的關系和內容是至關重要的。
(2) 課程群的內容設置既要考慮夯實軟件工程的基礎,又要考慮軟件工程的素質和工程化思想的培養。軟件工程的基礎是建立在多個不同學科之上。它不僅需要計算機科學的理論和基礎知識,諸如數學、工程學、項目管理及其它應用領域的概念,同時也需要培養學生軟件工程的基本素質和基本技能??紤]設立了“程序設計類課程+軟件工程類課程+數據庫、網絡等專業類課程+認證類課程”的課程群體系。特別應該強調是在本科的早期階段,為了避免學生養成不良的編程習慣,樹立規范編程和團隊合作的思想,在加強程序設計類課程的實訓環節同時,考慮個體軟件過程和小組軟件過程等軟件工程基礎和素質課程的設置。認證類課程的融入旨在提高學生的基本技能和軟件素質。
(3) 建立起更加完善的、與課程群體系相適應的實驗、實訓、實踐教學體系。工程化思想的培養離不開實踐環節。如何提高學生的創新能力和工程實踐能力是課程體系實踐環節設計的關鍵。實驗是吸收、消化課程內容的第一實踐環節,實驗內容的設計既要考慮對基本知識的理解又要考慮對后續內容的鋪墊,既強調知識與技能的融合,又強調創新思維能力的培養。整個實驗課程體系的設置涵蓋了“技能、基本知識、設計、綜合、創新”五個層次。實訓是對課程內容的總結,在加強案例教學的同時,遵循學生的認知規律,合理安排實訓的內容,既考慮課程內容的銜接又考慮加強工程化的訓練,把提高學生的創新能力和工程實踐能力貫穿于整個實踐環節的始終。我們采用了目標驅動式的實訓策略,使學生在實訓初期,就了解最終完成的系統要實現的功能。從系統目標出發建立層次化的實訓架構,使學生變被動為主動,有的放矢、完整系統地構建自己的知識和技能體系,增強學生在設計上的全局觀念。實訓環節中還考慮了加強與企業的合作,將企業的資源優勢與學校的理論知識優勢充分地結合,共同設計和建設課程群中的實訓項目。
(4) 進行教學方法和教學手段的改革,使其適應軟件工程人才的培養。軟件工程類的課程內容紛雜,在教學過程中容易出現空洞的說教。為了避免這一問題,改革了現有的、傳統的課堂教學方式,在加強案例教學和實踐環節的同時,多采用課堂討論、小組報告、項目答辯等多種形式的教學方法。在課程群體系的建設中重點研究、設計和提出能夠貫穿于軟件工程為主線的課程群的案例。該案例的設計以培養興趣、激發創新激情為源點,從軟件工程的基礎入手,使學生能夠循序漸進地接受并融會貫通所學知識,再進一步地激發創新激情。通過案例的學習,既能鞏固已學過的知識,又能在此基礎上讓學生實際運用他們所學過的知識和技能,模擬案例提出相應階段自己的問題,并給出解決方案,真正使學生體會和做到學以致用。
(5) 以軟件工程為主線的課程群體系研究的同時加強教材建設。目前我院在軟件工程類課程中采用的教材都是原版外文類教材,這些教材從理念上來講是比較新的,但是其中的案例都是國外企業較為流行和實用的,有些內容和我們的國情存在著差距,國內學生接受起來有些難度。為此在引用國外教材的同時,設計符合國情、符合軟件工程人才培養要求、符合課程群建設以及貫穿于整個教學環節的案例教材是我們研究和建設的重點。
4解決的關鍵問題
(1) 課程群內容的篩選。軟件工程專業主要以培養高層次、工程型、國際化人才為目標。如何確立以軟件工程為主線的課程群內容來滿足這一人才培養目標,如何在課程群中強調軟件工程的相關概念、原理和觀點,幫助學生形成系統的軟件工程思想,如何在知識的涵蓋面、創新靈活性和知識與實踐的結合上取得適當平衡,是解決的關鍵問題之一。
(2) 課程群體系的改革。工程型的課程體系是進行工程型軟件人才培養最基礎的環節,如何在傳統課程體系的基礎上,加強各課程之間的銜接、配合,增加貫穿始終的案例教學、添加社會和企業需要的專業技術課程,從而最大限度地發揮課程群體系的作用??紤]將多個課程模塊整合在一起,覆蓋軟件工程教育知識體系SEEK的所有知識領域,并與IEEE-CS/ACM聯合推出的軟件工程計算教程CCSE 2004的教學要求基本吻合,保證課程群內容的科學性和系統性。
(3) 加強先進教材體系建設。遵循“體現素質教育和創新能力培養”、“穩定性和先進性相協調”的原則,在借鑒國際著名教材的基礎上,結合科研成果,對原有教材不斷更新改版同時,著力建設與課程群體系相匹配的高水平教材及實驗、實訓教材。
(4) 校內外實踐教學體系的建立。實踐教學體系包含課程實驗、課程設計、綜合實踐等內容。課程實驗、課程設計是保證課堂教學的非常重要的實踐環節。如何選擇合適的案例貫穿整個課程群體系,是激發學生學習興趣,確保學生掌握一些重要思想的關鍵。綜合實踐活動既可以在校內進行也可以在校外實施。校內的綜合實踐活動是通過貫穿于整個知識體系的大型案例,讓學生實際參與,并承擔相應的角色,在實踐過程中讓學生充分理解和應用所學的知識。校外實訓基地的建立為學生與企業無縫對接提供了便利條件。校內外實訓體系的建立也是學院聯系社會、聯系企業的重要途徑,也是促進學生就業的直接渠道。實訓基地是學院進行教學改革和工程化培養最前沿的,同時也是最富有成效的陣地。因此,建立穩定、有效的實踐教學體系,是關系到人才培養成敗最重要的環節之一。
(5) 信息化平臺的建立。學院信息化建設為整體教學環節提供了有力的平臺支持。如何建立合理、高效的以軟
件工程為主線的課程群體系信息化平臺,也是全面實施教學改革所必須要解決的問題。按照突出“知識的綜合運用能力”、“系統的分析設計和集成能力”、“科技創新和團隊協作能力”培養的指導思想,建立起支撐課程群的實踐教學環境。充分利用現代教學手段和網絡資源,構建在線資源、案例庫、答疑區,增加與學生的交流,提高教學質量。
5結束語
針對軟件工程專業人才培養的需求,加強以軟件工程為主線的課程群體系的研究和建設,不僅使我們的教學內容更加科學、系統、規范、豐富、充實,也加強了與企業之間的聯系,使得課程教學與實踐教學更加協調,實踐內容更加豐富,提高了學生的實踐能力。
今后我們還要進一步加強和完善課程群體系的建設,在建設中既要進一步充實課程群的課程內容,協調各課程之間的相互關聯、銜接,還要充分考慮各教學、實踐環節的完善和改造,引進和借鑒校外資源和社會資源,使學校的教學優勢與企業實踐平臺等一系列優勢資源結合在一起,在使學生得到良好培養的同時,企業也得到了優秀的人才,學校的培養質量也得到了全面提高。
參考文獻
引言
軟件工程是計算機相關專業的一門核心課程,具有綜合性、實驗性極強的特點,其研究的范圍非常廣泛,包括軟件開發的技術方法、工具和管理等許多方面,而且新的技術方法和工具源源不斷涌現[1]。該課程的學習目標旨在提升學生的分析與設計能力、編碼能力、工程素養及團隊協作精神,為學生成為一名合格的軟件工程師打下良好的理論、技術及工程基礎。為了實現這一培養目標,很多院校對軟件工程課程教學進行了改革,其中最為重要的改革應屬于引入案例教學[2]。案例教學法是指教師以一個實際項目的運作為主線,講授軟件開發的全過程,講解時貫徹理論與實踐相結合的原則,從工具、方法、技巧各個角度,對學生進行實用性培養,同時重點培養管理和設計能力,在理論上有的放矢,強調理論的適用和適度[3]。案例教學法的引入改變了傳統教學中知識內容枯燥、理論性強、學生難以理解運用的狀況,在一定程度上激發了學生的學習興趣,活躍了課堂氛圍,提高了教學的質量。但是,在軟件工程實際教學過程中,我們發現了很多問題,教學常常達不到預期效果。
1、軟件工程案例教學過程中存在的問題
1.1以“老師教,學生聽”為主
軟件工程課程教學雖然引入了案例教學,但是,學生在教學過程中仍然處于被動接受狀態。從案例的選擇到案例的開發過程講解仍然以“教師教,學生聽”為主,學生僅僅是項目開發的“旁觀者”而不是“參與者”。因此,學生很難真正體會相關理論的重要性,更不用說轉化為自身的能力素質。學生學完課程后,往往“什么都知道,卻什么都不會”。
1.2案例選擇不合理
在案例教學中,教師通過把知識點與案例相結合,使學生從個案的分析、比較中,更深入地了解軟件系統開發與管理過程,軟件工程案例教學的不足反思與對策研究文/田懷鳳最終達到技術和知識點的掌握,因此案例項目的選擇至關重要[4]。項目太大涵蓋的內容太多,學生很難在有限的課堂教學中把握。項目太小又很難全面包含把軟件工程的相關理論。有的項目算法相對密集,性能要求高,而功能需求簡單,也很難用工程化的方法和手段對其開發過程加以促進。甚至有的教材或者教師仍然以C/S模式的軟件為開發案例,不符合目前對軟件B/S結構或者安卓開發的需求,使得學生學完軟件工程課程之后,感覺課程的理論與現實需要脫節,影響學生學習課程的興趣。
1.3不能滿足學生對課程的不同期望
軟件工程課程一般開設在大三下半學期,這時學生們的動手能力和專業技能差別很大。有些學生經過C++,JAVA等課程的學習以及參加大學生創新項目等方式,已經積累了一定的軟件開發的經驗,他們往往希望能深層次、系統的參與軟件開發,培養管理能力,團隊合作能力等。還有些學生由于自身主動性及能力的原因,動手能力還很弱,案例教學對他們而言更像“紙上談兵”,往往只能記住一些理論、方法,不能通過課程的學習提高專業技能。
1.4實踐課時不足
為了配合案例教學,軟件工程課程一般會設置實踐課時,供學生進行項目開發實訓。但是,由于實踐課時較少,(一般8課時左右),在這么短的時間內,往往只能完成項目的分析和設計的文檔,其他工作要由學生課后完成,因為缺乏監督,難以確保每位學生都能保質保量的完成。
1.5對最新的項目實訓工具介紹不足
隨著軟件工程理論的發展,軟件項目實訓的工具也在不斷涌現,比如CASE工具、自動化測試工具、項目管理工具、配置管理工具等。在以往的案例教學中,教師往往注重講解案例項目的開發過程理論,很少涉及這些工具的使用介紹,而實際情況是很多學生不知道用什么工具來表示分析設計的結果,也不清楚數據庫設計、軟件測試、項目管理等相關工具有哪些,如何使用。
1.6考核方式不能有效地激發學生的課后學習興趣
采用平時30%+考試70%的考核方式,考核的重點還在理論知識的“紙上談兵”,不能全面反映學生課后的努力,不能有效激發學生的學習興趣。
2、改進措施
為了切實提升教學質量,培養學生的專業技術能力,我們以解決問題為目標,以教學模式的改變促進教學內容和考核方式等多方面有針對性地改進。
2.1以學生為中心的課堂教學模式
徹底改變以“教師講,學生聽”為主的教學模式,改變教師的角色,讓教師的“教”變為項目的“引導”,學生的“聽”變為項目的“開發”。把案例教學,變為項目驅動教學[5]。在整個教學過程中,由教師引導學生進行項目開發,讓學生在開發過程中感受軟件工程的理論,變“要我學”為“我要學”,再由教師對相應理論進行指導總結。具體實施方案如下:(1)有選擇性的分組分工,滿足不同學生對課程的不同期望在課程學習之初,教師對全班學生的專業技能和課程學習期望進行調研,選擇專業技能較強或者有一定的軟件開發經驗的的幾名同學擔任組長,再由組長以自愿的結合的方式招募組員,將全班同學分成5人左右一組的幾個項目小組。組長擔任項目經理,小組中的其他成員根據能力分別擔任編碼、測試、數據庫、美工等角色。這種分組方式,既防止了隨機組合時的各組學生專業能力不均衡,又滿足了不同學生的不同角色期望,自愿組合又利于團隊融洽和交流。(2)從學生的實際需求產生項目案例在案例項目的選擇方面,也完全以學生為中心,讓每個開發小組自行選題。一般來說,功能需求較多,流程復雜而實現技術難度較小又為大家所熟悉的題目最適合。為了確保每組都能選到適合的題目,教師進行了引導,引導學生們從自己的日常生活需要出發,選擇各類信息管理系統作為項目案例。比如“大學生社團管理系統”,“校園二手圖書交易系統”等。(3)教師走下講臺,引導學生進行項目開發課堂教學不再是結合案例的理論講授,而是根據軟件開發的生命周期,由教師引導學生小組進行項目開發,并在開發的過程中,總結軟件工程的理論。比如在需求分析階段,教師首先讓學生在課后以小組為單位,討論自己項目的需求,再由教師在課堂上組織他們進行交流匯報,每一組匯報時,其他小組的成員都成為用戶角色,提出新問題,直到確認項目的需求。然后由教師總結需求分析的方法,引導學生使用MicrosoftVisio和RationalRose進行需求規格說明書的撰寫。軟件生命周期的其他階段按照同樣的方式進行,先由學生小組自行主動學習開發,再由教師組織交流討論,總結方法,引導學生使用相關項目開發的工具,一步一步完成項目開發。在這個過程中,由各小組的組長分配任務,協調安排人員,因為組長們有一定的項目開發經驗和開發技能,保證了項目能順利進行。小組內每個成員的團隊協作能力和組長的組織管理能力都得到了鍛煉。(4)成果匯報,總結經驗在實踐課時,安排所有學生進實驗室,集中完成項目開發。由于各小組學生的能力有差異,項目進度各不相同,集中開發,有利于各小組的交流學習,教師也能隨時指導。等所有小組的項目開發任務完成后,由小組組長進行成果匯報展示,教師和其他同學充當評委,指出得失成敗,總結經驗。教師從項目實踐中讓學生感受文檔、規范編碼、團隊合作、項目管理等重要概念。這種“學生自學找出不足-交流匯報找出解決辦法-教師總結理論經驗”的項目驅動教學方法,極大地提升了學生的學習興趣和主動性,取得了較好的學習效果。教師從知識傳授者變成了項目開發的引導者、組織者和評價總結者。
2.2以項目開發為驅動設置教學內容
在以項目開發為驅動的案例教學中,對教師的能力提出了更高的要求,教師要能對項目開發的全過程精準的把握。在教學過程中,把教學內容巧妙地和項目開發任務結合起來,在學生最困惑最需要幫助的時候給與實踐和理論的指導。每個階段開始之前,提前將以往容易被忽略的項目實訓工具進行介紹,比如軟件分析與設計的工具MicrosoftVisio,面向對象設計工具RationalRose,數據模型建模工具PowerDesigner,軟件集成編碼開發工具VisualStudio等,讓學生們掌握最先進的工具,更方便他們進行項目的開發。
2.3項目開發為主的考核評價方式,激發學生的學習興趣
以項目開發為驅動的案例教學法,需要學生花費大量的課余時間,所以我們采用“項目發過程50%+項目文檔20%+開卷考試30%”的方式進行考核。項目開發過程成績=團隊對軟件工程的執行情況+團隊的分工與協調情況+軟件的復雜程度和最終實現情況。這種考核方式既要求學生小組不折不扣地完成項目過程開發,又充分強調了項目文檔的重要性,再通過開卷考試強化軟件工程重要的理論概念,將理論和實踐充分集合,激發了學生的學習興趣,取得了很好的效果。
3、結束語
以“學生為中心,項目開發為驅動”的軟件工程課程教學方法,能更好地激發學生的學習興趣,將學習的角色從受眾變成主動者,讓學生從枯燥的理論學習環境中解脫出來,全面深入體驗軟件工程分析、設計、編碼、測試的開發過程,更好地培養了學生的理論應用能力,團隊合作能力,問題解決能力,提高了工程實踐能力。接下來,有條件的學校可以開設軟件工程課程設計課程,或者與企業合作,選擇最新的、為企業生產應用所需要的項目作為開發案例,讓學生真正的做到學有所用。還可以將好的項目案例形成案例庫[6],供后面的學生參考選擇開發。培養具有高素質專業技術人才是一項需要長期堅持的系統化工程,需要持之以恒的不懈努力以及教學實踐的不斷嘗試和反饋。
參考文獻
[1]張海藩.《軟件工程導論》(第6版)[M].清華大學出版社,2013
[2]王辰尹.面向應用型IT人才培養的軟件工程教該關鍵問題研究[J].計算機教育.2014
[3]李峰.計算機軟件工程專業卓越計劃實踐教學.計算機教育.2013
[4]呂云翔.《軟件工程實用教程》[M],清華大學出版社,2015
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)02-0072-02
淮北職業技術學院軟件技術專業從1999年起開始招生,與北大青鳥合作開設青鳥特色班,2015年與武漢慧眾聚成合作開設ACCP軟件工程師班,共同培養軟件工程師。2015年,軟件工程專業獲得安徽省質量工程的專業綜合改革試點項目立項。軟件工程專業培養的定位就是在熟練掌握計算機軟件編寫的基礎上,讓學生可以利用所學計算機方面的知識,與傳統的工程領域相結合,培養可以進行各個層次軟件開發的復合工程型人才。
建設目標:
1 教學團隊建設目標
提倡教師專崗化,按照分類循環培養的原則,通過“引聘名師、培養骨干、校企合作、專兼結合”等途徑,實施“名師”工程、“雙師”工程,建設一支由學科專業教師、企業高級技術人員組成的多元化、高水平、結構合理、梯隊完整、充滿活力、勇于探索、特色鮮明的師資隊伍,逐步形成年齡結構、職稱結構、專業結構、學緣結構合理,既能承擔軟件工程專業理論教學任務,又能勝任實踐教學任務和承攬企業技術服務、項目研發的教師團隊。
2 課程與教學資源建設目標
按照“夯實基礎、強化應用”的原則,基于KAP-CDIO模式(即注重知識(Knowledge)、
能力(Ability)和職業素質(Professionalism),結合構思(Conceive)、設計(Design)、
實現(Implement)和\作(Operate)[1]引進行業人才培養標準,圍繞“移動互聯網開發與應用”進行課程建設,實現“課程建設精品化、課程模塊精細化、課程評價標準化、專業教材系列化”的優質課程體系,重點加強軟件技術、移動互聯網技術等課程群的建設。 以課
程建設為抓手提高專業教學質量。依托網絡課程,建設軟件工程專業在線學習中心、移動互聯網軟件工程師網上教學論壇;進一步,圍繞移動互聯網方向構建課程群,建設1-2門精品視頻公開課、3-5門校級精品課,構建起網絡課程、教學論壇、精品課程、精品視頻公開課在內的課程群教學資源體系;到2019年通過資源整合,建成開放、立體的教育資源平臺。 按照“開放性、共享性”原則,深化校企合作,整合校企優質教學資源、引進企業開發流程共建“軟件工程實訓教學平臺”,按軟件企業項目管理和開發摸式,進行軟件系統開發實訓,為學生、教師提供軟件開發實戰平臺。 以學生課外科研立項及各類橫向課題為牽引,建設學生課外創新型實驗平臺,實現本專業學生早進課題、早進實驗室、早進團隊、早進社會。 在教材建設方面,主干課程選用國家級規劃教材,加強實踐教學環節的教材建設,學校與企業聯手開發具有創新性、綜合性、可以在實例中培養學生綜合應用能力的實訓教材,計劃4年內在完善已有實訓教材基礎上校企聯合開發“移動互聯網開發與應用”系列實訓教材2-4部。
3 教學模式改革目標
采用“1+1+1”三段式的人才培養模式,提升學生工程能力,實現企業對軟件工程專業人才需求的無縫對接培養目標。工程項目為載體,使學生以主動的、聯系的方式學習工程,通過項目設計將課程體系有機地結合起來,通過項目將知識、能力和素質有機結合,項目按規模和范圍分為三級: 一級項目為:課程設計、綜合項目設計、創新項目設計; 二級項目為:軟件算法綜合設計、軟件工程與智能手機應用軟件開發、移動物聯網開發應用; 三級項目為:方向課程群。
整個培養計劃是以一級項目為主線,二級項目為支撐,三級項目以移動互聯網技術、智能手機應用軟件開發等核心課程為基礎,將核心課程教育與對應的專業整體統一起來,強調以軟件工程項目復現方式進行實踐教學,讓學生自己成立小組,從頭到尾參與到工程化的軟件開發的全過程。在三級課程體系中,一級項目中課程注重每單元實訓,以單元知識點為基礎,利用實訓鞏固知識點內容;二級項目在單元實訓的基礎上實現串聯,讓學生針對具體工程進行程序設計,三級項目在二級項目基礎上,進行項目實訓和畢業設計,對實訓和程序設計內容進行整合,按照工程項目開發流程進行完整的項目開發,從而在教學的過程中體現了知識(Knowledge――專業知識)、能力(Ability――分析與問題的能力,交流與組織協調的能力,主動獲取知識的能力,科學高效管理項目的能力,工程實踐的能力和參與國際競爭的能力)和職業素質(Professionalism――創新素質、團隊素質和敬業素質)。
將專業課程內容融合到相關實踐項目中,采取基于項目學習的全新“三維教學模式”,以項目探究、小組協作為教學手段,整合課程內容,強化實驗、實訓環節。結合課程體系改革,運用“項目探究”、“小組協作項目開發”等教學法,使學生接觸實際項目,積累實際經驗,在小組合作項目開發過程中培養學生自主學習、協作學習、溝通交流及創新能力,同時注重綜合素質培養。力爭取得一批教學改革成果,在地方性院校軟件工程專業建設和教學改革方面起到示范引領作用。
4 實踐教學體系建設目標
制定符合國際工程師培養標準與社會發展需求的 “兩大平臺(基礎教學實訓平臺和科技創新實訓平臺)、四個模塊(基礎技能實訓、專業技能實訓、綜合設計實訓、科技創新實訓)的層次遞進的實踐教學體系,[2]為安徽省尤其皖北地區的移動互聯網產業培養能夠從事移動互聯網WAP平臺搭建、移動應用軟件、移動Web應用和移動搜索引擎設能適應未來軟件技術和移動互聯網技術發展需要的高素質工程型軟件人才。
5 教學管理體系建設目標
形成一支責任心強, 水平高, 效果好的教學隊伍,更新教學理念,提升水平,加強教學管理制度建設和教學過程 ,優化教學質量評價體系,完善教師教學、科研獎勵機制,形成一套科學有效的制度,為專業“綜合改革試點”質量工程項目順利實施提供有力保障。
通過本項目探索實踐,目的是為地方高校提供可供借鑒的,具有移動互聯網特色的實踐型、創新型軟件工程專業人才培養模式,為社會培養一批適應移動互聯網產業發展、產業創新服務軟件工程實用型專門人才。以淮北職業技術學院計算機系軟件技術專業教學科研團隊為核心,形成2~3支由學科專業教師和企業合作的技術骨干組成的多元化、高水平、結構合理、梯隊完整、充滿活力、勇于探索且在省內有較高的學術地位及較強影響力的優秀教學科研團隊。通過課程建設與改革,形成以學習論壇、精品課程、網絡課程、教學視頻、試題庫、教學素材為載體,以“移動互聯網技術”課程為特色課程的專業主干精品課程群,構建立體化、開放式的教學資源平臺和環境??陕摵掀髽I出版適合培養軟件工程應用型人才培養的“移動互聯網技術”系列實驗、實訓教材。通過實踐教學體系的改革和實踐教學平臺的建設,建立模擬企業實訓環境、項目開發流程的軟件工程實訓平臺,建立校企協同創新的大學生創新實踐平臺和產、學、研基地。通過體制改革和管理制度建設,構建凸顯軟件工程特色的教學質量保證體系,提交系列相關文件和軟件工程專業綜合改革試點建設總結報告。建立企業參與的專業教學指導委員會,聘請企業高級技術人員參與培養方案的制訂、專業建設、教學評估等。引入第三方評價機制,構建科學的教學評價體系,通過學校、企業、學生對學生工程實踐能力進行綜合評價,使教學評價與企業用人標準接軌使人才培養與企業、用人單位要求吻合。
國家示范性軟件學院的培養目標是培養“多層次、實用性、復合型和國際化”的軟件工程人才。如何培養軟件技術人才所必需的實踐能力、工程能力和創新能力,一直是軟件人才培養所面臨的課題。目前,大多數軟件學院都設置了實踐教學課程體系,并開設了工程實踐環節,但普遍缺乏對實踐教學環節的過程管理,效果并不盡如人意,具體表現如下:
(1)實踐教學體系設置不夠完善,缺乏對實踐教學的過程管理,沒有建立配套的成績考核體系。
(2)不重視工程化思想的培養,沒有很好利用先進的實踐管理平臺跟蹤管理學生實踐項目。
(3)缺乏具備行業工程領域背景和國際化背景的高水平創新實踐教學團隊。
因此,如何完善實踐教學體系。建設實踐管理平臺,培養創新性的教學團隊,把突出理論教學向“實踐引領理論”教學過渡,是我們亟需解決的問題。
1 實踐能力訓練體系的構建
在設計軟件工程專業實踐課程體系過程中,我們依據國際先進的CDIO工程教育模式,把實踐教學按照課程實驗、項目實踐、工程實訓幾個階段設計,進行了全面改革。
CDIO工程教育理念是融構思(conceive)、設計(Design)、實施(Implement)和運行(Operate)能力于一體培養人才的模式。構思、設計、實施和運行涵蓋了現代工業產品從構思研發到運行改良乃至終結廢棄的生命全過程,以此全過程為載體,培養的不僅是學生的理論知識和專業技能,而且包括終身學習能力、團隊交流能力和大系統掌控能力[3-4]。
我們把CDIO工程教育理念引入到軟件工程專業時,通過實驗、實踐、實訓一體化的工程能力訓練體系,完成CDIO能力的培養。如圖1所示,我們設定了明確的階段培養目標:即熟練的程序員(程序上熟悉軟件工程原理和方法的軟件設計者(軟件)――應用解決方案的優秀團隊成員(系統),并將這一思想貫穿到人才培養計劃的各個環節。
根據這一思想,我們設置了相應的實踐課程體系。如圖2所示,把實踐性教學分為課程實驗、項目實踐和工程實訓。其中課程實驗包括設計性實驗和驗證性實驗;項目實踐一為了提高學生的軟件開發能力,讓學生能夠熟練掌握至少一種編程語言,增強信心,因而項目不大,適合學生個體獨立完成,時間安排在大學二年級。通過項目實踐一的培養,學生的學習熱情大大提高,學習目標更明確。
工程實訓一為了讓學生熟悉軟件工程研發的全過程,周期為3周左右。學院可以聘請軟件開發公司的項目經理指導實訓,用軟件工程的理論指導軟件開發,最終使學生完成需求分析、建模、設計、代碼編寫、測試、部署全過程。
在工程實訓一的基礎上,需要進一步提升自我管理、協調及團隊合作精神,因此項目實踐二以小組成員分工協作方式共同開發一個完整的項目,進行分析、設計和編碼文檔,學生的學習活動在項目開發的過程及軟件工程方法的驅動下完成。
最后,學生通過工程實訓二,即企業實踐參與實際的軟件開發工作,全面提升軟件開發素質,完成由學生到軟件開發工程師的角色轉換。在工程實訓二中,可以安排學生進入企業實習基地實習,模擬企業真實開發環境,嚴格按照企業管理模式管理、考核,讓學生體會實際項目開發的工作氛圍和職業要求,提高團隊協作意識和溝通技能,養成良好的工程習慣,全面提升就業競爭力。
2 項目實踐管理平臺的搭建
沒有高質量的開發過程,就沒有高質量的軟件。軟件工程過程化的管理是保證實踐教學的重要環節。我們建設了完善的項目實踐管理平臺,對學生實踐過程開展科學、規范化的過程管理,組成如圖3所示。包括知識管理(wiki)、源代碼管理、錯誤跟蹤管理、源代碼統計、軟件測試管理、項目進度管理。這幾個管理平臺并非獨立管理軟件,而是通過統一認證平臺集成各管理子系統,實現單點登錄及統一用戶權限管理。
(1)知識管理。主要為學生提供學習交流的平臺,學生可以在該平臺上設計項目計劃、工作方案,撰寫工作日志,提高團隊合作交流能力及獨立解決問題的能力。
(2)源代碼管理。用來管理程序源代碼和文檔,為項目開發團隊提供一個管理軟件整個生命周期的平臺,有效實現了團隊的協作和服務。
(3)源代碼統計。為教師提供監管學生提交的程序代碼的平臺,教師可以隨時檢查學生提交的代碼,統計完成代碼量情況等,實施過程控制。
(4)錯誤跟蹤管理及軟件測試管理。幫助學生管理軟件測試過程中發現的錯誤,可以與源代碼管理平臺間進行有效的整合。測試人員可以將測試過程中發現的錯誤及時反饋給開發人員,隨時監督程序的修改狀況,提高管理效率,保證項目的順利實施。
(5)項目進度管理。幫助學生有效管控項目進度,減少項目溝通、協調、進度反饋會議,及時發現和管理項目問題。
實踐教學管理平臺支持環境覆蓋了企業中軟件開發平臺的主要功能,有效實施了實踐教學過程和質量保障過程的統一管理,也為學生實踐軟件工程理論和方法提供了有力的底層支撐。在項目實踐教學中,我們采用符合軟件產業界標準的軟件過程規范,制定了開發流程、文檔模板和評審標準,讓學生能夠切身經歷項目開發的完整過程,深刻理解軟件工程系列課程的理論和方法,提高實戰技能和團隊協作能力。
3 考核體系的建立
成績考核是實踐教學的重要環節,抓好這一環節,能對學生掌握的知識進行正確合理的評估,提高教學質量。實踐教學的考核方式不同于傳統的考核方法,它更側重于對學生的實踐動手能力、綜合運用能力、文檔寫作能力、團隊協作及創新能力的考核L7 J。
項目實踐、工程實訓l成績可以從下面幾個方面進行重點考核:
(1)業務能力(滿分60分)。
?完成項目進度能力。
?項目完成質量。
?文檔的規范性。
?英文閱讀能力。
(2)綜合素質(滿分40分)。
?工作積極主動性。
?學生的自我成長能力。
?制度、紀律的遵守。
?團隊協作能力。
上面的每一項考核均可以劃分為優、良、中、差四個等級,并采用不同的分數權重,最終得到一個總的實踐分數。這種考核結果能夠比較全面地反映學生的實踐學習情況,促進學生的全面發展。
4 創新實踐教學團隊的建立
提高實踐教學質量,需要建立一支具有行業背景、國際化的創新實踐教學團隊。防止實踐類課程蛻變為理論教學,教師必須有新的教學理念、講授模式和課程管理機制。同時,軟件工程系列課程的特點要求教師要成為一名具有豐富開發經驗的項目管理人 員。在實踐教學中,教師不再是課堂講授者,而更像一位工程項目經理,負責提出項目的要求、檢查項目(學生)的開發進度、監督開發過程、評定軟件質量。在課堂集中教學中,教師又像一位主持人,召開的是項目進度匯報會、技術交流會、軟件演示會等。
創新型實踐教學團隊的建立需要一批高素質的教師,教師要掌握最新的軟件技術,使用主流的軟件開發平臺,對教師能力有較高要求。所以,要重視對教師的培養工作,鼓勵和資助年輕教師攻讀學位和進修,通過團隊合作、以老帶青的形式,提升青年教師的研究能力和教學水平。為保證教師團隊的整體質量,我們通過各種方式提高教師團隊的工程領域背景和國際化背景,主要包括:
(1)研究中心負責前沿技術研究并開發原型系統,企業負責將其產品化并進行市場推廣。
(2)派研究生和高年級本科生到軟件企業從事研究和軟件項目開發。
(3)組織教師參加企業新技術培訓。
(4)定期組織教師與企業研發人員開展軟件新技術和項目管理經驗交流。
(5)定期派教師到國外進修或參加國際交流會議。
中圖分類號:G640 文獻標識碼:A 文章編號:1002-4107(2014)03-0071-02
軟件產業作為信息產業的核心是國民經濟信息化的基礎[1],一直受到世界各國的高度重視。目前,我國各類理工科高等院校大都有計算機或軟件專業,每年都有大量軟件專業的畢業生走向社會,然而這些畢業生中有很大一部分無法滿足軟件產業發展的需要,因此產生了企業需要大量的計算機及軟件人才,而大量的計算機及軟件專業畢業生卻難于找到合適工作的局面,計算機軟件人才緊缺已經成為抑制我國軟件產業發展的“瓶頸”[2],不僅缺乏高層次的系統分析員、項目總體設計師、軟件市場開拓人員、軟件質量評測人員,而且缺少大量從事基礎性軟件開發工作、承擔標準化程序編寫和軟件測試的人員[3]。我們培養的學生90%以上是面對企業的軟件從業人員,因此我們在教學改革過程中必須非常重視社會需求,并且將社會需求反映到我們的教學改革規劃和措施中來。
高等教育面臨著為經濟建設服務的新形勢,培養大量的軟件適用型人才是發展IT事業的首要任務[4]。尤其對于地方性普通高等院校來說,沒有重點高校的生源,又不能等同于職業培訓,如何培養能夠適應科技、經濟和社會發展需要,具有良好整體素質的應用型專門人才是我們面臨的重大課題。因此,在國家積極倡導提高教學質量之際,我們總結全國首批軟件學院十二年辦學經驗,提出軟件工程應用型人才培養方案與課程體系改革的研究與實踐課題,旨在培養出適應地方經濟發展需要的應用型軟件人才。
一、軟件工程專業人才培養存在的問題
(一)目標定位模糊
地方高校軟件工程專業很多是利用原有計算機科學與技術專業的資源建立起來的,其人才培養方案多數是對原有計算機科學與技術專業的培養計劃進行修改,并沒有真正地從工程角度和社會需求對軟件人才培養目標進行定位,培養計劃的偏差最終將導致人才培養無法實現專業細化,達不到企業對軟件工程人才的要求。
(二)教學資源陳舊
地方高校軟件工程專業的師資基本是以原有計算機相關專業教師為主,很少有具備大型軟件開發經驗的教師,教師的知識結構陳舊,缺乏實際軟件的開發經驗,導致課堂教學經常是紙上談兵,培養出來的學生無法勝任軟件的開發工作。
(三)理論與實踐脫節
地方高校軟件工程專業的實踐教學并沒有按照軟件開發流程進行實踐教學安排,更談不上如何根據軟件工程自身的生命周期和軟件工程管理的需要進行實踐教學的安排。因為缺乏真正的實踐,學生很難將在學校學到的知識應用到實際工作中,很多學生須經過企業培訓方能適應崗位需要。
二、軟件工程專業應用型人才培養的目標定位
計算機軟件行業一直是最具潛力的行業,合理的軟件人才層次應該是高級(科學型)、中級(工程型)、初級(應用型)的“金字塔”型,但實際上我國的軟件人才呈橄欖形分布,缺少基礎程序員,因此必須從應用型培養做起,這樣才能形成合理的軟件人才結構。只有更多的軟件程序員產生,由其作為基礎發展起來的高級管理人員才能逐漸成長。
大慶師范學院軟件工程專業是在計算機科學與技術專業的基礎上成立的,專業成立之后我們感到專業的發展首先要明確“培養什么樣的人”,即有明確的目標定位。2011年,大慶師范學院已經將人才培養總體目標定位于培養適應地方經濟發展需要的應用型人才,在這一原則指導下,我們先后到許多軟件企業和同類高校走訪調研,根據目前企業對軟件人才的需求和生源層次特點,把目標定位在培養大批初級應用型和部分中級工程型軟件人才上,即培養適應地方經濟社會發展和油田發展建設需要,具有扎實的軟件工程專業基本理論、專業知識和基本技能,具有參與軟件工程項目開發的實踐能力,能夠在軟件企業以及信息產業相關領域從事軟件開發、維護、管理和軟件測試等工作的應用型人才。
三、軟件工程專業應用型人才培養方案的變革
明確了培養目標,接下來就要考慮“怎樣培養人”。為此我們根據調研了解的情況及大慶師范學院的生源特點,對軟件工程專業的人才培養方案作了全面調整,按照新的培養目標,以軟件開發及生命周期為線索對核心課程和模塊課程重新布局,課程設置整體向實踐應用方向傾斜,本科四年級不再設置課堂教學,而是用于實踐或實訓,理論教學總體課時刪減,專業必修課、選修課的實踐學時大幅增加,加強了學生應用能力的培養,便于學生畢業即能上崗。
(一)“平臺+模塊”的課程體系
軟件工程專業的培養目標是滿足軟件行業的社會需求,面向應用、面向工程培養從事軟件應用和開發的中、低級軟件工程師,高級軟件工程師、系統分析人員、軟件項目策劃和管理人員、系統架構師等是靠工作經驗積累才能逐步達到的。因此圍繞著培養目標制定培養方案,將素質與能力培養作為人才培養的核心,以培養學生專業理論、技術、技能以及工程經驗為教學主體,以培養高素質應用型軟件人才為目標構建課程體系。面向市場需求,不斷調整與軟件產業實際需要相適應的課程,增加與工程實踐和前沿技術緊密結合的模塊課程,以保證軟件工程專業人才培養的可持續發展。
根據培養目標和企業需求,我們采用“2+1+1”模式(即兩年基礎課、一年專業拓展課、一年企業實踐課),課程體系為“平臺+模塊”(基礎課程平臺、專業模塊課程),實踐教學環節和素質拓展環節貫穿于教學全過程。平臺課程包括公共基礎和專業基礎課程,模塊課程包括軟件工程核心課程和選修課程,核心課程在原來程序設計語言類、軟件開發工具課程基礎上增加了軟件工程化開發模塊課程(軟件需求分析、軟件建模技術、軟件質量保證與測試、軟件項目管理等),選修課不僅增加了新技術新方法的介紹,還設置了方向提高課程,目的是進一步夯實學生的專業理論基礎,提高學生的專業技能水平。此外通過實踐教學(課程設計、專業技能訓練、專業實訓、畢業設計)和素質拓展訓練(人文、藝術等通識選修課、社會實踐、創新實踐活動、職業發展與就業指導、大學生安全級心理健康教育等)加強學生能力培養。學生經過三個階段的培養(基礎知識和專業基礎知識階段、專業技能訓練和素質拓展教育階段、企業實訓階段),可以直接面向就業企業。
(二)建立教學實踐基地,加強實訓
實踐教學是軟件工程專業本科教學的一個重要環節,是培養學生工程能力的一個重要手段[5]。改革后的教學方案中,課程設計、專業技能訓練、創新訓練與競賽、專業實訓及畢業設計等實踐教學的學分已占總學分的32%。學生大三時所學課程,是根據社會需求由企業和專業針對學生特點共同制定的,融入了軟件開發全過程所涉及的工具和方法,為學生實訓做好了鋪墊,這期間通過課程設計和實際項目驅動教學,甚至直接聘請企業工程師前來授課,把豐富的工作經驗融入教學,使學生實踐能力得到鍛煉。大慶師范學院積極與地方企業聯合,以社會需求目標導向為基準,建立教學實踐基地,努力為學生搭建就業平臺,營造良好的就業環境。作為實訓基地的企業每學年都來校對學生進行企業需求和新技術發展等介紹;大學四年級時學生根據自己的興趣和特長選擇實訓基地,參與一個完整的項目開發訓練,90%以上的學生經過3―5個月的實訓直接應聘上崗,畢業就能進入工作狀態。同時也派專業教師前往企業跟班實訓,一方面指導學生,另一方面鍛煉教師的實踐教學能力。大部分教師沒有參加大型軟件開發的經驗,因此每個假期都選派年輕教師到企業學習鍛煉,經過兩年的實踐,我們已經有七位教師取得了全國計算機專業教師軟件工程設計開發“雙師型”教師證書,教師的實踐教學能力大幅提升。
經過兩年的踐行,大慶師范學院軟件工程專業根據軟件產業發展對人才多樣性需求,探索應用型軟件人才培養規律,確定了應用型軟件人才培養目標,制定了《專業方向分類加主流軟件技術分類》的多元化培養方案,即根據社會需求及自身實際情況,為學生提供多種類型人才培養方案,以能力培養為核心,將工程素質教育融入課程體系,通過創新計劃和學科競賽等實踐鍛煉培養學生創新精神、協作精神和解決實際問題的能力,通過實訓幫助學生快速達到企業的工作要求,學生的就業質量明顯提高。下一步我們將進一步細化專業方向,將原來僅以主流軟件劃分的學習方向細分為專業方向,讓學生根據自身特點選擇軟件開發與管理、移動網絡編程、嵌入式軟件開發、數字媒體技術應用等專業方向,學習更精細的專業課程,做到厚基礎、寬口徑,更好地為地方培養大批應用型高素質軟件人才。
參考文獻:
[1][3]韓中元,雷國華,李軍.應用型本科軟件工程人才培
養模式的探究與實踐[J].計算機教育,2010,(10).
[2][4]王曉銀.計算機軟件人才培養模式的研究[J].陜西
中圖分類號:G642.3 文獻標識碼:A 文章編號:1002-4107(2013)11-0009-02
軟件產業是國家戰略性新興產業,是國民經濟和社會信息化的重要基礎。軟件產業要發展,人才是關鍵。隨著全球信息化進程的加快和軟件產業的不斷發展,迫切需要提升軟件工程科技隊伍的創新能力,迫切需要應對經濟全球化挑戰的國際化軟件工程人才。然而,當前我國軟件人才培養的速度和質量均難以滿足實際需求。一個突出的問題是:高等院校培養的計算機及軟件人才的能力素質不能很好地滿足軟件企業對人才的實際需求,尤其在教學實踐環節上,存在許多不足。建立校內實訓和企業實訓相結合的軟件項目實訓教學模式,可以加強學生的工程實踐能力、團隊協作能力和工業化素質培養,從而提高軟件工程專業人才培養的整體質量。
一、開展校內實訓教學的必要性
目前我國軟件人才培養面臨一種尷尬的局面:一方面企業對于計算機及軟件人才需求強烈、高校計算機及軟件專業畢業生供給旺盛,而另一方面軟件企業招聘難、計算機及軟件專業畢業生就業困難的現象普遍存在。如何有效縮短產生在軟件人才培養和軟件企業需求之間的供求距離,幫助學生順利從學??缛氲狡髽I,已經成為當今教育界和企業界共同面臨的問題[1]。
實習和實訓是提升學生的工程實踐能力和工業化素質的有效途徑。實訓是針對在校學生缺乏項目實戰經驗的問題,以軟件企業需求為導向,以提高學生的職業能力為目標,以參與實際應用項目開發為背景,在學校能控制的狀態下,按照人才培養規律與目標,對學生進行職業技術應用能力訓練的教學過程。學生在實訓中分別擔任不同角色,以團隊形式進行項目分析、方案設計以及應用程序開發和交付等所有過程,它不同于課程設計,也有別于實習[2]。實訓拉近了企業與學生之間的距離,實現了學生就業與企業需求的平滑對接。
當前,學生參加項目實訓的主要途徑是到校企合作企業或校外實踐基地。然而,隨著軟件工程專業招生規模的擴大,軟件企業出于工程質量、工期要求、客戶資料及企業核心技術保密等多方面的考慮,無法接納大量的學生進入企業進行工程項目的實踐[3]。為了滿足大多數學生的軟件項目實訓需求,構建企業實訓和校內實訓相結合的實訓教學體系已經成為一種必然的要求。為此,哈爾濱理工大學軟件學院成立了軟件實訓中心,在校內為學生搭建一個模擬企業真實工作環境的學習實踐平臺,借鑒企業項目實訓流程,以項目驅動的模式對學生進行軟件項目實訓,訓練學生按照軟件項目管理規范和要求,參與團隊開發,熟悉項目開發的完整流程,積累項目經驗,從而提升工程實踐能力、團隊協作能力和工業化素質。
二、校內實訓教學的總體思路
(一)總體思路
校內軟件項目實訓要堅持校企合作和產學研互動,以軟件企業崗位技能需求目標為導向,以真實軟件項目開發為驅動,以一流的設備和工作環境為依托,以有豐富工程經驗的實訓教師為指導,遵循軟件企業的管理規范和軟件項目的標準流程,在項目實訓中培養、提升學生的工程實踐能力、團隊協作能力和工業化素質,從而縮短人才培養和企業需求之間的距離,協助學生盡快實現從“學生角色”到“職業人角色”的轉變。
(二)基本原則
校內軟件項目實訓應該遵循仿真性、適用性、先進性和創新性原則。
1.仿真性原則。堅持“從企業中來,到企業中去”的原則,包括實訓項目、管理形式、質量評估、指導教師都來源于企業,而實訓效果和質量,最終也要到企業中去檢驗。
2.適用性原則。軟件項目實訓要結合學校軟件工程專業人才培養的目標和特點,根據國家經濟結構和產業結構調整對軟件人才培養的需求來進行,既具有針對性,又具有適用性。
3.先進性原則。用于軟件項目實訓的設備和技術要具備先進性,實訓條件應與軟件企業的同期設備具有相同的水平,并爭取有一定的超前性。
4.創新性原則。采用先進的CDIO工程教學理念,以項目驅動的方式實施實訓教學,發揮觀念引領和思想導向的作用。
三、校內軟件項目實訓的策略
開展軟件項目實訓的兩個關鍵要素是實訓案例和指導教師,同時涉及實訓環境、教材、制度和平臺建設等。
(一)實訓環境建設
實訓環境是開展校內項目實訓的基礎條件,應該體現仿真性和先進性原則。目前,哈爾濱理工大學軟件學院專門成立了軟件項目實訓中心,致力于在校內搭建一流的實訓環境,現已建成兩個實訓室和一個討論室,配備了最先進的PC機和軟件開發環境,每個實訓室可以容納68人,人均占有面積2平方米,每人一個工位、一臺高配置計算機。討論室供學生在項目實訓中召開項目小組會議、進行項目評審等。
(二)實訓案例建設
實訓案例是開展校內軟件項目實訓的關鍵要素。實訓案例應能體現當前軟件技術發展的主流技術,具有先進性和代表性,同時考慮不同專業方向的適用性。實訓案例建設采取企業引進和自主研發相結合的方式,具體措施包括:
1.合理規劃,針對不同的專業方向建立相應的實訓模塊和實訓案例。目前哈爾濱理工大學軟件工程專業設有“軟件開發J2EE技術”、“軟件開發.NET技術”、“嵌入式技術”、“物聯網軟件開發技術”、“移動計算軟件開發技術”共5個專業方向。為滿足不同專業方向的需求,為5個專業方向分別建設實訓案例3―5個。
2.規范管理,采用CMMI5項目管理成熟度模型,開發實訓案例模板。針對不同方向,實訓案例雖然具有不同的功能并采用不同的技術,但從教學角度來說,都應該遵循共同的規律。為了規范管理和保證質量,應用軟件企業普遍采用的CMMI5項目管理成熟度模型,抽象出實訓案例的共同特征,形成案例模板。每個案例都按照模板要求,具有完備的技術文檔和參考程序,包括系統需求說明書、概要設計說明書、詳細設計說明書、測試計劃說明書,測試用例說明書、系統使用說明書等。
3.產學結合,以企業實際工程項目為背景,適當改造,開發實訓案例。軟件公司具有最先進的開發技術,但企業實際項目通常規模很大,不適于直接用做實訓案例;另外,公司由于商業競爭和技術保密等原因,不愿意公開其技術方案、程序源碼等項目資料。目前,軟件學院已有多名教師在東軟集團等企業參加實踐鍛煉,獲得了部分項目資料,通過對這些項目資料進行整理和改造,開發項目案例,使之既體現實用性和先進性,又適合實訓教學。
4.學研結合,以學生興趣和創新為動力,自主研發實訓案例。興趣是學習的動力,創新是進步的源泉,學研結合是最好的學習方式。結合教師的科研項目,引導學生進行一些有創意的軟件項目開發活動,邊學習邊開發,在此基礎上形成實訓案例。這些案例更適合對學生進行實訓教學,有利于激發學生的學習興趣,培養學生的創新意識。
(三)實訓師資建設
當前,高校教師普遍存在缺乏工程實踐經歷和項目經驗的問題。因此,校內軟件項目實訓由企業工程師和校內教師共同指導。聘請企業資深工程師擔任企業指導教師,由參加過企業實際項目開發并且教學能力突出的專業教師擔任校內指導教師。近年來,哈爾濱理工大學軟件工程專業有多名教師在東軟集團、青島軟件園等企業接受了企業實踐訓練,基本具備了開展校內實訓的師資基礎。
(四)實訓制度建設
實訓制度是實訓質量的重要保障。實訓制度建設包括建立并完善實訓管理規范、執行細則、質量評估體系、學生管理規范、實訓案例管理辦法等一系列規范文件,并建立相應的實訓運行機制等。
(五)實訓教材建設
實訓教材是將教育思想、理念、宗旨等轉變為具體教學實踐的基礎,是保證實訓教學順利開展的重要工具。為了有助于培養學生的工程實踐能力,實訓教材的內容應該具有很強的工程指導性。實訓教材編寫要改變普通教材偏重知識體系完整性的做法,改為重視工程項目的完整性。每一本實訓教材都應該有完整的軟件工程項目案例,并充分體現指導性、實用性、完整性和技術先進性。實訓教材建設可以采取有償選用企業實訓教材、教師和企業工程師合編教材相結合的方式。
(六)實訓平臺建設
軟件項目實訓涉及大量的人員信息、文檔、代碼和多媒體資料。通過開發軟件項目實訓平臺,可以方便實訓案例的管理和維護,對實訓流程進行有效管理和實時監控,在減輕教師的教學壓力的同時實現資源共享,使學生能夠隨時隨地地參加實訓學習。實訓平臺設計分學生、教師和管理者三種角色。學生可通過平臺進行項目實訓,獲取參考資料和幫助文檔,查看實訓任務,撰寫日報及工作總結、提交工作成果,全程接受實訓指導和監控;教師可通過平臺分配任務,查看學生任務完成情況,監控各教學環節,提高教學質量;管理者可獲取實訓的各類統計信息,隨時了解學員的實訓情況及實訓教學情況,監控實訓教學過程。
參考文獻: