沈學東
【摘要】隨著信息化程度越來越高,信息技術隨著互聯網+技術、移動互聯、大數據應用、云計算以及區塊域等新的技術熱點不斷,軟件開發的框架技術也快速呈現新的形式,傳統的軟件專業教學無論是從知識結構和教學內容上還是在教學模式上都與軟件行業現狀嚴重脫節,本文具體闡述了行業的軟件技術需求及我校在軟件綜合實踐上所做的教學設計和教學方法改進,力圖使培養的學生能緊跟市場的變化,盡快融入軟件行業。
【關鍵詞】軟件綜合實踐 鏈式教學模式 開源框架
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2017)43-0236-02
軟件工程專業的畢業生在前幾年需求旺盛,供不應求,這在我校歷年畢業生就業統計名列前茅中可以看出。這與前期軟件工程專業經歷人才試點培養、教學計劃改革的實踐有著密切關系。然而傳統的軟件知識結構與隨著時間的推移已經與軟件行業的需求呈現脫節現象,理論和實踐教學難以適應日新月異的軟件開發技術發展,新的開發技術首先在實踐課程中應該責無旁貸的加以引入,尤其是在軟件綜合實踐課程中如何融入新技術的實踐,并采用新的教學模式和方法,以適應即將面臨的社會市場的需求。
1.軟件綜合實踐課程的性質與任務
軟件綜合實踐課程是軟件工程專業的一門專業實踐課程,安排在第三學年的下半學期后,主要是綜合運用軟件工程的知識和最新技術實現一個中小型的應用軟件系統,通過兩周的實踐達到綜合運用軟件知識的目標和任務,它的前期課程是學生學完了javaWeb系統開發、J2EE中間件技術,為后繼進入企業實習和就業奠定技術基礎。所以本課程的任務起到了承上啟下的作用,是非常重要的核心課程。
2.課程教學現狀和分析
通過幾年的教學反饋,軟件綜合實踐課程存在以下幾點弊端:(1)市場軟件技術發展需求和我校教學計劃的脫節。軟件工程專業的實踐教學體系主要是以java語言為主線的軟件開發技術實踐,主要使學生熟練掌握使用java開源開發技術開發中小型應用軟件的能力。具體的java技術主要有JSP,Servlet,JDBC,框架技術主要引用Struts,Hibenate,Spring等,前臺主要使用HTML ,javascript,CSS ,JQuery等相關技術。現在市場的java軟件開源技術發展已經遠遠超前于高校所學習的軟件技術,要求學生將SSH三者結合構成特定的框架體系,能實現常用的Web應用系統,整個系統以Struts為基礎,在MVC(Model View Control)結構中實現三層架構,即表示層、業務邏輯層、數據持久層,通常Spring框架實現業務邏輯層,Hibernate框架實現數據持久層,封裝對數據庫的連接查詢操作,表現層使用jsp或jstl等標簽技術。知名熱部署軟件JREBEL廠商統計顯示,目前Spring MVC框架占市場份額的40%。而最新的Spring boot技術已經排名第四位了。這說明了我校的軟件實踐教學中使用的相關技術早已經在市場上落伍了,已經越來越不適合市場對軟件開發的易擴展、松耦合、開發周期短的要求了。(2)缺乏有典型性和一般性的軟件綜合實踐案例,市面上很多專業實踐教材提供了眾多的案例用于教學,但是針對性和普遍性不是太理想,其實在高校并不需要業務邏輯復雜、關系繁瑣的案例用于實踐,只需要包含一般關系和應用操作的案例即可,像電子商務的商品銷售、銀行業務的權限管理等即可。真正需要的是即使簡單的案例,用先進的軟件技術去實現,并具有可擴展性和縮短開發周期的案例實踐才是高校培養學生能力所需要的。(3)軟件綜合實踐課程的教學模式過于陳舊。傳統的教學模式采用項目案例教學方法,合理分配學生不同的角色,根據不同角色分配不同的相關任務,協同其他同學一起完成一個完整的應用軟件。如實現軟件開發有需求分析、數據庫設計、架構設計、詳細設計、編碼及測試等不同的任務模塊,相關的學生承擔不同的項目開發的職責,有項目經理統管項目開發的進度、架構分析師負責需求分析、數據庫設計、軟件框架實現,程序員負責編碼和測試等崗位職責,雖然以實際場景為模擬,以一些原廠源碼為案例參考,也起到了一定的效果,然而這樣的實踐很難培養學生的各方面的能力。主要原因有:軟件開發有很多模式:瀑布模式、原型模式、敏捷開發模式等,不同的開發模式分配學生的角色不一樣,學生角色不好分配;學生的技術水平參差不齊,經常是能力強的學生包攬一切,實踐效果不太理想;開發框架選用不一致,學生對傳統技術沒有興趣,只要完成任務即可。這些原因使軟件綜合實踐課程的實施效果欠佳。
3.鏈式教學模式及其在軟件綜合實踐課程中應用與實施
3.1 鏈式教學模式的理論及與我校技術立校、應用為本的辦學理念的統一
鏈式教學模式一種將教學計劃、教學環境、教學案例及教學方式統一的一種教學模式,可以形式化表示為Chain(P,N,T,E,V),其中P為培養方案保證,N為教學環境,通常指電子教室、網絡等,T是“邊講邊練,講練結合”的教學方法,E為教學案例,及教師講練所用的素材。鏈式教學模式把教師的教和學生的學以每個知識點或單元為環節層層緊扣,以教師教為縱環,學為橫環,形成完整的技術知識鏈,從根本上改變以往學生參與不積極、動手實踐少,教學脫節的弊端。這種教學模式在當下非常著名的職前培訓公司和大型軟件公司的員工培訓中所用較多,如傳智博客、東軟睿道等。我校自升入本科院校后以技術立校應用為本的辦學方略,傳承了優良的教學方針和教學方法,其中蔡德泰教學方法的思想核心正是“邊講邊練,講練結合”,改變傳統教師滿堂灌為師生間基于案例的信息交流和合作學習,并以新技術滲入提高學生學習興趣和積極性,培養學生自主學習的創新思維和軟件工程能力。
3.2 鏈式教學模式在軟件綜合實踐課程的實施
(1)綜合實踐課程的結構搭建
本課程以項目或案例為主線,以新技術學習為手段,以實踐動手能力為培養目標來構建本課程的實踐體系結構。主要分為幾個重要環節。一是開發環境與軟件架構的構建,這里涉及到新技術的學習和應用,包括SSH的應用,SpringMVC等框架的學習,也是學生感興趣的重要環節。二是項目分析與需求分析主要是以普遍一般為原則來選擇項目或案例,并進行典型的UML建模,并設計出相應的類圖、重要核心對象時序圖,并形成典型數據庫。第三是根據MVC模式在軟件三層架構中構建相應的各自層的功能代碼,并進行測試。學生在每個環節中均要清楚所做的工作和實踐要點,由于是功能模塊單一、實現框架固定,不同的模塊結構標準統一,所以學生完全可以各自做自己的事情,但是遇到問題可以互相探討和交流。
(2)結合職業能力鑒定的要求引入相關知識和技術
上海市職業能力鑒定Java高級程序員是一項國家政府補貼的培訓項目,主要注重java類的程序員的動手能力鑒定,其鑒定的要求和標準與本課程的培養目標不謀而合,適時引入該項目的鑒定也是本課程改革的一項重要舉措。
(3)邊講邊練的教學方法
軟件綜合實踐是集中兩周的軟件項目實踐,如何提高實踐效果需要教師采取邊講邊練的教學方法,概括起來就是邊講邊練、講練結合,以練代講的思路。教師以一個典型案例的模式為模板進行講授,然后布置學生以相似的課題去實現,利用統一的軟件架構和實現技術來解決各自不同的問題,更好的解決了學生對項目實踐的依賴性、知識點分散、學生記筆記困難、邏輯性較強等難題。老師也避免了頻于熟悉各類業務繁瑣的項目、疲于奔命又不切要領的指導,同時也可以解決控制學生實踐的節奏和項目任務的進展問題。
4.教學效果評價
軟件綜合實踐課程不僅培養學生綜合實踐動手的能力,而且本課程依據上海市職業能力鑒定Java高級程序員的標準鼓勵學生參與該項目的職業鑒定,學生學習興趣和動力使然。本課程經過數次實踐和操作,規范了實踐教學的管理,健全了實踐教學的考核,優化了綜合能力、知識應用能力和創新能力的培養,學生鑒定職業資格的通過率保持在90%以上。
參考文獻:
[1]王宗亮.基于開源框架軟件開發的鏈式教學模式設計與實踐,廣東水利電力職業技術學院學報 2013(11)
[2]厲小軍,謝波.軟件工程實踐課程教學改革探索[J].計算機教育. 2012(03)endprint