牛玉軍 周東生 趙宏偉
摘要:以校企合作為基石,以項目驅動為載體,以工程教育認證理念為指導,對本校軟件工程專業軟件系統分析與設計課程進行了改革與實踐,包括師資的培訓與教學案例的收集、教學的組織與實施、教學評價和教學案例庫的完善。實際應用后,學生的學習興趣、實踐和創新能力都得到了提高,培養的學生更加符合企業的用人需求。
關鍵詞:工程教育認證;教學改革;軟件系統分析與設計
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)16-0114-02
開放科學(資源服務)標識碼(OSID):
1 引言
工程教育認證是一項國際認可的工程教育質量保障制度, 它的核心理念是以學生為中心、以產出為導向和持續改進[1-3]。工程教育認證是對工程教育本科專業認證的,通過工程教育認證來促進高校的相關專業制定符合自身定位和社會需求的培養目標。本校作為地方性高校,為了更好地服務于地方經濟,正在向研究應用型大學發展。以工程教育認證為指引,我們對本科生培養方案進行了全面的修訂。
《軟件系統分析與設計》是軟件工程專業的專業主干課程。此課程的前驅課程是軟件工程課程,是對軟件工程過程的分析和設計兩個步驟進行展開詳盡的講解,為后繼的軟件編程實現和軟件測試課程打下堅實的基礎。此課程是一門交叉學科,課程內容不僅包括計算機科學,而且還包括系統工程學、管理學等學科,課程內容多,難度大,實踐性強[4-7]。所以以往的教學過程中存在以下問題:①教材中的案例過于簡單,只為了理解說明理論問題,與企業實際的開發項目相差太遠。而且案例不連貫,例如系統分析階段的案例是圖書管理系統的,到了系統設計階段的案例就變成了訂餐系統的。②學生對軟件系統的分析與設計的重要性認識不夠,更喜歡軟件編程實現,沒有真正理解分析與設計是做好編程實現的前提。③學生認為軟件系統分析與設計就是寫文檔,而寫出的分析與設計文檔又不能進行實際項目的開發,導致學生學習興趣不高。
2課程的建設
軟件系統分析與設計是軟件工程專業的一門專業必修課,是一門理論與應用相結合,實踐性很強的課程。授課對象需要較強的軟件工程專業技術基礎,是一門融合多門課程知識進行軟件產品構思、設計和構建的綜合技術應用類課程。本課程從面向結構和面向對象兩個主要的軟件開發角度組織內容,旨在培養學生利用數據流圖和UML對軟件系統過程進行分析、設計的能力,強調對軟件系統分析與設計技術的規范化、實用化、工具化與文檔化。通過本門課程的學習,將為以后其他軟件工程類課程的深入學習和工程應用打下必要基礎。
根據工程教育認證的要求,我們制定了軟件系統分析與設計課程的教學目標:①知識目標:能夠運用軟件系統分析與設計的基礎知識,包括面向結構和面向對象的分析與設計方法等,判斷軟件產品的優劣。②能力目標:具備軟件系統的分析和設計能力,利用數據流圖和UML模型對軟件系統過程進行分析、設計的能力。能夠正確的使用面向過程和面向對象的分析與設計方法、工具進行軟件工程的實施與管理過程。能夠對復雜的軟件系統進行分析與設計的能力。③素質目標:基于軟件產品的分析與設計資料,判斷軟件產品可能對社會、健康、安全、法律以及文化的影響。
這門課程的教學目標對以下軟件工程專業學生畢業要求形成了強支撐:①工程知識:掌握軟件工程在應用領域的基本知識和實踐方法,了解計算機軟硬件原理、技術和方法在工程領域的應用,了解項目管理的基本知識,認識某個具體軟件工程的實施與管理過程。②問題分析能力:具有能夠應用數學、自然科學和工程科學的基本原理,識別、表達、并通過文獻研究分析復雜工程問題,以獲得有效結論的能力。③工程實踐與創新能力:具有能夠設計針對復雜工程問題的解決方案,設計滿足特定需求的系統、單元或工藝流程的能力。具有能夠在設計環節中體現創新意識,掌握基本創新方法,并得到實際運用。④政治與道德素質:具有能夠基于工程相關背景知識進行合理分析,評價專業工程實踐和復雜工程問題解決方案對社會、健康、安全、法律以及文化的影響,并理解應承擔的責任的能力。
根據以上的教學目標要求,以校企合作為基石,以企業實際的項目案例為載體,以工程教育認證為指引,對軟件系統分析與設計課程教學的各個階段進行了建設,并在實際的教學過程中進行了持續改進。
2.1師資的培訓與教學案例的收集
校企合作是我們專業建設的基石。本校的軟件工程專業已經和多家軟件公司建立了良好的合作關系。在這些公司建立了學生校外實踐基地和進行師資培訓,并簽署了正式合作協議。這樣我們的專業教師可以申請到企業進行培訓,參與企業的實際項目的開發,進行學習和提高。企業的實際項目經過企業審核后,可以讓老師收集整理,作為課程的案例。這樣學生能夠明確知道畢業后在企業需要開發什么樣的項目,掌握什么技術,到什么程度,學生就會自己努力達到這一目標,從而保證了學校人才培養產出與用人需求的一致性,符合了工程教育認證的要求。
教師在收集項目案例時,要嚴格遵照軟件系統分析與設計課程的大綱要求進行,將項目的可行性研究、分析和設計文檔,項目的實現代碼等全部收集。收集的項目一部分用于課堂的案例,一部分用于學生的分析與設計的實踐內容。收集的項目不能太大、太復雜,防止在規定的學時內無法完成,也不能太小,不能激發學生的興趣。最后建立本課程的教學案例庫。
2.2教學的組織與實施
以企業實際的項目案例為載體,以學生為中心,進行了教學的組織和實施。軟件系統分析與設計課程分為兩部分,一部分是理論講授,另一部分是課程實踐。
(1) 理論部分的講授
收集的項目案例一部分用于課程講授,將項目的分析與設計資料按照章節的知識點進行分解,然后用于講授。在講授過程中,首先演示這個項目的代碼運行,讓學生感受到這個項目完全開發出來的效果,雖然本門課程不進行代碼開發,但這樣做會很大的鼓舞學生的學習興趣,學生會更加認真地去學習這個項目系統的分析與設計。
在理論講授的過程中,我們充分的考慮了學生的參與,這符合工程教育認證的以學生為中的理念。①激勵學生回答問題,教師在講授的過程中,多提出問題,鼓勵學生回答。學生無論回答對錯,都要給予分數獎勵,并計入平時成績。②學生參與講解,有的簡單部分可以讓學生提前預習準備,課堂上由學生講解。學生也可以毛遂自薦,自己指定某一部分進行講解,學生講解后由老師進行補充和總結。對于講解的學生要給予加分。
(2) 實踐部分的安排
課程實踐部分是由學生分析設計企業的實際的項目,最后學生設計的分析設計文檔結果要與企業項目的分析與設計文檔資料進行對比。首先要把企業收集的項目的分析設計資料按照功能模塊進行分解,一個模塊的分析與設計一般由1個學生來完成,較大的模塊由2個學生來完成。學生自愿組成一小組來完成一個項目的分析與設計,并選出一個組長。組長與老師一起定制分析與設計計劃,協調組員間的合作。每個組的分析與設計計劃基本上與理論課的相關知識點講解進度同步。最后由老師和小組組長對每個組的項目分析與設計結果進行考核,并對分析與設計過程中的經驗和教訓進行總結。
(3) 線上和線下相結合的教學方式
理論部分的講授我們采用線上和線下相結合的教學方式。對理論課在教室里講授的過程進行完整的錄制,然后放到學校的網絡教學平臺。學生對于學過的知識遺忘或自己項目分析與設計過程中遇見較難的知識點的時候,都可以在線進行學習。理論部分講授的過程中,有實踐部分同步進行,學生自己進行實際項目的分析與設計,這樣我們做到了“學中做”。而學生在項目分析與設計開發的過程中,也可以在線學習,這樣我們做到了“做中學”。
(4) 多導師制度
這門課程的指導教師除了教授這門課程的教師,還有企業相關項目的開發工程師和一些已經畢業在軟件企業工作的校友。我們建立了一個軟件系統分析與設計課程指導和交流的微信群。學生可以通過這個群請教和討論問題,指導老師可以在線回答,非常方便有效。
(5) 其他激勵措施
在多個方面我們盡最大努力給予學生支持和鼓勵:①對于利用課余時間進行項目分析與設計的學生,提供教室等環境的支持。②對于本門課程取得優異成績的同學,可以選擇去合作的企業實習。③對原來企業的項目分析與設計有改進的,或提出新的思路和方法的同學,可以參加相關的大學生競賽。④組織學生到合作企業參觀學習大型軟件項目的設計與開發。
2.3教學評價
本門課程采用工程教育認證提出的以成果為導向的績效評估,學生的最后成績分為兩個部分,一部分是課堂成績,主要是根據課堂學生的回答問題和講解問題的情況給分,這部分占總成績的30%。另外一個部分是項目的分析與設計成果,占總成績的70%。
項目的分析與設計成果由各個小組分別展示和講解,并上交所有文檔,其他小組的組長和指導老師給予打分。最后每個項目的分析和設計成果要與收集的該項目企業分析與設計進行對比,各組要寫出對比總結報告,指出那些地方錯了、那些地方做得不夠完善、那些地方有改進創新。指導教師要給對比總結報告打分。
2.4教學案例庫的完善
對本門課程的教學案例庫我們每年都要更新和完善,這符合工程教育認證的持續改進的理念。①對于過時的項目,也就是過時的分析與設計方法、技術的項目給予刪除。②在教學的過程中,有的項目分析與設計得到了改進和完善,案例庫也要同步進行。③及時收集新技術的軟件項目,增加到課程的案例庫。
3 結論
軟件系統分析與設計課程是一門融合多門學科、難度大、實踐性很強的課程,如何建設好這門課是一個值得研究的教育課題。我們以校企合作為基石、以企業實際的項目案例為載體,以工程教育認證的理念為指導,對這門課程進行了全面的建設和探索。實際教學應用后,取得較好的教學效果,希望能夠為其他學校相關課程的建設起到借鑒的作用。
參考文獻:
[1] 林健.工程教育認證與工程教育改革和發展[J].高等工程教育研究,2015(2):10-19.
[2] 王魯,朱紅梅.工程教育認證背景下設計模式課程教學研究[J].福建電腦,2020,36(5):35-37.
[3] 陳麗萍, 張勇, 江家寶, 李小榮. 地方應用型高校《UML 面向對象分析與設計》課程案例教學法優化研究與實踐[J]. 忻州師范學院學報, 2019, 35(5):17-21.
[4] 張楊, 朱磊, 徐傳運. 系統分析與設計課程的雙向驅動案例教學法[J]. 計算機教育, 2014(5): 84-86.
[5] 張楊, 朱磊, 徐傳運. 系統分析與設計課程的雙向驅動案例教學法[J]. 計算機教育, 2014(5): 84-86.
[6] 李 磊, 張艷武.《信息系統分析與設計》課程改革與實踐[J]. 開封教育學院學報, 2019,39(9):160-161.
[7] 譚火彬,張 莉,林廣艷. 系統分析與設計課程互動式案例教學改革與實踐[J]. 計算機教育, 2019(2):5-10.
【通聯編輯:王力】