陳偉東
(杭州職業技術學院信息工程學院,浙江 杭州 310018)
近年來,軟件產業已經逐漸發展成為國家戰略型產業,在經濟發展上發揮著重要作用。 而隨著軟件產業的快速發展,軟件企業為了研發工作高產高效,建立了一整套軟件需求分析、軟件設計、軟件編碼、軟件測試和軟件運維流水線, 同時有些企業在研發過程中執行詳細的軟件開發規范, 確保軟件高質量標準化,這對軟件從業人員提出了高層次的要求。 在印度,針對同一個項目里的同一個代碼段,不同程序員的編碼是完全一致的,而在我國卻很難做到,國內不同程序員對程序理解不同, 個性化編碼習慣和因素在編碼中體現過多。 原因很簡單,缺乏規范約束。這跟在學校的教育有著很密切的關系, 不少企業共性地反映很多軟件技術專業畢業的學生缺乏代碼規范意識,導致企業渴望優秀人才,學校畢業學生達不到要求的兩難局面。
如何培養出滿足企業需求, 擁有良好開發規范的軟件工程師是當前軟件技術專業教育亟須解決的一個重要問題。 本文通過構建基于企業開發規范的軟件人才培養模式,將企業開發規范納入日常的教學之中,培養學生的開發規范意識,滿足企業對人才的要求。
以往軟件技術專業在課程實踐環節方面相關教學理念不清晰,實踐內容缺乏對產業實際應用的針對性,沒有重視到企業開發規范對于專業學生培養的重要作用,沒有將企業開發規范納入日常教學中。
教學過程主要通過“教師教,學生學”的傳統方式,學生缺乏自主學習、師生缺乏互動學習,實踐缺乏工作環境的真實性,缺乏對開發規范等方面的要求和訓練,這種較為被動的學習方式很容易讓學生對于軟件開發學習失去興趣,同時不利于學生開發規范的養成。
軟件技術專業相關開發類課程,缺乏相關崗位開發規范的導入,對學生的職業素養和崗位工作能力提升有一定的影響。 同時由于軟件相關技術更新快,導致很多軟件技術專業的教學存在一些滯后性,這就需要教師在教學中對教學內容進行及時更新和補充,但是在實際的教學中很多教師并沒有注意到這個情況,或者意識到但沒有想到有效方法來改善教學,基本都是按照之前的教學大綱設計教學內容。 在實踐教學方法方面,缺少軟件生產線上的真實例子,更多的是對基礎知識的實驗求證,例子過于傳統老舊,反映企業真實需求的實踐無法得到體現。
當前軟件開發相關的實踐考核方式主要有兩種,一是個人運行程序的考核; 二是相關文檔的考核,然后綜合得出每個學生的實踐分。 這種考核方式體系單一,考核指標粗放,無法體現軟件技術專業特點,也無法準確反映學生開發規范素養、能力素養培養的實際效果。
基于企業開發規范的軟件人才培養模式改革目標是在教學中充分了解企業需求和開發規范,將企業開發規范納入日常的教學之中,完善擁有企業開發規范基因的教育方案, 使課程開發過程更為規范化,最終滿足企業需求與開發規范的要求。 主要涉及5 個改革點,如圖1 所示。

圖1 改革內容
(1)教學重點的改革:及時把握軟件技術專業開發類課程的教學重點,注重引入企業案例以及導入企業開發規范,使企業開發規范貫穿軟件開發全程。
(2)課程教學內容的改革:教學內容與時俱進,緊跟市場變化,將當前主流企業開發規范融入實踐教學中, 不斷探索課程內容與企業開發規范融合方式,最終實現兩者的無縫連接。
(3)教育體系的改革:校企雙方實施共同授課指導學生,引入優秀工程師到學校授課,增進校企合作。以企業開發規范為導向,構建教育體系。
(4)項目實訓的改革:在軟件項目開發實訓中,改革原先編碼量訓練的單一維度, 梳理各個開發環節點,引入編碼標準規范,增加規范訓練內容,將編碼規范和質量放到同等重要的位置。
(5)考核體系的改革:對學生進行多方位考核,將開發規范納入考核范圍內,引導學生積極提高開發工作規范性。
(1)制定軟件開發課程教學重點。 重新審視軟件技術專業開發類課程教學重點,根據當前企業現狀與學生學情,制定基于企業開發規范的軟件技術專業開發類課程教學方案。 把握軟件開發課程教學重點:課程教學需及時分析企業對軟件人才的需求,注重企業案例的引入以及企業開發規范的導入,使企業開發規范貫穿整個開發過程,同時注重個性化教育,因材施教。 及時完善軟件技術專業人才培養方案,以軟件開發崗位為首崗,與企業共同制訂培養方案,導入企業開發規范元素,注重職業素養和專業素養培養。
(2)優化軟件開發類課程教學內容。 教師做好學生學情分析,重點提高課堂教學質量,從企業實際出發,將企業開發規范更多地滲透于實際教學中,實現教學內容與崗位開發規范的緊密結合。 定期對教學內容進行補充與完善,優化課程內容,比如開展教學活動前,教師先查閱相關資料,查詢各企業關于該教學活動涉及的開發規范有哪些,根據企業開發規范的變化調整課程內容。
(3)構建基于企業開發規范的教育體系。 加強校企合作,校企雙方實施共同授課,共同提高學生專業技能。 完善現有軟件技術專業教育體系,將編碼規范化理念融入實際教學中, 通過工學結合方式開展教育。 在基于企業開發規范的課改理念的引導下,教師時時把握市場動態與人才需求,以培養專才、工匠為目標,建設專業化雙師型教學團隊;以企業開發規范為導向,構建基于企業開發規范的教育體系。 教學涉及Java開發、數據庫技術、軟件工程等有關知識,充分考慮軟件開發的規范性。 開發基于企業開發規范的課程體系,充分考慮企業實際運作方式,內容劃分為:企業調研—企業實際項目引入—崗位分析及任務介紹—崗位開發規范導入—軟件設計及編碼—項目考核與評價,使得學生更容易掌握軟件開發崗位相關技能。 圖2 為基于企業開發規范的軟件技術專業教育體系。

圖2 基于企業開發規范的軟件技術專業教育體系
(4)優化項目訓練。 加強工作過程質量意識,參照企業對軟件人才的能力要求,能用規范的編碼解決實際工程問題。 在軟件開發實訓中,新增編碼規范訓練,在訓練中使學生能意識到編碼規范的好處與重要性以及企業對開發規范的重視程度。 在訓練中,模擬企業真實工作情景,項目經理為指導教師,項目成員為全體學生,按項目需求書的功能模塊進行分組,每組一位負責人, 負責開發任務分配和開發進度控制,要求每組在規定的開發周期內完成開發任務以及各模塊間的聯調任務,各小組每日晨會推進進度,每周組織Review 代碼,檢查代碼規范性,最后開發節點各組間完成聯調工作并整體交付。
(5)建立基于企業開發規范的考核體系。 完善現有考核體系,將企業開發規范納入考核范圍內,增強學生的編碼規范性意識。 考核內容包括常規考核、技能考核兩部分, 常規考核主要是對學生學習態度、出勤情況、課堂積極性、課堂測驗等表現進行評價評分,技能考核主要是考查學生對程序設計、開發等技能的掌握程度。 技能考核方面,按企業對開發人員的規范性要求,建立開發規范考核制度,以阿里巴巴開發規范為參照,明確具體開發規范及訓練科目,對每一科目規定訓練要求及程度如表1 所示,并對過程進行項目進度控制和規范度管理,如表2 所示。

表1 開發規范考核及訓練要求

表2 項目進度&規范度管理表
教學實踐與企業開發規范結合,將企業開發規范納入日常的教學之中,是培養具備良好編程規范的軟件工程師的有效措施。 在人才培養過程中,切實構建基于企業開發規范的教育體系,加強校企聯合培養模式,充分考慮軟件開發的規范性,按“企業調研—企業實際項目引入—崗位分析及任務介紹—崗位開發規范導入—軟件設計及編碼—項目考核與評價”步驟執行,優化項目訓練,指導教師與學生充當項目角色,模擬軟件企業真實工作情境,在項目中學技能、遵規范,使學生成為真正契合企業的棟梁之材。