董洋溢++崔巖++張淑麗++陳世亮



摘 ?要 基于CDIO工程教育理念,以“軟件工程”專業“Project開發”課程教學實踐改革為例,培養學生的知識、能力、素質全面協調發展,將理論教學與實踐教學進行一體化設計,以項目案例為驅動,設置專業課程體系,細化課程項目知識導圖,將知識傳授與能力培養融合在一起,在“做中學”,激發學生的學習興趣,提高學習主動性、創新能力及團隊溝通和合作精神。實踐表明,這種嘗試取得良好的教學效果。
關鍵詞 CDIO;工程教育;課程教學
中圖分類號:G642.0 ? ?文獻標識碼:B
文章編號:1671-489X(2015)01-0059-03
1 引言
CDIO代表構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate),它以產品研發到產品運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力四個層面,大綱要求以綜合的培養方式使學生在這四個層面達到預定目標[1]。
國內目前應用這項先進工程教育模式的高校才剛剛起步,每年也有很多的高校正在加入到CDIO這支隊伍中來。汕頭大學工學院在CDIO的基礎上,提出了EIP-CDIO培養模式。大連東軟信息學院在CDIO能力培養大綱的基礎上調整并增加了部分能力指標,構建了TOPCARES-CDIO能力指標體系。
汕頭大學和大連東軟信息學院的教改實踐給CDIO的本土化做出了可貴的教育嘗試,提供了寶貴的經驗。然而每所學校的具體情況不同、專業不同、課程不同及學生素養不同,仍需要在借鑒的基礎上設計出一套適合本校實際情況CDIO教育模式。基于CDIO工程教育思想,本文將主要圍繞軟件工程專業中的Project開發課程進行課程層面的CDIO模式的課程教改實踐情況進行探討,以期對正在進行此類嘗試的同行們有所幫助和借鑒。
2 基于CDIO工程教育模式的軟件工程專業課程體系設計
在CDIO模式下的軟件工程專業人才培養要求
1)具有較系統地掌握本專業領域的理論基礎知識(主要包括計算機原理、程序設計、軟件工程、網絡技術、軟件開發)的能力。
2)具有本專業必需的文獻檢索能力、計算機軟硬件操作等基本技能,以及較好的軟件開發和外語應用能力。
3)具有本專業領域內所必需的專業知識,對本學科前沿及發展趨勢有一定的了解;并具有較強的自學能力、技術創新和產品創新的意識和較高的綜合素質。
4)具有終身學習能力以及運用現代信息技術獲取相關信息和新技術、新知識的能力。
5)具有一定的組織管理能力、表達能力、獨立工作能力、人際交往能力和團隊合作能力。
6)具有良好的人文和社會科學基礎,強烈的社會責任感,良好的心理素質、職業道德和團隊精神。
基于CDIO的核心課程體系設計 ?在CDIO工程教育思想的指導下,軟件工程專業的一體化課程體系設計需要進行精心構思、設計、實施和運行,將項目和課程相融合,將項目進行拆分及集成分布在課程體系的各個階段[4]。
在此提出,軟件工程專業的課程體系以項目為中心,分為四個階段和三級項目:
第一階段是入學階段,設計公共通識課程及專業導論類課程,同時進行一級項目(翼卡通數字化校園DUS)的簡單導引;
第二階段是初級學習階段,對一級項目進行拆分,拆分后項目為三級項目,每一個項目對應的知識點分別對應不同的具體課程;
第三個階段是深入學習階段,已經完成了許多三級項目,學習了多門課程,此時可以將部分三級項目進行融合、集成,構成二級項目;
第四階段是畢業前的實習階段,可以對二級項目進行集成,合并成一個完整的大型項目,既可以是一級項目,也可以是畢業實習項目或畢業設計項目等。
圖1給出部分軟件工程專業基于CDIO的課程體系魚骨圖。
3 基于CDIO模式的課程教學設計
Project開發屬于CDIO課程魚骨圖中的二級項目課程。該課程以項目案例為驅動,遵循“特色專業—特色課程”的整體建設規劃,在“做中學”,通過動手設計和實現一個完整的軟件項目——校園新聞發布系統,將所學的軟件工程、數據庫原理與設計、Web界面設計、面向對象程序設計等課程的內容進行綜合運用。以CDIO工程教育模式為理念,以案例的設計和實現過程來逐步組織知識點,并在實踐中使學生了解到軟件工程開發的各個環節,以及相關的應用架構、設計模式和各種輔助開發工具的使用。同時在實踐的過程中注重團隊合作、創新能力及溝通表達等方面的培養。
課程支撐案例設計 ?Project開發課程案例項目為“校園新聞發布系統的設計與實現”。該系統主要包括撰寫新聞、新聞管理、發布通知、通知管理、新聞事業管理、密碼修改、用戶登錄、匿名登錄,還具有分享、收藏、瀏覽、發布新聞的功能。用戶分為普通用戶和管理員用戶。
項目實施過程中主要撰寫的技術文檔包括需求說明書、數據庫設計、概要設計、詳細設計、測試計劃、測試用例、測試記錄及測試結果文檔等。項目的主要開發流程包括問題定義、需求分析、總體設計、詳細設計、編碼、測試、提交及維護等。項目的開發工具及平臺如表1所示。
課程知識點組織 ?Project開發課程案例“校園新聞發布系統”項目的開發順序為:模塊一,Project項目開發技術入門及主頁設計;模塊二,數據庫系統的設計和連接;模塊三,通知詳情查看、新聞視野;模塊四,管理員主頁及撰寫新聞;模塊五,新聞管理及新聞視野管理;模塊六,發布通知和管理通知;模塊七,管理員修改密碼及項目擴展。endprint
圍繞項目開發模塊順序來組織知識點,具體的教學內容和順序如下。
1)介紹當前主要的應用系統開發架構,ASP.NET3.5的運行原理,主流的開發平臺,ASP.NET的特點和配置使用方法,軟件工程的開發模型,“校園新聞發布系統”總體架構及Web設計要點。
2)數據庫的設計和實現技術(E-R圖、SqlSever數據庫),數據庫和Web頁面的連接,DataGrid控件的使用,System.Data.SqlClient類的使用。
3)Response對象常用屬性和方法,Request對象常用屬性和方法,Session對象常用屬性和方法,利用System.Data.SqlClient中的方法對數據庫進行查詢操作。
4)網站后臺管理Web設計,撰寫新聞模塊Web設計,使用Connection對象連接數據庫,使用Command對象操作數據庫,使用Command對象調用存儲過程,使用DataSet對象和DataAdapter對象、DataSet與DataReader在為用戶查詢時的區別,對數據庫的Insert操作。
5)數據庫的Update、Delete操作,RequiredField-
Validator控件實現數據的非空驗證,Comparevalidator控件實現數據的比較驗證,RegularExpressionValidator控件實現數據的輸入格式驗證,RangeValidator控件實現數據的范圍驗證、ValidationSummary控件實現驗證錯誤信息提示。
6)發布通知和管理通知Web窗體頁面設計,數據庫的Insert、Update、Delete操作,創建母版頁、創建內容頁、創建嵌套母版頁、訪問母版頁中的控件及相關屬性。
7)設計管理員密碼Web頁面,進行數據庫連接及Up-date操作;對項目進行擴展,增加用戶注冊頁面、新聞評論頁面等。
將項目所涉及的知識點逐步分解,融入每一個模塊的課程教學內容中,課程內容學習反過來幫助完成項目,兩者相互融合滲透,讓學生一開始就目標明確,這樣更有利于激發學生的興趣和信心。
4 課程CDIO教學實踐
在項目實施過程中,采用團隊模式開發。學生模擬公司成立項目組,每個學生在組內有不同的角色。在項目實踐過程中充分發揮學生的積極性,大膽參與實踐和創新,在項目的各個階段對項目進行創新的改造和擴展,在鍛煉專業能力的同時,培養團隊溝通和合作精神。
在項目課程結束后,所有團隊均完成一個軟件項目的完整開發過程,提交各類設計文檔,掌握多門課程之間的知識和技能的融合,在團隊合作中大家相互探討和幫助,調動學生的學習積極性和興趣,培養能力。
圖2、圖3是部分學生在項目實踐結束后提交的作品的截圖。
5 結論
作為一種工程教育教學模式,CDIO理念在強調學生理論基礎知識的同時,注重培養學生的理論應用能力、團隊合作能力及工程系統掌控能力。將CDIO理念引入教學,改變了以往課程理論過多、學生有枯燥感的局面,彌補了課堂教學與實際應用間的斷層,提高了教學質量。
參考文獻
[1]顧佩華.CDIO大綱與標準[M].廣東:汕頭大學出版社,
2008.
[2]顧佩華,等.從CDIO到EIP-CDIO:汕頭大學工程教育與人才培養模式探索[J].高等工程教育研究,2008(1).
[3]溫濤.基于TOPCARES-CDIO的一體化人才培養模式探索與實踐[J].計算機教育,2010(11).
[4]顧春琴,等.面向CDIO的《數據結構》教學改革與實踐[J].現代計算機,2010(11).
[5]才智,張學金.基于CDIO模式的軟件工程課程群教學改革[M]//Proceedings of 2010 Third International Conference on Education Technology and Training.2010.endprint