前言:想要寫出一篇引人入勝的文章?我們特意為您整理了工程教育軟件工程論文范文,希望能給你帶來靈感和參考,敬請閱讀。
基于CDIO工程教育模式的項目驅動“面向對象軟件工程”課程教學方法(下簡稱CDIO教學法),以培養學生的基本工程能力和工程綜合素質為目標,將“面向對象軟件工程”知識體系中的相關知識點滲透到實踐的各個環節中,而這些環節和軟件工程生命周期完全一致,在各個環節中解決問題的方法則可以采用CDIO的構思、設計、實現和運行理念。我們參照CDIO能力大綱,提出通過“面向對象軟件工程”教學和課程項目實踐,培養學生如下方面能力:①通過基于案例/項目驅動來學習,要求學生能夠深入理解“面向對象軟件工程”的知識體系和該課程的基礎理論并能在實際項目中加以靈活應用。“面向對象軟件工程”的知識體系為學生理解和應用其基礎理論解決分析、設計、實現和運行中的實際問題打下基礎并提供有效工具;而“面向對象軟件工程”理論基礎為學生針對實際問題進行發明創造提供動力,為學生發現問題、分析問題和解決問題提供理論支持。②通過“面向對象軟件工程”課程中項目的驅動,要求學生創建項目團隊,通過課程項目實踐各個環節(包括需求分析、設計和實現等環節及在此環節中的各項活動、溝通與協調、文檔撰寫),培養學生的良好職業素養,以及團隊合作、系統思維、工程實踐、項目管理和文檔寫作的能力。③通過“面向對象軟件工程”理論學習和課程實踐,培養學生的創新意識和能力,以開發出具有鮮明個性的軟件作品。
2CDIO教學法在“面向對象軟件工程”理論及其課程項目教學設計中的應用
2.1總體設計
目前,“面向對象軟件工程”課程教學安排共計54學時,我們將理論教學內容與課程項目實踐教學內容結合起來進行設計。在整個教學周期內,按照軟件生命周期并結合CDIO、案例與項目驅動的教學法,設計理論課程案例教學過程中的相關活動,配合對應的課程項目實施活動加以有效組織與實踐,在整個教學環節結合項目開發活動的進展與深入,要求學生記錄自己團隊活動中的相關內容,按照我們事先制定的規范撰寫并維護項目文檔。具體解決方案是:第一,正式課程教學的1~6周,設計項目描述和需求獲取與分析、系統設計中的具體活動,這些活動包括分別標識實體對象、邊界對象和控制對象;將用例映射成對象;建立對象之間的交互;標識關聯、聚集和屬性;對單一對象狀態依賴行為的建模;對對象之間的繼承關系建模;對本階段的分析對象模型進行評審;基于分析對象模型標識出設計目標,進行子系統分解和標識;將子系統映射到系統構件元素上;標識并存儲持久性數據;設計訪問控制策略;設計全局控制流;標識服務;標識邊界條件;對系統設計進行評審。第二,7~14周,設計對象設計與實現中的活動,這些活動包括學習軟件復用和設計模式,并在詳細設計中加以應用;對對象之間的接口進行說明,涉及標識遺漏的屬性和操作、說明接口類型、簽名與可見性,說明接口中相關方法的前置條件、后置條件和不變式等。第三,15~16周,設計測試階段中的活動。第四,17周,進行相關的總結活動,包括項目文檔的靜態檢查和驗收,以及課程項目的動態演示與現場回答問題。
2.2設計課程項目
在設計課程項目中,將考慮提供給學生一個貫穿整個學期的課程教學項目描述,為此我們將選擇開發一個基于Web的應用系統。這類系統的實例很多,可以由教師設定或者由學生自選,如教師可根據教學中的需要設定一類基于Web的師生交流系統,以方便實現教師和學生之間關于做項目時的溝通。學生也可以根據個人興趣選擇網游軟件開發,或者選擇基于Web的電子商務網站系統等??傊?,相關項目的設計需要教師事先準備好項目描述或問題定義。為了開發這類基于Web的應用系統,教師需要指定項目使用的環境和工具,主要包括兩類:一類是開發環境與工具、數據庫管理系統、界面開發工具等,另一類是項目管理工具。這一階段設計的活動屬于CDIO中的構思階段。
2.3設計理論課程教學過程
首先,在理論課程教學內容設計中,我們主要依據的是第3版的SWEBOK標準(2013),在CDIO工程教育模式的指導下,完成相關知識體系教學設計。在SWEBOK2013版中的17個知識點中(其中2個為候補知識點),我們選擇了其中10個知識點,并將這些知識點融合到“面向對象軟件工程”的理論課程教學中。這些知識點可有效地體現著CDIO的工程教育理念,如軟件需求體現了CDIO的構思,軟件設計體現了CDIO的設計,軟件構造和軟件測試體現了CDIO的實現,軟件維護體現了CDIO的運作等。其次,在此基礎上設計理論教學過程。一方面,以案例/項目驅動教學方法為基礎,“面向對象軟件工程”課程中相關知識體系及理論學習,要求學生在學習和思考中掌握“面向對象軟件工程”的相關知識、術語、理論和技術基礎,并通過團隊方式共同學習、討論和完成作業,并以團隊形式參加全體同學的各種討論活動;另一方面,要求學生圍繞著項目描述或者待解決的問題描述,完成團隊組建、工具選擇、項目計劃制定,并開始執行需求工程中的需求獲取和需求分析活動,以及在此基礎上的系統設計活動,這些階段的工作結論需要學生加以記錄,特別是需求獲取與分析的結論和總體設計結論更要以文檔形式加以記錄。第三,結合案例/項目驅動教學,進一步完成“面向對象軟件工程”理論課程。具體做法是一方面引入小型案例,另一方面引入面向應用領域的實際項目,并在項目描述、需求獲取和分析活動、系統設計和對象設計中,將該項目的具體情景或者可行的系統設計解決方案引入課堂,在課堂上組織學生參與討論、分析這些基于場景的案例,將需求階段和系統設計階段中涉及的重點知識、術語、過程與步驟等重點和難點融入到案例中來講解和學習,以便于學生真正理解相關的理論教學內容。這一階段的活動設計對應著CDIO中的構思階段。
2.4基于項目驅動的課程實驗教學設計
解決軟件項目中的問題或實現軟件項目中的任務,要求學生以團隊方式進行活動,并在整個活動中的各個階段貫徹CDIO工程教育的理念,即讓學生能夠對軟件項目中的任務完成進行構思,獲取與軟件項目相對應的軟件系統的功能性需求、非功能性需求和系統約束,并以文檔方式進行描述;接著,通過設計手段來完成項目任務,用系統來對應將來要完成的任務,并在該系統設計中落實項目的各項要求,這需要通過對系統的總體設計、詳細設計等環節來達到,并將設計結論記錄在軟件設計文檔中;在前面構思和設計的基礎上,選擇合適的程序設計語言、數據庫管理系統等基礎設施,用編程的方式實現該系統,并完成相應的測試任務,注意在實現過程中,同樣要將相關結論以文檔的形式加以記錄,以備維護之需;在系統實現后,通過部署和運行等方式,讓該軟件系統(可以看成是本項目的解決方案)呈現出價值。在這一完整過程中,讓學生通過項目驅動下的團隊活動過程,體驗到軟件產品從構思、設計、實現到運行(包括維護)所經歷的全生命周期過程。這一階段的活動設計對應著CDIO中的設計、實現階段。
2.5項目總結與項目驗收過程教學設計
項目總結過程的教學設計是以團隊為單位進行自我總結并撰寫項目總結報告,以個人為單位撰寫學習心得,教師主要驗收和檢查相應的項目總結報告和學生學習心得。項目驗收過程的核心是開展兩階段驗收活動,即在學期的15~18周中,選擇第15周進行一次中期檢查,第18周再進行一次期終項目驗收。全體主講教師和輔導教師組成一個答辯小組(一般為4人),他們事先要做好各項準備工作,包括現場點名以確認學生的有效身份并結合點名宣布學生團隊的答辯順序,保證答辯的有效性和合理性;由答辯小組組長宣布評分標準細節和學生是否能夠通過本次驗收活動的標準。
3實踐活動
在“面向對象軟件工程”課程教學活動中,共有45位學生(組成了15個團隊)全程參與了我們的教學改革過程,現在僅就驗收答辯環節進行說明。整個答辯所耗時間共計7個多小時;答辯老師根據實際情況(最低底線是學生必須完成項目要求的最基本功能),充分肯定了學生到目前為止所完成的開發成果,同時建議相關學生利用即將到來的假期進一步完成或完善該應用軟件系統的開發,及時修改設計上的缺陷。在本次教改實驗過程中,我們充分認識到這一教學過程對教師也提出了更高的要求。教師不僅僅是需要在理論基礎教學上過硬,還需要具備軟件項目開發的經驗,這樣才能夠做到既能站在理論的高度指導學生分析和解決問題,同時也能給出實實在在的課程項目開發活動中的技術指導。
4結語
傳統“面向對象軟件工程”課程的教學方法所帶來的弊端已經日益顯現。我們結合案例教學法和項目驅動教學法,提出了一種基于CDIO工程教育模式理念的“面向對象軟件工程”的教學方法,這既滿足了CDIO能力大綱體系中的4個方面,也體現出了教師在教學中的主導地位及作用和以學生為主體的教學風格,符合“新三中心論”。實踐證明,該課程教學方法有利于學生在以案例/項目方式充分理解和掌握本課程知識體系的前提下,通過項目驅動下的實踐環節,培養學生的問題分析能力、用編程手段解決問題的能力和團隊合作精神。
作者:葉俊民 王敬華 李蓉 周偉 陳曙 楊艷 單位:華中師范大學計算機學院