雷 晏,付春雷,金世鋒,張 毅
(重慶大學 大數據與軟件學院,重慶 400044)
2018 年,教育部、工業和信息化部、中國工程院聯合發布《關于加快建設發展新工科實施卓越工程師教育培養計劃2.0 的意見》,重慶大學積極響應號召,其大數據與軟件學院軟件工程專業入選國家“卓越工程師教育培養計劃”。實訓是高校軟件工程專業教學重點[1],高校軟件工程專業實訓教學,在具體實施過程中存在理論過重、實踐內容脫節等問題,可能影響學生在高校軟件工程專業實訓中的效果。因此,為了推動卓越工程師教育培養計劃的實施,重慶大學大數據與軟件學院對軟件工程本科專業實訓進行了教改實踐。
隨著我國高校招生數量的增加,互聯網企業對軟件人才的需求不斷增加,將有力地支持國家工業體系的發展[2]。因此,高校有義務培養互聯網企業所需人才,學校和軟件企業有必要在產學研方面進一步加強合作。對此,教育部于2018 年啟動“卓越工程師教育培養計劃2.0”[3]。該計劃旨在推動高校在軟件卓越工程師人才培養方面的創新,培養一大批以推動產業發展和技術創新為使命的國際一流新一代軟件專業人才后備軍。
在此背景下,重慶大學大數據與軟件學院對軟件工程專業進行了一系列教學實踐改革,其中包括軟件工程專業實訓。原有軟件工程實訓還存在一些不足,培養的人才與社會需求存在一定差距,難以真正達到“卓越工程師教育培養計劃”要求的人才標準[4]。其主要問題體現在:
(1)實訓仍以理論為主,忽略了實踐的重要性。軟件工程專業自身特點決定了學生無法完全靠“聽”“講”學習軟件工程的專業技能,而需要在實際的“做”和“實踐”中去體驗和掌握軟件工程思想[5]。雖然理論教育是建立基礎知識的重要部分[6],但過度關注理論教育可能會導致學生在實際應用中的技能和經驗不足,嚴重違背了“卓越工程師教育培養計劃”的宗旨。這些都反映出高校軟件工程專業對實訓的實踐教學重視不夠。
(2)學生對實訓興趣不高。由于實訓內容單調,缺乏趣味性,學生對實訓的興趣并不高。許多實訓內容缺乏挑戰性、創新性和實際應用,往往難以激發學生的學習熱情,導致學生缺乏對實際工作的預見性和主動性。
(3)實訓內容無法與前沿企業建立聯系。目前,許多高校和前沿企業之間缺乏有效的合作機制,許多學生無法接觸到最新的軟件工程技術和實踐,導致實訓內容與實際工作脫節[7],從而會影響他們的就業競爭力和職業發展。此外,缺乏與前沿企業的聯系也會影響高校軟件工程實訓的質量和水平,使其無法滿足行業的快速發展需求。
為推動前沿信息技術的普及與認知,實現院校教學與產業實踐的有機結合,提升軟件工程領域學生的深度學習能力和技術創新能力,重慶大學大數據與軟件學院和中國高科集團組織實訓以“應用+創新”為主題,依據學校人才培養目標,融合JavaWeb+大數據及人工智能專業學科背景和訓練要求,以實踐技能訓練為主線,與專業能力培養需求相匹配,以現場授課的形式開展教學,強化工程實踐能力及創新意識培養。
重慶大學大數據與軟件學院和中國高科集團的實訓實踐體系,首先構建在已知的技術課程體系之上,然后按照行業尋找合適的企業項目,將企業項目設計成適合不同階段與目標的實訓實踐內容,形成包含體驗實踐、工程實踐、綜合業務實踐、綜合技術實踐、知識點實踐等多層次的實訓實踐體系,最后研發成教學資源以支持實訓實踐教學,并用工程方法論解決實訓實踐教學過程中可能出現的風險,以提升學生在企業真實環境中的實踐能力和職業素養。
2.1.1 實訓階段與目標設計
如圖1 所示,重慶大學大數據與軟件學院和中國高科集團的實訓實踐項目根據業務角度可分為兩類,即經典實訓實踐和企業實訓實踐。這兩類實踐項目在本科教學過程中持續為期4 年,服務于課程的分散實踐與集中實踐體系。

Fig.1 Design of practical training resource product圖1 實訓資源產品階段設計
經典實訓實踐是一種脫離企業業務的實踐,其主要目的是幫助學生理解、鞏固和應用所學知識點。通過實踐,學生可以通過實際操作和練習加深對知識的理解,并將其用于解決實際問題。這種經典實訓實踐有助于學生在學術層面上建立扎實的基礎,并培養他們的問題解決能力。
與此相反,企業實訓實踐則是依托真實企業項目進行的實踐。其主要目的是增加學生對知識的綜合應用和工程實踐能力。學生將在真實的企業項目中獲得實踐經驗,學習如何將所學理論知識應用于實際項目,解決實際業務問題。通過與企業合作,學生將更好地了解行業實踐、工作流程和職業要求,提高與企業的溝通與合作能力。
上述兩類實踐項目在教學過程中相輔相成。經典實訓實踐有助于學生基礎理論知識的鞏固和運用,幫助他們夯實學術基礎;企業實訓實踐則將學生置于真實的企業環境中,使他們能夠將所學知識應用于實際項目,并勇于面對真實的業務挑戰。這樣的綜合實踐有助于學生全面發展,培養他們的問題解決能力、團隊合作意識和職業素養。
軟件工程專業實訓教改的目標是提高學生在軟件開發實踐中的能力和素質,使他們能夠適應快速變化的技術和市場需求。針對綜合實訓與工程實訓的實訓目標如表1所示。

Table 1 Goals of practical training表1 實訓目標
在綜合實訓中,學生將學習如何閱讀和理解設計文檔,包括需求文檔、技術規范和架構設計等。他們將了解如何解析文檔中的要求和說明,并將其應用于實際的軟件開發過程。
在工程實訓中,將著重提高學生的企業業務邏輯設計與實現能力。他們將學習如何分析業務需求、建立數據模型、設計系統架構等。通過實際項目實踐,掌握將業務邏輯轉化為代碼的能力,選擇合適的編程語言和開發工具,并將業務需求轉化為高質量的軟件實現。
2.1.2 實訓結構設計
中國高科集團在合作過程中構建了相對成熟的實訓服務結構體系(見圖2),主要關注3 個要素即訓什么、怎么訓、訓怎樣,并在高校的實訓實踐過程中持續迭代優化,持久地、更好地服務于高校實踐教學。

Fig.2 Overall structure of practical training service圖2 整體實訓服務結構體系
(1)訓什么?不僅是內容的選擇,還有實訓資源準備和計劃制定。具體包括建立實訓相關技術文檔、設置合理的實訓目的、編制科學的實訓大綱、設計恰當的實訓內容與實訓周期、制定可行的實訓實施計劃。一個好的實訓實踐項目,必須有充足的資源與計劃準備。
(2)怎么訓?它是實訓實踐的實施過程,從企業的實施角度而言,實訓實踐本身就是工程過程,實訓實踐的結果決定于實訓實踐過程管理與實訓實踐方法論的應用。運用企業軟件工程的管理思想,實訓方法論使用符合軟件統一過程的面向對象的框架思想,確保實訓實踐無失敗風險。從目前這種思想的使用效果看,只要保障一定的師資水平,基本可以保證實訓實踐的失敗風險為0。
(3)訓怎樣?一方面是檢驗與評估實訓實踐成果的科學標準建設,另一方面是實訓實踐的成果對下一屆學生的示范效果。
更為關鍵的是,通過長期的實訓實踐過程結構優化,可以使得校企之間建立一個與院校培養計劃與方案同樣嚴謹且科學的實踐體系,讓學生從入學就知道未來需要達成的實踐應用目標與方向,以及企業應用型人才需要達到的應用項目對人才要求的標準。
2.1.3 企業視野設計
考慮在實訓中學生將累積更多的行業知識與經驗,從團隊組建與管理、文檔規范、編碼規范、工具使用,到績效考核,都采用企業仿真與模擬的形式。更主要的是引入主流的企業技術和行業前沿技術,接觸到更多企業需求與技術的商業價值與應用場景。
2.1.4 質量管理
為了確保軟件工程實訓教改質量,需要采取一些有效的質量管理措施,建立明確的質量目標和標準,明確要求學生在實踐中開發出符合行業標準和最佳實踐的軟件產品。這些標準可以基于行業認可的軟件工程方法和規范,如軟件生命周期管理、敏捷開發方法等。
實訓實施除了以最基本的實訓成果為導向外,還精心設計了實訓流程,制定實訓大綱與實訓計劃,提供嚴格的實訓教學管理,提供人性化的教學服務保障,最后以相對科學的評價體系驗收實訓成果,并給予得分評估。
如圖3 所示,實訓的過程是按照統一過程組織,實訓流程主要考慮4 個方面的因素:教學管理與服務、教學組織、基于軟件開發過程的實訓過程(教學內容交付)、實訓評估與質量管理。此外,還包含多次的階段驗收,實訓流程的順利實施需要教學管理措施與制度加以保障。實訓過程中會根據不同和差異進行實時調整,遵循更加合理的流程設計與驗收過程。

Fig.3 Organization of practical training process圖3 實訓過程組織
如圖4 所示,將實訓過程中的任務分成局部(每個組員的實訓任務)與全局(完整項目)兩個部分,每個人都作為組員完成各自的實訓任務,又都以項目經理身份管理項目模塊與集成,并提交完整的項目成果,最后項目組內進行評估,選擇一個最優秀的項目成果作為項目組的提交成果物參與最后評審。項目任務分配中,任務模塊按照業務劃分,不按照技術分配,實現實訓過程技術應用的均衡性。

Fig.4 Design of practical training structure圖4 實訓結構設計
這次實訓教改的成果,是校企合作、團隊協作的結果,也是中國高科集團與重慶大學大數據與軟件學院對實訓理念、實訓設計的結晶。該過程既具備企業開發特點,也考慮院校教學特點,同時也是企業工程師團隊、企業資源、企業教學管理、企業實訓方法論與實訓設計的綜合體現。
(1)集中備課。從考量實訓均衡問題出發,對實訓進行了整體分析與設計,抽取了實訓的共性,區分每個項目之間的差異部分,將工程過程作為共性,提出了基于工程內容整體教學與工程實訓實施的方式,團隊整體備課,明確工程任務、目標、要求、提交物以及過程注意細節[8]。同時,每個班級與項目組引導各實訓指導工程師根據情況差異化備課。
(2)任務備課。備課分統一備課與差異化備課,故在實訓授課方面分成兩個部分,集中備課的工程內容作為公共實訓任務發布,差異化部分作為實訓指導由各項目組的指導工程師實施。任務發布的授課時間一般在30~120 min,根據任務的復雜度與涉及的新技能,初期的工程分析與設計時間控制在60~120 min,后期編碼的任務發布時間控制在30 min 左右,將更多的時間交給學生自主實踐探索。任務發布包含明確的任務與提交物要求,同時包含工程部分的指導與注意事項。其主要包含4 個部分:課堂任務、實訓主要工作內容、實訓工作要求、實訓所需要的提交物。
(3)實訓指導。實訓指導分成兩3 個部分:①集中指導,通過線下及直播結合實施;②分散指導,根據實訓中存在的問題及時實施,采用線下實時解答;③對簡單且容易接受的問題通過提供文檔、代碼的方式進行指導(主要用于演示性實訓指導)。實訓指導主要以線下實時指導為主,使用騰訊會議輔助,每天集中實訓指導時間平均為在8 h 左右。分散指導時間根據問題不同,有時一個分體可能需要多次臨時直播。此外,每天19:00-21:00,有一名主講教師和一名輔助教師留在機房為學生現場答疑。
(4)進度監控與問題答疑。項目實訓的成功除學生的努力外,還需要實訓指導工程師對進度加以監控,并根據監控結果作必要答疑。進度監控不僅僅是檢測監督,還包括每個環節的完成情況、合理性以及可創新之處[9]。這種監控會根據小組進度,開展適合小組實際情況的前瞻性實訓指導。
(5)技術攻關。技術攻關根據項目中學生的具體情況確定,有的是本身就需要的技術,但是學生沒有掌握,有的是學生想做創新嘗試,需要學習新的技術。這些技術通常在技術學習階段并沒有涉及,需要教師準備好,為學生講解的同時將其錄制成視頻。
實訓中監控、溝通、解決問題的效率都是教學管理中最重要的問題。考慮到實訓部分學生基礎較為薄弱,實訓前便以高要求、高難度、高標準對他們提出具體要求,在實訓前、實訓中均充分調動他們的積極性,在幫助學生鞏固內容的同時引導他們多完成創新的目標,并以此為任務發布基準,發揮他們團隊協作及自主學習能力。同時,以現階段企業協作相關要求為著眼點,在學習中、項目中、教學管理中均作出嚴格要求。整個實訓期間的教學管理落實在以下細節處:
(1)實訓教務管理機制。企業入駐高校實施實訓教學,線下教學更容易形成濃厚的學習氛圍,小組相互幫助更有有助于學習。教師可以對學生的學習進行有效監督,并針對學生學習過程中出現的問題及時給予反饋,提高學生的學習效率[10]。但線下教學也存在一些弊端,由于參訓人數較多、教室較大,限于教學屏幕、聲音效果等條件,學習效果會受到影響。實訓文檔的交付、修改及交流使用云文檔的形式效率更高,也更便于監督管理。同時,小組之間通過線上溝通、協同以及以小組為單位進行項目管理效率較高。線下實訓項目實施的同時采用騰訊會議線上同步進行,以彌補線下屏幕、聲音等條件問題,讓不能參加線下實訓的學生也可參加線上同步實訓,達到線上線下等質實效。
(2)實訓前引導科學分組。中國高科集團共發布25個企業級項目,需要學生自主選擇感興趣的項目并自行組隊。針對已報名未組隊成功的情況,以隨機原則匹配項目組成員。在該過程中,有部分學生希望能調整分組,公司要求學生以企業員工的心態去看待分組和實訓,企業員工不可挑選同項目的同事,要趁此機會學習如何更好地解決團隊配合問題。
(3)建立項目組長機制,明確組長權限與職責。實訓即模擬企業項目開發形式,設立項目組長。組長責任重大,不單單需要進行出勤及作業等日常工作的配合,還需要統籌安排組內開發計劃,合理分配組員工作任務,完成情況、困難解決、技術攻關等,在整個項目實訓中承擔著很重要的角色。
(4)教學過程監控與問題答疑。實訓過程中,針對遲到、出勤、作業提交及態度不積極的學生及時進行原因追蹤,確定問題所在,及時疏導并在后續幾天重點關注。期間重點關注學生對課程的掌握和吸收程度,以及對技術教師的評價、各小組內部發生的問題等[11]。
(5)重點學生關注。教務老師結合每日考勤情況,針對學生長期請假情況,對相關學生進行回訪并給予幫助,讓學生及時跟上實訓進度。
(6)反饋服務。為了解學生的真實學習情況和對技術知識的掌握程度,以及學生對實訓教學的建議,以更好地滿足學生的學習需求,實訓期間每兩天由助教負責對各小組進行調查,便于了解學生的真實情況,及時作出調整方案。
(7)實訓教學日報。項目實訓期間,啟動教學日報制度,向學校相關教師和領導匯報當天情況,做到有問題及時發現并解決。
(8)考勤服務。整個實訓期間對考勤作嚴格要求,學生不能遲到、早退,早晚各簽到一次,保留紙質文檔并由教務老師在電子文檔中記錄,對遲到、早退及缺勤的學生扣取相應分數。
學生實訓成績由4 部分構成,計算公式即總成績=(作業成績×10%)+(考勤成績×20%)+(實訓過程成績×40%)+(項目驗收成績×30%)。在項目最后,由企業教師給予每位學生適當的評語。
該成績計算方式的設計是基于如下目的:①督促學生自我跟蹤與學習新技術,因為實訓最終檢測的還是技術學習效果,以及學生對技術體系化梳理的能力;②以實訓過程為重點,同時重視實訓結果[12]。
在最近三屆軟件工程專業本科生的實訓課程中實施該教改方案。通過問卷調查和成績分析發現,與以往教學效果相比,新教學模式獲得了較高的滿意度,主要體現在:
(1)自信心增強。很多學生在初期都對后期能否完成實訓持有懷疑態度,但是通過3 周日以繼夜的工作與學習,不僅沒有難倒他們,還激發了他們的潛能,自學意識非常高,得以完美地完成項目,極大增強了他們的自信心。
(2)專業能力提升。通過實訓對整個軟件開發流程有了全面認識,真正做到從書本中來到實踐中去,對整個軟件架構有了更清晰而深刻的認識。同時,很多學生還感悟到通過實訓能接觸到前沿的企業技術,比如人工智能、嵌入式等。
(3)線上云協作能力提升。通過運用云文檔協作與云代碼管理,提前實踐了企業線上工作的方法與流程。
(4)團隊協調能力提升。加強了學生的團隊意識,提升了項目組內配合度,不管是組員還是組長,都對整個項目中的人員配合有了深刻認識和理解。
(5)問題解決能力提升。學生遇到問題及時想辦法去解決的能力有了顯著提升,首先是遇到問題不再害怕,而是通過溝通探討加以解決,每一次的碰撞對于他們都是一次提升。
(6)管理總控能力提升。學生的管理總控能力得到提升,尤其是組長,從最開始不知道如何分配任務,到最后可以整體規劃任務,整體管理能力得到很大提升。
作為高校重點專業,軟件工程專業教學質量與學生專業素質涵養和綜合學習能力之間存在緊密聯系。本文根據國家教育部與重慶市教育委員會關于實施“卓越工程師教育培養計劃”的若干意見,在重慶大學大數據與軟件學院軟件工程專業本科生的實訓過程中實施新教改方案。通過調查發現,新教學模式提高了學生們的專業能力和團隊合作能力,能夠更好地達到培養卓越工程師的最終目標。