
摘要:本文分析面向對象類課程之間的前后關系,針對原有各門課程的實踐環節存在相互獨立、無系統化的問題,按照面向對象的軟件開發過程,提出:1)重新整合面向對象系列課程,形成包含基礎篇、提高篇和深入篇的三段式面向對象技術課程體系;2)重新整合各門課程的實踐環節,使之前后銜接,形成一體;3)建立基于IBM Rational企業級軟件工具的統一實踐平臺。讓學生在教學實踐中掌握實用性的、應用型、系統化的面向對象的軟件開發技術。
關鍵詞:面向對象技術;課程體系;統一實踐平臺
隨著計算機技術的迅速發展和IT行業對軟件工程理念的不斷重視,面向對象技術目前已逐漸成為現代軟件開發中的主流方法。統一建模語言UML自1997年,被OMG(Object Management Group)采納為面向對象的標準建模語言之后,已經成為當今國際上應用最廣泛的、構建對象模型的描述語言和技術規范,成為軟件業公認的開發標準?;赨ML(Unified Modeling Language)的面向對象分析與設計方法在國內外學術界和產業界越來越受到重視,國內外許多高校的計算機類課程中均開設了“面向對象技術”、“UML”或“面向對象的軟件工程”等相關課程[1-2]。華北電力大學計算機專業在原有編程語言和面向對象技術課程的基礎上,重新調整、整合和新增了面向對象相關課程,形成了從基礎篇到提高篇的面向對象課程體系。面向對象類各門課程原有的實踐環節互相獨立,使用的實驗平臺各異,實驗內容相互間沒有銜接或者有部分內容重復。2009年,我系在教育部專項基金的資助下,基于IBM Rational平臺建設了適于各門面向對象課程實驗的統一軟件工具平臺、讓原本獨立或重復的各門課程的實踐環節,前后銜接起來,形成一體。通過一系列系統化的整合實驗,讓學生逐漸掌握面向對象軟件開發過程,具備實際的項目開發能
力,以期培養“厚基礎、強實踐”的應用型、實踐型的計算機技術人才。
1面向對象技術系列課程的課程體系
面向對象技術所涵蓋的領域廣泛,有所熟知的面向對象編程語言,如C++、Java、C#等,還有采用面向對象思想的軟件開發過程:包括基于UML的面向對象的系統分析、面向對象的系統設計和面向對象的實現,面向對象的測試,面向對象的軟件開發過程等。
為了使計算機學科的學生全面掌握面向對象技術,我系在原有高級編程語言和面向對象技術課程的基礎上,借助2008版新教學大綱[3]修訂的契機,重新調整、整合和新增相關課程,遵循由淺及深的原則,形成基礎入門、技術提高、綜合深入的三階段面向對象課程體系。在該課程體系中,以高級語言程序設計(C++)、面向對象編程語言(Java)課程為基礎,面向對象技術與UML課程為提高,J2EE開發平臺及程序設計、可視化編程、軟件工程、軟件測試等課程為深入,并配以相應的獨立實踐環節。2009年7月,在教育部修購專項基金的支持下,引入了目前軟件業廣泛使用的企業級軟件工具——IBM Rational 系列軟件,為建立面向對象系列課程的統一實驗環境提供了物質基礎。
1.1低年級的基礎入門和技術提高
計算機類學生的一年級第一學期和第二學期初開設必修課高級編程語言(C++)和專業限選課Java語言程序設計,建立面向對象語言的編程基礎。通過這兩門先修課,學生對面向對象的編程有了初步的了解,也初步具備面向對象實現和編程的能力。但是此時學生對軟件的分析設計方法還沒有系統化,面向對象技術和UML課程的開設,目的是在學生涉足軟件開發之初,就樹立起面向對象分析、設計的理念。并且配備了一周的獨立實踐環節——UML課程設計,實驗的題目選用學生日常生活中熟悉的小型系統,如圖書系統的借書或者還書子系統、學生成績管理系統等。要求學生使用支持UML2.0以上的CASE (Computer-aided Software Engineering )工具完成面向對象的主要分析和設計模型,包括用例分析、繪制類圖和順序圖,并進一步的設計,然后嘗試使用CASE正向工程,由模型自動生成Java或者C++的代碼框架,并要求學生用所學過的面向對象語言簡單實現所設計的系統。
1.2高年級的綜合深入
在學生熟悉了面向對象語言和面向對象分析設計、UML建模之后。三年級將按照面向對象的軟件工程的開發流程來安排課程、分為方法論、過程管理、高級工具環境這三大部分。方法論中包括軟件工程和軟件測試課程;過程管理包括軟件工程的一部分章節和軟件工程項目管理課程;高級工具環境包括J2EE開發平臺及程序設計和軟件工具和環境課程。
首先開設軟件工程,從整體上介紹貫穿軟件生命周期的整個軟件開發的流程,在軟件工程的方法學中,包括了傳統方法和面向對象方法。隨后開設的軟件測試課程中,包括一部分面向對象測試的理論和測試工具的介紹。而在軟件項目管理課程中,會涉及同面向對象軟件開發相關的過程管理和項目管理。然后開設J2EE開發平臺及程序設計課程,在學生掌握面向對象開發技術以及Java語言的基礎上,介紹軟件的架構、組件開發和企業級應用等內容。軟件設計的高級篇,以提高學生的實際的編程和應用開發的能力為重點,設立選修課軟件工具與環境,專門介紹流行的、支持面向對象軟件工程各個環節的CASE工具。
在三年級的第二學期,單獨開設了兩周的軟件工程課程設計,并結合軟件項目管理和J2EE開發平臺及程序設計的課內實踐環節,將學生分成項目組,每組選用面向對象的方法學,對所選擇的中型系統,使用CASE工具,完成從計劃、分析、設計、實現、測試,以及項目管理,涉及面向對象軟件開發的整個流程。
2案例教學和多樣化教學手段
隨著面向對象技術的普及和軟件行業對軟件工程開發流程的重視,面向對象技術和UML建模越來越受到關注。自OMG組織將UML采納為標準的面向對象建模語