羅曦

摘要:面向對象分析與設計是一門研究和掌握使用面向對象技術進行軟件開發的專業課程,是軟件工程專業的必修課程,在專業課中占據重要位置。這是一門抽象性很強的課程,如何將抽象的建模理論為學生所接受是該課程講授過程的重點。本文從高等院校面向對象分析與設計的課程特點出發,在實際教學中引入了“講授—案例—互動—實踐—考評”五段課堂教學新模式,在教學實踐活動中綜合運用多種教學方法和手段,希望能提高學生的面向對象系統分析與設計能力及面向對象軟件開發能力,且幫助培養學生的創新能力。
1.引言
面向對象分析與設計方法學,代替傳統的面向過程的結構化分析與設計方法,已逐漸成為現代軟件工程領域中的主流方法。特別是隨著90年代末統一建模語言UML的廣泛應用,結合UML的面向對象分析與設計方法在國內外學術界和產業界普遍受到重視,成為軟件工程三個要素之一。
面向對象分析與設計是軟件工程專業開設的一門重要的專業基礎課程。該課程主要分為UML基礎,面向對象的設計原則和面向對象的設計模式。而統一建模語言UML貫穿于軟件開發過程的不同階段,為軟件開發人員建立整個系統的模型 告訴開發人員做什么和怎么做。在軟件開發的不同階段的側重點又有不同:在需求分析階段,系統分析師可以用UML來描述用戶的業務模型,從而給系統設計師做進一步的設計。在系統設計階段,系統架構師或系統設計師可以用UML來描述架構模型以便讓程序設計師進行實現設計,在詳細設計階段程序設計師可以用UML來描述具體對象模型給編程者來具體實現。由此可以看出UML是用來清晰地描述模型的,它的作用是將計算機軟件開發技術和面向對象的設計思想聯合起來,對軟件生產工業產生了極大的影響。因此,統一建模語言UML課程的重要性顯而易見。面向對象設計原則是設計模式的靈魂,它描述了對象設計和職責分配的基本原則。面向對象設計模式是在面向對象設計中針對重復發生的問題的描述和解決辦法的統稱。綜上所述,該課程的主要內容涵蓋了軟件開發過程中的各個階段,以及面向對象設計原則和處理常見問題的方法,對軟件工程專業的學生是極其重要的。
2.“講授—案例—互動—實踐—考評”五段課堂教學新模式
該教學模式通過“講授”讓學生系統掌握整個知識體系,運用“案例”激起好奇心和引發應用和創新的動力,引導學生自主學習“擴展”知識面和建構自己的新知識,在項目“實踐”中綜合應用強化創造,最后通過綜合“考評”合理評定出學生的成績。加強工程化的教學內容建設,在課堂教學系統地傳授知識的基礎上,注重工程性的課程案例和循序漸進的課程項目實踐的有機結合,為學生自主性和研究性的擴展學習搭建優良的網絡教學環境。
1)“系統講授”讓學生系統地掌握整個知識體系。教學內容強調工程化,適應軟件開發技術發展快的特點,不斷跟蹤國際最新標準和最新技術,及時更新教學內容,反映基于構件、模型驅動和面向服務等現代軟件開發技術的最新發展趨勢。課堂教學采用啟發式教學,指導學生閱讀經典學術論文并進行綜述、評介和討論,撰寫讀書筆記,培養學生閱讀、概括、評價、撰寫和表達等基本科研能力。
2)“案例教學”讓學生置身于模擬的真實環境中,學習如何進行具體實踐和問題解決,引發學生研究性學習和創新的動力。案例分為基礎-擴展-提高等3個階段。基礎階段針對UML和OOAD方法等基本內容,著重于單項練習和簡單系統設計;擴展階段著重于架構設計和設計模式、框架設計和復用等現代技術,將基礎階段的簡單系統擴展為基于構件和框架復用、支持持久框架的Web系統;提高階段則結合專題講座,了解最新技術發展趨勢。
3)“網絡加自主的互動方式” 創造多元化的教學環境,將課堂上的教學與課堂外的師生互動無縫的進行集成。當今互聯網環境為我們提供了便捷、豐富的交互手段,借助其以整合不同的教學要素來提升整體的教學效果,這也符合以學生為中心的教學理念。基于以上的認識,在教學過程中,可以依托網絡教學平臺提供豐富的互動方式,在網絡上共享學習資源、在線討論、即時溝通,達到了充分調動學生學習熱情的目的。在交互的過程中,通過開放性的問題驅動學生自主選擇感興趣的方向做深入的學習和研究,充分地釋放學生的個性和創造力。整體而言,課下教學組織在網絡加自主的互動方式支持下有力的支持并拓展了傳統的課堂教學,不僅對教學效果有明顯的提升,而且對培養學生的主動性、協作能力乃至鉆研精神和創新意識都有著潛在的不可忽視的幫助。
4) “項目實踐”培養學生運用知識、解決問題和團作協作的能力。學生參照課程案例、文檔模板、實踐指南和參考資料,結合有助教指導的課內上機、課外自由上機和有助教在線指導的網上輔導教室等多種教學手段,以3-5人的小組為單位的團隊方式完成一個課程項目,項目題目和需求是在教師指導下由學生自主確定,以鼓勵創新。項目進度和課堂教學及課程案例基本同步,循序漸進。
5)“綜合考評”從知識、創新、應用等多方面進行評價,根據每節課、每次作業、項目的每階段評審和考試來綜合考核成績。成績一般由課堂表現、每周作業、讀書筆記、項目階段審核和項目答辯、期末考試等部分組成。
本課程充分利用信息技術,課堂教學采用多媒體信息技術手段,基于Web的網絡教學平臺提供論壇、答疑、作業、問卷調查等課程互動功能,網上輔導可提供無時空限制的即時學習、小組討論和輔導幫助等功能。
課堂教學實施方面,研究啟發式、交互式等多種形式的教學方式。建立網絡教學平臺,同學生充分溝通,不斷學習、改革和實踐。擯棄了過去只注重書本內容的教授,引進了實際工作的案例。大量的案例分析,促使學生從實際出發,從現實的角度看待問題、分析問題。對項目工程的親身實踐,使得學生把所學轉化為所用,并在所用中不斷充實。
3.教學內容順序及對應的學時安排如表1
除本課程的課程項目實踐外,還可鼓勵學生參加其他實踐活動,如大學生學生創新項目的申報,可進一步強化5段式教學新模式中的 “實踐”,培養學生解決實際問題的能力和創新能力。
4.課程的重點、難點及解決思路
本課程的設計符合UML最新國際標準,覆蓋了國際軟件工程知識體系的相關知識點,分析和設計并重,原理和案例兼顧。課程內容的重點主要有UML可視化建模技術、領域建模和面向對象系統分析方法、面向對象系統設計方法、設計模式、框架設計和復用等方面。課程內容的難點主要有對UML的深入理解和運用、領域對象識別和關系分析、架構因素分析和架構設計、分析類與設計元素的區別和聯系、設計模式的深入理解和運用等。解決辦法主要是通過分階段的綜合性課程案例、循序漸進的工程性課程項目實踐等加強實踐性教學環節,讓學生在實踐中學習和領悟。 另外,本課程由于工程性和實踐性很強、相關技術發展快、涉及面廣,在課程體系建設、教學建設和實施等方面都存在挑戰。
5.實踐教學的設計思想
循序漸進、手段多樣的工程性課程項目實踐。學生參照課程案例、文檔模板、實踐指南和參考資料,結合有助教指導的課內上機、課外自由上機和有助教在線指導的網上輔導教室等多種教學手段,以3-5人的小組為單位的團隊方式完成一個課程項目,鼓勵創新。進度與課堂教學和課程案例基本同步,循序漸進。
進一步搭建網絡教學平臺,將部分學生的優秀作品在平臺中展示。學生利用課外時間以團隊方式完成多個實際軟件項目的開發,實驗進度和課堂教學基本同步。項目題目和需求是在教師指導下由學生自主確定,以鼓勵創新。通過實踐,學生能把所學轉化為所用,并在所用中不斷充實,同時也加強了軟件工程規范的訓練,培養了學生的團隊精神和溝通能力。
6.結束語
通過本課程的教學,使學生掌握面向對象技術原理、面向對象的軟件系統分析和設計方法、軟件設計模式等,能結合UML和工具進行面向對象的軟件系統分析和設計,并具有軟件開發實踐和項目組織的初步經驗、創新意識、團隊精神。
此外,面向對象分析與設計是一門知識更新和發展很快的課程,業界的許多新方法新技術在不斷涌現,因此該課程的教學方式也需要與時俱進。因此,除了對授課模式、互動方式以及考核形式的改進之外,教師自身的專業素養的不斷提升亦是至為重要的。endprint