張綱強,劉美玲,楊 靜,周 衛
(廣西民族大學 人工智能學院,廣西 南寧 530006)
信息技術的發展,極大地促進了高等工程教育理念的創新,明確人才培養目標以及改革人才培養模式,對軟件工程專業的特色建設和人才培養提出了更高的新要求。但仍存在將工程教育與工科教育混淆,導致培養的目標、標準、方案以及模式無法對應專業認證的規范要求。如何依據區域社會、經濟的發展,面向社會需求,結合學校自身實際情況和專業特色持續改進人才培養目標以適應地方產業發展對工程型人才的需求,是圍繞工程教育認證開展專業建設所面臨的挑戰。
從1985 年開始,我國便開始了專業評估及專業認證的探索和實踐。中國于2016 年成為《華盛頓協議》第18 個成員,代表了中國的工程教育質量標準獲得了國際認可,實現了國際實質等效,標志著中國工程教育的歷史性突破,中國工程教育質量認證體系在其他國家得到認可,通過認證專業畢業生的工程能力獲得協議國家的認可。教育部于2017 年公布的強調突出學生中心、產出導向、持續改進等原則的高等教育教學質量國家標準,有力地推動了全國高校實踐和探索工程教育專業認證工作的發展,促進了全國高校各工科專業進一步關注專業的內涵式發展。截至2020 年7 月,全國共有241 所高校,1 353 個專業通過工程教育專業認證[1],其中軟件工程專業已經通過專業認證的學校有28 個。
軟件人才需求隨著信息技術在社會各方面的廣泛應用而增加,如何培養出滿足社會需要的軟件類人才是每個開設軟件工程專業高校應該積極研究的課題。工程教育認證通過評估一個專業的培養目標及其培養過程,判斷所培養的學生畢業后能否得到社會的認可。對于通過工程教育專業認證的軟件工程專業畢業生而言,意味著獲得了國際軟件人才市場的認可,在相關的國家和地區獲得軟件工程師執業資格。另一方面,工程教育認證為高校提供了一個明確合理的提高教學質量的參考框架。
近年來,軟件產業隨著科技的發展一直保持著增長態勢,在國民經濟中的比重也逐年上升。產業協同發展、融合創新、快速迭代導致各領域對軟件和信息技術服務產業的需求旺盛與軟件人才結構失衡的矛盾阻礙著我國軟件產業的高質量發展。一方面,新興產業的發展對于相關領域軟件人才的需求迅速增長,大數據、區塊鏈以及工業互聯網等新興產業人才需求缺口逐步擴大,領軍型人才、復合型人才缺乏,基礎編程人才緊缺。另一方面,軟件基礎教育起點晚、人才培養機制滯后、“產學研用”融合體制低效以及高校新一代信息技術課程設置單一、陳舊導致我國軟件產業人才供給不足,難以滿足軟件新技術和產業發展的實際需求[2]。
傳統的以學科為導向確定人才培養目標,通過學科體系制定課程體系,造成相同專業學生沒有核心競爭力,與社會需要脫節。部分高校直接照搬或是略加修改教育部最早確立的第一批示范性軟件學院的人才培養目標,將其作為自己的人才培養目標,在此過程中,不考慮自身的特色以及實際情況,也未考慮社會需求,造成所培養出來的人才無法滿足社會對軟件人才的需求。作為一級學科的軟件工程,有著充足的知識體系以及完善的職業體系和教育課程體系[3]。但國內各高校大都將軟件工程設置為計算機科學與技術專業的一個方向,在課程設置上以計算機科學與技術的課程體系為主,造成對軟件工程專業在知識體系結構理解上的偏差,人才培養目標定位不準,缺乏工程思維的訓練。
計算機類教學質量國家標準要求軟件工程專業教師應該具有相應的專業背景以及工程背景與研究背景,同樣是工程教育專業認證內容之一。兩者不約而同地對專業教師的工程背景提出了要求。目前,地方高校從事軟件工程專業的教師缺乏工程實踐能力與經驗是不爭的事實,在教學中無法結合專業實踐知識與實際情況開展教學;其次,在目前的職稱晉升評審中,重科研能力的要求造成教師不愿加強自身的工程經驗積累;再有就是教師隊伍在科研和教學任務的壓力下,缺乏工程實踐鍛煉的時間與動力。在軟件工程專業人才難以引進的情況下,學校層面上沒有出臺相應的提升現有師資隊伍工程實踐能力的激勵機制以及配套措施,導致教師并不重視自身能力的提升。
多數情況下,高校都圍繞著學科建設的要求,立足于培養學術型和研究型人才,甚至于以考研為目標制訂人才培養方案。在以往的人才培養方案中,實踐與實訓內容大多與實際生產不符,教學內容與產業需求脫節。由于校內外資源條件,以及傳統理工課程建設思維的限制,各類實習課程教學基本走向“水課”,造成學生的工程實踐、設計以及解決復雜工程問題能力嚴重缺失。傳統課程建設以學科為中心,從正向設計軟件工程專業的課程架構體系,導致忽略產業和行業的需求,不能體現產出為導向、學生為中心的理念;另一方面,傳統課程體系建設缺乏支撐實現培養學生解決復雜軟件工程問題能力的目標。
工程教育專業認證標準在工程知識、問題分析、設計/開發解決方案、研究、使用現代工具、工程與社會、環境和可持續發展以及溝通等畢業要求中都提到了復雜工程問題。教學活動支持著上述畢業要求的達成。教學活動的實施是教師組織開展的。復雜工程問題涉及的因素和環節很多,不是一門課程就可以支持達成的。缺乏工程項目背景的軟件工程專業教師不在少數,多數教師的項目經驗只來源于教材。當任課教師對復雜工程問題的理解不夠深入時,就很難在教學活動中,結合本門課程知識解決復雜工程問題時應用設計相應的教學環節,或是設置的問題過于簡單、或是設計的實驗不用分析就可得出結論。
另一方面,培養解決復雜軟件工程問題的能力這一目標涉及到專業能力、綜合素質以及社會能力的系統性和全局性的過程,不是簡單地通過一門課程、一個課程設計或綜合實踐以及畢業設計等教學環節就能實現的。
人才培養的質量和水平離不開科學合理的專業建設。以成果為導向、以學生為中心、持續改進是工程教育專業認證的基本理念,它來源于成果導向教育(Outcome based education,簡稱OBE),也稱能力導向教育、目標導向教育或需求導向教育[4]。在這個理念下,專業建設是以學生的學習成果來確定教學目標,教學設計與教學實施要保障學生達成畢業標準。
在軟件工程專業建設中,基于SEBOK(軟件工程知識體,SEI),結合本科教學質量國家標準,圍繞工程教育認證標準,遵循OBE 理念,確立軟件工程專業的人才培養模式。綜合考慮學校定位、自身資源條件、社會需求以及利益相關者的需求確立專業的培養目標;根據培養目標設計自身的畢業要求并將畢業要求分解為可衡量的指標點;畢業要求指標點是通過課程教學來達成的,課程設置根據畢業要求確定的能力和素養,最終形成課程體系。課程體系建設應該考慮產業發展的不斷變化,能夠靈活地做出調整。
專業建設確立以適應地方產業發展為目標,以軟件工程知識體為基礎、社會人才需求為導向、工程教育專業認證為準則、符合本科教學質量國家標準、解決復雜軟件工程問題能力為特色的一流本科特色專業。
1.人才培養目標與畢業要求
課程體系設計、課程教學設計等人才培養的全過程應該能夠支持學生畢業5 年左右能達到的成就這一培養目標,也就是除了幫助學生構建復雜工程問題的知識結構外,還要把人才培養的關注點聚焦于培養學生解決復雜工程問題的能力。依據內部的學校的辦學定位、人才培養、質量定位的需求以及外部的社會及學生的要求,制定人才培養方案目標。專業畢業要求的確定依賴于培養目標和專業認證標準。
外部需求可以通過召開企業座談會,發放回收《企業需求調查表》《畢業生反饋調查表》等各種渠道來獲取,并可同時獲得軟件產業的發展需要;內部需求則必須結合學校層次與定位、學校及學院辦學條件與辦學理念,結合內外需求在培養目標的明確描述學生畢業時獲得的能力和素養以及畢業5 年左右的預期取得的成就。
學生畢業時取得能力和素養,即學生畢業時應該獲得的技能、知識和能力等學習成果就是專業認證中所定義的畢業要求。在制定人才培養方案畢業要求時,要保證分解所得的畢業要求指標點能夠支持畢業要求的“明確、公開、可衡量、支撐、覆蓋”的要求。科學合理的課程設置為衡量畢業要求的達成提供了保障。軟件工程專業在人才培養方案中可將畢業要求分為技術類和非技術類畢業要求,技術類畢業要求應該包含人文與社會科學、數學與自然科學知識、工程基礎和專業知識等三個必備的知識;非技術類畢業要求涉及能力和素養方面的指標分解,包括分析/解決問題能力、工程實踐能力、科學創新能力、溝通與組織協調能力、主動學習能力和參與國際競爭能力。通過這樣對畢業要求分解出來指標點,才能反映畢業要求的內涵,從而得到一個具有可操作性和可靠性的科學合理的人才培養方案。
2.人才培養方案課程體系設計
一個明確、公開、可衡量的畢業要求支撐著培養目標的實現。明確清晰的畢業要求指標點明確了畢業要求的內涵。畢業指標點的達成需要通過教學活動,即課程來衡量。因此,畢業要求的實現離不開科學合理的專業課程體系。作為專業建設核心內涵的課程體系建設能夠體現一個專業的教育理念、辦學特色和人才培養質量[5]。課程群建設是目前高校課程建設改革的一個發展方向,它為完善統一施教對象的認識結構,依據課程在知識、方法和問題等方面的內在邏輯關系,整合形成為不同的系列課程。
為實現培養學生解決復雜軟件工程問題的能力,課程的設置應能保障認證標準12 條畢業要求的達成,課程體系課程應該圍繞畢業指標點展開。通過整合相關主干課程(課程構件)以構成課程模塊,再按軟件工程專業的知識結構組合課程模塊形成課程群,最終完成以“課程群-課程模塊-課程構件”方式組織與管理的課程體系。保持課程群的相對穩定,根據內外需求以及軟件技術的發展趨勢,動態調整課程構件及學時。在此基礎上,及時更新教學內容,分解畢業要求為能力指標,并落實到具體的教學環節中,最終實現人才培養目標。課程體系結構圖如圖1 所示。

圖1 軟件工程專業課程體系結構
數學與自然科學課程群培養學生的數理能力,通識課程群培養學生的政治覺悟、職業道德以及外語能力,人文類課程群培養學生的人文精神。工程基礎類課程群使學生掌握解決復雜工程問題的知識結構,經過學習形成一定程度的邏輯思維能力以及程序設計技能,作為專業課程學習的基礎。專業課程群圍繞解決復雜軟件工程能力培養,基于方法、過程和工具配置相應的課程構件,設計了軟件開發、軟件測試和Web 應用開發三個模塊,培養學生的軟件工程核心技能和素養。專業選修課課程群則為學生提供職業方向和就業競爭力。前沿技術課程群是擴展學生視野,提高學生適應企業技術需求的能力。課程群在“縱向”形成一個層次遞進的能力形成支撐關系,符合“由淺入深”的教學規律。
課程實驗只解決了學生理解軟件編程基礎知識、程序的基本結構以及程序設計方法的問題。為了幫助學生獲得解決復雜工程問題能力,必須有一個培養學生解決復雜工程問題能力的貫穿學生培養全過程的實踐課程群,該課程包括培養學生運用數學、自然科學和工程基礎等知識能力的程序設計實踐;培養學生運用科學原理通過研究對問題展開分析、設計解決方案以及使用現代工具能力的工程項目實踐;與企業結合,培養學生工程意識、協作與溝通交通能力的畢業設計。
3.實踐教學體系構建
實踐教學環節是教學活動中培養實用性軟件工程人才的一個重要組成部分。基于培養學生達成解決復雜工程問題能力,構建符合社會需求以及專業特點的實踐教學體系可有效地提高軟件工程專業人才的培養質量。
在實踐中,通過修改原培養方案,將畢業實習調整至第8 個學期,為科學合理地開展實踐教學創造了條件。構建實踐教學體系遵循增量遞進的原則,從基礎到復雜,從驗證程序結果到設計程序,從程序設計到軟件設計,從單一功能實現到綜合系統實現的原則,構建四個層次的實踐教學體系,即“課程實驗、程序設計實踐、課程設計實踐、工程項目實踐”四個層次。其中“課程實驗、程序設計實踐”幫助學生學習和掌握基本工程原理知識;“課程設計實踐”使學生獲得項目開發的訓練,熟悉規范化軟件開發過程,培養學生職業素養以及解決復雜軟件工程問題的能力;“工程項目實踐”,即學生到企業實習,參與企業項目,完成畢業設計。實踐教學體系如圖2 所示。

圖2 軟件工程專業實踐教學體系
完善實踐教學質量評價機制。課程實驗作為掌握工程原理知識的評價依據。學生獲得解決復雜工程問題的能力則以設計性、綜合性以及創新性實驗進行衡量。實驗室應該為實踐教學提供相應的環境,使學生能在實驗過程中綜合運用技術、工具和方法構建復雜工程。根據課程支持的畢業要求,確定實踐的選題及內容,避免與理論教學脫節。實踐的內容應該涉及設計、實現和分析,能夠引導學生運用深入的工程原理解決復雜工程問題,而不是單純驗證所學的工程原理知識。
有良好的管理、維護和更新機制以及方便學生使用的實驗室及實驗設備、實習和實訓基地是有效開展實踐教學的條件。軟件工程專業實驗室除具備相應的硬件環境外,還應該提供相應的軟件資源環境,在原有實驗條件的基礎上,加大教學案例庫,實踐項目庫以及工程項目庫、各類實驗室、實踐教育教學基地建設的投入。在能完成驗證性實驗的常規實驗室基礎上,還需要根據軟件工程知識領域、專業特色以及軟件技術的發展,建設相應知識領域的實驗室。軟件工程專業校內實驗室應該能夠為培養解決復雜工程問題能力提供相應的軟硬件條件。另一方面,建設并用好校外實踐教育基地。穩定的校外實踐教育基地能夠保障順利開展畢業實習、企業實訓。校外實踐教育基地的選擇同樣需要考慮培養學生解決復雜工程問題能力的達成。依據學校對于建設實踐教育基礎要求,遴選適合軟件工程專業的企業共同合作建設。校企雙方在實踐計劃的基礎上,開展師資培訓和聯合授課,企業接收教師進行在崗學習,以增加教師的工程經歷;學生到企業完成技能實踐、綜合項目實踐。
4.教學方法與考核評價方式改革
課程體系只為支持畢業要求達成提拱了一個框架,教學活動還包括設計課程內容、選擇教學方法以及采用靈活多樣的考核方式。傳統的教學模式已經不能適應“復雜工程問題”的畢業要求。課堂教學質量直接關系到畢業要求的達成。依靠現代教育技術,把“傳授知識”的課堂改變為培養“能力”的課堂,實現教學改革的突破。
依據畢業要求指標點設置課程目標,每一項畢業要求指標點的達成都應該有相應的課程目標支持。靈活地運用各種教學方法和手段,保證課程目標的實現。在軟件工程專業的教學實踐中,應該根據課程目標確定教學內容,而不要根據課本內容教學,同時還要設計實現課程目標的途徑。在知識講授中,引入問答環節,采用啟發式、任務驅動、案例以及項目等多種教學法,培養學生主動發現和提出問題的能力。在實踐課程中,設計相應的實踐環節和要求,以學生為主體,培養學生主動學習能力以及獨立解決問題的能力。
專業認證是形成性評價,必須全程跟蹤和評估學生學習成果,實現對學生知識、技能和能力的綜合評價,因此,實踐中采取緊密結合教學實際過程開展每門課程的考核。通過平時表現、課堂討論、測驗、作業、研究報告、實驗報告以及開發總結等考核平時成績,期中及期末考核采用筆試、機試、項目實施、大作業等方式。其中,知識結構類的課程宜采用傳統的筆試形式;機試可通過希冀信息類專業教學與科研一體化平臺開展編程語言類的測試;項目實施可通過澤眾測試工具完成一個軟件測試項目,或通過華為云開發平臺完成一個軟件項目開發的過程以及最終產品進行測試;大作業可以是研究論文,也可以是工程報告、創新作品等。
5.持續改進構建
完善有效的教學質量管理體系為持續改進提供支持。一個有效的持續改進機制應該是在學校層面上按“計劃-執行-檢查-處理”形成教學質量管理體系的“閉環”,專業層面充分細化和落實該閉環中的“檢查-處理”環節,建立具有“評價-反饋-改進”的持續改進機制。實踐中,檢查畢業要求的達成度,評價畢業目標的符合度,將結果反饋到教學過程中,促進教學活動、畢業要求和培養目標的持續改進,達到保證教學質量的目的。
對培養目標和畢業達成度進行評估的前提是制定相關的人才質量標準。首先通過內外需求,即學校人才培養目標、社會需求、家長及學生的期望等,評價專業培養目標的達成情況,如不能達成則對其進行修訂。其次,通過學生知識、能力和素養等方面的要求,評價畢業要求是否能夠支撐培養目標,如不能有效支撐培養目標達成,則修改畢業要求。通過調研企業需求,畢業生反饋調查以及分析畢業生就業狀況為上述“反饋-改進”環節提供評價數據。此外,需要評價教學活動對畢業要求的支撐情況,教學活動包括每學年的畢業環節以及每學期的教學和實驗、實踐環節,由學校、學院兩級督導組以及老師和學生評估教學、實驗、實踐,畢業論文(設計)內容是否能有效支撐畢業要求達成,如不能達成,則需要改進教學活動。對教學活動的評估基于試卷分析、成績分析、實驗報告、實踐總結報告和畢業論文(設計)抽檢記錄等。在質量保障體系中還應該包括教師對學生開展學習指導、職業規則以及就業指導的質量標準。
專業建設的水平反映出一個專業人才培養質量的高低。在工程教育專業認證的背景下開展軟件工程專業的專業建設,應該始終把學生為中心放在第一位,專業建設的目的保證學生獲得適應社會需求的能力。其次,課程體系的構建需要以成果為導向,通過改革課程內容、教學手段和方法以及教學評價方式保證學生取得學習成果。持續改進的實施依賴于有效完善的學校質量管理體系,通過對畢業要求、培養目標的達成度進行評價,構建基于培養目標的,多維度的跟蹤評價機制,確保人才培養過程中各環節的可評估性。